Neste artigo, discutiremos essas etapas. Lembre -se, no entanto, que apressar esse processo pode resultar em erros e tempo de inatividade do aplicativo. Agora, vamos discutir o tópico em detalhes.
Como excluir o Kubernetes em vá da maneira mais fácil?
Você deve primeiro listar os pods para excluir a postagem da maneira mais eficiente. Você pode fazer isso se você usar o comando get pods que é dado abaixo.
$ KUBECTL Get Pods -O WideAqui, você pode ver que o comando get pods listado nas vagens com detalhes.
Agora, se excluirmos a cápsula "Pod-Three". Digite o seguinte comando:
$ KUBECTL DELETE POD POD-ThreeO comando acima em que especificamos o nome da vagem (pod-três) excluiu a vagem com sucesso.
$ KUBECTL Get Pods -O WideAo listar todos os pods, você pode confirmar que o em questão foi excluído.
Como você pode verificar na imagem afixada acima, não há 'pod-três.'
Como forçar a exclusão de kubernetes?
Por que a exclusão de pods de força é necessária? Após um tempo limite, o pod pode ficar preso em um estado térmico/desconhecido em um nó inacessível. Esses status também podem ocorrer quando um usuário tenta excluir graciosamente uma vagem de um nó inacessível. Em algumas situações, você pode remover/excluir com força a vagem.
Se uma exclusão de força é ou não eficaz na destruição de uma vagem, o nome será removido do apiserver imediatamente. Isso permitiria ao Controlador Statefulset estabelecer um POD de substituição com a mesma identidade; Isso pode levar a duplicação de uma vagem já que já atualizou, que, se o POD ainda puder interagir com outros membros do Statefulset, violariam a em apenas uma semântica que o Statefulset foi feito para garantir.
A exclusão de força manual deve ser usada com cuidado, pois pode quebrar pelo menos uma das semânticas do Statefulset. O StatefulSets pode ser usado para executar aplicativos distribuídos e agrupados que requerem uma identidade de rede consistente e armazenamento persistente.
A configuração desses aplicativos é frequentemente baseada em um conjunto compreendendo um número predeterminado de membros com identidades fixas. Vários membros que compartilham as mesmas identidades podem ser perigosos e podem acabar na perda de dados.
Quando você exclui um pods de statefulset pela força, você garante que ele nunca mais se comunique com outros pods no Statefulset, e que sua identidade possa ser libertada com segurança para um substituto.
Siga estes procedimentos para destruir com força um pod usando Kubectl> = 1.5:
$ kubectl exclua pods nome-de-cod --grace-period = 0-forceSe você estiver usando Kubectl> = 1.4, você pode pular o argumento da força e, em vez disso, usar:
$ kubectl exclua pods nome-de-cod --grace-period = 0Agora, usando a maneira acima, exclua o pod "Pod-dois":
$ KUBECTL DELETE POD POD-TWO-Force-Grace-Períod = 0-Namespace = PadrãoAqui está o resultado do comando acima quando executado.
Observe que as deleções de força de força não dependem da confirmação de Kubelet de que o pod foi encerrado.
Se o pod permanecer no status desconhecido após a execução desses comandos, use o seguinte comando para removê -lo do cluster:
$ KUBECTL Patch Pod POD -TWO -P '"Metadata": "Finalizadores": null'Verifique se o pod foi removido.
Como remover os pods de um nó de uma só vez?
Se o seu nó estiver tendo vagens não essenciais ou vagens com estado, você pode usar o comando de drenagem Kubectl. Esta etapa removerá todos os pods do nó. Antes de progredir, verifique duas vezes a identidade do nó que você está excluindo e verifique se as vagens em um determinado nó podem ser encerradas com segurança. A tarefa será realizada para você com a seguinte instrução.
$ kubectl Get nósApós o comando Get Pod, use o seguinte comando citado, dado abaixo.
Em seguida, tente usar as seguintes instruções citadas para drenar todas as vagens.
$ kubectl drenagemPara garantir que nenhuma vagem ainda esteja operando no nó, execute o comando Get Pods novamente. Se você estiver usando o NoExecute para executar pods, eles ainda estarão no nó.
Execute o comando de drenagem mais uma vez. Mas desta vez a bandeira da força deve ser incluída. Isso eliminará todas as vagens do nó. Por fim, use o comando Kubectl Excluir Node para excluir o nó do cluster relevante.
Como permitir as vagens de volta nos nós?
Depois de terminar de realizar a manutenção em um nó, use o comando Kubectl Uncordon para reativar a programação nesse nó. Então, à medida que os pods ficam disponíveis para agendamento, eles reaparecem nesse nó.
$ KUBECTL Uncordon Docker-DesktopSe você tem um nó recém -incorporado ou um novo nó em seu cluster, equilibrar vagens específicas pode ser um problema. Embora seja melhor permitir que o Kubernetes Scheduler alocem pods conforme necessário ao alterar sua implantação/statefulset, você pode forçar o processo removendo pods e agendando -os em outros lugares empregando algumas das fases anteriores.
Conclusão
Pode ser necessário excluir um único pod ou várias vagens de um de seus nós ao executar seu cluster Kubernetes. Existe a possibilidade de que você precise solucionar dificuldades de nó, atualizar um nó específico ou diminuir seu cluster. Embora a exclusão de qualquer pod ou vagem de um nó não seja muito difícil, existem algumas dicas e técnicas que você deve seguir para garantir que seu aplicativo/programa não seja interrompido. É disso que falamos e expandimos neste artigo. Antes de executar quaisquer instruções, certifique -se de ler e compreender completamente cada etapa para evitar cometer erros que podem resultar em tempo de inatividade.