Implantação de Rolling em Kubernetes

Implantação de Rolling em Kubernetes

Nesta postagem, examinaremos as opções de implantação para usar o sistema de contêineres-orquestração Kubernetes para implantar contêineres. Aprendemos a implantar no cluster Kubernetes de várias maneiras até o final deste artigo. Se você realmente deseja aprender mais sobre este tópico, continue lendo o artigo. O código pode ser encontrado nas seções abaixo.

O que são implantações em Kubernetes?

As implantações de Kubernetes são apenas réplicas embrulhadas em um invólucro Kubernetes. A implantação monitora o número de vagens operacionais, enquanto o réplica gerencia o número de vagens em execução. Isso permite atualizações de rolamento, verificações de saúde de pod e fácil reversão de atualizações.

A implantação só manterá uma única replicata durante as operações normais, garantindo que o número de vagens necessárias esteja operando.

Você não deve gerenciar a replicata que a implantação cria diretamente enquanto utiliza implantações. Todas as operações realizadas em uma replicaSet devem ser executadas na implantação, gerenciando o processo de atualização do ReplicaSet.

A capacidade de executar atualizações de laminação é um dos principais benefícios da implantação. As implantações oferecem muita flexibilidade sobre as atualizações rolantes, permitindo que você atualize a configuração de seus pods gradualmente.

Quais são os casos de uso típicos para implantação?

As implantações são comumente usadas nos seguintes cenários:

  • Para lançar uma replicata, crie uma implantação. Em segundo plano, o ReplicaSet constrói pods. Verifique o progresso da implantação para verificar se foi bem -sucedido.
  • Atualize o PodtemplatesPec da implantação para refletir a condição alterada das vagens. A implantação é responsável por gerenciar a transferência controlada de vagens do antigo para o novo ReplicaSet e formando um novo. A cada nova replicaSet, a revisão da implantação é atualizada.
  • Aumente a capacidade da implantação de lidar com um tráfego maior.
  • Pause o lançamento de uma implantação para fazer várias alterações em seu podtemplatespec e depois retomar para iniciar um novo lançamento.
  • O status de implantação pode ser usado para determinar se um lançamento foi ou não bem -sucedido.
  • Remova quaisquer réplicas anteriores que você não precise mais.

Pré -requisitos:

Primeiro, você precisa instalar o cluster Minikube e começar o Ubuntu 20.04. Agora abra um terminal para executar os comandos. Para esse fim, pressione o atalho "Ctrl+Alt+T" no teclado.

Você também pode escrever o comando "start minikube" no terminal. Depois disso, espere um tempo até começar. O seguinte é o resultado desta instrução:

$ minikube Iniciar

Como criar uma implantação?

Em Kubernetes, as implantações são formadas especificando seus requisitos em um arquivo de definição da YAML. Vamos usar o exemplo de uma implantação denominada implantação.YAML com os seguintes parâmetros para ver como uma implantação de atualização rolante está configurada:

$ nano implantar.Yaml


Todo o arquivo de configuração pode ser encontrado aqui. Para trazer três pods, o código abaixo cria uma replicaSet. No exemplo, o.Metadados.coluna de nome indica que uma implantação chamada nginx-deplantment foi criada. A implantação produz três vagens replicadas, de acordo com o.espec.atributo de réplicas.

A implantação.espec.Campo seletor especifica como ele determina quais vagens gerenciar. Nesse caso, você usará o modelo de pod para selecionar um rótulo (aplicativo: nginx). Regras de seleção mais complicadas são possíveis se o modelo de pod se encaixar nos critérios.


Para criar a implantação, execute o comando fornecido depois de configurar a implantação YAML:

$ kubectl Criar -f Implantação.Yaml

Use o comando kubectl get implements para ver se a implantação foi criada, como mostrado abaixo.

$ KUBECTL Get Implements


Se houver alguma implantações em andamento, você poderá monitorar o status de lançamento escrevendo este comando.


Depois de alguns segundos, execute Kubectl para obter implantações novamente para ver os detalhes.

$ KUBECTL Get Implements


Para inspecionar o réplica (rs) criado pela implantação, use o comando KUBECTL GET RS. Aqui está o resultado.

$ kubectl Get Rs

Run Kubectl Obtenha pods -Show -Labels para ver os rótulos produzidos automaticamente para cada pod. A saída pode ser assim:

$ KUBECTL GET PODS-ShowBels

Como atualizar uma implantação?

Para atualizar sua implantação, siga as etapas elaboradas abaixo:

Vamos alterar as vagens nginx para empregar a seguinte versão do Nginx: em vez de usar o nginx: 1.14.2 imagem, use o 1.16.1 imagem.


Execute o comando dado e veja o status de lançamento.


Após a conclusão do lançamento, use Kubectl para obter implantações para ver a implantação. A seguir é a saída:

$ KUBECTL Get Implements


Para recuperar detalhes sobre sua implantação, execute o seguinte comando:

$ kubectl descreve implantações


Suponha que você cometeu um erro ao alterar a implantação e digitar Nginx: 1.161 em vez de nginx: 1.16.1 no nome da imagem:

O lançamento fica parado. Você pode verificar o desempenho do lançamento aqui:


Para parar o relógio de status de implantação acima, use Ctrl-C.

Quais são os benefícios de rolando atualizações?

As atualizações de rolamento permitem a integração progressiva das mudanças, oferecendo mais flexibilidade e controle sobre a vida útil do seu aplicativo. A seguir, são apresentadas algumas das vantagens do uso de atualizações de rolamento para clusters de Kubernetes:

  • Não há tempo de inatividade porque as instâncias de pod do aplicativo estão sempre em execução, mesmo durante uma atualização.
  • Permite que os desenvolvedores testem o impacto das mudanças em um ambiente de produção sem interferir na experiência do usuário.
  • É uma técnica de implantação econômica porque não requer recursos adicionais atribuídos ao cluster.
  • Atualizações complexas podem ser realizadas efetivamente, fazendo modificações simples em um arquivo de implantação, eliminando a necessidade de migração manual demorado de arquivos de configuração.

Conclusão:

Esta postagem cobriu o básico das implantações, como as atualizações rolantes operam e uma variedade de opções de configuração para atualizações de ajuste fino e agendamento de pods. Agora você deve ser capaz de estabelecer e alterar as implantações com confiança para alcançar o estado correto para sua aplicação.