Creazione di ambienti Cloud Composer

Cloud Composer 1 | Cloud Composer 2

Questa pagina spiega come creare un ambiente Cloud Composer 2.

Un ambiente Cloud Composer è un'installazione autonoma di Apache Airflow di cui è stato eseguito il deployment in un cluster Google Kubernetes Engine gestito. Puoi creare uno o più ambienti in un singolo progetto Google Cloud.

Prima di iniziare

Passaggio 1: Configurazione di base

Questo passaggio crea un ambiente Cloud Composer con parametri predefiniti nella località specificata.

Console

  1. Nella console Google Cloud, vai alla pagina Crea ambiente per Cloud Composer 2.

    Vai a Crea ambiente

  2. Nel campo Nome, inserisci un nome per l'ambiente.

    Il nome deve iniziare con una lettera minuscola seguita da un massimo di 62 lettere minuscole, numeri o trattini e non può terminare con un trattino. Il nome dell'ambiente viene utilizzato per creare sottocomponenti, quindi devi specificare un nome che sia valido anche come nome del bucket Cloud Storage. Consulta le linee guida per la denominazione dei bucket per un elenco delle limitazioni.

  3. Nell'elenco a discesa Località, scegli una località per il tuo ambiente.

    La località è la regione in cui si trova il cluster GKE dell'ambiente.

  4. Nell'elenco a discesa Versione immagine, seleziona un'immagine Cloud Composer con la versione richiesta di Airflow.

gcloud

gcloud composer environments create ENVIRONMENT_NAME \
    --location LOCATION \
    --image-version IMAGE_VERSION

Sostituisci:

  • ENVIRONMENT_NAME con il nome dell'ambiente.

    Il nome deve iniziare con una lettera minuscola seguita da un massimo di 62 lettere minuscole, numeri o trattini e non può terminare con un trattino. Il nome dell'ambiente viene utilizzato per creare sottocomponenti, quindi devi specificare un nome che sia valido anche come nome del bucket Cloud Storage. Consulta le linee guida per la denominazione dei bucket per un elenco delle limitazioni.

  • LOCATION con la regione per l'ambiente.

    La località è la regione in cui si trova il cluster GKE dell'ambiente.

  • IMAGE_VERSION con il nome dell'immagine Cloud Composer.

Esempio:

gcloud composer environments create example-environment \
    --location us-central1 \
    --image-version composer-2.6.6-airflow-2.6.3

API

Creare una richiesta API environments.create. Specifica la configurazione nella risorsa Environment.

{
  "name": "projects/PROJECT_ID/locations/LOCATION/environments/ENVIRONMENT_NAME",
  "config": {
    "softwareConfig": {
      "imageVersion": "IMAGE_VERSION"
    }
  }
}

Sostituisci:

  • PROJECT_ID con l'ID progetto.

  • LOCATION con la regione per l'ambiente.

    La località è la regione in cui si trova il cluster GKE dell'ambiente.

  • ENVIRONMENT_NAME con il nome dell'ambiente.

    Il nome deve iniziare con una lettera minuscola seguita da un massimo di 62 lettere minuscole, numeri o trattini e non può terminare con un trattino. Il nome dell'ambiente viene utilizzato per creare sottocomponenti, quindi devi specificare un nome che sia valido anche come nome del bucket Cloud Storage. Consulta le linee guida per la denominazione dei bucket per un elenco delle limitazioni.

  • IMAGE_VERSION con il nome dell'immagine Cloud Composer.

Esempio:

// POST https://composer.googleapis.com/v1/{parent=projects/*/locations/*}/environments

{
  "name": "projects/example-project/locations/us-central1/environments/example-environment",
  "config": {
    "softwareConfig": {
      "imageVersion": "composer-2.6.6-airflow-2.6.3"
    }
  }
}

Terraform

Per creare un ambiente con parametri predefiniti in una località specificata, aggiungi il seguente blocco di risorse alla configurazione Terraform ed esegui terraform apply.

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {
    software_config {
      image_version = "IMAGE_VERSION"
    }
  }
}

Sostituisci:

  • ENVIRONMENT_NAME con il nome dell'ambiente.

    Il nome deve iniziare con una lettera minuscola seguita da un massimo di 62 lettere minuscole, numeri o trattini e non può terminare con un trattino. Il nome dell'ambiente viene utilizzato per creare sottocomponenti, quindi devi specificare un nome che sia valido anche come nome del bucket Cloud Storage. Consulta le linee guida per la denominazione dei bucket per un elenco delle limitazioni.

  • LOCATION con la regione per l'ambiente.

    La località è la regione in cui si trova il cluster GKE dell'ambiente.

  • IMAGE_VERSION con il nome dell'immagine Cloud Composer.

Esempio:

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "example-environment"
  region = "us-central1"

  config {
    software_config {
      image_version = "composer-2.6.6-airflow-2.6.3"
    }
  }
}

Passaggio 2: (Facoltativo) Seleziona un account di servizio per il tuo ambiente

Cloud Composer associa questo account di servizio all'account di servizio Kubernetes del tuo ambiente. I nodi nel cluster del tuo ambiente vengono eseguiti come account di servizio Kubernetes e utilizzano le associazioni per accedere alle risorse del progetto Google Cloud, ad esempio i file di definizione dei DAG nel bucket del tuo ambiente.

Per impostazione predefinita, gli ambienti Cloud Composer utilizzano l'account di servizio predefinito di Compute Engine. Ti consigliamo di configurare un account di servizio gestito dall'utente per gli ambienti Cloud Composer.

Non puoi modificare l'account di servizio del tuo ambiente in un secondo momento.

Console

Nella pagina Crea ambiente, nell'elenco a discesa Account di servizio, seleziona un account di servizio per il tuo ambiente.

gcloud

Quando crei un ambiente, --service-account specifica l'account di servizio per l'ambiente.

gcloud composer environments create ENVIRONMENT_NAME \
    --location LOCATION \
    --image-version composer-2.6.6-airflow-2.6.3 \
    --service-account "SERVICE_ACCOUNT"

Sostituisci:

  • SERVICE_ACCOUNT con l'account di servizio per il tuo ambiente.

Esempio:

gcloud composer environments create example-environment \
    --location us-central1 \
    --image-version composer-2.6.6-airflow-2.6.3 \
    --service-account "example-account@example-project.iam.gserviceaccount.com"

API

Quando crei un ambiente, nella risorsa Ambiente > EnvironmentConfig, specifica un account di servizio per il tuo ambiente.

{
  "name": "projects/PROJECT_ID/locations/LOCATION/environments/ENVIRONMENT_NAME",
  "config": {
    "nodeConfig": {
      "serviceAccount": "SERVICE_ACCOUNT"
    }
}

Sostituisci:

  • SERVICE_ACCOUNT con l'account di servizio per il tuo ambiente.

Esempio:


// POST https://composer.googleapis.com/v1/{parent=projects/*/locations/*}/environments

{
  "name": "projects/example-project/locations/us-central1/environments/example-environment",
  "config": {
    "nodeConfig": {
      "serviceAccount": "example-account@example-project.iam.gserviceaccount.com"
    }
  }
}

Terraform

Quando crei un ambiente, utilizza il campo service_account nel blocco node_config.

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {
    node_config {
      service_account = "SERVICE_ACCOUNT"
    }
  }
}

Sostituisci:

  • SERVICE_ACCOUNT con l'account di servizio per il tuo ambiente.

Esempio:

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "example-environment"
  region = "us-central1"

  config {
    node_config {
      service_account = "example-account@example-project.iam.gserviceaccount.com"
    }
  }
}

Passaggio 3: Concedi le autorizzazioni necessarie all'account di servizio di Cloud Composer

Quando abiliti l'API Cloud Composer nel tuo progetto, nel progetto viene creato l'account dell'agente di servizio Composer. Cloud Composer utilizza questo account per eseguire operazioni nel tuo progetto Google Cloud.

Il ruolo Estensione agente di servizio API Cloud Composer v2 fornisce autorizzazioni aggiuntive per l'account agente di servizio Cloud Composer. Questo ruolo non viene concesso automaticamente. Devi concederlo manualmente.

Console

Quando crei un ambiente nel tuo progetto, se l'agente di servizio Cloud Composer non dispone delle autorizzazioni necessarie per l'account di servizio dell'ambiente, viene visualizzata la sezione Concedi le autorizzazioni richieste all'account di servizio Cloud Composer.

Aggiungi l'account agente di servizio Cloud Composer come nuova entità all'account di servizio del tuo ambiente e concedi all'account il ruolo Estensione agente di servizio API Cloud Composer v2.

Conferma di utilizzare l'account di servizio previsto per il tuo ambiente e fai clic su Concedi.

gcloud

Aggiungi l'account agente di servizio Cloud Composer come nuova entità all'account di servizio del tuo ambiente e concedi all'account il ruolo Estensione agente di servizio API Cloud Composer v2.

gcloud iam service-accounts add-iam-policy-binding \
    SERVICE_ACCOUNT \
    --member serviceAccount:service-PROJECT_NUMBER@cloudcomposer-accounts.iam.gserviceaccount.com \
    --role roles/composer.ServiceAgentV2Ext

Sostituisci:

  • SERVICE_ACCOUNT con l'account di servizio per il tuo ambiente.
  • PROJECT_NUMBER con il numero di progetto.

Esempio:

gcloud iam service-accounts add-iam-policy-binding \
    example-account@example-project.iam.gserviceaccount.com \
    --member serviceAccount:service-00000000000@cloudcomposer-accounts.iam.gserviceaccount.com \
    --role roles/composer.ServiceAgentV2Ext

API

Per concedere il ruolo, devi modificare il criterio di autorizzazione esistente utilizzando il pattern di lettura, modifica e scrittura:

  1. Leggi il criterio di autorizzazione esistente per l'account di servizio del tuo ambiente.
  2. Modificalo in modo da includere il ruolo roles/composer.ServiceAgentV2Ext per l'agente di servizio Cloud Composer.
  3. Riscrivi il criterio di autorizzazione esistente.

Per maggiori informazioni, consulta Controllare l'accesso in modo programmatico.

{
  "role": "roles/composer.ServiceAgentV2Ext",
  "members": [
    "serviceAccount:service-PROJECT_NUMBER@cloudcomposer-accounts.iam.gserviceaccount.com"
  ]
}

Sostituisci:

Esempio:

{
  "role": "roles/composer.ServiceAgentV2Ext",
  "members": [
    "serviceAccount:service-00000000000@cloudcomposer-accounts.iam.gserviceaccount.com"
  ]
}

Terraform

Aggiungi una nuova associazione di ruoli al criterio di autorizzazione dell'account di servizio del tuo ambiente.

Aggiungi l'account agente di servizio Cloud Composer come nuova entità all'account di servizio del tuo ambiente e concedi all'account il ruolo Estensione agente di servizio API Cloud Composer v2.

Se non utilizzi Terraform per definire il criterio di autorizzazione dell'account di servizio del tuo ambiente, non usare l'esempio seguente. Aggiungi questa associazione utilizzando altri metodi.

resource "google_service_account_iam_member" "custom_service_account" {
  provider = google-beta
  service_account_id = "SERVICE_ACCOUNT"
  role = "roles/composer.ServiceAgentV2Ext"
  member = "serviceAccount:service-PROJECT_NUMBER@cloudcomposer-accounts.iam.gserviceaccount.com"
}

Sostituisci:

  • SERVICE_ACCOUNT con l'account di servizio per il tuo ambiente.
  • PROJECT_NUMBER con il numero di progetto.

Esempio:

resource "google_service_account_iam_member" "custom_service_account" {
  provider = google-beta
  service_account_id = "example-account@example-project.iam.gserviceaccount.com"
  role = "roles/composer.ServiceAgentV2Ext"
  member = "serviceAccount:service-00000000000@cloudcomposer-accounts.iam.gserviceaccount.com"
}

Passaggio 4: (Facoltativo) Configurare i parametri di scalabilità e prestazioni dell'ambiente

Per specificare la configurazione di scalabilità e prestazioni per il tuo ambiente, seleziona le dimensioni dell'ambiente e la configurazione dei carichi di lavoro.

In Cloud Composer 2, puoi modificare tutti i parametri delle prestazioni e della scalabilità dopo aver creato un ambiente.

I seguenti parametri controllano la scalabilità e le prestazioni:

  • Dimensioni dell'ambiente: Controlla i parametri delle prestazioni dell'infrastruttura Cloud Composer gestita che include il database Airflow. Valuta la possibilità di selezionare una dimensione dell'ambiente più grande se vuoi eseguire un numero elevato di DAG e attività.

  • Configurazione dei carichi di lavoro. Controlla la scalabilità e le prestazioni dei componenti del tuo ambiente eseguiti in un cluster GKE: scheduler Airflow, server web Airflow e worker Airflow.

    • Scheduler Airflow. Analizza i file di definizione dei DAG, pianifica le esecuzioni di DAG in base all'intervallo pianificato e accoda le attività per l'esecuzione da parte dei worker di Airflow.

      Il tuo ambiente può eseguire più scheduler Airflow contemporaneamente. Utilizza più scheduler per distribuire il carico tra diverse istanze dello scheduler, in modo da migliorare le prestazioni e l'affidabilità.

      Puoi avere fino a 10 scheduler nel tuo ambiente.

      L'aumento del numero di scheduler non migliora sempre le prestazioni di Airflow. Ad esempio, avere un solo scheduler può offrire prestazioni migliori rispetto a due. Questo può accadere quando lo scheduler aggiuntivo non viene utilizzato, consumando risorse del tuo ambiente senza contribuire alle prestazioni generali. Le prestazioni effettive dello scheduler dipendono dal numero di worker di Airflow, dal numero di DAG e di attività in esecuzione nel tuo ambiente e dalla configurazione di Airflow e dell'ambiente.

      Ti consigliamo di iniziare con due scheduler e di monitorare le prestazioni dell'ambiente. Se modifichi il numero di scheduler, puoi sempre scalare il tuo ambiente per riportarlo al numero originale.

      Per ulteriori informazioni sulla configurazione di più scheduler, consulta la documentazione di Airflow.

    • attivatore Airflow. Monitora in modo asincrono tutte le attività differite nel tuo ambiente. Se disponi di almeno un'istanza di triggerer nel tuo ambiente (o almeno due in ambienti altamente resilienti), puoi utilizzare operatori differibili nei DAG.

    • Server web Airflow. Esegue l'interfaccia web di Airflow, dove puoi monitorare, gestire e visualizzare i DAG.

    • Worker Airflow. Esegui attività pianificate dagli scheduler di Airflow. Il numero minimo e massimo di worker nel tuo ambiente cambia in modo dinamico a seconda del numero di attività in coda.

Console

Puoi selezionare una preimpostazione per il tuo ambiente. Quando selezioni un valore preimpostato, vengono selezionati automaticamente i relativi parametri di scala e rendimento. Puoi anche selezionare un preset personalizzato e specificare tutti i parametri di scalabilità e prestazioni per il tuo ambiente.

Per selezionare la configurazione di scalabilità e prestazioni per il tuo ambiente, nella pagina Crea ambiente:

  • Per utilizzare i valori predefiniti, nella sezione Risorse di ambiente, fai clic su Piccole, Media o Grandi.

  • Per specificare i valori personalizzati per i parametri di scala e rendimento:

    1. Nella sezione Risorse di ambiente, fai clic su Personalizza.

    2. Nella sezione Scheduler, imposta il numero di scheduler che vuoi utilizzare e l'allocazione delle risorse per CPU, memoria e spazio di archiviazione.

    3. Nella sezione Triggerer, utilizza il campo Numero di attivatori per inserire il numero di attivatori nel tuo ambiente. Puoi impostare questo numero su 0 se non vuoi utilizzare operatori differibili nei DAG.

      Se imposti almeno un trigger per il tuo ambiente, utilizza i campi CPU e Memoria per configurare l'allocazione delle risorse per gli attivatori.

    4. Nella sezione Worker, specifica:

      • il numero minimo e massimo di worker per i limiti di scalabilità automatica nel tuo ambiente
      • l'allocazione di CPU, memoria e spazio di archiviazione per i worker
    5. Nella sezione Infrastruttura principale, seleziona la dimensione dell'ambiente nell'elenco a discesa Dimensioni dell'ambiente.

gcloud

Quando crei un ambiente, imposta i seguenti argomenti per controllare i parametri di scalabilità e prestazioni dell'ambiente.

  • --environment-size specifica la dimensione dell'ambiente.
  • --scheduler-count specifica il numero di scheduler.
  • --scheduler-cpu specifica il numero di CPU per uno scheduler Airflow.
  • --scheduler-memory specifica la quantità di memoria per uno scheduler Airflow.
  • --scheduler-storage specifica la quantità di spazio su disco per uno scheduler Airflow.

  • --triggerer-count specifica il numero di trigger di Airflow nel tuo ambiente. Il valore predefinito di questo flag è 0. Hai bisogno di attivatori se vuoi utilizzare operatori differibili nei DAG.

    • Per gli ambienti di resilienza standard, utilizza un valore compreso tra 0 e 10.
    • Per ambienti altamente resilienti, utilizza 0 o un valore compreso tra 2 e 10.

      Per impostazione predefinita, gli attivatori vengono creati con un'allocazione predefinita di 0.5 vCPU e 0.5 GB di memoria. Utilizza i flag --triggerer-cpu e --triggerer-memory per specificare un'allocazione delle risorse diversa per gli attivatori:

      • --triggerer-cpu specifica il numero di CPU per un trigger Airflow, in unità vCPU. Valori consentiti: 0.5, 0.75, 1.

      • --triggerer-memory specifica la quantità di memoria per un trigger Airflow. La memoria minima richiesta è uguale al numero di CPU allocate per gli attivatori. Il valore massimo consentito è uguale al numero di CPU dell'attivatore moltiplicato per 6,5.

        Ad esempio, se imposti il flag --triggerer-cpu su 1, il valore minimo per --triggerer-memory è 1 e il valore massimo è 6.5.

  • --web-server-cpu specifica il numero di CPU per il server web Airflow.

  • --web-server-memory specifica la quantità di memoria per il server web Airflow.

  • --web-server-storage specifica la quantità di spazio su disco per il server web Airflow.

  • --worker-cpu specifica il numero di CPU per un worker Airflow.

  • --worker-memory specifica la quantità di memoria per un worker Airflow.

  • --worker-storage specifica la quantità di spazio su disco per un worker Airflow.

  • --min-workers specifica il numero minimo di worker Airflow. Il cluster del tuo ambiente esegue almeno questo numero di worker.

  • --max-workers specifica il numero massimo di worker Airflow. Il cluster del tuo ambiente esegue al massimo questo numero di worker.

gcloud composer environments create ENVIRONMENT_NAME \
    --location LOCATION \
    --image-version composer-2.6.6-airflow-2.6.3 \
    --environment-size ENVIRONMENT_SIZE \
    --scheduler-count SCHEDULER_COUNT \
    --scheduler-cpu SCHEDULER_CPU \
    --scheduler-memory SCHEDULER_MEMORY \
    --scheduler-storage SCHEDULER_STORAGE \
    --triggerer-count TRIGGERER_COUNT \
    --triggerer-cpu TRIGGERER_CPU \
    --triggerer-memory TRIGGERER_MEMORY \
    --web-server-cpu WEB_SERVER_CPU \
    --web-server-memory WEB_SERVER_MEMORY \
    --web-server-storage WEB_SERVER_STORAGE \
    --worker-cpu WORKER_CPU \
    --worker-memory WORKER_MEMORY \
    --worker-storage WORKER_STORAGE \
    --min-workers WORKERS_MIN \
    --max-workers WORKERS_MAX

Sostituisci:

  • ENVIRONMENT_SIZE con small, medium o large.
  • SCHEDULER_COUNT con il numero di scheduler.
  • SCHEDULER_CPU con il numero di CPU per uno scheduler, in unità vCPU.
  • SCHEDULER_MEMORY con la quantità di memoria per uno scheduler.
  • SCHEDULER_STORAGE con le dimensioni del disco per uno scheduler.
  • TRIGGERER_COUNT con il numero di attivatori.
  • TRIGGERER_CPU con il numero di CPU per un triggerer, in unità vCPU.
  • TRIGGERER_MEMORY con la quantità di memoria per un trigger, espressa in GB.
  • WEB_SERVER_CPU con il numero di CPU per il server web, in unità vCPU.
  • WEB_SERVER_MEMORY con la quantità di memoria per il server web.
  • WEB_SERVER_STORAGE con la quantità di memoria per il server web.
  • WORKER_CPU con il numero di CPU per un worker, in unità vCPU.
  • WORKER_MEMORY con la quantità di memoria per un worker.
  • WORKER_STORAGE con le dimensioni del disco per un worker.
  • WORKERS_MIN con il numero minimo di worker Airflow che possono essere eseguiti dal tuo ambiente. Il numero di worker nel tuo ambiente non supera questo numero, anche se un numero inferiore di worker è in grado di gestire il carico.
  • WORKERS_MAX con il numero massimo di worker Airflow che possono essere eseguiti dal tuo ambiente. Il numero di worker nel tuo ambiente non supera questo numero, anche se è necessario un numero più elevato di worker per gestire il carico.

Esempio:

gcloud composer environments create example-environment \
    --location us-central1 \
    --image-version composer-2.6.6-airflow-2.6.3 \
    --environment-size small \
    --scheduler-count 1 \
    --scheduler-cpu 0.5 \
    --scheduler-memory 2.5GB \
    --scheduler-storage 2GB \
    --triggerer-count 1 \
    --triggerer-cpu 0.5 \
    --triggerer-memory 0.5GB \
    --web-server-cpu 1 \
    --web-server-memory 2.5GB \
    --web-server-storage 2GB \
    --worker-cpu 1 \
    --worker-memory 2GB \
    --worker-storage 2GB \
    --min-workers 2 \
    --max-workers 4

API

Quando crei un ambiente, nella risorsa Ambiente > EnvironmentConfig > WorkloadsConfig, specifica i parametri delle prestazioni e della scalabilità dell'ambiente.

{
  "name": "projects/PROJECT_ID/locations/LOCATION/environments/ENVIRONMENT_NAME",
  "config": {
    "workloadsConfig": {
      "scheduler": {
        "cpu": SCHEDULER_CPU,
        "memoryGb": SCHEDULER_MEMORY,
        "storageGb": SCHEDULER_STORAGE,
        "count": SCHEDULER_COUNT
      },
      "triggerer": {
        "count": TRIGGERER_COUNT,
        "cpu": TRIGGERER_CPU,
        "memoryGb": TRIGGERER_MEMORY
      },
      "webServer": {
        "cpu": WEB_SERVER_CPU,
        "memoryGb": WEB_SERVER_MEMORY,
        "storageGb": WEB_SERVER_STORAGE
      },
      "worker": {
        "cpu": WORKER_CPU,
        "memoryGb": WORKER_MEMORY,
        "storageGb": WORKER_STORAGE,
        "minCount": WORKERS_MIN,
        "maxCount": WORKERS_MAX
      }
    },
    "environmentSize": "ENVIRONMENT_SIZE"
  }
}

Sostituisci:

  • SCHEDULER_CPU con il numero di CPU per uno scheduler, in unità vCPU.
  • SCHEDULER_MEMORY con la quantità di memoria per uno scheduler, in GB.
  • SCHEDULER_STORAGE con le dimensioni del disco per uno scheduler, in GB.
  • SCHEDULER_COUNT con il numero di scheduler.
  • TRIGGERER_COUNT con il numero di attivatori. Il valore predefinito è 0. Hai bisogno di attivatori se vuoi utilizzare operatori differibili nei DAG.

    • Per gli ambienti di resilienza standard, utilizza un valore compreso tra 0 e 10.
    • Per ambienti altamente resilienti, utilizza 0 o un valore compreso tra 2 e 10.

      Se utilizzi almeno un attivatore, devi specificare anche i parametri TRIGGERER_CPU e TRIGGERER_MEMORY:

      • TRIGGERER_CPU configura il numero di CPU per un triggerer, in unità vCPU. Valori consentiti: 0.5, 0.75, 1.

      • TRIGGERER_MEMORY configura la quantità di memoria per un trigger. La memoria minima richiesta è uguale al numero di CPU allocate per gli attivatori. Il valore massimo consentito è uguale al numero di CPU dell'attivatore moltiplicato per 6,5.

        Ad esempio, se imposti TRIGGERER_CPU su 1, il valore minimo per TRIGGERER_MEMORY è 1 e il valore massimo è 6.5.

  • WEB_SERVER_CPU con il numero di CPU per il server web, in unità vCPU.

  • WEB_SERVER_MEMORY con la quantità di memoria per il server web, in GB.

  • WEB_SERVER_STORAGE con le dimensioni del disco per il server web, in GB.

  • WORKER_CPU con il numero di CPU per un worker, in unità vCPU.

  • WORKER_MEMORY con la quantità di memoria per un worker, in GB.

  • WORKER_STORAGE con le dimensioni del disco per un worker, in GB.

  • WORKERS_MIN con il numero minimo di worker Airflow che possono essere eseguiti dal tuo ambiente. Il numero di worker nel tuo ambiente non supera questo numero, anche se un numero inferiore di worker è in grado di gestire il carico.

  • WORKERS_MAX con il numero massimo di worker Airflow che possono essere eseguiti dal tuo ambiente. Il numero di worker nel tuo ambiente non supera questo numero, anche se è necessario un numero più elevato di worker per gestire il carico.

  • ENVIRONMENT_SIZE con la dimensione dell'ambiente, ENVIRONMENT_SIZE_SMALL, ENVIRONMENT_SIZE_MEDIUM o ENVIRONMENT_SIZE_LARGE.

Esempio:


// POST https://composer.googleapis.com/v1/{parent=projects/*/locations/*}/environments

{
  "name": "projects/example-project/locations/us-central1/environments/example-environment",
  "config": {
    "workloadsConfig": {
      "scheduler": {
        "cpu": 2.5,
        "memoryGb": 2.5,
        "storageGb": 2,
        "count": 1
      },
      "triggerer": {
        "cpu": 0.5,
        "memoryGb": 0.5,
        "count": 1
      },
      "webServer": {
        "cpu": 1,
        "memoryGb": 2.5,
        "storageGb": 2
      },
      "worker": {
        "cpu": 1,
        "memoryGb": 2,
        "storageGb": 2,
        "minCount": 2,
        "maxCount": 4
      }
    },
    "environmentSize": "ENVIRONMENT_SIZE_SMALL"
  }
}

Terraform

Quando crei un ambiente, i seguenti argomenti controllano i parametri di scalabilità e prestazioni dell'ambiente.

  • Nel blocco config:

    • Il campo environment_size controlla le dimensioni dell'ambiente.
  • Nel blocco workloads_config:

    • Il campo scheduler.cpu specifica il numero di CPU per uno scheduler Airflow.
    • Il campo scheduler.memory_gb specifica la quantità di memoria per uno scheduler Airflow.
    • Il campo scheduler.storage_gb consente di specificare la quantità di spazio su disco per uno scheduler.
    • Il campo scheduler.count consente di specificare il numero di scheduler nel tuo ambiente.
    • Il campo triggerer.cpu specifica il numero di CPU per un trigger di Airflow.
    • Il campo triggerer.memory_gb specifica la quantità di memoria per un attivatore Airflow.
    • Il campo triggerer.count consente di specificare il numero di attivatori nel tuo ambiente.
    • Il campo web_server.cpu specifica il numero di CPU per il server web Airflow.
    • Il campo web_server.memory_gb consente di specificare la quantità di memoria per il server web Airflow.
    • Il campo web_server.storage_gb specifica la quantità di spazio su disco per il server web Airflow.
    • Il campo worker.cpu specifica il numero di CPU per un worker Airflow.
    • Il campo worker.memory_gb specifica la quantità di memoria per un worker Airflow.
    • Il campo worker.storage_gb specifica la quantità di spazio su disco per un worker Airflow.
    • Il campo worker.min_count specifica il numero minimo di worker nel tuo ambiente.
    • Il campo worker.max_count specifica il numero massimo di worker nel tuo ambiente.
resource "google_composer_environment" "example" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {

    workloads_config {

      scheduler {
        cpu = SCHEDULER_CPU
        memory_gb = SCHEDULER_MEMORY
        storage_gb = SCHEDULER_STORAGE
        count = SCHEDULER_COUNT
      }
      triggerer {
        count = TRIGGERER_COUNT
        cpu = TRIGGERER_CPU
        memory_gb = TRIGGERER_MEMORY
      }
      web_server {
        cpu = WEB_SERVER_CPU
        memory_gb = WEB_SERVER_MEMORY
        storage_gb = WEB_SERVER_STORAGE
      }
      worker {
        cpu = WORKER_CPU
        memory_gb = WORKER_MEMORY
        storage_gb = WORKER_STORAGE
        min_count = WORKERS_MIN
        max_count = WORKERS_MAX
      }
    }

    environment_size = "ENVIRONMENT_SIZE"

  }
}

Sostituisci:

  • ENVIRONMENT_NAME con il nome dell'ambiente.
  • LOCATION con la regione in cui si trova l'ambiente.
  • SCHEDULER_CPU con il numero di CPU per uno scheduler, in unità vCPU.
  • SCHEDULER_MEMORY con la quantità di memoria per uno scheduler, in GB.
  • SCHEDULER_STORAGE con le dimensioni del disco per uno scheduler, in GB.
  • SCHEDULER_COUNT con il numero di scheduler.
  • TRIGGERER_COUNT con il numero di attivatori.
  • TRIGGERER_CPU con il numero di CPU per un triggerer, in unità vCPU.
  • TRIGGERER_MEMORY con la quantità di memoria per un trigger, espressa in GB.
  • WEB_SERVER_CPU con il numero di CPU per il server web, in unità vCPU.
  • WEB_SERVER_MEMORY con la quantità di memoria per il server web, in GB.
  • WEB_SERVER_STORAGE con le dimensioni del disco per il server web, in GB.
  • WORKER_CPU con il numero di CPU per un worker, in unità vCPU.
  • WORKER_MEMORY con la quantità di memoria per un worker, in GB.
  • WORKER_STORAGE con le dimensioni del disco per un worker, in GB.
  • WORKERS_MIN con il numero minimo di worker Airflow che possono essere eseguiti dal tuo ambiente. Il numero di worker nel tuo ambiente non supera questo numero, anche se un numero inferiore di worker è in grado di gestire il carico.
  • WORKERS_MAX con il numero massimo di worker Airflow che possono essere eseguiti dal tuo ambiente. Il numero di worker nel tuo ambiente non supera questo numero, anche se è necessario un numero più elevato di worker per gestire il carico.
  • ENVIRONMENT_SIZE con la dimensione dell'ambiente, ENVIRONMENT_SIZE_SMALL, ENVIRONMENT_SIZE_MEDIUM o ENVIRONMENT_SIZE_LARGE.

Esempio:

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "example-environment"
  region = "us-central1"

  config {

    workloads_config {

      scheduler {
        cpu = 2.5
        memory_gb = 2.5
        storage_gb = 2
        count = 1
      }
      triggerer {
        count = 1
        cpu = 0.5
        memory_gb = 0.5
      }
      web_server {
        cpu = 1
        memory_gb = 2.5
        storage_gb = 2
      }
      worker {
        cpu = 1
        memory_gb = 2
        storage_gb = 2
        min_count = 2
        max_count = 4
      }
    }

    environment_size = "ENVIRONMENT_SIZE_SMALL"

  }
}

Passaggio 5: (Facoltativo) Abilita la modalità ad alta resilienza

Gli ambienti Cloud Composer ad alta resilienza sono Cloud Composer 2 che utilizzano meccanismi di ridondanza e failover integrati per ridurre la suscettibilità dell'ambiente a errori a livello di zona e interruzioni single point of failure.

Un ambiente altamente resiliente viene eseguito in almeno due zone della regione selezionata. Esattamente due scheduler Airflow, due server web e almeno due triggerer (se il numero di triggerer non è impostato su 0) vengono eseguiti in zone separate. Il numero minimo di worker è impostato su due e il cluster del tuo ambiente distribuisce le istanze worker tra le zone. In caso di interruzione di una zona, le istanze worker interessate vengono ripianificate in una zona diversa. Il database Cloud SQL di un ambiente altamente resiliente è un'istanza a livello di regione con un'istanza principale e un'istanza in standby.

Console

Nella pagina Crea ambiente:

  1. Nella sezione Modalità di resilienza, seleziona Alta resilienza.

  2. Nella sezione Risorse di ambiente, seleziona i parametri di scalabilità per un ambiente altamente resiliente. Gli ambienti altamente resilienti richiedono esattamente due scheduler, da zero o da due a dieci triggerer, e almeno due worker:

    1. Fai clic su Custom (Personalizzate).

    2. Nell'elenco a discesa Numero di scheduler, seleziona 2.

    3. Nell'elenco a discesa Numero di attivatori, seleziona 0 o un valore compreso tra 2 e 10. Configura l'allocazione di CPU e memoria per i tuoi trigger.

    4. Nell'elenco a discesa Numero minimo di worker, seleziona 2 o più, a seconda del numero di worker richiesto.

  3. Nella sezione Configurazione di rete:

    1. In Tipo di rete, seleziona Ambiente IP privato.

    2. Se necessario, specifica altri parametri di rete.

gcloud

Quando crei un ambiente, l'argomento --enable-high-resilience attiva la modalità ad alta resilienza.

Imposta i seguenti argomenti:

  • --enable-high-resilience
  • --enable-private-environment e altri parametri di rete per un ambiente IP privato, se necessario
  • Da --scheduler-count a 2
  • Da --triggerer-count a 0 o un numero compreso tra 2 e 10

Se utilizzi gli attivatori, sono richiesti anche i flag --triggerer-cpu e --triggerer-memory per la creazione dell'ambiente:

- `--triggerer-cpu` specifies the number of CPUs for an Airflow triggerer.
Allowed values: `0.5`, `0.75`, `1`.

- `--triggerer-memory` specifies the amount of memory for an Airflow
triggerer. The minimum required memory is equal to the number of
CPUs allocated for the triggerers. The maximum allowed value is
equal to the number of triggerer CPUs multiplied by 6.5.

For example, if you set the `--triggerer-cpu` flag to `1`, the
**minimum value** for `--triggerer-memory` is `1` and the
**maximum value** is `6.5`.
  • Da --min-workers a 2 o più
gcloud composer environments create ENVIRONMENT_NAME \
    --location LOCATION \
    --image-version composer-2.6.6-airflow-2.6.3 \
    --enable-high-resilience \
    --enable-private-environment \
    --scheduler-count 2 \
    --triggerer-count 2 \
    --triggerer-cpu 0.5 \
    --triggerer-memory 0.5 \
    --min-workers 2

API

Quando crei un ambiente, nella risorsa Ambiente > EnvironmentConfig, abilita la modalità ad alta resilienza.

{
  "name": "projects/PROJECT_ID/locations/LOCATION/environments/ENVIRONMENT_NAME",
  "config": {
    "resilience_mode": "HIGH_RESILIENCE"
  }
}

Esempio:


// POST https://composer.googleapis.com/v1/{parent=projects/*/locations/*}/environments

{
  "name": "projects/example-project/locations/us-central1/environments/example-environment",
  "config": {
    "resilience_mode": "HIGH_RESILIENCE"
  }
}

Terraform

Quando crei un ambiente, il campo resilience_mode nel blocco config consente la modalità ad alta resilienza.

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {

    resilience_mode = "HIGH_RESILIENCE"

  }
}

Esempio:

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "example-environment"
  region = "us-central1"

  config {

    resilience_mode = "HIGH_RESILIENCE"

}

Passaggio 6: (Facoltativo) Specifica una zona per il database dell'ambiente

Puoi specificare una zona Cloud SQL preferita durante la creazione di un ambiente di resilienza standard.

Console

Nella pagina Crea ambiente:

  1. Nella sezione Configurazione avanzata, espandi l'elemento Mostra configurazione avanzata.

  2. Nell'elenco Zona di database Airflow, seleziona una zona Cloud SQL preferita.

gcloud

Quando crei un ambiente, l'argomento --cloud-sql-preferred-zone specifica una zona Cloud SQL preferita.

gcloud composer environments create ENVIRONMENT_NAME \
    --location LOCATION \
    --image-version composer-2.6.6-airflow-2.6.3 \
    --cloud-sql-preferred-zone SQL_ZONE

Sostituisci quanto segue:

  • SQL_ZONE: zona Cloud SQL preferita. Questa zona deve trovarsi nella regione in cui si trova l'ambiente.

Esempio:

gcloud composer environments create example-environment \
    --location us-central1 \
    --image-version composer-2.6.6-airflow-2.6.3 \
    --cloud-sql-preferred-zone us-central1-a

API

Quando crei un ambiente, nella risorsa Ambiente > DatabaseConfig, specifica la zona Cloud SQL preferita.

{
  "name": "projects/PROJECT_ID/locations/LOCATION/environments/ENVIRONMENT_NAME",
  "config": {
    "databaseConfig": {
      "zone": "SQL_ZONE"
    }
  }
}

Sostituisci quanto segue:

  • SQL_ZONE: zona Cloud SQL preferita. Questa zona deve trovarsi nella regione in cui si trova l'ambiente.

Esempio:


// POST https://composer.googleapis.com/v1/{parent=projects/*/locations/*}/environments

{
  "name": "projects/example-project/locations/us-central1/environments/example-environment",
  "config": {
    "databaseConfig": {
      "zone": "us-central1-a"
    }
  }
}

Terraform

Quando crei un ambiente, il campo zone nel blocco database_config specifica la zona Cloud SQL preferita.

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {
    database_config {
      zone = "SQL_ZONE"
    }
  }
}

Sostituisci quanto segue:

  • SQL_ZONE: zona Cloud SQL preferita. Questa zona deve trovarsi nella regione in cui si trova l'ambiente.

Passaggio 7: (Facoltativo) Configurare il networking dell'ambiente

I parametri di Networking dipendono dal tipo di ambiente che vuoi creare:

  • Ambiente IP pubblico: utilizza i parametri di rete predefiniti.

  • Ambiente IP privato (con PSC). In questa configurazione, il tuo ambiente utilizza Private Service Connect per la connettività.

    Configura il tuo ambiente IP privato:

    1. Configura il networking del progetto per gli ambienti IP privati.
    2. Configura Private Service Connect quando crei l'ambiente.
    3. Specifica altri parametri per l'ambiente IP privato, come descritto in dettaglio in questa sezione.

    Per un ambiente IP privato con PSC, devi conoscere:

    • Il tuo ID rete VPC
    • L'ID della tua subnet VPC
    • Due intervalli IP secondari nella subnet VPC:

      • Intervallo IP secondario per i pod
      • Intervallo IP secondario per i servizi
    • Intervalli IP per i componenti dell'ambiente:

      • Intervallo IP del piano di controllo GKE. per il piano di controllo GKE.
      • Subnet di connessione Cloud Composer. Intervallo IP per la subnet di connessione Cloud Composer.
  • Ambiente IP privato (peering VPC). In questa configurazione, il tuo ambiente utilizza i peering VPC per la connettività.

    Configura il tuo ambiente IP privato:

    1. Configura il networking del progetto per gli ambienti IP privati.
    2. Specifica altri parametri per l'ambiente IP privato, come descritto più avanti in questa sezione.

    Per un ambiente IP privato con peering VPC, devi conoscere:

    • Il tuo ID rete VPC
    • L'ID della tua subnet VPC
    • Due intervalli IP secondari nella subnet VPC:

      • Intervallo IP secondario per i pod
      • Intervallo IP secondario per i servizi
    • Intervalli IP per i componenti dell'ambiente:

      • Intervallo IP per il piano di controllo GKE.

      • Intervallo IP per il peering VPC per esportare dalla rete Cloud Composer interna alla rete selezionata. I componenti dell'infrastruttura di Cloud Composer utilizzano gli indirizzi IP di questo intervallo.

      • Intervallo IP per l'istanza Cloud SQL.

  • Per un ambiente VPC condiviso, devi eseguire una configurazione di rete aggiuntiva per il progetto host, quindi creare un ambiente IP pubblico o privato in un progetto di servizio. Segui le istruzioni nella pagina Configurazione del VPC condiviso.

    Per un ambiente VPC condiviso, devi conoscere:

    • L'ID di rete VPC del progetto host
    • L'ID della subnet VPC del progetto host
    • Due intervalli IP secondari nella subnet VPC del progetto host:

      • Intervallo IP secondario per i pod
      • Intervallo IP secondario per i servizi

    Quando crei un ambiente VPC condiviso con IP pubblico, devi comunque specificare la rete VPC, la subnet e gli intervalli IP secondari del progetto host per pod e servizi.

  • Per creare un ambiente SC VPC, devi creare un perimetro di servizio e, quindi, creare ambienti IP privati all'interno di questo perimetro. Segui le istruzioni descritte in Configurazione dei Controlli di servizio VPC.

  • Ulteriori opzioni di networking per gli ambienti sono:

    • Indirizzi IP pubblici utilizzati privatamente. Se vuoi utilizzare più indirizzi IP, il tuo ambiente può utilizzare privatamente determinati intervalli di indirizzi IP pubblici come intervalli di indirizzi IP di subnet interni per pod e servizi.
    • Reti autorizzate. Se vuoi accedere al piano di controllo del tuo ambiente IP privato utilizzando HTTPS, puoi utilizzare le reti autorizzate per specificare intervalli CIDR in grado di farlo.

    • Agente di mascheramento IP. Se utilizzi gli ambienti con l'agente Masquerade IP, puoi utilizzare traduzioni di indirizzi IP many-to-one nelle configurazioni di networking del tuo ambiente. Per ulteriori informazioni sulla creazione di ambienti con l'agente di mascheramento IP, consulta Abilitare l'agente di mascheramento IP.

Console

Per creare un ambiente IP privato:

  1. Assicurati che il networking sia configurato per il tipo di ambiente che vuoi creare.

  2. Nella sezione Configurazione di rete, espandi l'elemento Mostra configurazione di rete.

  3. Nell'elenco a discesa Rete, seleziona il tuo ID rete VPC.

  4. Nell'elenco a discesa Subnet, seleziona l'ID della tua subnet VPC.

  5. Nella sezione Intervallo IP secondario per i pod, seleziona o specifica l'intervallo IP secondario per i pod. Puoi utilizzare un intervallo secondario esistente nella tua rete VPC oppure scegliere di usare un intervallo creato automaticamente.

  6. Nella sezione Intervallo IP secondario per i servizi, seleziona o specifica l'intervallo IP secondario per i servizi. Puoi utilizzare un intervallo secondario esistente nella tua rete VPC o scegliere di utilizzare un intervallo creato automaticamente.

  7. Nella sezione Tipo di networking, seleziona l'opzione Ambiente IP privato per creare un ambiente IP privato.

  8. Nella sezione Connettività del compositore, seleziona il tipo di networking per il tuo ambiente e specifica gli intervalli IP per i componenti dell'ambiente:

    Per un ambiente che utilizza Private Service Connect:

    1. Seleziona Private Service Connect per un ambiente che utilizza Private Service Connect.

    2. Nella sezione Subnet di connessione Composer, specifica un intervallo IP per la subnet di connessione Cloud Composer. In questo intervallo viene selezionato l'indirizzo dell'endpoint PSC. Puoi specificare un intervallo personalizzato o scegliere di utilizzare quello predefinito.

    Per un ambiente che utilizza i peering VPC:

    1. Seleziona Peering VPC per un ambiente che utilizza i peering VPC.

    2. Nella sezione Intervallo IP per la rete tenant di Composer, specifica un intervallo IP per la rete tenant di Cloud Composer. Questa rete ospita il componente proxy SQL del tuo ambiente. Puoi specificare un intervallo personalizzato o scegliere di utilizzare quello predefinito.

    3. Nella sezione Intervallo IP per la rete Cloud SQL, specifica un intervallo IP per l'istanza Cloud SQL. Puoi specificare un intervallo personalizzato o scegliere di utilizzare quello predefinito.

  9. Nella sezione Intervallo IP per la rete del piano di controllo GKE, specifica un intervallo IP per il piano di controllo GKE:

    • Per utilizzare l'intervallo IP predefinito per la regione in cui si trova l'ambiente, seleziona Intervallo IP predefinito.

    • Per specificare un intervallo IP personalizzato, seleziona Intervallo IP personalizzato e inserisci un intervallo nella notazione CIDR nel campo IP privato del master del cluster GKE.

  10. Seleziona il livello di accesso per il piano di controllo GKE. Il piano di controllo ha due endpoint. Un endpoint è privato per l'uso da parte di nodi cluster e VM. Un altro endpoint è pubblico. Puoi specificare il livello di accesso per l'endpoint pubblico:

    • Per abilitare l'accesso all'endpoint pubblico dalle reti autorizzate, seleziona la casella di controllo Accedi all'endpoint del piano di controllo del cluster utilizzando il relativo indirizzo IP esterno.

      Utilizzando questa opzione il livello di accesso per il piano di controllo viene impostato su "Accesso a endpoint pubblici abilitati, reti autorizzate abilitate". Ciò fornisce l'accesso limitato al piano di controllo da parte delle reti autorizzate. Per impostazione predefinita, non viene specificato alcun indirizzo IP di origine. Puoi aggiungere reti autorizzate al provider.

    • Per disabilitare l'accesso all'endpoint pubblico dalle reti autorizzate, deseleziona la casella di controllo Accedi all'endpoint del piano di controllo del cluster utilizzando il relativo indirizzo IP esterno.

      L'utilizzo di questa opzione imposta il livello di accesso per il piano di controllo su "Accesso endpoint pubblico disabilitato". Questo impedisce al piano di controllo di accedere a internet del tutto.

gcloud

Assicurati che il networking sia configurato per il tipo di ambiente che vuoi creare.

Quando crei un ambiente, i seguenti argomenti controllano i parametri di networking. Se ometti un parametro, viene utilizzato il valore predefinito.

  • --enable-private-environment abilita un ambiente IP privato.

  • --network specifica il tuo ID rete VPC.

  • --subnetwork specifica l'ID della tua subnet VPC.

  • --cluster-secondary-range-name o --cluster-ipv4-cidr configura l'intervallo secondario per i pod.

  • --services-secondary-range-name o--services-ipv4-cidr per configurare l'intervallo secondario per i servizi.

  • --master-ipv4-cidr specifica un intervallo per il piano di controllo GKE.

  • (Ambienti con PSC) --connection-subnetwork specifica un intervallo per la subnet di connessione Cloud Composer che ospita l'endpoint PSC.

  • (Ambienti con peering VPC) --composer-network-ipv4-cidr specifica un intervallo per la rete tenant di Cloud Composer. Questa rete ospita il componente proxy SQL del tuo ambiente.

  • (Ambienti con peering VPC) --cloud-sql-ipv4-cidr specifica un intervallo per l'istanza Cloud SQL.

  • --enable-private-endpoint controlla l'accesso a livello per il piano di controllo GKE. Il piano di controllo ha due endpoint. Un endpoint è privato e può essere utilizzato dai nodi del cluster e dalle VM. Un altro endpoint è pubblico. Puoi specificare il livello di accesso per l'endpoint pubblico:

    • Per abilitare l'accesso all'endpoint pubblico dalle reti autorizzate, ometti l'argomento --enable-private-endpoint.

      Se utilizzi questa opzione, il livello di accesso per il piano di controllo viene impostato su "Accesso agli endpoint pubblico abilitato, reti autorizzate abilitate". Ciò fornisce l'accesso limitato al piano di controllo dalle reti autorizzate. Per impostazione predefinita, non viene specificato alcun indirizzo IP di origine. Puoi aggiungere reti autorizzate al negozio.

    • Per disabilitare l'accesso all'endpoint pubblico dalle reti autorizzate, specifica l'argomento --enable-private-endpoint.

      Questa opzione consente di impostare il livello di accesso per il piano di controllo su "Accesso agli endpoint pubblico disabilitato". Questo impedisce al piano di controllo di accedere a internet del tutto.

  • --enable-ip-masq-agent attiva l'agente di mascheramento IP.

gcloud composer environments create ENVIRONMENT_NAME \
  --location LOCATION \
  --image-version composer-2.6.6-airflow-2.6.3 \
  --enable-private-environment \
  --network NETWORK_ID \
  --subnetwork SUBNETWORK_ID \
  --cluster-ipv4-cidr PODS_RANGE \
  --services-ipv4-cidr SERVICES_RANGE \
  --master-ipv4-cidr CONTROL_PLANE_RANGE \
  --connection-subnetwork COMPOSER_PSC_RANGE \

Sostituisci:

  • NETWORK_ID con il tuo ID rete VPC.
  • SUBNETWORK_ID con l'ID della tua subnet VPC.
  • PODS_RANGE con l'intervallo secondario per i pod.
  • SERVICES_RANGE con l'intervallo secondario per i servizi.
  • CONTROL_PLANE_RANGE con l'intervallo secondario per il piano di controllo GKE.

  • COMPOSER_PSC_RANGE con l'intervallo per la subnet di connessione di Cloud Composer.

Passaggio 8: (Facoltativo) Aggiungi tag di rete

I tag di rete vengono applicati a tutte le VM dei nodi nel cluster del tuo ambiente. I tag vengono utilizzati per identificare origini o destinazioni valide per i firewall di rete. Ogni tag nell'elenco deve essere conforme allo standard RFC 1035.

Ad esempio, potrebbe essere opportuno aggiungere tag di rete se intendi limitare il traffico per un ambiente IP privato con regole firewall.

Console

Nella pagina Crea ambiente:

  1. Individua la sezione Configurazione di rete.
  2. Nel campo Tag di rete, inserisci i tag di rete per il tuo ambiente.

gcloud

Quando crei un ambiente, i seguenti argomenti controllano i tag di rete:

  • --tags specifica un elenco separato da virgole di tag di rete applicati a tutte le VM dei nodi.
gcloud composer environments create ENVIRONMENT_NAME \
    --location LOCATION \
    --image-version composer-2.6.6-airflow-2.6.3 \
    --tags TAGS

Sostituisci:

  • TAGS con un elenco separato da virgole di tag di rete.

Esempio:

gcloud composer environments create example-environment \
    --location us-central1 \
    --image-version composer-2.6.6-airflow-2.6.3 \
    --tags group1,production

API

Quando crei un ambiente, nella risorsa Ambiente > EnvironmentConfig, specifica i tag di rete per l'ambiente.

{
  "name": "projects/PROJECT_ID/locations/LOCATION/environments/ENVIRONMENT_NAME",
  "config": {
    "nodeConfig": {
      "tags": [
        "TAG"
      ]
    }
  }
}

Sostituisci:

  • TAG con un tag di rete.

Esempio:

// POST https://composer.googleapis.com/v1/{parent=projects/*/locations/*}/environments

{
  "name": "projects/example-project/locations/us-central1/environments/example-environment",
  "config": {
    "nodeConfig": {
      "tags": [
        "group1",
        "production"
      ]
    }
  }
}

Terraform

Quando crei un ambiente, i seguenti campi definiscono i tag di rete per l'ambiente:

  • Il campo tags nel blocco node_config specifica un elenco separato da virgole di tag di rete applicati a tutte le VM dei nodi.
resource "google_composer_environment" "example" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {

    node_config {
      tags = ["TAGS"]
    }
  }
}

Sostituisci:

  • TAGS con un elenco separato da virgole di tag di rete.

Esempio:

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "example-environment"
  region = "us-central1"

  config {
    node_config {
      tags = ["group1","production"]
    }
  }
}

Passaggio 9: (Facoltativo) Configurare l'accesso alla rete al server web

I parametri di accesso al server web di Airflow non dipendono dal tipo di ambiente. In alternativa, puoi configurare l'accesso al server web separatamente. Ad esempio, un ambiente IP privato può comunque avere la UI di Airflow accessibile da internet.

Al momento non puoi configurare gli intervalli IP consentiti utilizzando indirizzi IP privati.

Console

Nella pagina Crea ambiente:

  1. Nella sezione Configurazione di rete, espandi l'elemento Mostra configurazione di rete.

  2. Nella sezione Controllo accesso rete server web:

    • Per fornire l'accesso al server web Airflow da tutti gli indirizzi IP, seleziona Consenti l'accesso da tutti gli indirizzi IP.

    • Per limitare l'accesso solo a intervalli IP specifici, seleziona Consenti l'accesso solo da indirizzi IP specifici. Nel campo Intervallo IP, specifica un intervallo IP nella notazione CIDR. Nel campo Descrizione, specifica una descrizione facoltativa per l'intervallo. Se vuoi specificare più di un intervallo, fai clic su Aggiungi intervallo IP.

    • Per vietare l'accesso per tutti gli indirizzi IP, seleziona Consenti l'accesso solo da indirizzi IP specifici e fai clic su Elimina elemento accanto alla voce dell'intervallo vuoto.

gcloud

Quando crei un ambiente, i seguenti argomenti controllano il livello di accesso al server web:

  • --web-server-allow-all fornisce l'accesso a Airflow da tutti gli indirizzi IP. Questa è l'opzione predefinita.

  • --web-server-allow-ip limita l'accesso solo a intervalli IP di origine specifici. Per specificare diversi intervalli IP, utilizza questo argomento più volte.

  • --web-server-deny-all vieta l'accesso per tutti gli indirizzi IP.

gcloud composer environments create ENVIRONMENT_NAME \
    --location LOCATION \
    --image-version composer-2.6.6-airflow-2.6.3 \
    --web-server-allow-ip ip_range=WS_IP_RANGE,description=WS_RANGE_DESCRIPTION

Sostituisci:

  • WS_IP_RANGE con l'intervallo IP, nella notazione CIDR, che può accedere alla UI di Airflow.
  • WS_RANGE_DESCRIPTION con la descrizione dell'intervallo IP.

Esempio:

gcloud composer environments create example-environment \
    --location us-central1 \
    --image-version composer-2.6.6-airflow-2.6.3 \
    --web-server-allow-ip ip_range=192.0.2.0/24,description="office net 1" \
    --web-server-allow-ip ip_range=192.0.4.0/24,description="office net 3"

API

Quando crei un ambiente, nella risorsa Ambiente > EnvironmentConfig, specifica i parametri di accesso al server web.

  • Per fornire l'accesso al server web Airflow da tutti gli indirizzi IP, ometti webServerNetworkAccessControl.

  • Per limitare l'accesso solo a intervalli IP specifici, specifica uno o più intervalli in allowedIpRanges.

  • Per vietare l'accesso per tutti gli indirizzi IP, aggiungi allowedIpRanges e rendilo un elenco vuoto. Non specificare al suo interno intervalli IP.

{
  "name": "projects/PROJECT_ID/locations/LOCATION/environments/ENVIRONMENT_NAME",
  "config": {
    "webServerNetworkAccessControl": {
      "allowedIpRanges": [
        {
          "value": "WS_IP_RANGE",
          "description": "WS_RANGE_DESCRIPTION"
        }
      ]
    }
  }
}

Sostituisci:

  • WS_IP_RANGE con l'intervallo IP, nella notazione CIDR, che può accedere alla UI di Airflow.
  • WS_RANGE_DESCRIPTION con la descrizione dell'intervallo IP.

Esempio:


// POST https://composer.googleapis.com/v1/{parent=projects/*/locations/*}/environments

{
  "name": "projects/example-project/locations/us-central1/environments/example-environment",
  "config": {
    "webServerNetworkAccessControl": {
      "allowedIpRanges": [
        {
          "value": "192.0.2.0/24",
          "description": "office net 1"
        },
        {
          "value": "192.0.4.0/24",
          "description": "office net 3"
        }
      ]
    }
  }
}

Terraform

Quando crei un ambiente, il blocco allowed_ip_range nel blocco web_server_network_access_control contiene intervalli IP che possono accedere al server web.

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {

    web_server_network_access_control {

      allowed_ip_range {
        value = "WS_IP_RANGE"
        description = "WS_RANGE_DESCRIPTION"
      }

    }

  }
}

Sostituisci:

  • WS_IP_RANGE con l'intervallo IP, nella notazione CIDR, che può accedere alla UI di Airflow.
  • WS_RANGE_DESCRIPTION con la descrizione dell'intervallo IP.

Esempio:

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "example-environment"
  region = "us-central1"

  config {

    web_server_network_access_control {
      allowed_ip_range {
        value = "192.0.2.0/24"
        description = "office net 1"
      },
      allowed_ip_range {
        value = "192.0.4.0/24"
        description = "office net 3"
      }

    }
}

Passaggio 10: (Facoltativo) Specifica gli override della configurazione di Airflow e le variabili di ambiente

Puoi impostare gli override della configurazione di Airflow e le variabili di ambiente quando crei un ambiente. In alternativa, puoi farlo in un secondo momento, dopo la creazione dell'ambiente.

Alcune opzioni di configurazione di Airflow sono bloccate e non puoi eseguirne l'override.

Per l'elenco delle opzioni di configurazione di Airflow disponibili, consulta il riferimento sulla configurazione di Airflow 2 e Airflow 1.10.*

Per specificare gli override della configurazione di Airflow e le variabili di ambiente:

Console

Nella pagina Crea ambiente:

  1. Nella sezione Variabili di ambiente, fai clic su Aggiungi variabile di ambiente.

  2. Inserisci il nome e il valore per la variabile di ambiente.

  3. Nella sezione Override della configurazione Airflow, fai clic su Aggiungi override della configurazione di Airflow.

  4. Inserisci la Sezione, la Chiave e il Valore per l'override dell'opzione di configurazione.

    Ad esempio:

    Sezione Chiave Valore
    webserver dag_orientation TB

gcloud

Quando crei un ambiente, i seguenti argomenti controllano le variabili di ambiente e gli override della configurazione di Airflow:

  • --env-variables specifica un elenco di variabili di ambiente separate da virgole.

    I nomi delle variabili possono contenere lettere maiuscole e minuscole, numeri e trattini bassi, ma non possono iniziare con un numero.

  • --airflow-configs specifica un elenco separato da virgole di chiavi e valori per gli override della configurazione Airflow.

gcloud composer environments create ENVIRONMENT_NAME \
    --location LOCATION \
    --image-version composer-2.6.6-airflow-2.6.3 \
    --env-variables ENV_VARS \
    --airflow-configs CONFIG_OVERRIDES

Sostituisci:

  • ENV_VARS con un elenco di coppie NAME=VALUE separate da virgole per le variabili di ambiente.
  • CONFIG_OVERRIDES con un elenco di coppie SECTION-KEY=VALUE separate da virgole per gli override della configurazione. Separa il nome della sezione di configurazione con un simbolo -, seguito dal nome della chiave. Ad esempio: core-dags_are_paused_at_creation.

Esempio:

gcloud composer environments create example-environment \
    --location us-central1 \
    --image-version composer-2.6.6-airflow-2.6.3 \
    --env-variables SENDGRID_MAIL_FROM=user@example.com,SENDGRID_API_KEY=example-key \
    --airflow-configs core-dags_are_paused_at_creation=True,webserver-dag_orientation=TB

API

Quando crei un ambiente, nella risorsa Ambiente > EnvironmentConfig, specifica le variabili di ambiente e gli override della configurazione di Airflow.

{
  "name": "projects/PROJECT_ID/locations/LOCATION/environments/ENVIRONMENT_NAME",
  "config": {
    "softwareConfig": {
      "airflowConfigOverrides": {
        "SECTION-KEY": "OVERRIDE_VALUE"
      },
      "envVariables": {
        "VAR_NAME": "VAR_VALUE",
      }
    }
  }
}

Sostituisci:

  • SECTION con la sezione del file di configurazione in cui si trova l'opzione di configurazione di Airflow.
  • KEY con il nome dell'opzione di configurazione Airflow.
  • OVERRIDE_VALUE con un valore dell'opzione di configurazione Airflow.
  • VAR_NAME con il nome della variabile di ambiente.
  • VAR_VALUE con il valore della variabile di ambiente.

Esempio:

// POST https://composer.googleapis.com/v1/{parent=projects/*/locations/*}/environments

{
  "name": "projects/example-project/locations/us-central1/environments/example-environment",
  "config": {
    "softwareConfig": {
      "airflowConfigOverrides": {
        "core-dags_are_paused_at_creation": "True",
        "webserver-dag_orientation": "TB"
      },
      "envVariables": {
        "SENDGRID_MAIL_FROM": "user@example.com",
        "SENDGRID_API_KEY": "example-key"
      }
    }
  }
}

Terraform

Quando crei un ambiente, i seguenti blocchi controllano le variabili di ambiente e gli override della configurazione di Airflow:

  • Il blocco env_variables nel blocco software_config specifica le variabili di ambiente.

    I nomi delle variabili possono contenere lettere maiuscole e minuscole, numeri e trattini bassi, ma non possono iniziare con un numero.

  • Il blocco airflow_config_overrides nel blocco software_config specifica gli override della configurazione di Airflow.

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {

    software_config {

      airflow_config_overrides = {
        SECTION-KEY = "OVERRIDE_VALUE"
      }

      env_variables = {
        VAR_NAME = "VAR_VALUE"
      }
    }
  }
}

Sostituisci:

  • SECTION con la sezione del file di configurazione in cui si trova l'opzione di configurazione di Airflow.
  • KEY con il nome dell'opzione di configurazione Airflow.
  • OVERRIDE_VALUE con un valore dell'opzione di configurazione Airflow.
  • VAR_NAME con il nome della variabile di ambiente.
  • VAR_VALUE con il valore della variabile di ambiente.

Esempio:

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "example-environment"
  region = "us-central1"

  config {

    software_config {

      airflow_config_overrides = {
        core-dags_are_paused_at_creation = "True"
        webserver-dag_orientation = "TB"
      }

      env_variables = {
        SENDGRID_MAIL_FROM = "user@example.com"
        SENDGRID_API_KEY = "example-key"
      }
    }
  }
}

Passaggio 11: (Facoltativo) Specifica i periodi di manutenzione

Per impostazione predefinita, i periodi di manutenzione vanno dalle 00:00:00 alle 04:00:00 (GMT) il venerdì, il sabato e la domenica di ogni settimana.

Per definire i periodi di manutenzione per il tuo ambiente:

Console

Nella pagina Crea ambiente:

  1. Nell'elenco a discesa Fuso orario, scegli un fuso orario per i periodi di manutenzione.

  2. Imposta Ora di inizio, Giorni e Lunghezza, in modo che il tempo combinato per la pianificazione specificata sia di almeno 12 ore in una finestra temporale di 7 giorni. Ad esempio, un periodo di 4 ore ogni lunedì, mercoledì e venerdì fornisce il tempo richiesto.

gcloud

I seguenti argomenti definiscono i parametri del periodo di manutenzione:

  • --maintenance-window-start imposta l'ora di inizio di una finestra di manutenzione.
  • --maintenance-window-end imposta l'ora di fine di un periodo di manutenzione.
  • --maintenance-window-recurrence imposta la ricorrenza del periodo di manutenzione.
gcloud composer environments create ENVIRONMENT_NAME \
    --location LOCATION \
    --image-version composer-2.6.6-airflow-2.6.3 \
    --maintenance-window-start 'DATETIME_START' \
    --maintenance-window-end 'DATETIME_END' \
    --maintenance-window-recurrence 'MAINTENANCE_RECURRENCE'

Sostituisci:

  • ENVIRONMENT_NAME con il nome dell'ambiente.
  • DATETIME_START con la data e l'ora di inizio nel formato di input di data/ora. Viene utilizzata solo l'ora del giorno specificata. La data specificata viene ignorata.
  • DATETIME_END con la data e l'ora di fine nel formato di input di data/ora. Viene utilizzata solo l'ora del giorno specificata. La data specificata viene ignorata. La data e l'ora specificate devono essere successive alla data di inizio.
  • MAINTENANCE_RECURRENCE con una RRULE RFC 5545 per la ricorrenza di finestre di manutenzione. Cloud Composer supporta due formati:

  • Il formato FREQ=DAILY specifica una ricorrenza giornaliera.

  • Il formato FREQ=WEEKLY;BYDAY=SU,MO,TU,WE,TH,FR,SA specifica una ricorrenza nei giorni della settimana selezionati.

L'esempio seguente specifica un periodo di manutenzione di sei ore tra l'01:00 e le 07:00 (UTC) il mercoledì, il sabato e la domenica. La data del 1° gennaio 2023 viene ignorata.

gcloud composer environments create example-environment \
  --location us-central1 \
  --image-version composer-2.6.6-airflow-2.6.3 \
  --maintenance-window-start '2023-01-01T01:00:00Z' \
  --maintenance-window-end '2023-01-01T07:00:00Z' \
  --maintenance-window-recurrence 'FREQ=WEEKLY;BYDAY=SU,WE,SA'

API

Quando crei un ambiente, nella risorsa Ambiente > EnvironmentConfig specifica i parametri delle finestre di manutenzione:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/environments/ENVIRONMENT_NAME",
  "config": {
    "maintenanceWindow": {
        "startTime": "DATETIME_START",
        "endTime": "DATETIME_END",
        "recurrence": "MAINTENANCE_RECURRENCE"
    }
  }
}

Sostituisci:

  • DATETIME_START con la data e l'ora di inizio nel formato di input di data/ora. Viene utilizzata solo l'ora del giorno specificata. La data specificata viene ignorata.
  • DATETIME_END con la data e l'ora di fine nel formato di input di data/ora. Viene utilizzata solo l'ora del giorno specificata. La data specificata viene ignorata. La data e l'ora specificate devono essere successive alla data di inizio.
  • MAINTENANCE_RECURRENCE con una RRULE RFC 5545 per la ricorrenza dei periodi di manutenzione. Cloud Composer supporta due formati:

  • Il formato FREQ=DAILY specifica una ricorrenza giornaliera.

  • Il formato FREQ=WEEKLY;BYDAY=SU,MO,TU,WE,TH,FR,SA specifica una ricorrenza nei giorni della settimana selezionati.

L'esempio seguente specifica un periodo di manutenzione di sei ore tra l'01:00 e le 07:00 (UTC) il mercoledì, il sabato e la domenica. La data del 1° gennaio 2023 viene ignorata.

Esempio:

// POST https://composer.googleapis.com/v1/{parent=projects/*/locations/*}/environments

{
  "name": "projects/example-project/locations/us-central1/environments/example-environment",
  "config": {
    "maintenanceWindow": {
        "startTime": "2023-01-01T01:00:00Z",
        "endTime": "2023-01-01T07:00:00Z",
        "recurrence": "FREQ=WEEKLY;BYDAY=SU,WE,SA"
    }
  }
}

Terraform

Il blocco maintenance_window specifica i periodi di manutenzione per il tuo ambiente:

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {
    maintenance_window {
      start_time = "DATETIME_START"
      end_time = "DATETIME_END"
      recurrence = "MAINTENANCE_RECURRENCE"
    }
  }
}

Sostituisci:

  • DATETIME_START con la data e l'ora di inizio nel formato di input di data/ora. Viene utilizzata solo l'ora del giorno specificata. La data specificata viene ignorata.
  • DATETIME_END con la data e l'ora di fine nel formato di input di data/ora. Viene utilizzata solo l'ora del giorno specificata. La data specificata viene ignorata. La data e l'ora specificate devono essere successive alla data di inizio.
  • MAINTENANCE_RECURRENCE con una RRULE RFC 5545 per la ricorrenza dei periodi di manutenzione. Cloud Composer supporta due formati:

    • Il formato FREQ=DAILY specifica una ricorrenza giornaliera.
    • Il formato FREQ=WEEKLY;BYDAY=SU,MO,TU,WE,TH,FR,SA specifica una ricorrenza nei giorni della settimana selezionati.

L'esempio seguente specifica un periodo di manutenzione di sei ore tra l'01:00 e le 07:00 (UTC) il mercoledì, il sabato e la domenica. La data del 1° gennaio 2023 viene ignorata.

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "example-environment"
  region = "us-central1"

  config {
    maintenance_window {
      start_time = "2023-01-01T01:00:00Z"
      end_time = "2023-01-01T07:00:00Z"
      recurrence = "FREQ=WEEKLY;BYDAY=SU,WE,SA"
    }
  }
}

Passaggio 12: (Facoltativo) Integrazione della derivazione dei dati

La derivazione dei dati è una funzionalità Dataplex che consente di monitorare lo spostamento dei dati. L'integrazione della derivazione dei dati è disponibile per Cloud Composer 2 versioni 2.1.2 e successive con Airflow 2.2.5 e versioni successive.

L'integrazione della derivazione dei dati viene abilitata automaticamente in un nuovo ambiente Cloud Composer se vengono soddisfatte le seguenti condizioni:

  • L'API Data Lineage è abilitata nel tuo progetto. Per ulteriori informazioni, consulta Abilitazione dell'API Data Lineage nella documentazione di Dataplex.

  • Un backend di derivazione personalizzato non è configurato in Airflow.

  • La chiave di crittografia gestita dal cliente (CMEK) non è abilitata nell'ambiente. La derivazione dei dati non supporta CMEK per i metadati importati. Non puoi abilitare l'integrazione della derivazione dei dati negli ambienti Cloud Composer che utilizzano CMEK. Per ulteriori informazioni e altre limitazioni, consulta Considerazioni sulla derivazione dei dati.

Puoi disabilitare l'integrazione della derivazione dei dati quando crei un ambiente. Ad esempio, se vuoi eseguire l'override del comportamento automatico o scegliere di attivare la derivazione dei dati in un secondo momento, dopo la creazione dell'ambiente.

Console

Per disattivare l'integrazione della derivazione dei dati, nella pagina Crea ambiente:

  1. Nella sezione Configurazione avanzata, espandi l'elemento Mostra configurazione avanzata.

  2. Nella sezione Integrazione della derivazione dei dati Dataplex, seleziona Disabilita l'integrazione con la derivazione dei dati Dataplex.

gcloud

Quando crei un ambiente, l'argomento --disable-cloud-data-lineage-integration disabilita l'integrazione della derivazione dei dati.

gcloud composer environments create ENVIRONMENT_NAME \
    --location LOCATION \
    --image-version composer-2.6.6-airflow-2.6.3 \
    --disable-cloud-data-lineage-integration

Sostituisci:

  • ENVIRONMENT_NAME con il nome dell'ambiente.

    Il nome deve iniziare con una lettera minuscola seguita da un massimo di 62 lettere minuscole, numeri o trattini e non può terminare con un trattino. Il nome dell'ambiente viene utilizzato per creare sottocomponenti, quindi devi specificare un nome che sia valido anche come nome del bucket Cloud Storage. Consulta le linee guida per la denominazione dei bucket per un elenco delle limitazioni.

Esempio:

gcloud composer environments create example-environment \
    --location us-central1 \
    --image-version composer-2.6.6-airflow-2.6.3 \
    --disable-cloud-data-lineage-integration

Passaggio 13: (Facoltativo) Configurare la crittografia dei dati (CMEK)

Per impostazione predefinita, i dati nel tuo ambiente sono criptati con una chiave fornita da Google.

Per utilizzare le chiavi di crittografia gestite dal cliente (CMEK) per criptare i dati nel tuo ambiente, segui le istruzioni descritte in Utilizzare le chiavi di crittografia gestite dal cliente.

Passaggio 14: (Facoltativo) Utilizza il bucket di un ambiente personalizzato

Quando crei un ambiente, Cloud Composer crea automaticamente un bucket per il tuo ambiente.

In alternativa, puoi specificare un bucket Cloud Storage personalizzato dal tuo progetto. Il tuo ambiente utilizza questo bucket nello stesso modo del bucket creato automaticamente.

Per utilizzare un bucket di ambiente personalizzato, segui le istruzioni descritte in Utilizzare il bucket di un ambiente personalizzato.

Passaggio 15: (Facoltativo) Specifica le etichette dell'ambiente

Puoi assegnare etichette ai tuoi ambienti per suddividere i costi di fatturazione in base a queste etichette.

Console

Nella sezione Etichette della pagina Crea ambiente:

  1. Fai clic su Aggiungi etichetta.

  2. Nei campi Chiave e Valore, specifica le coppie chiave-valore per le etichette dell'ambiente.

gcloud

Quando crei un ambiente, l'argomento --labels specifica un elenco separato da virgole di chiavi e valori con etichette di ambiente.

gcloud composer environments create ENVIRONMENT_NAME \
    --location LOCATION \
    --image-version composer-2.6.6-airflow-2.6.3 \
    --labels LABELS

Sostituisci:

  • LABELS con un elenco di coppie KEY=VALUE separate da virgole per le etichette di ambiente.

Esempio:

gcloud composer environments create example-environment \
    --location us-central1 \
    --image-version composer-2.6.6-airflow-2.6.3 \
    --labels owner=engineering-team,env=production

API

Quando crei un ambiente, nella risorsa Ambiente specifica le etichette per l'ambiente.

{
  "name": "projects/PROJECT_ID/locations/LOCATION/environments/ENVIRONMENT_NAME",
  "labels": {
    "LABEL_KEY": "LABEL_VALUE"
  }
}

Sostituisci:

  • LABEL_KEY con una chiave dell'etichetta di ambiente.
  • LABEL_VALUE con il valore dell'etichetta di ambiente.

Esempio:


// POST https://composer.googleapis.com/v1/{parent=projects/*/locations/*}/environments

{
  "name": "projects/example-project/locations/us-central1/environments/example-environment",
  "labels": {
    "owner": "engineering-team",
    "env": "production"
  }
}

Terraform

Quando crei un ambiente, specifica le etichette nel blocco labels (all'esterno del blocco config).

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  labels = {
    LABEL_KEY = "LABEL_VALUE"
  }

}

Sostituisci:

  • LABEL_KEY con una chiave dell'etichetta di ambiente.
  • LABEL_VALUE con il valore dell'etichetta di ambiente.

Esempio:

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "example-environment"
  region = "us-central1"

  labels = {
    owner = "engineering-team"
    env = "production"
  }

}

Passaggi successivi