Risoluzione dei problemi di configurazione a livello di parco risorse
Questo documento fornisce istruzioni per la risoluzione dei problemi per la configurazione a livello di parco risorse di GKE Identity Service.
Risolvere i problemi di configurazione a livello di parco risorse
Per risolvere i problemi che potrebbero verificarsi durante la configurazione del parco risorse, segui queste istruzioni:
1. Verificare se GKE Identity Service è abilitato
Per verificare se Identity Service for GKE è abilitato per il tuo progetto, esegui il seguente comando:
$ gcloud container fleet identity-service describe
Se non vengono visualizzati errori, il servizio GKE Identity è abilitato e puoi passare all'istruzione successiva.
Errore:
Identity Service Feature for project <your-project-id> is not enabled
Se viene visualizzato questo errore, indica che il servizio di identità GKE non è stato abilitato correttamente per il tuo parco risorse durante la configurazione della funzionalità.
Soluzione: per assicurarti che la funzionalità sia attivata per il tuo progetto, consulta le istruzioni in Configurare i cluster per GKE Identity Service.
2. Visualizza lo stato di GKE Identity Service
Per visualizzare lo stato attuale del servizio di identità GKE, esegui questo comando:
$ gcloud container fleet identity-service describe
L'output di questo comando include le seguenti due sezioni:
membershipSpecs
contiene la configurazione del provider di identità che hai già specificato per ogni cluster registrato nel parco risorse. GKE Identity Service viene configurato su ogni cluster utilizzando queste configurazioni.membershipStates
mostra lo stato attuale di GKE Identity Service in per ogni cluster, inclusa la configurazione del provider di identità pertinente ed eventuali errori che potrebbero essersi verificati durante la configurazione.
Per risolvere i problemi in un cluster, in membershipStates
, cerca il cluster e cerca i seguenti campi:
- Campo
state
:membershipStates -> <cluster-identifier> -> identityservice -> state
- Campo
failureReason
:membershipStates -> <cluster-identifier> -> identityservice -> failureReason
.
Esempio
Se hai due cluster helloworld
e foobar
registrati nel parco risorse,
l'output avrà la seguente struttura:
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. Verifica lo stato del cluster
Per verificare lo stato di GKE Identity Service in un cluster, controlla quanto segue:
Il valore di
state
èOK
: indica che non si è verificato alcun errore durante la configurazione del servizio di identità GKE sul cluster con la configurazione specificata inmembershipSpecs
.Se la configurazione del cluster di cui stai risolvendo il problema (ad esempio
helloworld
) è diversa inmembershipSpecs
emembershipStates
, è probabile che tu abbia aggiornato la configurazione del cluster. Attendi alcuni minuti affinché GKE Identity Service propaghi le modifiche al cluster, quindi verifica lo stato di nuovo.Se la configurazione del cluster di cui stai eseguendo la risoluzione dei problemi (ad esempio,
helloworld
) è la stessa inmembershipSpecs
emembershipStates
, significa che il servizio di identità GKE è stato configurato correttamente.Il campo
state
èERROR
: indica che si sono verificati errori durante la configurazione di GKE Identity Service nel cluster con la configurazione specificata inmembershipSpecs
.Per risolvere il problema, vedi Risolvere i problemi comuni. Dopo aver eseguito la procedura di risoluzione dei problemi necessaria, attendi qualche minuto e poi controlla nuovamente lo stato.
Risolvere i problemi comuni
API GKE Identity Service non abilitata
Questo problema si verifica quando l'API GKE Identity Service non è abilitata.
Messaggio di errore
anthosidentityservice.googleapis.com is not enabled
Soluzione:
Per abilitare l'API, esegui questo comando:
$ gcloud services enable anthosidentityservice.googleapis.com
Tipo di cluster non supportato
Questo problema si verifica quando utilizzi un tipo di cluster non supportato.
Messaggio di errore
GKE Identity Service feature does not support this cluster type
Soluzione:
Per informazioni sui tipi di cluster supportati, consulta Tipi di cluster o contatta l'assistenza Google Cloud per le nuove richieste di tipi di cluster .
Protocolli non supportati trovati nella configurazione
Questo problema si verifica quando la configurazione dell'identità applicata al cluster contiene protocolli non supportati.
Messaggio di errore
unsupported protocol found in configuration, aborting reconciliation.
Soluzione:
La configurazione a livello di parco risorse per GKE Identity Service supporta quanto segue:
Aggiorna la configurazione sul cluster in modo che contenga solo i protocolli supportati sopra indicati. Per modificare la configurazione, esegui questo comando:
kubectl --kubeconfig CLUSTER_KUBECONFIG -n kube-public edit clientconfig default
Sostituisci CLUSTER_KUBECONFIG
con il percorso del file kubeconfig per il cluster. Se in kubeconfig sono presenti più contesti, viene utilizzato il contesto corrente. Potresti dover reimpostare il contesto attuale nel cluster corretto prima di eseguire il comando.
Il cluster non ha una configurazione dell'identità
Questo problema si verifica quando non viene applicata alcuna configurazione al cluster.
Messaggio di errore
Authentication configuration is not present for this membership
Soluzione:
Applica una configurazione delle identità al cluster seguendo le istruzioni riportate in Configurare i cluster.
Autorizzazione IAM di amministratore GKE Hub mancante
Questo problema si verifica quando non disponi del ruolo gkehub.admin
nel progetto che stai utilizzando.
Messaggi di errore
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`'
Soluzione:
Un proprietario del progetto con ID project_id
deve eseguire questo comando:
gcloud projects add-iam-policy-binding project_id --member=user:USER_ID --role=roles/gkehub.admin
Sostituisci USER_ID
con il tuo Account Google.
Provider di identità non univoci presenti in una configurazione di identità
Questo problema si verifica quando la configurazione di GKE Identity Service per un cluster
ha lo stesso valore name
per più provider di identità.
Messaggio di errore
Configuration contains multiple identity providers with the same name
Soluzione:
Rinomina o rimuovi le voci duplicate dalla configurazione.
Più provider di tipo google
presenti in una configurazione dell'identità
Questo problema si verifica quando ClientConfig è configurato con più configurazioni di tipo google
.
Messaggio di errore
configuration contains multiple identity providers of type 'google'
Soluzione:
La sezione spec/authentication
della configurazione può contenere al massimo una configurazione di tipo google
.
Aggiorna la configurazione sul cluster in modo che non abbia più di una configurazione di tipo google
. Per modificare la configurazione, esegui questo comando:
kubectl --kubeconfig CLUSTER_KUBECONFIG -n kube-public edit clientconfig default
Sostituisci CLUSTER_KUBECONFIG
con il percorso del file kubeconfig per il cluster. Se sono presenti più contesti in kubeconfig, viene utilizzato quello attuale. Prima di eseguire il comando, potrebbe essere necessario reimpostare il contesto corrente sul cluster corretto.
Errore durante il recupero della definizione della risorsa personalizzata di ClientConfig
Questo problema si verifica quando si verifica un errore durante il recupero della definizione della risorsa personalizzata di ClientConfig dal cluster.
Messaggio di errore
error fetching the ClientConfig's Custom Resource Definition: ERROR_REASON
Soluzione:
Utilizza i dettagli visualizzati in ERROR_REASON
per risolvere il problema.
Errore durante l'aggiornamento di ClientConfig di GKE Identity Service
Questo problema si verifica quando si verifica un errore durante l'aggiornamento di ClientConfig nel cluster.
Messaggio di errore
Error updating AIS ClientConfig: ERROR_REASON
Soluzione:
Utilizza i dettagli visualizzati in ERROR_REASON>
per risolvere il problema.
ClientConfig non presente nel cluster
Questo problema si verifica quando ClientConfig, che deve essere creato durante l'installazione di GKE Identity Service, non è presente nel cluster. Un ClientConfig mancante indica che il servizio GKE Identity non è stato installato correttamente nel cluster.
Messaggio di errore
ClientConfig CR not present, expected to be created when AIS was installed
Soluzione:
Le risorse di GKE Identity Service nel cluster potrebbero essere state eliminate per errore. Puoi provare a creare un nuovo cluster. Se visualizzi lo stesso errore nel nuovo cluster, contatta l'amministratore del cluster o l'assistenza Google Cloud.
Pod GKE Identity Service non avviato
Questo problema si verifica quando il pod del servizio di identità GKE è in stato pending
.
Messaggio di errore
GKE Identity Service pod is not running (pending)
Soluzione:
Questo problema dovrebbe risolversi automaticamente in pochi minuti, dopodiché il pod GKE Identity Service passa allo stato running
.