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:
Localize o nome do cluster do Kubernetes ou pergunte ao administrador da plataforma.
Faça login e gere o arquivo kubeconfig para o cluster do Kubernetes se você não tiver um.
Use o caminho kubeconfig do cluster do Kubernetes para substituir
KUBERNETES_CLUSTER_KUBECONFIGnestas 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 manifestoStatefulSetatualizado.
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 objetoStatefulSetatualizado.
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 objetoStatefulSetatualizado.
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 objetoStatefulSet.