Esta página descreve como alternar as chaves das seguintes contas de serviço:
Para alternar as chaves da conta de serviço:
- Crie um diretório para armazenar uma cópia de segurança dos seus segredos atuais: - mkdir backup 
- Tenha em atenção as seguintes informações para a conta de serviço relevante: - Acesso aos componentes - Cluster - Secreto - Espaço de nomes - Administrador - admin-cluster-creds - kube-system - Administrador - user-cluster-creds - CLUSTER_NAME-gke-onprem-mgmt - Administrador - private-registry-creds - kube-system - Utilizador - private-registry-creds - kube-system - Se não estiver a usar um
registo privado,
o private-registry-credssegredo contém a chave para a sua conta de serviço de acesso aos componentes.
- Se estiver a usar um registo privado, o segredo contém as credenciais para o seu registo privado e não a chave da conta de serviço de acesso aos componentes.private-registry-creds
 - Connect-register - Cluster - Secreto - Espaço de nomes - Administrador - admin-cluster-creds - kube-system - Administrador - user-cluster-creds - CLUSTER_NAME-gke-onprem-mgmt - Registo e monitorização - Cluster - Secreto - Espaço de nomes - Administrador - admin-cluster-creds - kube-system - Administrador - user-cluster-creds - CLUSTER_NAME-gke-onprem-mgmt - Utilizador - google-cloud-credentials - kube-system - Utilizador - stackdriver-service-account-key - knative-serving - Registo de auditoria - Cluster - Secreto - Espaço de nomes - Administrador - admin-cluster-creds - kube-system - Administrador - user-cluster-creds - CLUSTER_NAME-gke-onprem-mgmt - Administrador - kube-apiserver - CLUSTER_NAME - Stackdriver - Cluster - Secreto - Espaço de nomes - Administrador - admin-cluster-creds - kube-system - Administrador - user-cluster-creds - CLUSTER_NAME-gke-onprem-mgmt - Utilizador - google-cloud-credentials - kube-system - Utilizador - stackdriver-service-account-key - knative-serving 
- Se não estiver a usar um
registo privado,
o 
- Crie uma cópia de segurança de cada segredo com o seguinte comando: - kubectl get secret SECRET --namespace NAMESPACE \ --kubeconfig KUBECONFIG -o json > backup/SECRET-NAMESPACE.json- Substitua o seguinte: - NAMESPACE: o espaço de nomes onde o segredo está localizado. Por exemplo,- kube-system.
- KUBECONFIG: o caminho para o ficheiro kubeconfig do cluster de administrador ou de utilizador.
- SECRET: o nome do segredo. Por exemplo,- admin-cluster-creds.
 - Por exemplo, execute os seguintes comandos para a conta do serviço de registo de auditoria: - kubectl get secret admin-cluster-creds --namespace kube-system \ --kubeconfig KUBECONFIG -o json > backup/admin-cluster-creds-kube-system.json kubectl get secret user-cluster-creds --namespace NAMESPACE \ --kubeconfig KUBECONFIG -o json > backup/user-cluster-creds-NAMESPACE.json kubectl get secret kube-apiserver --namespace NAMESPACE \ --kubeconfig KUBECONFIG -o json > backup/kube-apiserver-NAMESPACE.json
- Para criar um novo ficheiro de chave de conta de serviço, execute o seguinte comando: - gcloud iam service-accounts keys create NEW_KEY_FILE --iam-account IAM_ACCOUNT - Substitua o seguinte: - NEW_KEY_FILE: o nome do novo ficheiro de chave da conta de serviço
- IAM_ACCOUNT: o endereço de email da conta de serviço
 
- No ficheiro de configuração do cluster de administrador, encontre o campo - componentAccessServiceAccountKeyPath, a secção- gkeConnect, a secção- stackdrivere a secção- cloudAuditLogging. Nesses locais, substitua os caminhos para os ficheiros de chaves de contas de serviço.
- No ficheiro de configuração do cluster de utilizadores, encontre o campo - componentAccessServiceAccountKeyPath, a secção- gkeConnect, a secção- stackdrivere a secção- cloudAudigLogging. Nesses locais, substitua os caminhos para os ficheiros de chaves da conta de serviço.
- Guarde as alterações que fez executando os seguintes comandos: - Pode rodar as chaves de um componente de cada vez ou rodar todas as chaves em simultâneo definindo o componente como - sakeys.- gkectl update credentials COMPONENT \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --config ADMIN_CLUSTER_CONFIG \ --admin-cluster gkectl update credentials COMPONENT \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --config USER_CLUSTER_CONFIG- Substitua o seguinte: - COMPONENT: um dos seguintes:- componentaccess
- register
- cloudauditlogging
- stackdriver
- sakeys(roda todas as chaves de componentes)
 
- ADMIN_CLUSTER_KUBECONFIG: o caminho para o ficheiro kubeconfig do cluster de administrador.
- ADMIN_CLUSTER_CONFIG: o caminho para o ficheiro de configuração do cluster de administrador.
- USER_CLUSTER_CONFIG: o caminho para o ficheiro de configuração do cluster do utilizador.
 
Recriação do nó
Algumas rotações de chaves de contas de serviço podem demorar mais tempo porque é necessária a recriação do nó:
| Conta de serviço | É necessária a recriação de nós | 
|---|---|
| Acesso a componentes | Se usar o Artifact Registry: sim Se usar um registo privado: não | 
| Registo de auditoria | Cluster de administrador: sim, mas apenas nós do plano de controlo Cluster de utilizador com kubeception: não Cluster de utilizador com Controlplane V2: sim, mas apenas nós do plano de controlo | 
| Registo-monitorização | Não | 
| Connect-register | Não | 
Para uma rotação de chaves que requer a recriação de nós, os nós são substituídos num processo de atualização contínua, ou seja, os nós são recriados um a um.
O possível tempo de inatividade durante uma rotação de chaves é semelhante ao tempo de inatividade de uma atualização do cluster. Para ver detalhes, consulte o artigo Tempo de inatividade durante as atualizações.
Restaurar cópias de segurança
Se precisar de restaurar as cópias de segurança dos segredos que criou anteriormente, execute o seguinte comando:
kubectl apply -f backup/
Diferenças avançadas de clusters para a rotação de chaves de contas de serviço
O comando gkectl update credentials só é parcialmente suportado para clusters avançados. A tabela seguinte apresenta as variações de comandos suportadas e não suportadas:
| Comando | Descrição | Apoio técnico | 
|---|---|---|
| gkectl update credentials certificate-authorities rotate | Rode as autoridades de certificação. | Suportado | 
| gkectl update credentials certificate-authorities status | (Pré-visualização) Veja o estado de rotação das autoridades de certificação. | Suportado | 
| gkectl update credentials certificate-authorities update-kubeconfig | Transfira um ficheiro kubeconfig com o certificado de cliente mais recente. | Suportado | 
| gkectl update credentials cloudauditlogging | Atualize as credenciais dos registos de auditoria do Cloud. | Não suportado | 
| gkectl update credentials componentaccess | Atualize as credenciais da chave da conta de serviço de acesso aos componentes para os clusters criados com o Google Distributed Cloud para VMware. | Suportado | 
| gkectl update credentials f5bigip | Atualize as credenciais do balanceador de carga F5 BIG-IP. | Não necessário | 
| gkectl update credentials ksa-signing-key rotate | Alterne a chave de assinatura do token da conta de serviço do Kubernetes (KSA). | Não suportado | 
| gkectl update credentials ksa-signing-key status | Veja o estado de uma rotação de chaves de assinatura de tokens da KSA em curso. | Não suportado | 
| gkectl update credentials | Atualize as credenciais do cluster. | Suportado | 
| gkectl update credentials privateregistry | Atualize as credenciais do registo privado para um cluster. | Suportado | 
| gkectl update credentials register | Atualize as credenciais da chave da conta de serviço de registo. | Suportado | 
| gkectl update credentials sakeys | Atualize as credenciais das chaves de contas de serviço para um cluster. | Suportado | 
| gkectl update credentials stackdriver | (Pré-visualização) Atualize as credenciais da observabilidade do Google Cloud. | Suportado | 
| gkectl update credentials vsphere | Atualize as credenciais do vSphere para um cluster. | Suportado | 
Para uma lista abrangente das funcionalidades e capacidades do Google Distributed Cloud para VMware que são ou não suportadas para clusters avançados, consulte o artigo Diferenças ao executar clusters avançados.