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 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. Para mais informações, consulte Públicos-alvo para documentação isolada do GDC.

Antes de começar

Para executar comandos em um cluster do Kubernetes, 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 KUBERNETES_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 KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
    apply -f STATEFULSET_FILE

Substitua:

  • KUBERNETES_CLUSTER_KUBECONFIG: o arquivo kubeconfig do cluster 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 KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
    rollout status statefulset STATEFULSET_NAME
  • KUBERNETES_CLUSTER_KUBECONFIG: o arquivo kubeconfig do cluster 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 KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
    rollout history statefulset STATEFULSET_NAME
  • KUBERNETES_CLUSTER_KUBECONFIG: o arquivo kubeconfig do cluster 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 KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
    rollout undo statefulset STATEFULSET_NAME

Substitua:

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

  • NAMESPACE: o namespace do projeto.

  • STATEFULSET_NAME: o nome do objeto StatefulSet.