php小编小新在这里为大家介绍如何构建 Kubernetes Operator 用于滚动更新。Kubernetes Operator 是一种自定义控制器,可以扩展 Kubernetes 平台的功能。滚动更新是一种在不中断服务的前提下,逐步更新应用程序的方式。通过构建一个专门用于滚动更新的 Operator,我们可以更加灵活地管理应用程序的升级和回滚。本文将介绍构建 Kubernetes Operator 的基本步骤,并详细解释如何实现滚动更新功能。让我们一起深入了解吧!
我创建了一个 Kubernetes 应用程序(例如部署 D1,使用 docker 映像 I1),它将在客户端集群上运行。
要求1:
现在,我想在每次更新我的 docker 镜像 I1 时滚动更新,而不需要客户端做任何努力 (不知何故,客户端集群应该自动拉取最新的docker镜像)
要求2:
每当我更新特定的 configMap 时,客户端集群都应该自动开始使用新的 configMap
我应该如何实现这个目标?
我听说 k8s Operator 很有用
从要求 2 开始:
每当我更新特定的 configMap 时,客户端集群都应该 自动开始使用新的configMap
如果 configmap 已安装到部署中,它将自动更新,但是如果作为环境重新启动而注入是唯一的选项,除非您使用 sidecar 解决方案或重新启动进程。
我应该如何实现这一目标?
使用 Kubernetes Cronjobs ?
您将在哪一边运行 Cronjobs?如果是客户端就可以了 也是这样。
否则,您可以使用公开的 API 来保持部署,这将运行作业到 当推送任何镜像时,使用最新标签更新部署 到您的 docker 注册表。
Kubernetes 操作员?
或者其他什么?
如果您只是想更新部署,请在部署或作业中运行 API,您可以以受控方式安排时间,操作员也不会出现任何问题,这将是一个更原生的问题如果您可以创建、管理和部署一个方法,那么这是一种很好的方法。
如果将来您需要从单一真实来源管理多个客户端的所有集群(部署、服务、防火墙、网络),您可以探索 Anthos。
以上是构建 Kubernetes Operator 用于滚动更新的详细内容。更多信息请关注PHP中文网其他相关文章!