Partilhar via


Criar implantações

Aplica-se a: AKS no Azure Stack HCI 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 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 presente para o estado desejado.

As implantações automatizam o processo para executar instâncias de pod e garantir que elas sejam executadas conforme definido em todos os nós do cluster. Os 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 dentro do cluster. Por exemplo, se seu aplicativo requer uma instância de um pod em cada nó, você deseja usar um DaemonSet. Para aplicativos com monitoração de 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 cada instância 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 or 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 lançará 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 pods 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 criados 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: Esta atualização é um processo gradual que permite que você atualize 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: Esta estratégia é um processo de tudo ou nada que permite atualizar todos os aspetos do sistema de uma só vez com um breve período de inatividade. Ele é atualizado rapidamente, mas causa tempo de inatividade.
  • Canary: Esta estratégia é um processo de atualização parcial que permite que você teste sua nova versão do programa em usuários reais sem um compromisso com uma implementação completa. Ele é atualizado rapidamente para alguns usuários selecionados com uma distribuição completa mais tarde.

Próximos passos