Solução de problemas de configuração no nível da frota
Neste documento, fornecemos instruções de solução de problemas para a configuração no nível da frota do GKE Identity Service.
Resolver problemas de configuração no nível da frota
Para resolver problemas que podem ocorrer durante a configuração dos dispositivos, siga estas instruções:
1. Validar se o GKE Identity Service está ativado
Para validar se o GKE Identity Service está ativado para seu projeto, execute o seguinte comando:
$ gcloud container fleet identity-service describe
Se você não vir nenhum erro, o GKE Identity Service está ativado e é possível prosseguir para a próxima instrução.
Erro:
Identity Service Feature for project <your-project-id> is not enabled
Esse erro indica que o GKE Identity Service não foi ativado corretamente para sua frota ao configurar o recurso.
Solução: para garantir que o recurso esteja ativado para seu projeto, consulte as instruções em Configurar clusters para o GKE Identity Service.
2. Ver o status do GKE Identity Service
Para ver o status atual do GKE Identity Service, execute o seguinte comando:
$ gcloud container fleet identity-service describe
A saída desse comando tem as duas seções a seguir:
membershipSpecs
contém a configuração do provedor de identidade que você especificou para cada cluster registrado na frota. O GKE Identity Service é configurado em cada cluster usando essas configurações.membershipStates
mostra o estado atual do GKE Identity Service em cada cluster, incluindo a configuração do provedor de identidade relevante e todos os erros que podem ter ocorrido durante a configuração.
Para resolver problemas em um cluster, em membershipStates
, procure o cluster e procure os seguintes campos:
state
campo:membershipStates -> <cluster-identifier> -> identityservice -> state
failureReason
campo:membershipStates -> <cluster-identifier> -> identityservice -> failureReason
.
Exemplo
Se você tiver dois clusters, helloworld
e foobar
, registrados na frota,
a saída terá 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. Verificar o estado do cluster
Para verificar o estado do GKE Identity Service em um cluster, verifique o seguinte:
O valor
state
éOK
: indica que não ocorreu nenhum erro ao configurar o GKE Identity Service no cluster com a configuração especificada emmembershipSpecs
.Se a configuração do cluster que você está resolvendo (por exemplo:
helloworld
) for diferente emmembershipSpecs
emembershipStates
, é muito provável que você tenha atualizado a configuração do cluster. Aguarde alguns minutos para que o GKE Identity Service propague as alterações no cluster e verifique o status novamente.Se a configuração do cluster que você estiver solucionando (por exemplo,
helloworld
) for a mesma emmembershipSpecs
emembershipStates
, o GKE Identity Service foi configurado corretamente.O campo
state
éERROR
: indica que houve erros ao configurar o GKE Identity Service no cluster com a configuração especificada emmembershipSpecs
.Para resolver o problema, consulte Solução de problemas comuns. Depois de seguir as etapas de solução de problemas necessárias, aguarde alguns minutos e verifique o status novamente.
Resolver problemas comuns
API GKE Identity Service não está ativada
Esse problema ocorre quando a API GKE Identity Service não está ativada.
Mensagem de erro
anthosidentityservice.googleapis.com is not enabled
Solução
Para fazer isso, execute este comando:
$ gcloud services enable anthosidentityservice.googleapis.com
Tipo de cluster incompatível
Esse problema ocorre quando você usa um tipo de cluster que não é compatível.
Mensagem de erro
GKE Identity Service feature does not support this cluster type
Solução
Para informações sobre os tipos de clusters compatíveis, consulte Tipos de clusters ou entre em contato com o suporte do Google Cloud para novas solicitações de tipos de clusters .
Protocolos incompatíveis encontrados na configuração
Esse problema ocorre quando a configuração de identidade que você aplicou ao cluster contém protocolos incompatíveis.
Mensagem de erro
unsupported protocol found in configuration, aborting reconciliation.
Solução
A configuração no nível da frota para o GKE Identity Service é compatível com o seguinte:
Atualize a configuração no cluster para que ele contenha apenas os protocolos compatíveis 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 arquivo kubeconfig do cluster. Se houver vários contextos no kubeconfig, o contexto atual será usado. Talvez seja necessário redefinir o contexto atual para o cluster correto antes de executar o comando.
O cluster não tem uma configuração de identidade
Esse problema ocorre quando não há configuração aplicada ao 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.
Permissão do IAM de administrador do GKE Hub ausente
Esse problema ocorre quando você não tem o papel gkehub.admin
no projeto que está usando.
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
precisa 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 do Google.
Provedores de identidade não exclusivos presentes em uma configuração de identidade
Esse problema ocorre quando a configuração do GKE Identity Service para este cluster
tem o mesmo valor name
para vários provedores de identidade.
Mensagem de erro
Configuration contains multiple identity providers with the same name
Solução
Renomeie ou remova entradas duplicadas da configuração.
Vários provedores do tipo google
estão presentes em uma configuração de identidade.
Esse 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 seçã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 ela não tenha mais de 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 arquivo kubeconfig do cluster. Se houver vários contextos no kubeconfig, o contexto atual será usado. Talvez seja necessário redefinir o contexto atual para o cluster correto antes de executar o comando.
Erro ao buscar a definição de recurso personalizada do ClientConfig
Esse problema ocorre quando há um erro ao buscar a definição de recurso personalizada do ClientConfig no cluster.
Mensagem de erro
error fetching the ClientConfig's Custom Resource Definition: ERROR_REASON
Solução
Use os detalhes exibidos no ERROR_REASON
para resolver esse problema.
Erro ao atualizar o ClientConfig do GKE Identity Service
Esse problema ocorre quando há um erro na atualização do ClientConfig no cluster.
Mensagem de erro
Error updating AIS ClientConfig: ERROR_REASON
Solução
Use os detalhes exibidos no ERROR_REASON>
para resolver esse problema.
ClientConfig ausente no cluster
Esse problema ocorre quando o ClientConfig, que precisa ser criado durante a instalação do GKE Identity Service, não está presente no cluster. Um ClientConfig ausente indica que o GKE Identity Service 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 GKE Identity Service no cluster podem ter sido excluídos acidentalmente. Tente criar um novo cluster. Se você vir o mesmo erro no novo cluster, entre em contato com o administrador do cluster ou com o suporte do Google Cloud.
Pod do GKE Identity Service não iniciado
Esse problema ocorre quando o pod do GKE Identity Service está no estado pending
.
Mensagem de erro
GKE Identity Service pod is not running (pending)
Solução
Esse problema será resolvido automaticamente em alguns minutos. Depois disso, o pod
do GKE Identity Service mudará para o estado running
.