如果已將 VMware Container Networking 升級到新版本,則還必須升級已登錄的 Antrea Kubernetes 叢集中的 Antrea-NSX Interworking 部署。
程序
- 執行以下 kubectl 命令,刪除登錄工作和 antrea-interworking 部署。
kubectl delete job register -n vmware-system-antrea --ignore-not-found
kubectl delete deployment antrea-interworking -n vmware-system-antrea --ignore-not-found
備註: 請勿刪除
vmware-system-antrea
命名空間及其中的 ConfigMap 和密碼。
- 執行以下 kubectl 命令,將 interworking.yaml 檔案提交到 Kubernetes API 伺服器,並觸發升級。
kubectl apply -f interworking.yaml
備註: 只需提交
interworking.yaml。無需
bootstrap-config.yaml 檔案即可完成升級程序。
- 執行以下 kubectl 命令,以列出
vmware-system-antrea
命名空間中的所有網繭。
kubectl get pods -o wide -n vmware-system-antrea
觀察 register-xxx 網繭的狀態是否為
執行中。由於
Antrea Kubernetes 叢集已登錄至
NSX,因此 register-xxx 網繭會跳過登錄程序,且其狀態很快變更為
已完成。舊 interworking-yyy 網繭的狀態變更為
終止中,而新 interworking-zzz 網繭的狀態變更為
執行中。
如果新 interworking-zzz 網繭的狀態為執行中,且就緒容器為 4/4,則無需重新啟動容器,且升級將會成功。
#Example output:
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
interworking-7764988ddd-wnvcg 4/4 Running 0 29s 192.168.x.y example-node-10 <none> <none>
- 執行以下 kubectl 命令,確認新的 interworking-zzz 網繭正在使用新映像,且映像 URL 與預期相同。
確定「interworking-7764988ddd-wnvcg」網繭名稱已取代為您在上一個步驟
kubectl get pods 命令輸出中所看到的實際網繭名稱。
kubectl get pods -o yaml interworking-7764988ddd-wnvcg -n vmware-system-antrea | grep image:
# Example output:
image: vmware.io/antrea/interworking:0.11.0
image: vmware.io/antrea/interworking:0.11.0
image: vmware.io/antrea/interworking:0.11.0
image: vmware.io/antrea/interworking:0.11.0
image: vmware.io/antrea/interworking:0.11.0
image: vmware.io/antrea/interworking:0.11.0
image: vmware.io/antrea/interworking:0.11.0
image: vmware.io/antrea/interworking:0.11.0