昨天更新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