昨天更新docker image版本測試OK,假設v2已經是穩定版本,只是minor修改不需要進版,比如說修改文字敘述

docker build & push後,打開postman測試,還是Hello!world
即便再次套用Deployment設定檔

也沒有對目前'設定'產生變化
當然如果docker build重新tag一個版本,然後修改Deployment檔案,Pod就會重新pull image
假設build v3後修改deployment yaml檔
# nestjsapi-deployment.yaml
..
  template: # create pod的blueprint
    # 以下copy Pod config內容
    metadata:
      labels: # pod labels
        component: api
    spec: 
      containers:
        - name: nestjsapi
          image: yirengoo/nestjsapi:v3 # v3
          ports:
            - containerPort: 5000
update Deployment設定檔
kubectl apply -f nestjsapi-deployment.yaml

Pod重新create
使用postman測試
如果要不修改Deployment設定檔而強制重新pull image的話,有兩種
看來後者比較make sense
重新發布一個v4版本修改文字
kubectl set image Deployment/nestjsapi-deployment nestjsapi=yirengoo/nestjsapi:v4

使用postman測試
再來是基本的scaling,只有修改replicas數值就可以同時跑identical pods,假設設為8
apiVersion: apps/v1
kind: Deployment
metadata: 
  name: nestjsapi-deployment
spec:
  replicas: 8
  selector:
    matchLabels:
      component: api
...
update Deployment設定檔
kubectl apply -f nestjsapi-deployment.yaml

可以看到kubernetes建立8個replicas