我有一个 nginx Dockerimage 正在监听其 中定义的某个端口nginx.conf
。该镜像作为 Kubernetes (GKE) 中的工作负载部署,并且有一个入口指向它。该镜像的端口 -port
和targetPort
- 均在工作负载配置 Yaml 文件中设置。
该设置正在生产环境中运行。
现在我想改变端口,即 nginx 应该监听不同的端口。
我该如何做才能不冒停机风险呢?我担心我无法改变
- 已部署的容器本身
- 工作负载配置
- 入口配置
在同一时刻。如果其中任何一个不同步,我就会停机。
在这种情况下,最佳做法是什么?如果入口可以同时指向旧端口和新端口,那就太好了,但这显然是不可能的。
答案1
使用新镜像创建一个新的部署,然后创建指向该部署的新服务,然后创建一个具有不同主机名的新入口,执行应用程序测试,如果一切正常,则更改对旧入口中服务的引用