Criar implementações

Uma implementação refere-se a um objeto Kubernetes que gere o desempenho e especifica o comportamento desejado de uma cápsula. Especifica o ciclo de vida da aplicação, incluindo as cápsulas atribuídas à aplicação. Fornece uma forma de comunicar o estado desejado para a sua aplicação, e o controlador trabalha na transformação do estado atual no seu estado desejado.

As implementações automatizam o processo para lançar instâncias de pod e garantir que funcionam como definidos em todos os nós dentro do cluster. Os administradores e profissionais de TI usam implementações para comunicar o que querem de uma aplicação, e então, Kubernetes toma todas as medidas necessárias para criar o estado desejado da aplicação.

Embora as implementações definam como as suas aplicações funcionam, não garantem onde as suas aplicações estão localizadas dentro do seu cluster. Por exemplo, se a sua aplicação necessitar de uma instância de um pod em cada nó, irá querer utilizar um DaemonSet. Para aplicações imponentes, um StatefulSet fornece identificadores de rede únicos, armazenamento persistente e implementação/escala ordenada.

O objeto de implantação de Kubernetes permite-lhe:

  • Implementar um conjunto de réplica ou uma cápsula
  • Escalar o número de casos de uma aplicação para cima ou para baixo
  • Atualizar cada instância em execução de uma aplicação
  • Reverta todas as instâncias de execução de uma aplicação para outra versão
  • Faça uma pausa ou continue uma implantação

Para obter informações adicionais, consulte as Implementações de Kubernetes.

Create a deployment (Criar uma implementação)

Cria-se uma implantação utilizando os kubectl apply comandos ou kubectl create comandos. Uma vez que o número necessário de cápsulas é mantido e monitorizado, eles estão a executar e disponíveis após a implementação ser criada. Se uma cápsula falhar, kubernetes lança imediatamente uma réplica da cápsula para tomar o seu lugar no cluster.

O exemplo a seguir descreve as características de um ficheiro manifesto de implantação no formato YAML.

apiVersion: apps/v1  
kind: Deployment  
metadata: 
      name: nginx
spec:  
      replicas: 3
      selector:
           matchlabels:
containers:
      template:
           metadata:
      labels:
        app: nginx
            spec:  
      	    containers:  
       	    -name: nginx  
       	    image: nginx: 1.7.9
       	    ports:  
        	  -containerPort: 80  

Para visualizar a implantação, o conjunto de réplicas e as cápsulas, executar o seguinte comando:

kubectl get deployment, replicaset, pod

Atualizar uma implementação

A principal vantagem das implementações é atualizar automaticamente o seu programa Kubernetes. Sem implementações, teria de acabar manualmente com todas as cápsulas antigas, iniciar novas versões de pod e verificar se existem problemas na criação de cápsulas. Pode correr kubectl describe deployment para ver a ordem pela qual as cápsulas foram criadas e removidas.

As implementações automatizam o processo de atualização à medida que simplesmente atualiza o modelo do pod ou o estado pretendido. A implementação altera o estado do programa em segundo plano com ações, como criar novas cápsulas ou alocar mais recursos, até que a atualização escolhida esteja em vigor.

Se houver problemas na implementação, a Kubernetes volta automaticamente para a versão anterior. Também pode revirar explicitamente para uma versão específica usando o kubectl rollout undo comando, ou pode usar kubectl rollout pause o para interromper temporariamente uma implementação.

Estratégias de atualização de implementações

A Kubernetes fornece várias estratégias de implementação para que possa atualizar de várias formas para atender às necessidades do seu ambiente. As três estratégias de atualização mais comuns são:

  • Atualização rolante: Esta atualização é um processo gradual que lhe permite atualizar o seu sistema Kubernetes com apenas um pequeno efeito sobre o desempenho e sem tempo de inatividade. Minimiza o tempo de inatividade ao custo da velocidade de atualização.
  • Recreação: Esta estratégia é um processo tudo ou nada que lhe permite atualizar todos os aspetos do sistema de uma só vez com um breve período de inatividade. Atualiza-se rapidamente, mas causa tempo de inatividade.
  • Canário: Esta estratégia é um processo de atualização parcial que lhe permite testar a sua nova versão do programa em utilizadores reais sem se comprometer com um lançamento completo. Atualiza rapidamente para alguns utilizadores selecionados com um lançamento completo mais tarde.

Passos seguintes