如何在kubernetes集群中的不同层上使用Ansible进行证书轮换?
在我们使用舰队并现在迁移到kubernetes之前。
答案 0 :(得分:0)
如果我正确地听到了您的情况,那么我认为您最快乐的是DaemonSet
在节点上安装(并且可选地监视)ansible-pull.service
和ansible-pull.timer
。
DaemonSet
确保容器在每个节点上安排(与CronJob等不同),并且/etc/systemd/system
卷安装到容器中加go-systemd's ability to daemon-reload(连同dbus套接字,当然),容器可以为该节点写出适当描述性的.service
和.timer
文件。
然后ansible-pull
将像以前一样运行,采取您现有的ansible手册所做的任何步骤。
如何在非Node机器上实现这种类似的操作有很多方法,所以我将把它作为练习留给读者。
我不知道你所定义的“基础设施”层,但从ansible-pull的角度来看,旋转Kubernetes证书是相对简单的:在{{1中写出新的worker.pem
和worker.key
}},跳出/etc/kubernetes/ssl
(或其kubelet.service
等价物),瞧。我期望的上层平台服务由拥有它们的(ReplicaSet | Deployment | ReplicationController | etc)管理,这意味着可以为集群内资源提供更多声明,可以访问hyperkube
的全部功能, ConfigMap
,Secret
等