假設今天我們要換一個版本的container,image不一樣,當然我們會到pod yaml設定檔修改
apiVersion: v1
kind: Pod
metadata:
name: nestjs-pod
labels:
component: api
spec:
containers:
- name: nestjsapi
image: yirengoo/nestjsapi2 # 用v2
ports:
- containerPort: 3000
kubectl apply -f nestjsapi-pod.config.yaml
顯示configured(應該就是更新了吧?)
確認Pod裡面image是否有更新
kubectl describe pod nestjs-pod
可以看到image有更新
但假設第三版的時候,app的port修改為8080
apiVersion: v1
kind: Pod
metadata:
name: nestjs-pod
labels:
component: api
spec:
containers:
- name: nestjsapi
image: yirengoo/nestjsapi # v3
ports:
- containerPort: 8080 # 改成image service port
kubectl apply -f nestjsapi-pod.config.yaml
不幸的出現一堆錯誤訊息,重點在第一段的敘述
只有第一段列舉的的屬性才可以透過config修改,其餘的不允許,例如containerPort、Volumn設定等
因而需要Deployment Type Object,來更新現有Pod的設定,明天開始介紹Deployment。