如果已将 VMware Container Networking 版本升级到新版本,必须同时升级已注册的 Antrea 容器集群中的 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
命名空间、ConfigMaps 和密钥。
- 运行以下 kubectl 命令,将 interworking.yaml 文件提交到 Kubernetes API 服务器,并触发升级。
kubectl apply -f interworking.yaml
注: 只有
interworking.yaml 必须提交。升级过程不需要
bootstrap-config.yaml 文件。
- 运行以下 kubectl 命令以列出
vmware-system-antrea
命名空间中的所有 Pod。
kubectl get pods -o wide -n vmware-system-antrea
注意 register-xxx Pod 的状态是否为
正在运行。由于已向
NSX 注册
Antrea 容器集群,因此 register-xxx Pod 会跳过注册过程,并且状态很快更改为
已完成。旧的 interworking-yyy Pod 状态将更改为
正在终止,而新的 interworking-zzz Pod 状态将更改为
正在运行。
当新的 interworking-zzz Pod 状态为正在运行,且就绪容器为 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 Pod 正在使用新映像,并且映像 URL 与预期相同。
确保将“interworking-7764988ddd-wnvcg”Pod 名称替换为您在上一步的
kubectl get pods 命令输出中看到的实际 Pod 名称。
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