Risoluzione dei problemi di configurazione a livello di parco risorse

Questo documento fornisce istruzioni per la risoluzione dei problemi relativi alla 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. Verifica se GKE Identity Service è abilitato

Per verificare se GKE Identity Service è abilitato per il tuo progetto, esegui questo comando:

$ gcloud container fleet identity-service describe

Se non vengono visualizzati errori, GKE Identity Service è abilitato e puoi continuare con l'istruzione successiva.

Errore: Identity Service Feature for project <your-project-id> is not enabled

Se viene visualizzato questo errore, significa che GKE Identity Service non è stato abilitato correttamente per il tuo parco risorse durante la configurazione della funzionalità.

Soluzione:per assicurarti che la funzionalità sia abilitata per il tuo progetto, consulta le istruzioni in Configurare i cluster per GKE Identity Service.

2. Visualizza lo stato del servizio GKE Identity

Per visualizzare lo stato attuale di GKE Identity Service, esegui questo comando:

$ gcloud container fleet identity-service describe

L'output di questo comando contiene le due sezioni seguenti:

  • membershipSpecs contiene la configurazione del provider di identità che hai 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 ogni cluster, inclusa la configurazione del provider di identità pertinente e gli 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 di GKE Identity Service nel cluster con la configurazione specificata in membershipSpecs.

    Se la configurazione per il cluster di cui stai risolvendo i problemi (ad esempio helloworld) è diversa in membershipSpecs e membershipStates, è probabile che tu abbia aggiornato la configurazione per il cluster. Attendi qualche minuto per la propagazione delle modifiche al cluster GKE Identity Service, quindi controlla di nuovo lo stato.

    Se la configurazione per il cluster di cui stai risolvendo i problemi (ad esempio helloworld) è la stessa in membershipSpecs e membershipStates, allora GKE Identity Service è stato configurato correttamente.

  • Il campo state è ERROR: indica che si sono verificati errori durante la configurazione di GKE Identity Service sul cluster con la configurazione specificata in membershipSpecs.

    Per risolvere il problema, vedi Risolvere i problemi più comuni. Dopo aver eseguito la procedura di risoluzione dei problemi necessaria, attendi qualche minuto, quindi controlla di nuovo 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 la pagina sui tipi di cluster o contatta l'assistenza Google Cloud per nuove richieste di tipi di cluster .

Protocolli non supportati trovati nella configurazione

Questo problema si verifica quando la configurazione delle identità che hai applicato 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 del cluster. Se in kubeconfig sono presenti più contesti, viene utilizzato quello corrente. Potrebbe essere necessario reimpostare il contesto attuale sul cluster corretto prima di eseguire il comando.

Il cluster non ha una configurazione delle identità

Questo problema si verifica se 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 in Configurare i cluster.

Autorizzazione IAM amministratore GKE Hub mancante

Questo problema si verifica quando non disponi del ruolo gkehub.admin nel progetto in uso.

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 il seguente 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 delle identità

Questo problema si verifica quando la configurazione del servizio di identità GKE 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 delle 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 presenti 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 del cluster. Se in kubeconfig sono presenti più contesti, viene utilizzato quello corrente. Potrebbe essere necessario reimpostare il contesto attuale sul cluster corretto prima di eseguire il comando.

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:

Usa i dettagli visualizzati in ERROR_REASON per risolvere il problema.

Errore durante l'aggiornamento di GKE Identity Service ClientConfig

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:

Usa i dettagli visualizzati in ERROR_REASON> per risolvere il problema.

ClientConfig non presente nel cluster

Questo problema si verifica quando nel cluster non è presente ClientConfig, che deve essere creato durante l'installazione di GKE Identity Service. Un ClientConfig mancante indica che GKE Identity Service non è stato installato correttamente sul cluster.

Messaggio di errore

ClientConfig CR not present, expected to be created when AIS was installed

Soluzione:

Le risorse GKE Identity Service sul 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 di Google Cloud.

Pod GKE Identity Service non avviato

Questo problema si verifica quando il pod GKE Identity Service è in stato pending.

Messaggio di errore

GKE Identity Service pod is not running (pending)

Soluzione:

Questo problema dovrebbe risolversi automaticamente entro pochi minuti, dopodiché il pod GKE Identity Service passerà allo stato running.