Nesta página, explicamos como atualizar cargas de trabalho sem 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.
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_KUBECONFIG
nestas instruções.
Para receber as permissões necessárias para atualizar cargas de trabalho sem 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 a implantação
Para atualizar um objeto Deployment
, execute:
kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
apply -f DEPLOYMENT_FILE
Substitua:
KUBERNETES_CLUSTER_KUBECONFIG
: o arquivo kubeconfig do cluster que executa a implantação.NAMESPACE
: o namespace do projeto.DEPLOYMENT_FILE
: o nome do arquivo de manifestoDeployment
a ser 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.
Há também várias outras maneiras de atualizar recursos na sua implantação.
Atualizar uma imagem de contêiner
Para mudar a imagem de um objeto Deployment
, execute:
kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
set image deployment DEPLOYMENT_NAME \
IMAGE=IMAGE:TAG
Substitua:
KUBERNETES_CLUSTER_KUBECONFIG
: o arquivo kubeconfig do cluster que executa a implantação.NAMESPACE
: o namespace do projeto.DEPLOYMENT_NAME
: o nome do objetoDeployment
que contém a imagem.IMAGE
: o nome da imagem do contêiner.TAG
: a tag a ser atualizada para a imagem do contêiner.
Atualizar a imagem de uma implantação é útil para mudar campos de seleção ou recursos, como solicitações ou limites.
Por exemplo, para atualizar um objeto Deployment
chamado nginx
para usar a versão
1.9.1
, execute:
kubectl --kubeconfig /tmp/kubeconfig.yaml -n my-namespace \
set image deployment nginx nginx=nginx:1.9.1
Reverter uma atualização
Se você quiser reverter uma atualização, por exemplo, quando a implantação ficar
instável, use a CLI kubectl
. O histórico de implantação de um objeto Deployment
é
preservado no sistema para que você possa fazer reverter a qualquer momento.
Para reverter uma atualização em andamento ou concluída para a revisão anterior, execute:
kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG \
-n NAMESPACE \
rollout undo deployment DEPLOYMENT_NAME
Substitua:
KUBERNETES_CLUSTER_KUBECONFIG
: o arquivo kubeconfig do cluster que executa a implantação.NAMESPACE
: o namespace do projeto.DEPLOYMENT_NAME
: o nome do objetoDeployment
a ser revertido.
Para reverter para uma revisão específica, execute:
kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG \
-n NAMESPACE \
rollout undo deployment DEPLOYMENT_NAME \
--to-revision=REVISION_NUMBER
Substitua:
KUBERNETES_CLUSTER_KUBECONFIG
: o arquivo kubeconfig do cluster que executa a implantação.NAMESPACE
: o namespace do projeto.DEPLOYMENT_NAME
: o nome do objetoDeployment
a ser revertido.REVISION_NUMBER
: o número inteiro que define a revisão para reverter, como3
.