Atualizar cargas de trabalho com estado

Nesta página, explicamos como atualizar cargas de trabalho com estado em execução em um cluster do Kubernetes de um dispositivo isolado do Google Distributed Cloud (GDC). À medida que o aplicativo evolui com base no uso de recursos e nas otimizações de configuração, é necessário atualizar a especificação do pod no cluster do Kubernetes para refletir essas mudanças na carga de trabalho. Para mais informações sobre o planejamento de atualizações para cargas de trabalho com estado, consulte a documentação do Kubernetes sobre Estratégias de atualização.

Esta página é destinada a desenvolvedores do grupo de operadores de aplicativos, que são responsáveis por atualizar as cargas de trabalho de aplicativos da organização.

Antes de começar

Para executar comandos no cluster do Kubernetes em bare metal pré-configurado, verifique se você tem os seguintes recursos:

  1. Localize o nome do cluster do Kubernetes ou pergunte ao administrador da plataforma.

  2. Faça login e gere o arquivo kubeconfig para o cluster do Kubernetes, se você não tiver um.

  3. Use o caminho kubeconfig do cluster do Kubernetes para substituir CLUSTER_KUBECONFIG nestas instruções.

Para receber as permissões necessárias para atualizar cargas de trabalho com estado, peça ao administrador do IAM da organização para conceder a você o papel de administrador do namespace (namespace-admin) no namespace do projeto.

Atualizar um recurso StatefulSet

Para atualizar o StatefulSet, aplique um arquivo de manifesto novo ou atualizado. Isso é útil para fazer várias mudanças no StatefulSet ao dimensionar ou especificar uma nova versão do aplicativo.

Para atualizar um objeto StatefulSet, execute:

kubectl --kubeconfig CLUSTER_KUBECONFIG -n NAMESPACE \
    apply -f STATEFULSET_FILE

Substitua:

  • CLUSTER_KUBECONFIG: o arquivo kubeconfig do cluster do Kubernetes que executa as cargas de trabalho com estado.

  • NAMESPACE: o namespace do projeto.

  • STATEFULSET_FILE: o nome do arquivo de manifesto StatefulSet atualizado.

O comando kubectl apply aplica um arquivo de manifesto a um recurso. Se o recurso especificado não existir, ele será criado pelo comando.

Inspecionar o lançamento de uma atualização de recurso StatefulSet

É possível conferir informações detalhadas sobre o status e o histórico de lançamento de atualizações de um objeto StatefulSet. Também é possível desfazer o lançamento de um objeto StatefulSet.

Inspecionar o lançamento

Para inspecionar o lançamento do recurso StatefulSet, execute:

kubectl --kubeconfig CLUSTER_KUBECONFIG -n NAMESPACE \
    rollout status statefulset STATEFULSET_NAME
  • CLUSTER_KUBECONFIG: o arquivo kubeconfig do cluster do Kubernetes que executa as cargas de trabalho com estado.

  • NAMESPACE: o namespace do projeto.

  • STATEFULSET_NAME: o nome do objeto StatefulSet atualizado.

Acessar o histórico de lançamentos

Para conferir o histórico de lançamento do recurso StatefulSet, execute:

kubectl --kubeconfig CLUSTER_KUBECONFIG -n NAMESPACE \
    rollout history statefulset STATEFULSET_NAME
  • CLUSTER_KUBECONFIG: o arquivo kubeconfig do cluster do Kubernetes que executa as cargas de trabalho com estado.

  • NAMESPACE: o namespace do projeto.

  • STATEFULSET_NAME: o nome do objeto StatefulSet atualizado.

Desfazer um lançamento

Para desfazer um lançamento, execute:

kubectl --kubeconfig CLUSTER_KUBECONFIG -n NAMESPACE \
    rollout undo statefulset STATEFULSET_NAME

Substitua:

  • CLUSTER_KUBECONFIG: o arquivo kubeconfig do cluster do Kubernetes que executa as cargas de trabalho com estado.

  • NAMESPACE: o namespace do projeto.

  • STATEFULSET_NAME: o nome do objeto StatefulSet.