Compartilhar via


Criar implantações

Aplica-se ao: AKS no Azure Local 22H2, AKS no Windows Server

Este artigo fornece uma visão geral das implantações do Kubernetes e descreve como criar e atualizar essas implantações no AKS habilitado pelo Azure Arc.

Visão geral das implantações do Kubernetes

Uma implantação refere-se a um objeto do Kubernetes que gerencia o desempenho e especifica o comportamento desejado de um pod. Ele especifica o ciclo de vida do aplicativo, incluindo os pods atribuídos ao aplicativo. Uma implantação fornece uma maneira de comunicar o estado desejado para seu aplicativo, e o controlador trabalha para alterar o estado atual para o estado desejado.

As implantações automatizam o processo para iniciar instâncias de pod e garantir que elas sejam executadas conforme definido em todos os nós do cluster. Administradores e profissionais de TI usam implantações para comunicar o que desejam de um aplicativo e, em seguida, o Kubernetes executa todas as etapas necessárias para criar o estado desejado do aplicativo.

Embora as implantações definam como seus aplicativos são executados, elas não garantem onde seus aplicativos estão localizados em seu cluster. Por exemplo, se seu aplicativo exigir uma instância de um pod em cada nó, você desejará usar um DaemonSet. Para aplicativos com estado, um StatefulSet fornece identificadores de rede exclusivos, armazenamento persistente e implantação/dimensionamento ordenado.

O objeto de implantação do Kubernetes permite:

  • Implante um conjunto de réplicas ou um pod.
  • Dimensione o número de instâncias de um aplicativo para cima ou para baixo.
  • Atualize todas as instâncias em execução de um aplicativo.
  • Reverta todas as instâncias em execução de um aplicativo para outra versão.
  • Pause ou continue uma implantação.

Para obter mais informações, consulte Implantações do Kubernetes.

Criar uma implantação

Para criar uma implantação, você pode usar os kubectl apply comandos ou kubectl create . Como o número necessário de pods é mantido e monitorado, eles estão em execução e disponíveis após a criação da implantação. Se um pod falhar, o Kubernetes implantará imediatamente uma réplica do pod para ocupar seu lugar no cluster.

O exemplo a seguir descreve os recursos de um arquivo de manifesto de implantação no formato YAML:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
        - image: nginx
          name: nginx
          ports:
            - containerPort: 80

Para exibir a implantação, o conjunto de réplicas e os pods, execute o seguinte comando:

kubectl get deployment, replicaset, pod

Atualizar uma implantação

A principal vantagem das implantações é a capacidade de atualizar automaticamente seu programa Kubernetes. Sem implantações, você teria que encerrar manualmente todos os pods antigos, iniciar novas versões de pod e executar uma verificação para ver se há algum problema ao criar pods. Você pode correr kubectl describe deployment para ver a ordem em que os pods foram trazidos e removidos.

As implantações automatizam o processo de atualização, pois você simplesmente atualiza o modelo de pod ou o estado desejado. A implantação altera o estado do programa em segundo plano com ações, como criar novos pods ou alocar mais recursos, até que a atualização escolhida esteja em vigor.

Se houver problemas na implantação, o Kubernetes será revertido automaticamente para a versão anterior. Você também pode reverter explicitamente para uma versão específica usando o kubectl rollout undo comando ou pode usar o kubectl rollout pause para interromper temporariamente uma implantação.

Estratégias para atualizar implantações

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

  • Atualização contínua: essa atualização é um processo gradual que permite atualizar seu sistema Kubernetes com apenas um pequeno efeito no desempenho e sem tempo de inatividade. Ele minimiza o tempo de inatividade ao custo da velocidade de atualização.
  • Recreação: Essa estratégia é um processo de tudo ou nada que permite atualizar todos os aspectos do sistema de uma só vez com um breve período de inatividade. Ele é atualizado rapidamente, mas causa tempo de inatividade.
  • Canário: Essa estratégia é um processo de atualização parcial que permite testar a nova versão do programa em usuários reais sem um compromisso com uma distribuição completa. Ele é atualizado rapidamente para alguns usuários selecionados com uma distribuição completa posteriormente.

Próximas etapas