我们使用kubebuilder构建了kubernetes部署控制器。在控制器中,我们正在更新控制器中的ConfigMap,然后希望由部署支持的所有Pod重新启动,以便重新加载最新的ConfigMap。如何从控制器触发此部署/pod重启。注意:我想要重新启动的部署/pod与控制器接收事件的部署/pod不同。我们正在探索如何做到这一点
uoifb46i1#
您不能“重启”Pod,但如果Pod由Deployment管理,您可以删除Pod,Deployment将生成一个新Pod。如果您更新Deployment(例如,通过更改清单中引用的ConfigMap的名称),Deployment将自动重新生成所有关联的pod。您的控制器只需要进行与您通常用于删除Pod或更新Deployment相同的API调用。这可能需要一些RBAC配置,以便运行控制器的ServiceAccount具有必要的权限。
1条答案
按热度按时间uoifb46i1#
您不能“重启”Pod,但如果Pod由Deployment管理,您可以删除Pod,Deployment将生成一个新Pod。如果您更新Deployment(例如,通过更改清单中引用的ConfigMap的名称),Deployment将自动重新生成所有关联的pod。
您的控制器只需要进行与您通常用于删除Pod或更新Deployment相同的API调用。这可能需要一些RBAC配置,以便运行控制器的ServiceAccount具有必要的权限。