Gestire le funzionalità a livello di parco risorse

I parchi risorse ti consentono di gestire le funzionalità di livello enterprise e altre funzionalità abilitate per il parco risorse su più cluster contemporaneamente. In questo modo, ad esempio, puoi applicare un insieme comune di criteri o creare un mesh di servizi singolo in tutti i cluster del parco risorse. Questa pagina fornisce una panoramica su come gestire le funzionalità per il tuo parco risorse. Per ulteriori informazioni sulla configurazione e sull'utilizzo delle singole funzionalità, consulta la relativa documentazione.

Se hai abilitato Google Kubernetes Engine, puoi gestire le funzionalità nella Google Cloud console. Tutti gli utenti del parco risorse possono gestire le funzionalità utilizzando la riga di comando.

Alcune funzionalità consentono di creare una configurazione predefinita delle funzionalità a livello di parco risorse per i cluster del parco risorse. Ad esempio, puoi assicurarti che Policy Controller sia installato e configurato in ogni cluster creato nel parco risorse.

Puoi scoprire di più su come funziona "sotto il cofano" la gestione delle funzionalità a livello di parco risorse nei cluster nella sezione Autorizzazione delle funzionalità.

Funzionalità a livello di parco risorse

Puoi gestire le seguenti funzionalità a livello di parco risorse:

Questo elenco non include tutte le funzionalità che utilizzano o richiedono i parchi risorse. Ad esempio, la federazione delle identità per i workload del parco risorse si basa sul fatto che i cluster siano membri di un parco risorse, ma non richiede la configurazione a livello di parco risorse, mentre Cloud Service Mesh richiede l'appartenenza al parco risorse per tutte le opzioni di control plane e configurazione.

Puoi scoprire di più sulle funzionalità disponibili in quali ambienti nella pagina Opzioni di deployment.

Configurare le funzionalità a livello di parco risorse

Le sezioni seguenti descrivono come abilitare e configurare le funzionalità a livello di parco risorse.

Per utilizzare una funzionalità a livello di parco risorse, nella maggior parte dei casi devi abilitare la funzionalità per il parco risorse e configurarla per i membri del parco risorse. In genere è necessaria una configurazione (o un'altra configurazione aggiuntiva) per utilizzare effettivamente la funzionalità con i cluster e i carichi di lavoro.

Per alcune funzionalità puoi creare configurazioni dei cluster predefinite per il parco risorse, il che significa che tutti i nuovi cluster creati nel parco risorse verranno creati con le impostazioni specificate per la funzionalità già configurate.

Abilitare le funzionalità con impostazioni predefinite a livello di parco risorse

Per alcune funzionalità puoi creare impostazioni predefinite a livello di parco risorse per i cluster GKE. Dopo aver creato queste impostazioni, tutti i cluster GKE che registri durante la creazione del cluster vengono configurati automaticamente con le configurazioni a livello di parco risorse. Ad esempio, se configuri le impostazioni predefinite per Policy Controller, ogni nuovo cluster creato nel parco risorse avrà la versione specificata di Policy Controller installata, con i bundle di criteri e le altre impostazioni specificate. Le impostazioni predefinite del parco risorse non vengono applicate automaticamente ai cluster membri del parco risorse esistenti, anche se puoi sincronizzare i cluster esistenti con le impostazioni predefinite utilizzando la Google Cloud console.

La procedura generale per abilitare le funzionalità con impostazioni predefinite a livello di parco risorse è la seguente:

Console

  1. Nel progetto host del parco risorse, vai alla pagina Gestore funzionalità:

    Vai a Gestore funzionalità

    Le funzionalità che supportano la configurazione delle impostazioni predefinite a livello di parco risorse utilizzando la Google Cloud console sono elencate in Gestione delle funzionalità a livello di parco risorse.

  2. Per la funzionalità scelta, fai clic su Configura e segui le istruzioni per abilitare e configurare le impostazioni predefinite per la funzionalità.

  3. (Facoltativo) Seleziona e sincronizza i cluster esistenti nel parco risorse con le nuove impostazioni.

gcloud

  1. Crea un file YAML che specifichi le impostazioni predefinite del parco risorse scelte per la funzionalità.
  2. Esegui il comando enable per la funzionalità, passandogli il file di configurazione. Ogni funzionalità a livello di parco risorse ha il proprio comando enable. Ad esempio, per abilitare Cloud Service Mesh per il parco risorse con la configurazione predefinita specificata in mesh.yaml, esegui il comando seguente nel progetto host del parco risorse:

    gcloud container fleet mesh enable --fleet-default-member-config mesh.yaml
    

In alternativa, per alcune funzionalità puoi specificare le impostazioni predefinite del parco risorse utilizzando i parametri del comando fleet create o fleet update. Per ulteriori dettagli, consulta la guida relativa alla funzionalità scelta.

Terraform

Definisci una risorsa google_gke_hub_feature con un blocco fleet_default_member_config che specifichi le impostazioni predefinite del parco risorse scelte. Per dettagli e funzionalità del parco risorse supportate, consulta la documentazione di Terraform.

Non tutte le funzionalità supportano la configurazione predefinita del parco risorse utilizzando tutte queste opzioni. Per istruzioni dettagliate su come configurare le impostazioni predefinite del parco risorse per ogni funzionalità supportata, consulta la seguente documentazione:

Abilitare e configurare le funzionalità del parco risorse sui singoli cluster

In alternativa alla configurazione predefinita del parco risorse, puoi scegliere di configurare le funzionalità del parco risorse separatamente sui singoli cluster. Questa potrebbe essere una buona opzione se:

  • Vuoi configurare un cluster esistente per utilizzare una funzionalità.
  • Vuoi utilizzare servizi in cui la configurazione predefinita del parco risorse non è disponibile o non è disponibile utilizzando lo strumento scelto.

Abilitare le funzionalità

Tieni presente che questo passaggio non è obbligatorio per tutte le funzionalità. Per ulteriori dettagli, consulta la guida relativa alla funzionalità scelta.

Console

Puoi abilitare le funzionalità dalla pagina Gestore funzionalità nella Google Cloud console.

Per abilitare una funzionalità per il parco risorse:

  1. Nel progetto host del parco risorse, vai alla pagina Gestore funzionalità:

    Vai a Gestore funzionalità

    Le funzionalità che possono essere abilitate ma non configurate da questa pagina sono elencate in Gestisci altre funzionalità di livello enterprise.

  2. Fai clic su Abilita nel riquadro della funzionalità che vuoi abilitare.

  3. Fai clic sul pulsante Abilita... nel riquadro dei dettagli visualizzato.

gcloud

Ogni funzionalità a livello di parco risorse ha il proprio comando enable. Ad esempio, per abilitare GKE Identity Service per il parco risorse, esegui il comando seguente nel progetto host del parco risorse:

gcloud container fleet identity-service enable

Per un elenco completo dei comandi o per ulteriori dettagli, consulta la documentazione di riferimento di Google Cloud SDK (e i relativi equivalenti beta e alpha) o i singoli set di documentazione delle funzionalità.

Per scoprire come verificare se una funzionalità è già stata abilitata e visualizzare altri stati delle funzionalità, consulta Visualizzare lo stato delle funzionalità del parco risorse.

Configurare i singoli cluster

I passaggi di configurazione da seguire dipendono dalla funzionalità. Per ulteriori informazioni, consulta le seguenti guide:

Visualizzare lo stato delle funzionalità del parco risorse

Il modo più semplice per visualizzare lo stato delle funzionalità del parco risorse è utilizzare la dashboard Gestore funzionalità nella Google Cloud console.

Vai a Gestore funzionalità

Per le funzionalità supportate, questa pagina mostra quanti cluster del parco risorse hanno il seguente stato:

  • Questa funzionalità è abilitata
  • Questa funzionalità è stata abilitata correttamente
  • È presente un avviso per questa funzionalità
  • È presente un errore per questa funzionalità

Puoi anche vedere se sono state configurate le impostazioni predefinite del parco risorse per la funzionalità e quanti cluster membri del parco risorse hanno queste impostazioni. Per le funzionalità abilitate, puoi fare clic su una pagina dei dettagli che elenca i cluster che utilizzano la funzionalità e, se configurata, ti consente di selezionare e sincronizzare i cluster con le impostazioni predefinite del parco risorse.

Per le funzionalità che non possono essere configurate utilizzando questa pagina (elencate in Gestisci altre funzionalità di livello enterprise), puoi vedere se la funzionalità è stata abilitata per il parco risorse e visualizzare un riquadro dei dettagli che mostra quanti cluster hanno installato la funzionalità e altre informazioni pertinenti.

Visualizzare lo stato delle funzionalità utilizzando gcloud

gcloud

Esegui il comando seguente per elencare tutte le funzionalità abilitate:

gcloud container fleet features list

Disabilitare una funzionalità a livello di parco risorse

Per disabilitare una funzionalità a livello di parco risorse, esegui i passaggi seguenti nel progetto host del parco risorse.

Console

Dalla console è possibile disabilitare solo le funzionalità del parco risorse elencate in Gestisci altre funzionalità di livello enterprise. Google Cloud

  1. Nel progetto host del parco risorse, vai alla pagina Gestore funzionalità:

    Vai a Gestore funzionalità

  2. Fai clic su Dettagli nel riquadro della funzionalità che vuoi disabilitare.

  3. Fai clic sul pulsante Disabilita... nel riquadro dei dettagli visualizzato.

gcloud

Ogni funzionalità a livello di parco risorse ha il proprio comando disable. Ad esempio, per disabilitare Cloud Service Mesh per il parco risorse, esegui il comando seguente nel progetto host del parco risorse:

gcloud container fleet mesh disable

Per un elenco completo dei comandi o per ulteriori dettagli, consulta la documentazione di riferimento di Google Cloud SDK (e i relativi equivalenti beta e alpha) o i singoli set di documentazione delle funzionalità.

Per il comportamento previsto dopo aver disabilitato una funzionalità per il parco risorse, consulta la documentazione della funzionalità pertinente. In molti casi, la configurazione pertinente esiste ancora nel cluster, ma non puoi più gestire centralmente la funzionalità utilizzando i comandi del parco risorse o la console. Google Cloud

Autorizzazione delle funzionalità

Per gestire le funzionalità a livello di parco risorse, queste devono essere autorizzate tramite il controllo dell'accesso basato sui ruoli per eseguire le proprie funzioni sui cluster. Google Cloud utilizza un servizio chiamato Autorizzatore di funzionalità che imposta e aggiorna automaticamente le autorizzazioni per le funzionalità abilitate per il parco risorse, il che ti evita di dover impostare manualmente le autorizzazioni delle funzionalità su ogni cluster, soprattutto quando Google rilascia aggiornamenti delle funzionalità.

Quando registri un cluster, il manifest applicato al cluster contiene un ClusterRoleBinding che assegna all'autorizzatore di funzionalità un ruolo cluster-admin sul cluster, e il ruolo è collegato a un account di servizio denominato service-project-number@gcp-sa-gkehub.iam.gserviceaccount.com.

Quando disabiliti una funzionalità abilitata per il parco risorse nel progetto, l'autorizzatore di funzionalità elimina il ClusterRole e ClusterRoleBinding corrispondenti per la funzionalità, il che impedisce alla funzionalità di operare sul cluster.

Visualizzare l'autorizzatore di funzionalità negli audit log

Per visualizzare l'attività dell'autorizzatore di funzionalità negli audit log di GKE:

  1. Apri Esplora log nella Google Cloud console.

    Vai alla pagina Log

  2. Esegui la seguente query avanzata:

    resource.type="k8s_cluster"
    resource.labels.cluster_name="CLUSTER_NAME"
    resource.labels.location="CLUSTER_LOCATION"
    protoPayload.authenticationInfo.principalEmail="system:serviceaccount:gke-connect:connect-agent-sa"
    protoPayload.authenticationInfo.authoritySelector="service-PROJECT_NUMBER@gcp-sa-gkehub.iam.gserviceaccount.com"
    

    Sostituisci quanto segue:

    • CLUSTER_NAME: il nome del cluster di cui vuoi visualizzare i log.
    • CLUSTER_LOCATION: la Google Cloud località in cui è stato creato il cluster.
    • PROJECT_NUMBER: il Google Cloud numero del progetto proprietario del cluster.

Per i cluster non GKE, scopri dove sono archiviati gli audit log di Kubernetes ed esegui una query simile.