Esta página explica como atualizar cargas de trabalho sem estado existentes executadas num cluster do Kubernetes de um dispositivo isolado 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.
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.
Antes de começar
Para executar comandos no cluster do Kubernetes bare metal pré-configurado, certifique-se de que tem os seguintes recursos:
Localize o nome do cluster do Kubernetes ou pergunte ao administrador da plataforma qual é o nome do cluster.
Inicie sessão e gere o ficheiro kubeconfig para o cluster do Kubernetes, se não tiver um.
Use o caminho kubeconfig do cluster Kubernetes para substituir
CLUSTER_KUBECONFIG
nestas instruções.
Para receber as autorizações necessárias para atualizar cargas de trabalho sem estado, peça ao administrador da IAM da organização que lhe conceda a função de administrador do espaço de nomes (namespace-admin
) no espaço de nomes do seu projeto.
Atualize a implementação
Para atualizar um objeto Deployment
, execute:
kubectl --kubeconfig CLUSTER_KUBECONFIG -n NAMESPACE \
apply -f DEPLOYMENT_FILE
Substitua o seguinte:
CLUSTER_KUBECONFIG
: o ficheiro kubeconfig para o cluster do Kubernetes que executa a implementação.NAMESPACE
: o espaço de nomes do projeto.DEPLOYMENT_FILE
: o nome do ficheiro de manifesto a atualizar.Deployment
O comando kubectl apply
aplica um ficheiro de manifesto a um recurso. Se o recurso especificado não existir, é criado pelo comando.
Também existem várias outras formas de atualizar os recursos na sua implementação.
Atualize uma imagem de contentor
Para alterar a imagem de um objeto Deployment
, execute o seguinte comando:
kubectl --kubeconfig CLUSTER_KUBECONFIG -n NAMESPACE \
set image deployment DEPLOYMENT_NAME \
IMAGE=IMAGE:TAG
Substitua o seguinte:
CLUSTER_KUBECONFIG
: o ficheiro kubeconfig para o cluster do Kubernetes que executa a implementação.NAMESPACE
: o espaço de nomes do projeto.DEPLOYMENT_NAME
: o nome do objetoDeployment
que contém a imagem.IMAGE
: o nome da imagem do contentor.TAG
: a etiqueta a atualizar para a imagem do contentor.
A atualização da imagem de uma implementação é útil para alterar campos seletores ou recursos, como pedidos ou limites.
Por exemplo, para atualizar um objeto Deployment
com o nome nginx
para usar a versão
1.9.1
, execute o seguinte:
kubectl --kubeconfig /tmp/kubeconfig.yaml -n my-namespace \
set image deployment nginx nginx=nginx:1.9.1
Reverta uma atualização
Se quiser reverter uma atualização, por exemplo, quando a implementação fica instável, use a CLI kubectl
. O histórico de implementação de um objeto Deployment
é preservado no sistema para que possa reverter a qualquer momento.
Para reverter uma atualização em curso ou concluída para a revisão anterior, execute:
kubectl --kubeconfig CLUSTER_KUBECONFIG \
-n NAMESPACE \
rollout undo deployment DEPLOYMENT_NAME
Substitua o seguinte:
CLUSTER_KUBECONFIG
: o ficheiro kubeconfig para o cluster do Kubernetes que executa a implementação.NAMESPACE
: o espaço de nomes do projeto.DEPLOYMENT_NAME
: o nome do objetoDeployment
para reverter.
Para reverter para uma revisão específica, execute o seguinte comando:
kubectl --kubeconfig CLUSTER_KUBECONFIG \
-n NAMESPACE \
rollout undo deployment DEPLOYMENT_NAME \
--to-revision=REVISION_NUMBER
Substitua o seguinte:
CLUSTER_KUBECONFIG
: o ficheiro kubeconfig para o cluster do Kubernetes que executa a implementação.NAMESPACE
: o espaço de nomes do projeto.DEPLOYMENT_NAME
: o nome do objetoDeployment
para reverter.REVISION_NUMBER
: o número inteiro que define a revisão para a qual reverter, como3
.