Este documento fornece instruções de resolução de problemas para a configuração ao nível da frota do GKE Identity Service.
Resolva problemas de configuração ao nível da frota
Para resolver problemas que possam ocorrer durante a configuração da sua frota, siga estas instruções:
1. Valide se o serviço de identidade do GKE está ativado
Para validar se o GKE Identity Service está ativado para o seu projeto, execute o seguinte comando:
$ gcloud container fleet identity-service describe
Se não vir erros, o GKE Identity Service está ativado e pode continuar para a instrução seguinte.
Erro:
Identity Service Feature for project <your-project-id> is not enabled
Se vir este erro, indica que o GKE Identity Service não foi ativado corretamente para a sua frota quando configurou a funcionalidade.
Solução: Para garantir que a funcionalidade está ativada para o seu projeto, consulte as instruções em Configure clusters for GKE Identity Service.
2. Veja o estado do serviço de identidade do GKE
Para ver o estado atual do GKE Identity Service, execute o seguinte comando:
$ gcloud container fleet identity-service describe
O resultado deste comando tem as seguintes duas secções:
membershipSpecs
contém a configuração do fornecedor de identidade que especificou para cada cluster registado na frota. O GKE Identity Service é configurado em cada cluster através destas configurações.membershipStates
mostra o estado atual do GKE Identity Service em cada cluster, incluindo a configuração do fornecedor de identidade relevante e quaisquer erros que possam ter ocorrido durante a configuração.
Para resolver problemas num cluster, em membershipStates
, pesquise o cluster e procure os seguintes campos:
- Campo
state
:membershipStates -> <cluster-identifier> -> identityservice -> state
- Campo
failureReason
:membershipStates -> <cluster-identifier> -> identityservice -> failureReason
.
Exemplo
Se tiver dois clusters helloworld
e foobar
registados na frota,
o resultado tem a seguinte estrutura:
Identity Service Feature:
createTime: '222-11-10T23:05:6.146566392Z'
membershipSpecs:
projects/<your-project-number>/locations/<location>/memberships/helloworld:
identityservice:
authMethods:
- name: oidc
oidcConfig:
clientId: id
issuerUri: https://accounts.google.com
... other fields
projects/<your-project-number>/locations/<location>/memberships/foobar:
identityservice:
authMethods:
- name: oidc
oidcConfig:
clientId: id
issuerUri: https://accounts.google.com
... other fields
membershipStates:
projects/<your-project-number>/location/<location>/memberships/helloworld:
identityservice:
failureReason: AIS feature does not support this cluster type
memberConfig:
authMethods:
- name: oidc
oidcConfig:
clientId: id
issuerUri: https://accounts.google.com
... other fields
state: ERROR
state:
code: OK
updateTime: '2022-11-11T20:39:59.556176650Z'
projects/<your-project-number>/location/<location>/memberships/foobar:
identityservice:
memberConfig:
authMethods:
- name: oidc
oidcConfig:
clientId: id
issuerUri: https://accounts.google.com
... other fields
state: OK
state:
code: OK
updateTime: '2022-11-11T20:39:59.556176650Z'
name: projects/<project-number>/locations/global/features/identityservice
updateTime: '2022-11-11T20:40:31.859321901Z'
3. Valide o estado do cluster
Para validar o estado do serviço de identidade do GKE num cluster, verifique o seguinte:
O valor de
state
éOK
: isto indica que não ocorreu nenhum erro ao configurar o serviço de identidade do GKE no cluster com a configuração especificada emmembershipSpecs
.Se a configuração do cluster para o qual está a resolver problemas (por exemplo,
helloworld
) for diferente emmembershipSpecs
emembershipStates
, é provável que tenha atualizado a configuração do cluster. Aguarde alguns minutos para que o GKE Identity Service propague as alterações para o cluster e verifique novamente o estado.Se a configuração do cluster para o qual está a resolver problemas (por exemplo,
helloworld
) for a mesma emmembershipSpecs
emembershipStates
, significa que o GKE Identity Service foi configurado corretamente.O campo
state
éERROR
: isto indica que ocorreram erros ao configurar o serviço de identidade do GKE no cluster com a configuração especificada emmembershipSpecs
.Para resolver o problema, consulte o artigo Resolva problemas comuns. Depois de seguir os passos de resolução de problemas necessários, aguarde alguns minutos e, em seguida, verifique novamente o estado.
Resolva problemas comuns
API GKE Identity Service não ativada
Este problema ocorre quando a API GKE Identity Service não está ativada.
Mensagem de erro
anthosidentityservice.googleapis.com is not enabled
Solução
Para ativar a API, execute o seguinte comando:
$ gcloud services enable anthosidentityservice.googleapis.com
Tipo de cluster não suportado
Este problema ocorre quando usa um tipo de cluster não suportado.
Mensagem de erro
GKE Identity Service feature does not support this cluster type
Solução
Para obter informações sobre os tipos de clusters suportados, consulte os tipos de clusters ou contacte o apoio técnico do Google Cloud para pedidos de novos tipos de clusters .
Foram encontrados protocolos não suportados na configuração
Este problema ocorre quando a configuração de identidade que aplicou ao seu cluster contém protocolos não suportados.
Mensagem de erro
unsupported protocol found in configuration, aborting reconciliation.
Solução
A configuração ao nível da frota para o serviço de identidade do GKE suporta o seguinte:
Atualize a configuração no cluster para que contenha apenas os protocolos suportados acima. Para editar a configuração, execute o seguinte comando:
kubectl --kubeconfig CLUSTER_KUBECONFIG -n kube-public edit clientconfig default
Substitua CLUSTER_KUBECONFIG
pelo caminho para o ficheiro kubeconfig do cluster. Se existirem vários contextos no kubeconfig, é usado o contexto atual. Pode ter de repor o contexto atual para o cluster correto antes de executar o comando.
O cluster não tem uma configuração de identidade
Este problema ocorre quando não existe nenhuma configuração aplicada ao seu cluster.
Mensagem de erro
Authentication configuration is not present for this membership
Solução
Aplique uma configuração de identidade ao cluster seguindo as instruções em Configurar clusters.
Autorização de IAM de administrador do GKE Hub em falta
Este problema ocorre quando não tem a função gkehub.admin
no projeto que está a usar.
Mensagens de erro
PERMISSION_DENIED: Permission 'gkehub.memberships.list' denied on '`projects//locations/ /memberships`'
PERMISSION_DENIED: Permission 'gkehub.features.get' denied on '`projects//locations/global/features/identityservice`'
PERMISSION_DENIED: Permission 'gkehub.features.delete' denied on '`projects//locations/global/features/identityservice`'
PERMISSION_DENIED: Permission 'gkehub.features.create' denied on '`projects//locations/global/features/identityservice`'
Solução
Um proprietário do projeto com o ID project_id
tem de executar o seguinte comando:
gcloud projects add-iam-policy-binding project_id --member=user:USER_ID --role=roles/gkehub.admin
Substitua USER_ID
pela sua Conta Google.
Fornecedores de identidade não únicos presentes numa configuração de identidade
Este problema ocorre quando a configuração do serviço de identidade do GKE para um cluster tem o mesmo valor name
para vários fornecedores de identidade.
Mensagem de erro
Configuration contains multiple identity providers with the same name
Solução
Mude o nome ou remova entradas duplicadas da sua configuração.
Vários fornecedores do tipo google
presentes numa configuração de identidade
Este problema ocorre quando o ClientConfig está configurado com várias configurações do tipo google
.
Mensagem de erro
configuration contains multiple identity providers of type 'google'
Solução
A secção spec/authentication
da configuração pode conter, no máximo, uma configuração do tipo google
.
Atualize a configuração no cluster para que não tenha mais do que uma configuração do tipo google
. Para editar a configuração, execute o seguinte comando:
kubectl --kubeconfig CLUSTER_KUBECONFIG -n kube-public edit clientconfig default
Substitua CLUSTER_KUBECONFIG
pelo caminho para o ficheiro kubeconfig do cluster. Se existirem vários contextos no kubeconfig, é usado o contexto atual. Pode ter de repor o contexto atual para o cluster correto antes de executar o comando.
Erro ao obter a definição de recurso personalizado do ClientConfig
Este problema ocorre quando existe um erro ao obter a definição de recursos personalizados do ClientConfig do cluster.
Mensagem de erro
error fetching the ClientConfig's Custom Resource Definition: ERROR_REASON
Solução
Use os detalhes apresentados em ERROR_REASON
para resolver este problema.
Erro ao atualizar o ClientConfig do serviço de identidade do GKE
Este problema ocorre quando existe um erro na atualização do ClientConfig no cluster.
Mensagem de erro
Error updating AIS ClientConfig: ERROR_REASON
Solução
Use os detalhes apresentados em ERROR_REASON>
para resolver este problema.
ClientConfig não presente no cluster
Este problema ocorre quando o ClientConfig, que deve ser criado quando instala o GKE Identity Service, não está presente no cluster. Uma ClientConfig em falta indica que o serviço de identidade do GKE não foi instalado corretamente no cluster.
Mensagem de erro
ClientConfig CR not present, expected to be created when AIS was installed
Solução
Os recursos do serviço de identidade do GKE no cluster podem ter sido eliminados acidentalmente. Pode tentar criar um novo cluster. Se vir o mesmo erro no novo cluster, contacte o administrador do cluster ou o Apoio técnico do Google Cloud.
O pod do serviço de identidade do GKE não foi iniciado
Este problema ocorre quando o pod do serviço de identidade do GKE está num estado pending
.
Mensagem de erro
GKE Identity Service pod is not running (pending)
Solução
Este problema deve resolver-se automaticamente em alguns minutos, após os quais o pod do serviço de identidade do GKE muda para o estado running
.