如何在 kubernetes 集群的不同层上使用 Ansible 进行证书轮换?
在我们使用舰队之前,现在迁移到 Kubernetes。
如何在 kubernetes 集群的不同层上使用 Ansible 进行证书轮换?
在我们使用舰队之前,现在迁移到 Kubernetes。
如果我正确地听到了您的情况,那么我认为您会对DaemonSet
安装(以及可选的监视器)ansible-pull.service
和ansible-pull.timer
节点上的设备最满意。
确保容器被安排在DaemonSet
每个节点上(不像 CronJob 等),并且/etc/systemd/system
卷安装到容器中加上go-systemd 的守护进程重新加载能力(当然还有 dbus 套接字),容器可以写出一个该节点的适当描述.service
和.timer
文件。
然后ansible-pull
将像以前一样运行,采取您现有的 ansible playbook 所做的任何步骤。
有很多方法可以在非 Node 机器上实现这种类似的操作,所以我将把它作为练习留给读者。
我不知道您将什么定义为“基础设施”层,但从 ansible-pull 的角度来看,轮换 Kubernetes 证书相对简单:写出新的worker.pem
and worker.key
in /etc/kubernetes/ssl
,bounce kubelet.service
(或hyperkube
等效的),瞧。我希望上层平台服务由拥有它们的 (ReplicaSet|Deployment|ReplicationController|etc) 管理,这意味着可以对集群内资源进行更多的声明,可以访问 , , 等的ConfigMap
全部Secret
功能Service
。