Gestire le risorse del team nel parco risorse

Questa pagina spiega come utilizzare Config Sync e Terraform per creare dinamicamente risorse con ambito di team in un parco risorse di cluster. Config Sync estende le funzionalità di gestione dei team del parco risorse per creare e gestire configurazioni di infrastrutture e cluster nei tuoi parchi risorse.

Questa guida presuppone che tu abbia già familiarità con i concetti di gestione dei team del parco risorse, come gli ambiti dei team e gli spazi dei nomi del parco risorse. Per saperne di più, consulta la panoramica della gestione del team del parco risorse.

Per un tutorial end-to-end con configurazioni di esempio, consulta il tutorial sul tenancy del parco veicoli nel repository di esempio.

Per un elenco dei campi supportati per Config Sync in Terraform, consulta la documentazione di riferimento di Terraform per le funzionalità della flotta GKE.

Workflow di esempio

Sei un amministratore della piattaforma che vuole creare dinamicamente risorse in un parco di cluster in cui team diversi hanno esigenze diverse. Ad esempio, potresti voler applicare un NetworkPolicy agli spazi dei nomi del team di backend, ma non a quelli del team di frontend. In questo scenario, la procedura per creare risorse con ambito team in uno spazio dei nomi è la seguente:

  1. Scegli o crea il parco veicoli in cui vuoi gestire le risorse per i team.
  2. Configura l'unica fonte attendibile. L'origine attendibile contiene gli oggetti NamespaceSelector che utilizzi per selezionare gli spazi dei nomi a livello di parco risorse negli ambiti del team e qualsiasi risorsa (ad esempio un NetworkPolicy) che vuoi sincronizzare in questi spazi dei nomi.

  3. Crea la configurazione predefinita a livello di parco risorse per Config Sync. Config Sync utilizza queste impostazioni predefinite durante la sincronizzazione dall'origine attendibile creata nel passaggio precedente. Queste impostazioni di Config Sync si applicano a tutti i nuovi cluster creati nel parco risorse.

  4. Crea cluster nel tuo parco risorse.

  5. Crea gli ambiti e gli spazi dei nomi dei team frontend e backend in modo che Config Sync possa rilevare e riconciliare le risorse nei tuoi spazi dei nomi.

Dopo aver completato questi passaggi, Config Sync crea e applica il NetworkPolicy in base a NamespaceSelector agli spazi dei nomi del team di backend. Se modifichi o aggiungi risorse, Config Sync rileva e applica continuamente le modifiche ai file di configurazione, agli ambiti del team, agli spazi dei nomi del parco risorse e ai membri del parco risorse.

Prezzi

Le funzionalità di gestione dei team del parco risorse e di Config Sync sono disponibili come parte di GKE. Per ulteriori informazioni sui prezzi, consulta la pagina dei prezzi di GKE.

Prima di iniziare

  1. Install the Google Cloud CLI.

  2. Configura gcloud CLI per utilizzare la tua identità federata.

    Per ulteriori informazioni, vedi Accedi a gcloud CLI con la tua identità federata.

  3. Per inizializzare gcloud CLI, esegui questo comando:

    gcloud init
  4. Create or select a Cloud de Confiance project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.
    • Create a Cloud de Confiance project:

      gcloud projects create PROJECT_ID

      Replace PROJECT_ID with a name for the Cloud de Confiance project you are creating.

    • Select the Cloud de Confiance project that you created:

      gcloud config set project PROJECT_ID

      Replace PROJECT_ID with your Cloud de Confiance project name.

  5. Crea o accedi a una fonte attendibile (un repository Git o un'immagine OCI) in cui puoi archiviare i file di configurazione. Gli esempi in questa guida utilizzano un repository Git.
  6. Ruoli obbligatori

    Per ottenere le autorizzazioni necessarie per creare risorse del team per il tuo parco risorse, chiedi all'amministratore di concederti i seguenti ruoli IAM nel tuo progetto:

    Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

    Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.

    Acquisire le credenziali utente

    Per eseguire i comandi Terraform in questa guida nel tuo ambiente locale, esegui il comando seguente per acquisire nuove credenziali utente:

    gcloud auth application-default login
    

    Configurare il parco risorse

    In questa sezione crei il parco risorse e abiliti i servizi richiesti.

    Per configurare la flotta, completa i seguenti passaggi:

    1. Crea una directory per i file Terraform di configurazione del parco risorse. Aggiungi a questa directory un file main.tf e un file variables.tf.

    2. Nel file variables.tf, aggiungi le seguenti variabili:

      variable "project" {
        type = string
        description = "GCP project ID"
      }

    3. Nel file main.tf, aggiungi le seguenti risorse:

      terraform {
        required_providers {
          google = {
            source = "hashicorp/google"
            version = ">= 5.16.0"
          }
        }
      }
      
      provider "google" {
        # project variable must be provided at runtime
        project = var.project
      }
      
      # Enable API services
      resource "google_project_service" "services" {
        for_each = toset([
          "gkehub.googleapis.com",
          "container.googleapis.com",
          "connectgateway.googleapis.com",
          "cloudresourcemanager.googleapis.com",
          "iam.googleapis.com",
          "anthos.googleapis.com",
          "anthosconfigmanagement.googleapis.com",
        ])
        service = each.value
        disable_on_destroy = false
      }
      
      # Declare a fleet in the project
      resource "google_gke_hub_fleet" "default" {
        display_name = "demo"
      
        depends_on = [google_project_service.services]
      }
    4. Esporta la variabile PROJECT_ID:

      export TF_VAR_project=PROJECT_ID
      

      Sostituisci PROJECT_ID con l'ID progetto in cui vuoi creare il tuo parco progetti.

    5. Inizializza Terraform nella directory che hai creato:

      terraform init
      
    6. Verifica che le modifiche che proponi con Terraform corrispondano al piano previsto:

      terraform plan
      
    7. Crea il parco, attiva le API e crea il account di servizio:

      terraform apply
      

      A volte possono essere necessari alcuni minuti per abilitare tutti i servizi.

    Configurare l'unica fonte attendibile

    In questa sezione, aggiungi i file di configurazione a una fonte attendibile. Hai bisogno di un oggetto NamespaceSelector per ogni ambito del team che vuoi utilizzare. Ad esempio, se hai team frontend e backend, devi creare un oggetto NamespaceSelector per ogni team. L'oggetto NamespaceSelector seleziona tutti o alcuni gli spazi dei nomi all'interno dell'ambito di un team. Puoi aggiungere altre risorse del team alla tua fonte di verità, ad esempio un NetworkPolicy. Quando crei queste risorse, fai riferimento a NamespaceSelector in modo che Config Sync possa eseguire il deployment e la sincronizzazione di queste risorse in modo dinamico tra gli spazi dei nomi.

    Per configurare la tua fonte attendibile, completa i seguenti passaggi:

    1. Nella fonte di riferimento, crea una directory per i file di configurazione da cui vuoi che Config Sync esegua la sincronizzazione.

    2. Per ogni team, crea un oggetto NamespaceSelector nella directory di configurazione:

      apiVersion: configmanagement.gke.io/v1
      kind: NamespaceSelector
      metadata:
         name: NAMESPACE_SELECTOR_NAME
      spec:
        mode: dynamic
        selector:
          matchLabels:
            fleet.gke.io/fleet-scope: SCOPE_NAME
      

      Sostituisci quanto segue:

      • NAMESPACE_SELECTOR_NAME: il nome dell'oggetto NamespaceSelector, ad esempio backend-scope.
      • SCOPE_NAME: il nome dell'ambito del team, ad esempio backend.

      Tutti gli spazi dei nomi che fanno parte di uno spazio dei nomi del parco risorse hanno automaticamente l'etichetta fleet.gke.io/fleet-scope: SCOPE_NAME. NamespaceSelector seleziona tutti gli spazi dei nomi del parco risorse di un ambito del team utilizzando questa etichetta. Per altri esempi su come includere o escludere spazi dei nomi, consulta Esempi di NamespaceSelector.

    3. Crea gli oggetti che vuoi sincronizzare tra gli spazi dei nomi.

      Per sincronizzare un oggetto solo con un team specifico, imposta la seguente annotazione nei metadati dell'oggetto:

      annotations:
        configmanagement.gke.io/namespace-selector: NAMESPACE_SELECTOR_NAME
      

      Ad esempio, un NetworkPolicy per il team di backend potrebbe avere il seguente aspetto:

      apiVersion: networking.k8s.io/v1
      kind: NetworkPolicy
      metadata:
        name: be-deny-all
        annotations:
          configmanagement.gke.io/namespace-selector: backend-scope # Actuate this resource in the namespaces with labels matched by the namespace selector
      spec:
        ingress:
        - from:
          - podSelector: {}
        podSelector:
          matchLabels: null

    Crea valori predefiniti a livello di parco risorse per Config Sync

    In questa sezione, crei i valori predefiniti a livello di parco risorse per Config Sync, che applica la stessa configurazione di Config Sync a tutti i cluster creati nel parco risorse.

    Per creare una configurazione predefinita a livello di parco risorse per Config Sync, completa i seguenti passaggi:

    1. Crea una directory per i file Terraform di configurazione predefinita del parco risorse. Aggiungi a questa directory un file main.tf e un file variables.tf.

    2. Nel file variables.tf, aggiungi le seguenti variabili:

      variable "project" {
        type = string
        description = "GCP project ID"
      }

    3. Nel file main.tf, aggiungi la seguente risorsa per configurare le impostazioni di Config Sync:

      git

      terraform {
        required_providers {
          google = {
            source = "hashicorp/google"
            version = ">=5.16.0"
           }
         }
       }
      
      provider "google" {
        project = var.project
      }
      
      resource "google_gke_hub_feature" "feature" {
        name = "configmanagement"
        location = "global"
        provider = google
        fleet_default_member_config {
          configmanagement {
          version = "VERSION"
       config_sync {
         source_format = "unstructured"
         git {
           sync_repo = "REPO"
           sync_branch = "BRANCH"
           policy_dir = "DIRECTORY"
           secret_type = "SECRET"
              }
            }
          }
        }
      }
      

      Sostituisci quanto segue:

      • VERSION: (facoltativo) il numero di versione di Config Sync. Se non viene specificata, la versione predefinita è quella più recente.
      • REPO: l'URL del repository contenente i file di configurazione.
      • BRANCH: il ramo del repository, ad esempio main.
      • DIRECTORY: il percorso all'interno del repository Git che rappresenta il livello superiore del repository che vuoi sincronizzare.
      • SECRET: il tipo di autenticazione del secret.

      Per un elenco completo delle impostazioni supportate nel blocco git di Config Sync, consulta la documentazione di riferimento di Terraform per le funzionalità di GKE Hub.

      OCI

      terraform {
        required_providers {
          google = {
            source = "hashicorp/google"
            version = ">=5.16.0"
           }
         }
       }
      
      provider "google" {
        project = var.project
      }
      
      resource "google_gke_hub_feature" "feature" {
        name = "configmanagement"
        location = "global"
        provider = google
        fleet_default_member_config {
          configmanagement {
          version = "VERSION"
          config_sync {
          source_format = "unstructured"
          oci {
           sync_repo = "REPO"
           policy_dir = "DIRECTORY"
           secret_type = "SECRET"
           }
          }
          }
        }
      }
      

      Sostituisci quanto segue:

      • VERSION: il numero di versione di Config Sync. Se non viene specificata, la versione predefinita è l'ultima.
      • REPO: l'URL del repository di immagini OCI contenente i file di configurazione.
      • DIRECTORY: il percorso assoluto della directory contenente le risorse da sincronizzare. Lascia vuoto per utilizzare la directory principale.
      • SECRET: il tipo di autenticazione del secret.

      Per un elenco completo delle impostazioni supportate nel blocco oci di Config Sync, consulta la documentazione di riferimento di Terraform per le funzionalità di GKE Hub.

      Ad esempio, il seguente file main.tf configura Config Sync per la sincronizzazione da un repository Git e sincronizza tutti gli oggetti presenti nella directory config:

      terraform {
        required_providers {
          google = {
            source = "hashicorp/google"
            version = ">= 5.16.0"
          }
        }
      }
      
      provider "google" {
        project = var.project
      }
      
      resource "google_gke_hub_feature" "feature" {
        name = "configmanagement"
        location = "global"
        provider = google
        fleet_default_member_config {
          configmanagement {
            # version = "1.17.0" # Use the default latest version; if specifying a version, it must be at or after 1.17.0
            config_sync {
              source_format = "unstructured"
              git {
                sync_repo = "https://github.com/GoogleCloudPlatform/anthos-config-management-samples"
                sync_branch = "main"
                policy_dir = "fleet-tenancy/config"
                secret_type = "none"
              }
            }
          }
        }
      }
    4. Inizializza Terraform nella directory che hai creato:

      terraform init
      
    5. Verifica che le modifiche che proponi con Terraform corrispondano al piano previsto:

      terraform plan
      
    6. Crea le configurazioni predefinite dei membri del parco risorse:

      terraform apply
      

    Crea cluster nel tuo parco risorse

    In questa sezione, crei una configurazione del cluster condivisa e poi crei i cluster nel tuo parco risorse.

    Per creare e registrare nuovi cluster nel tuo parco risorse, completa i seguenti passaggi:

    1. Crea una directory per i file Terraform di configurazione del cluster. Aggiungi a questa directory un file main.tf e un file variables.tf.

    2. Nel file variables.tf, aggiungi le seguenti variabili:

      variable "project" {
        type = string
        description = "GCP project ID"
      }

    3. Crea un file cluster.tf contenente i valori predefiniti utilizzati in tutti i cluster, ad esempio gli ID progetto e parco risorse:

      variable "location" {
        type = string
      }
      
      variable "cluster_name" {
        type = string
      }
      
      data "google_project" "project" {
        provider = google
      }
      
      resource "google_container_cluster" "cluster" {
       provider = google
       name               = var.cluster_name
       location           = var.location
       initial_node_count = 3
       project = data.google_project.project.project_id
       fleet {
         project = data.google_project.project.project_id
       }
       workload_identity_config {
         workload_pool = "${data.google_project.project.project_id}.s3ns.svc.id.goog"
       }
       deletion_protection = false
      }
      
    4. Nel file main.tf, aggiungi le seguenti risorse:

      terraform {
        required_providers {
          google = {
          source = "hashicorp/google"
          version = ">=5.16.0"
          }
        }
      }
      
      provider "google" {
        project = var.project
      }
      
      module "MODULE_NAME" {
        source = "CLUSTER_CONFIGURATION_FILEPATH"
        cluster_name = "CLUSTER_NAME"
        location="CLUSTER_LOCATION"
      }
      

      Sostituisci quanto segue:

      • MODULE_NAME: il nome che vuoi assegnare al modulo del cluster. MODULE_NAME e CLUSTER_NAME possono avere lo stesso valore, ad esempio us-east-cluster.
      • CLUSTER_CONFIGURATION_FILEPATH: il percorso relativo del file cluster.tf che hai creato.
      • CLUSTER_NAME: il nome del tuo cluster. MODULE_NAME e CLUSTER_NAME possono avere lo stesso valore, ad esempio us-east-cluster.
      • CLUSTER_LOCATION: la posizione del cluster, ad esempio us-east1.

      Puoi creare tutti i cluster che vuoi. Ad esempio, il seguente file main.tf crea 3 cluster in regioni diverse:

      terraform {
        required_providers {
          google = {
            source = "hashicorp/google"
            version = ">= 5.16.0"
          }
        }
      }
      
      provider "google" {
        project = var.project
      }
      
      module "us-west-cluster" {
        source = "./cluster"
        cluster_name = "us-west-cluster"
        location="us-west1-a"
      }
      
      module "us-east-cluster" {
        source = "./cluster"
        cluster_name = "us-east-cluster"
        location="us-east1-b"
      }
      
      module "us-central-cluster" {
        source = "./cluster"
        cluster_name = "us-central-cluster"
        location="us-central1-c"
      }
    5. Inizializza Terraform nella directory che hai creato:

      terraform init
      
    6. Verifica che le modifiche che proponi con Terraform corrispondano al piano previsto:

      terraform plan
      
    7. Crea i cluster:

      terraform apply
      

    Configura gli ambiti del team e gli spazi dei nomi del parco risorse

    In questa sezione, crei gli ambiti del team e associ i cluster a questi ambiti. Poi crei gli spazi dei nomi del parco risorse che ti servono, ad esempio uno per ogni team, in ogni ambito, e Config Sync crea le risorse nei tuoi spazi dei nomi.

    Per configurare gli ambiti e gli spazi dei nomi del team, completa i seguenti passaggi:

    1. Crea una directory per i file Terraform di configurazione dell'ambito del team e dello spazio dei nomi. Aggiungi a questa directory un file main.tf e un file variables.tf.

    2. Nel file variables.tf, aggiungi le seguenti variabili:

      variable "project" {
        type = string
        description = "GCP project ID"
      }
      

    3. Nel file main.tf, aggiungi le seguenti risorse:

      1. Aggiungi le informazioni del fornitore:

        terraform {
          required_providers {
            google = {
              source = "hashicorp/google"
              version = ">=5.16.0"
             }
           }
         }
        
        provider "google" {
          project = var.project
        }
        
      2. Aggiungi la risorsa di ambito del team:

        resource "google_gke_hub_scope" "scope" {
          provider = google
          for_each = toset([
            "SCOPE_NAME",
            "SCOPE_NAME_2",
          ])
          scope_id = each.value
        }
        

        Sostituisci quanto segue:

        • SCOPE_NAME: il nome dell'ambito del team, ad esempio backend.
        • SCOPE_NAME_2: un ambito del team aggiuntivo, se ne hai creato uno.

        Puoi aggiungere tutti gli ambiti del team che ti servono. Quando viene creato uno spazio dei nomi del parco risorse nel cluster, lo spazio dei nomi viene etichettato automaticamente con fleet.gke.io/fleet-scope: SCOPE_NAME, consentendo a Config Sync di selezionare gli spazi dei nomi in base alle etichette NamespaceSelector presenti durante la sincronizzazione delle risorse Kubernetes.

        Ad esempio, una risorsa Terraform con ambito di team che include un ambito per il team frontend e backend potrebbe essere simile alla seguente:

        resource "google_gke_hub_scope" "scope" {
          provider = google
          for_each = toset([
            "backend",
            "frontend",
          ])
          scope_id = each.value
        }
      3. Aggiungi un'associazione di appartenenza al parco per ogni cluster che vuoi applicare a un ambito del team:

        resource "google_gke_hub_membership_binding" "membership-binding" {
          provider = google
          for_each = {
            MEMBERSHIP_BINDING_NAME = {
              membership_binding_id = "MEMBERSHIP_BINDING_ID"
              scope = google_gke_hub_scope.scope["SCOPE_NAME"].name
              membership_id = "CLUSTER_NAME"
              location = "CLUSTER_LOCATION"
            }
            MEMBERSHIP_BINDING_NAME_2 = {
              membership_binding_id = "MEMBERSHIP_BINDING_ID_2"
              scope = google_gke_hub_scope.scope["SCOPE_NAME_2"].name
              membership_id = "CLUSTER_NAME_2"
              location = "CLUSTER_LOCATION_2"
            }
          }
          membership_binding_id = each.value.membership_binding_id
          scope = each.value.scope
          membership_id = each.value.membership_id
          location = each.value.location
        
          depends_on = [google_gke_hub_scope.scope]
        }
        

        Sostituisci quanto segue:

        • MEMBERSHIP_BINDING_NAME: il nome del binding dell'appartenenza, ad esempio us-east-backend.
        • MEMBERSIP_BINDING_ID: l'ID del binding dell'abbonamento. Può essere uguale a MEMBERSHIP_BINDING_NAME.
        • SCOPE_NAME: il selettore di etichette che hai assegnato all'ambito del team quando hai creato un NamespaceSelector, ad esempio backend.
        • CLUSTER_NAME: il nome del cluster che hai creato quando hai creato i cluster, ad esempio us-east-cluster.
        • CLUSTER_LOCATION: la posizione del cluster, ad esempio us-east1.

        Devi definire un binding di appartenenza al parco risorse per ogni cluster. Se non definisci un ambito del team per un cluster, questo non viene creato per lo spazio dei nomi. Ad esempio, se hai tre cluster nelle regioni us-east1, us-west1 e us-central1, ma il cluster us-central1 è solo per il team frontend, la risorsa di binding dell'appartenenza sarà simile alla seguente:

        resource "google_gke_hub_membership_binding" "membership-binding" {
          provider = google
          for_each = {
            us-east-backend = {
              membership_binding_id = "us-east-backend"
              scope = google_gke_hub_scope.scope["backend"].name
              membership_id = "us-east-cluster"
              location = "us-east1"
            }
            us-west-backend = {
              membership_binding_id = "us-west-backend"
              scope = google_gke_hub_scope.scope["backend"].name
              membership_id = "us-west-cluster"
              location = "us-west1"
            }
            us-east-frontend = {
              membership_binding_id = "us-east-frontend"
              scope = google_gke_hub_scope.scope["frontend"].name
              membership_id = "us-east-cluster"
              location = "us-east1"
            }
            us-west-frontend = {
              membership_binding_id = "us-west-frontend"
              scope = google_gke_hub_scope.scope["frontend"].name
              membership_id = "us-west-cluster"
              location = "us-west1"
            }
            us-central-frontend = {
              membership_binding_id = "us-central-frontend"
              scope = google_gke_hub_scope.scope["frontend"].name
              membership_id = "us-central-cluster"
              location = "us-central1"
            }
          }
        
          membership_binding_id = each.value.membership_binding_id
          scope = each.value.scope
          membership_id = each.value.membership_id
          location = each.value.location
        
          depends_on = [google_gke_hub_scope.scope]
        }
      4. Aggiungi gli spazi dei nomi che vuoi definire per i tuoi team:

        resource "google_gke_hub_namespace" "fleet_namespace" {
          provider = google
        
          for_each = {
            FLEET_NAMESPACE = {
              scope_id = "SCOPE_NAME"
              scope_namespace_id = "FLEET_NAMESPACE_ID"
              scope = google_gke_hub_scope.scope["SCOPE_NAME"].name
            }
            FLEET_NAMESPACE_2 = {
              scope_id = "SCOPE_NAME"
              scope_namespace_id = "FLEET_NAMESPACE_ID_2"
              scope = google_gke_hub_scope.scope["SCOPE_NAME"].name
            }
        
        }
        
          scope_namespace_id = each.value.scope_namespace_id
          scope_id = each.value.scope_id
          scope = each.value.scope
        
          depends_on = [google_gke_hub_scope.scope]
        }
        

        Sostituisci quanto segue:

        • FLEET_NAMESPACE: il nome che vuoi assegnare allo spazio dei nomi, ad esempio backend-a.
        • SCOPE_NAME: il selettore di etichette che hai assegnato all'ambito del team quando hai creato un NamespaceSelector, ad esempio backend.
        • FLEET_NAMESPACE_ID: l'ID spazio dei nomi. Può avere lo stesso valore di FLEET_NAMESPACE.

        Ad esempio, se vuoi che i team frontend e backend abbiano due spazi dei nomi ciascuno, la risorsa spazio dei nomi del parco risorse potrebbe essere simile alla seguente:

        resource "google_gke_hub_namespace" "fleet_namespace" {
          provider = google
        
          for_each = {
            bookstore = {
              scope_id = "backend"
              scope_namespace_id = "bookstore"
              scope = google_gke_hub_scope.scope["backend"].name
            }
            shoestore = {
              scope_id = "backend"
              scope_namespace_id = "shoestore"
              scope = google_gke_hub_scope.scope["backend"].name
            }
            frontend_a = {
              scope_id = "frontend"
              scope_namespace_id = "frontend-a"
              scope = google_gke_hub_scope.scope["frontend"].name
            }
            frontend_b = {
              scope_id = "frontend"
              scope_namespace_id = "frontend-b"
              scope = google_gke_hub_scope.scope["frontend"].name
            }
          }
        
          scope_namespace_id = each.value.scope_namespace_id
          scope_id = each.value.scope_id
          scope = each.value.scope
        
          depends_on = [google_gke_hub_scope.scope]
        }
    4. Inizializza Terraform nella directory che hai creato:

      terraform init
      
    5. Verifica che le modifiche che proponi con Terraform corrispondano al piano previsto:

      terraform plan
      
    6. Crea gli ambiti del parco risorse e gli spazi dei nomi:

      terraform apply
      

    Dopo aver creato gli ambiti e gli spazi dei nomi del parco risorse, Config Sync rileva i nuovi spazi dei nomi e i relativi ambiti, seleziona le risorse negli spazi dei nomi del parco risorse e le riconcilia con i file di configurazione.

    Puoi verificare che le risorse vengano applicate al cluster corretto utilizzando nomos status o visitando la scheda Pacchetti di Config Sync nella console Cloud de Confiance e modificando il pulsante di opzione Visualizza per in Cluster.

    Vai a Pacchetti

    Config Sync sincronizza le risorse tra gli spazi dei nomi in base agli ambiti del team in base alla configurazione archiviata nella fonte attendibile. Ogni volta che aggiungi una nuova risorsa, se includi l'annotazione NamespaceSelector corretta, Config Sync riconcilia automaticamente la risorsa negli spazi dei nomi del tuo team.

    Se vuoi applicare le impostazioni di Config Sync ai tuoi cluster esistenti, consulta le istruzioni per la configurazione dei valori predefiniti a livello di parco risorse nella guida all'installazione di Config Sync.

    Passaggi successivi