Trabalhando com cargas de trabalho do Kubernetes

Criar e administrar uma implementação

Objective

After completing this lesson, you will be able to criar e gerenciar uma implementação

Criar e administrar uma implementação

Cenário de utilização

Você deseja implementar seu aplicativo desenvolvido em um cluster do Kubernetes. Para isso, defina um manifesto de implementação e aplique-o ao cluster.

Fluxo de tarefas

Neste exercício, você realizará as seguintes tarefas:

  1. Crie uma implementação usando o dashboard Kyma.
  2. Atualize e aplique o manifesto de implementação.
  3. Dimensione a implementação.
  4. Reverta a implementação.

Pré-requisitos

Antes de começar, certifique-se de que os seguintes pré-requisitos são cumpridos:

Tarefa 1: Criar uma implementação usando o dashboard Kyma

Etapas

  1. No dashboard Kyma, vá para o espaço de nomes default.

  2. Na seção Editar, ative a injeção de proxy sidecar Isito se você não a tiver feito no exercício anterior.

  3. Vá para Cargas de trabalho → Implementações e selecione o botão Criar.

    Implementações no dashboard Kyma
  4. Especifique o nome da Implantação e a imagem do container. Utilize os seguintes dados:

    CampoValor
    Nomehello-kyma
    Imagem do dockerghcr.io/sap-samples/kyma-runtime-learning-journey/hello-kyma:1.0.0
    Criar implementação
  5. Alterne o comutador para ativar a injeção de proxy sidecar Istio para a Implantação.

  6. Para revisar seu manifesto de implementação, selecione a ficha YAML.

    Revisar YAML
  7. Selecione o botão Criar.

    Você é redirecionado automaticamente para a visão Detalhes da implementação. Esta visão inclui detalhes sobre a Implementação criada e o Pod associado.

  8. Consulte os detalhes da Implementação criada. Role para baixo até a seção Gráfico de recursos para observar a implementação criada e o conjunto de replicação e o pod gerenciados.

    Dashboard Kyma mostrando uma implementação chamada hello-kyma com seu ReplicaSet e Pod associados. A seção Gráfico de recurso visualiza a relação entre a implementação, o conjunto de replicação e o pod.

Tarefa 2: Atualizar e aplicar o manifesto de implementação usando kubectl

Etapas

  1. Para listar todas as suas Implementações no espaço de nomes padrão, execute o seguinte comando kubectl:

    Code Snippet
    1
    kubectl get deployments

    O desdobramento que você criou é exibido na saída.

    Uma captura de tela do terminal mostrando a saída do comando kubectl get Deployments. Ele lista uma implementação chamada hello-kyma com 1 Pod pronto, atualizado e disponível, e uma idade de 33 minutos.
  2. Para obter o manifesto Deployment como YAML, execute o seguinte comando:

    Code Snippet
    1
    kubectl get deployment hello-kyma -o yaml >> hello-kyma-deployment.yaml

    Nota

    Nesta tarefa, você utiliza o kubectl para baixar o manifesto de implementação e editá-lo localmente. Embora você possa usar o painel Kyma para editar o manifesto de implementação, é altamente recomendável aplicar alterações de um arquivo persistido e colocar todos os manifestos sob controle de versão. Isso não é possível com o dashboard Kyma.

  3. Vá para o seu diretório de trabalho e abra o arquivo hello-kyma-deployoment.yaml.

    Configuração YAML para uma implementação Kubernetes chamada hello-kyma com uma réplica. Ele especifica a estratégia de atualização contínua, limites de recursos e usa uma imagem de ghcr.io/sap-samples/kyma-run-time learning-trip.
  4. Para atualizar a Implantação para usar uma nova versão do aplicativo, altere a imagem atual do container para a nova versão e defina o change-cause para documentar a alteração.

    1. Adicione a seguinte imagem no campo template.spec.containers.image: ghcr.io/sap-samples/kyma-runtime-learning-journey/hello-kyma:1.1.0

    2. Adicione a seguinte anotação na seção spec.template.metadata:

      Code Snippet
      12
      annotations: kubernetes.io/change-cause: Upgrade to new release v1.1.0
    Upgrade de implementação YAML
  5. Salve o arquivo.

  6. Aplique o manifesto de implementação atualizado.

    Code Snippet
    1
    kubectl apply -f hello-kyma-deployment.yaml
  7. Para verificar a atualização no histórico de rollout, execute os seguintes comandos:

    Code Snippet
    1
    kubectl rollout history deployment hello-kyma

    Você também pode verificar se a Implantação está atualizada Implementação na seção Cargas de trabalho → Implementações do dashboard Kyma.

Tarefa 3: Dimensionar a implementação

Etapas

  1. Para escalar a implementação para três réplicas, execute:

    Code Snippet
    1
    kubectl scale deployment hello-kyma --replicas=3

    O Kubernetes cria dois Pods adicionais para que agora haja três Pods em execução.

  2. Para verificar se a implementação foi escalonada com êxito, execute:

    Code Snippet
    1
    kubectl get deployment hello-kyma

    Se tiver êxito, você obtém a seguinte saída em repsonse:

    Code Snippet
    12
    NAME READY UP-TO-DATE AVAILABLE AGE hello-kyma 3/3 3 3 6m10s

  3. Para verificá-lo no dashboard Kyma, vá para Cargas de trabalho → Implementações e selecione hello-kyma Implementação. Role para baixo até a lista com Pods. A lista contém três pods.

Tarefa 4: Executar um rollback da implementação

Imagine que você implementou uma nova versão do aplicativo, mas ela não está funcionando como esperado. Agora você pode reverter a implementação para a versão anterior.

Etapas

  1. Para listar o histórico de rollout, execute:

    Code Snippet
    1
    kubectl rollout history deployment hello-kyma

    Você obtém duas versões da Implementação.

    A saída do comando `kubectl rollout history Deployment hello-kyma`, exibindo o histórico de revisão da Implantação hello-kyma com duas revisões e suas causas de mudança.
  2. Reverta a implantação especificando o número da revisão.

    Code Snippet
    1
    kubectl rollout undo deployment hello-kyma --to-revision=1

    Se tiver êxito, você verá a seguinte saída: deploy yment.apps/hello-kyma rollback

  3. Liste o histórico de rollout novamente para verificar o rollback.

    Code Snippet
    1
    kubectl rollout history deployment hello-kyma

    Você vê se o rollback foi bem-sucedido. Além disso, a ordem das revisões mudou e é incrementada em uma.

    A saída do comando `kubectl rollout history Deployment hello-kyma`, exibindo o histórico de revisão da Implantação com as revisões 2 e 3, e suas respectivas causas de alteração.

Resultado

Parabéns! Você concluiu o exercício. Agora, você pode criar, atualizar, escalar e reverter uma implementação.