Qual é a diferença entre o pod de reinicialização de implementação e o pod de exclusão?

Qual é a diferença entre o pod de reinicialização de implementação e o pod de exclusão?

Qual é a diferença entre o pod de reinicialização de implementação e o pod de exclusão no k8s? Ambos estão reiniciando o pod?

Responder1

No Kubernetes, os comandos rollout restart e delete são usados ​​para reiniciar ou excluir pods, respectivamente. No entanto, eles funcionam de maneiras diferentes e têm efeitos diferentes nos pods e no sistema geral.

O comando rollout restart é usado para reiniciar uma implantação ou um conjunto de réplicas no Kubernetes. Isso significa que ele substituirá os pods existentes na implantação ou no conjunto de réplicas por novos, que terão a versão mais recente do código do aplicativo e qualquer configuração atualizada. Isso é útil para implantar atualizações em um aplicativo ou para reiniciar uma implantação que não esteja funcionando corretamente.

Por outro lado, o comando delete é usado para excluir um pod diretamente, sem afetar a implantação ou o conjunto de réplicas. Isso removerá o pod do sistema e liberará os recursos que ele estava usando. Isso é útil para remover pods que não são mais necessários ou para solucionar problemas com pods individuais.

No geral, os comandos rollout restart e delete podem ser usados ​​para reiniciar pods no Kubernetes, mas funcionam de maneiras diferentes e têm efeitos diferentes no sistema. O comando rollout restart é usado para reiniciar uma implantação inteira ou um conjunto de réplicas, enquanto o comando delete é usado para excluir pods individuais.

Responder2

Para outras pessoas que acabam aqui, kubectl rolloutnão se aplica a pods. Pela ajuda da linha de comando ( kubectl rollout -h):

 Valid resource types include:

  *  deployments
  *  daemonsets
  *  statefulsets

Enquanto escrevo isto, se você tentar executar uma reinicialização de implementação em um pod, provavelmente receberá uma mensagem de erro como esta:

$ kubectl rollout restart pod test-zrdcs
error: pods "test-zrdcs" restarting is not supported

Para recursos de pod, uma exclusão fará o que diz na lata e tentará excluir o pod. Se o pod for gerenciado por um recurso de nível superior (por exemplo, conjunto de réplicas ou implantação), esse objeto poderá substituir o pod excluído.

Esta é a versão que kubectlestou usando agora:

$ kubectl version --client --short
Client Version: v1.25.4

informação relacionada