如何使用 Ansible 在 kubernetes 集群中的不同层轮换证书?
之前我们使用 fleet,现在迁移到 kubernetes。
最佳答案
如果我听到你的情况是正确的,那么我认为你会对 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 剧本执行的任何步骤。
有很多方法可以在非节点机器上实现类似的操作,所以我将把它作为练习留给读者。
我不知道您将什么定义为“基础设施”层,但是从 ansible-pull 的角度来看,旋转 Kubernetes 证书相对简单:写出新的 worker.pem
和 worker.key
在 /etc/kubernetes/ssl
, 反弹 kubelet.service
(或者它的 hyperkube
等价物),瞧。我期望的上层平台服务由拥有它们的 (ReplicaSet|Deployment|ReplicationController|etc) 管理,这意味着对于集群内资源可以更具声明性,可以访问 ConfigMap
的全部功能。 , Secret
, Service
等
关于linux - 使用 Ansible 在 Kubernetes 集群中实现证书轮换功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46370808/