Questa pagina descrive come generare un inventario dei cluster per un parco risorse esistente. Un inventario dei cluster per un parco risorse ti consente di utilizzare integrazioni open source e di terze parti che utilizzano la ClusterProfile.
Un inventario dei cluster è l'equivalente open source di un parco risorse: un raggruppamento logico di cluster Kubernetes e altre risorse che possono essere gestiti insieme. La ClusterProfile ClusterProfile contiene informazioni che sono un sottoinsieme delle informazioni di un parco risorse.
La funzionalità di sincronizzazione di ClusterProfile è una sincronizzazione unidirezionale tra un parco risorse e un inventario dei cluster. Quando la sincronizzazione di ClusterProfile è abilitata, il parco risorse è l'origine attendibile e tutte le modifiche apportate al parco risorse vengono applicate automaticamente all'inventario dei cluster dalla sincronizzazione di ClusterProfile. Le modifiche apportate direttamente alle risorse del profilo del cluster non vengono applicate al parco risorse.
Prima di iniziare
Assicurati di aver seguito i prerequisiti generali per l'utilizzo dei parchi risorse.
Crea un parco risorse o identifica un parco risorse esistente da utilizzare.
Abilitare la sincronizzazione di ClusterProfile
La sincronizzazione di ClusterProfile viene eseguita su un cluster all'interno del parco risorse. Questo cluster è chiamato cluster hub e può essere utilizzato per eseguire controller multi-cluster che richiedono informazioni sugli altri cluster del parco risorse. Esempi di controller multi-cluster includono i controller Argo CD e l'orchestratore multi-cluster. Ti consigliamo di non eseguire altri workload nel cluster hub.
Abilita la sincronizzazione di ClusterProfile su un cluster aggiungendo l'etichetta fleet-clusterinventory-management-cluster=true. Puoi:
- Crea un nuovo cluster da utilizzare come cluster hub. Consulta la sezione seguente per abilitare la sincronizzazione di ClusterProfile su un nuovo cluster.
- Identifica un cluster nel parco risorse da utilizzare come cluster hub. Consulta la sezione seguente per abilitare la sincronizzazione di ClusterProfile su un cluster esistente.
Dopo aver abilitato la funzionalità di sincronizzazione di ClusterProfile per un parco risorse, viene creato automaticamente un profilo del cluster per ogni cluster del parco risorse utilizzando l' ClusterProfile ClusterProfile. Questi profili del cluster vengono creati, aggiornati ed eliminati automaticamente quando vengono apportate modifiche al parco risorse.
Abilitare la sincronizzazione di ClusterProfile su un nuovo cluster
Per creare un cluster per il cluster hub e abilitare la sincronizzazione di ClusterProfile, utilizza il seguente comando:
gcloud container clusters create CLUSTER --location LOCATION --enable-fleet
--labels=fleet-clusterinventory-management-cluster=true
Sostituisci quanto segue:
- CLUSTER: il nome della risorsa
google_container_cluster. - LOCATION: la località in cui viene creato il cluster.
Per impostazione predefinita, i profili dei cluster vengono creati nello spazio dei nomi fleet-cluster-inventory. Per modificare lo spazio dei nomi, specifica l'etichetta fleet-clusterinventory-namespace.
gcloud container clusters update CLUSTER --location LOCATION
--update-labels=fleet-clusterinventory-namespace=NAMESPACE
Sostituisci quanto segue:
- CLUSTER: il nome della risorsa
google_container_cluster. - LOCATION: la località in cui viene creato il cluster.
- NAMESPACE: lo spazio dei nomi in cui vengono generati i profili dei cluster.
Se non viene specificato, i profili dei cluster vengono generati nello spazio dei nomi
fleet-cluster-inventory.
Abilitare la sincronizzazione di ClusterProfile su un cluster esistente
Per abilitare la sincronizzazione di ClusterProfile su un cluster esistente, utilizza il seguente comando:
gcloud container clusters update CLUSTER --location LOCATION
--update-labels=fleet-clusterinventory-management-cluster=true
Sostituisci quanto segue:
- CLUSTER: il nome della risorsa
google_container_cluster. - LOCATION: la località in cui viene creato il cluster.
Per impostazione predefinita, i profili dei cluster vengono creati nello spazio dei nomi fleet-cluster-inventory. Per modificare lo spazio dei nomi, specifica l'etichetta fleet-clusterinventory-namespace.
gcloud container clusters update CLUSTER --location LOCATION
--update-labels=fleet-clusterinventory-namespace=NAMESPACE
Sostituisci quanto segue:
- CLUSTER: il nome della risorsa
google_container_cluster. - LOCATION: la località in cui viene creato il cluster.
- NAMESPACE: lo spazio dei nomi in cui vengono generati i profili dei cluster.
Se non viene specificato, i profili dei cluster vengono generati nello spazio dei nomi
fleet-cluster-inventory.
Verificare che la sincronizzazione di ClusterProfile sia abilitata
Verifica che la sincronizzazione di ClusterProfile sia abilitata controllando che il cluster hub includa l'etichetta fleet-clusterinventory-management-cluster = true. Per farlo, utilizza il seguente comando:
gcloud container clusters describe CLUSTER --location LOCATION
Sostituisci quanto segue:
- CLUSTER: il nome della risorsa
google_container_cluster. - LOCATION: la località in cui viene creato il cluster.
L'output dovrebbe essere simile al seguente:
resourceLabels:
fleet-clusterinventory-management-cluster: 'true'
Verificare le risorse del profilo del cluster generate
Verifica che le risorse del profilo del cluster vengano generate nel cluster hub utilizzando il seguente comando:
gcloud container clusters get-credentials CLUSTER --location LOCATION
kubectl get clusterprofiles -n fleet-cluster-inventory
Sostituisci quanto segue:
- CLUSTER: il nome della risorsa
google_container_cluster. - LOCATION: la località in cui viene creato il cluster.
L'output dovrebbe essere simile al seguente:
NAME AGE
cluster-1-us-west1 10s
cluster-2-us-west1 20s
Questo output deve includere un profilo del cluster per ogni cluster del parco risorse.
Il nome del profilo del cluster ha il formato
MEMBERSHIP-LOCATION.
Visualizzare i contenuti del profilo del cluster
Per visualizzare i contenuti del profilo del cluster per un cluster specifico, utilizza il seguente comando:
kubectl get clusterprofile CLUSTER-LOCATION -n fleet-cluster-inventory -o yaml
Sostituisci quanto segue:
- CLUSTER: il nome della risorsa
google_container_cluster. - LOCATION: la località in cui viene creato il cluster.
L'output dovrebbe essere simile al seguente:
apiVersion: multicluster.x-k8s.io/v1alpha1
kind: ClusterProfile
metadata:
annotations:
fleet.gke.io/membershipName: projects/123456789/locations/us-west1/memberships/cluster-1
labels:
x-k8s.io/cluster-manager: gke-fleet
name: cluster-1-us-west1
namespace: fleet-cluster-inventory
Disabilitare la sincronizzazione di ClusterProfile
Disabilita la sincronizzazione di ClusterProfile nel cluster hub del parco risorse rimuovendo l'etichetta fleet-clusterinventory-management-cluster:
gcloud container clusters update CLUSTER --location LOCATION \
--remove-labels=fleet-clusterinventory-management-cluster
Sostituisci quanto segue:
- CLUSTER: il nome della risorsa
google_container_cluster. - LOCATION: la località in cui viene creato il cluster.
Passaggi successivi
- Per informazioni dettagliate sull'integrazione della sincronizzazione di ClusterProfile con Argo CD, consulta Sincronizzatore di ClusterProfile di Argo CD.
- L'orchestratore multi-cluster utilizza i profili dei cluster. Aiuta a pianificare i deployment multi-cluster e multi-regionali. Per maggiori dettagli, consulta Panoramica dell'orchestratore multi-cluster.