我已经在Google Cloud Platform上创建了一个自动扩展的Kubernetes集群。我有一个用例,我想在每个节点上启动专用容器。每个工作节点只能有一个这样的Pod,我希望这些专用Pod可以在由于自动缩放而形成的新创建的节点上启动。有没有办法我可以做到这一点。 例如如果我有3个工作程序节点,则将在部署文件中将副本数与podAntiAffinity一起指定为3,这样每个pod都将在3个不同的节点上启动。但是,如果我的集群自动扩展并添加了第4个节点,如何确保此Pod将添加到第4个节点上?
答案 0 :(得分:2)
如果每个节点上都需要一个Pod,则DaemonSet是您要寻找的工具。如果添加节点,DaemonSet控制器将在其中自动启动Pod的新副本。
这是用于监视服务和服务网格等工具的好方法,其中主机本身是重要的实体,您确实确实希望每个主机一个(收集每个主机的磁盘I / O,透明地加密主机间网络流量)。对于更典型的基于服务器的工作负载,您应该坚持普通部署,其中副本数量应独立于主机数量独立扩展(您可以拥有20个主机和4个Pod副本;或者可以在4个8核上计划20个Pod副本)系统)。