
Eu tenho um cluster k3s ( v1.21.1
+ k3s1
) com os seguintes pods:
kube-system pod/calico-node-xxxx
kube-system pod/calico-kube-controllers-xxxxxx
kube-system pod/metrics-server-xxxxx
kube-system pod/local-path-provisioner-xxxxx
kube-system pod/coredns-xxxxx
Como posso reiniciar (parar e iniciar os pods novamente) os pods com comando ( kubectl
talvez) ou qualquer script?
Responder1
O Kubernetes não oferece suporte para parar/pausar o estado atual dos pods. No entanto, você pode executar uma reinicialização de implementação do Deployment
/ DaemonSet
com o kubectl rollout restart
comando (consulte:os documentos de referência do Kubectl).
Para reiniciar tudo Deployments
e DaemonSets
no kube-system
namespace, você pode usar o seguinte comando:
# kubectl -n kube-system rollout restart daemonsets,deployments
daemonset.apps/calico-node restarted
deployment.apps/local-path-provisioner restarted
deployment.apps/coredns restarted
deployment.apps/metrics-server restarted
deployment.apps/calico-kube-controllers restarted
Como você provavelmente notou na saída acima, calico-node
is a DaemonSet
e o restante dos pods são gerenciados por Deployments
.
Se desejar, você pode reiniciar específico Deployment
/ Daemonset
:
# kubectl -n kube-system rollout restart deployment metrics-server
deployment.apps/metrics-server restarted
# kubectl get pod -n kube-system | grep metrics-server
metrics-server-6bd8786b6c-74qlt 1/1 Running 0 2s
metrics-server-647d5b4475-ch9zj 1/1 Terminating 0 28s