我希望以类似于docker-compose up和docker-compose down如何在坞组合部署中启动和停止服务的方式启动和停止kubernetes集群中的所有服务。有命令可以这样做吗?
发布于 2021-04-25 05:18:08
,有命令可以这样做吗?
不,没有这样的命令。
是停止和启动服务的替代解决方案。
1:的第一种方法是编写一个shell脚本,删除服务并在需要时创建。#它将花费你的资源(CPU,RAM,存储等)。
2:如果您正在使用deployment资源,您可以根据需要将您的replicas转换为0和scale-in。#减少资源利用率。
3:更新在您的服务中提交的selector:,通过它可以不查找您的吊舱。#请求更改代码
发布于 2021-04-25 16:18:27
您可以使用一些简单的脚本来执行类似的操作:
for name in $(kubectl get deployment -o name); do
kubectl rollout restart "$name"
done这将重新启动部署,进而删除吊舱。服务(Kubernetes-内部负载平衡器)仍未触及。此配方也不影响其他来源(来自有状态集、作业、裸荚)的荚,而且正如所写的那样只会查看default命名空间。您应该能够扩展这一点,以便根据需要重新启动其他事情。
请注意,这不会导致使用...:latest标记的荚更新。如果在一个已经有命名图像副本的节点上重新创建了一个pod,则(旧的)现有映像将按原样使用。如果您使用基于日期戳或源代码管理提交ID的图像标记,只需kubectl apply -f更新的部署YAML将导致重新创建受影响的荚。
在实践中,我很少有理由像上面所示的重新启动脚本那样笨手笨脚地做任何事情。唯一的地方是我有一个变异的接纳控制器,它所做的事情会改变,所以我需要重新创建豆荚(“我更新了Istio版本,需要升级sidecar容器”)。
https://stackoverflow.com/questions/67248979
复制相似问题