Atualize cargas de trabalho com estado

Esta página explica como atualizar cargas de trabalho com estado existentes executadas num cluster do Kubernetes isolado do ar do Google Distributed Cloud (GDC). À medida que a sua aplicação evolui com base na utilização de recursos e nas otimizações de configuração, tem de atualizar a especificação do pod subjacente no cluster do Kubernetes para refletir essas alterações de carga de trabalho. Para mais informações sobre o planeamento de atualizações para cargas de trabalho com estado, consulte a documentação do Kubernetes sobre as estratégias de atualização.

Esta página destina-se a programadores no grupo de operadores de aplicações, que são responsáveis por atualizar as cargas de trabalho das aplicações para a respetiva organização. Para mais informações, consulte a documentação sobre públicos-alvo para GDC com isolamento de ar.

Antes de começar

Para executar comandos num cluster do Kubernetes, certifique-se de que tem os seguintes recursos:

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

  2. Inicie sessão e gere o ficheiro kubeconfig para o cluster Kubernetes, se não tiver um.

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

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

Atualize um recurso StatefulSet

Para atualizar o StatefulSet, aplique um ficheiro de manifesto novo ou atualizado. Isto é útil para fazer várias alterações ao seu StatefulSet quando dimensiona ou para especificar uma nova versão da sua aplicação.

Para atualizar um objeto StatefulSet, execute:

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

Substitua o seguinte:

  • KUBERNETES_CLUSTER_KUBECONFIG: o ficheiro kubeconfig para o cluster que executa as cargas de trabalho com estado.

  • NAMESPACE: o espaço de nomes do projeto.

  • STATEFULSET_FILE: o nome do ficheiro de manifesto StatefulSetatualizado.

O comando kubectl apply aplica um ficheiro de manifesto a um recurso. Se o recurso especificado não existir, é criado pelo comando.

Inspeção da implementação de uma atualização de recursos do StatefulSet

Pode ver informações detalhadas sobre o estado de implementação da atualização e o histórico de um objeto StatefulSet. Também pode anular a implementação de um objeto StatefulSet.

Inspeccione a implementação

Para inspecionar a implementação do recurso StatefulSet, execute o seguinte comando:

kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
    rollout status statefulset STATEFULSET_NAME
  • KUBERNETES_CLUSTER_KUBECONFIG: o ficheiro kubeconfig para o cluster que executa as cargas de trabalho com estado.

  • NAMESPACE: o espaço de nomes do projeto.

  • STATEFULSET_NAME: o nome do objeto StatefulSet atualizado.

Obtenha o histórico de implementações

Para ver o histórico de implementações do recurso StatefulSet, execute o seguinte comando:

kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
    rollout history statefulset STATEFULSET_NAME
  • KUBERNETES_CLUSTER_KUBECONFIG: o ficheiro kubeconfig para o cluster que executa as cargas de trabalho com estado.

  • NAMESPACE: o espaço de nomes do projeto.

  • STATEFULSET_NAME: o nome do objeto StatefulSet atualizado.

Anule uma implementação

Para anular uma implementação, execute o seguinte comando:

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

Substitua o seguinte:

  • KUBERNETES_CLUSTER_KUBECONFIG: o ficheiro kubeconfig para o cluster que executa as cargas de trabalho com estado.

  • NAMESPACE: o espaço de nomes do projeto.

  • STATEFULSET_NAME: o nome do objeto StatefulSet