crea ambienti Cloud Composer

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

Questa pagina spiega come creare un ambiente Cloud Composer.

Prima di iniziare

Passaggio 1: Impostazione di base

Questo passaggio crea un ambiente Cloud Composer con nella posizione specificata.

Console

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

    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 minuscoli lettere, numeri o trattini e non può terminare con un trattino. Ambiente viene utilizzato per creare i sottocomponenti dell'ambiente, quindi devi fornire un nome che sia valido anche come Cloud Storage il nome del bucket. Consulta le linee guida per la denominazione dei bucket di restrizioni.

  3. Scegli una località nell'elenco a discesa Località. per il tuo ambiente.

    Una località è la regione in cui si trova l'ambiente.

  4. Nell'elenco a discesa Versione immagine, seleziona un'immagine Cloud Composer con le completamente gestita 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 minuscoli lettere, numeri o trattini e non può terminare con un trattino. Ambiente viene utilizzato per creare i sottocomponenti dell'ambiente, quindi devi fornire un nome che sia valido anche come Cloud Storage il nome del bucket. Consulta le linee guida per la denominazione dei bucket di restrizioni.

  • LOCATION con la regione per l'ambiente.

    Una località è la regione in cui si trova l'ambiente.

  • IMAGE_VERSION con il nome di un'immagine di Cloud Composer.

Esempio:

gcloud composer environments create example-environment \
    --location us-central1 \
    --image-version composer-3-airflow-2.7.3-build.8

API

Creare una richiesta API environments.create. Specifica 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.

    Una località è la regione in cui si trova l'ambiente.

  • ENVIRONMENT_NAME con il nome dell'ambiente.

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

  • IMAGE_VERSION con il nome di un'immagine di 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-3-airflow-2.7.3-build.8"
    }
  }
}

Terraform

Per creare un ambiente con parametri predefiniti, aggiungi il seguente blocco di risorse alla configurazione di 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 minuscoli lettere, numeri o trattini e non può terminare con un trattino. Ambiente viene utilizzato per creare i sottocomponenti dell'ambiente, quindi devi fornire un nome che sia valido anche come Cloud Storage il nome del bucket. Consulta le linee guida per la denominazione dei bucket di restrizioni.

  • LOCATION con la regione per l'ambiente.

    Una località è la regione in cui si trova l'ambiente.

  • IMAGE_VERSION con il nome di un'immagine di Cloud Composer.

Esempio:

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

  config {
    software_config {
      image_version = "composer-3-airflow-2.7.3-build.8"
    }
  }
}

Passaggio 2: (Facoltativo) Seleziona un account di servizio per l'ambiente

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

Per impostazione predefinita, gli ambienti Cloud Composer utilizzano account di servizio Compute Engine predefinito. I nostri suggerimenti di configurare un account di servizio gestito dall'utente Ambienti Cloud Composer.

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

Console

Nella pagina Crea ambiente, nel menu a discesa Account di servizio seleziona un account di servizio per il tuo ambiente.

gcloud

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

gcloud composer environments create ENVIRONMENT_NAME \
    --location LOCATION \
    --image-version composer-3-airflow-2.7.3-build.8 \
    --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-3-airflow-2.7.3-build.8 \
    --service-account "example-account@example-project.iam.gserviceaccount.com"

API

Quando crei un ambiente, nella sezione Ambiente > Risorsa EnvironmentConfig, e specificare 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: (Facoltativo) Configurare i parametri di scalabilità e prestazioni dell'ambiente

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

Puoi modificare tutti i parametri di rendimento e scala dopo aver creato un ambiente.

I seguenti parametri controllano la scala e le prestazioni:

  • Dimensioni dell'ambiente. Controlla i parametri di rendimento dell'account Infrastruttura Cloud Composer che include Airflow per configurare un database. Valuta la possibilità di selezionare una dimensione dell'ambiente più grande se vuoi eseguire un un numero elevato di DAG e attività.

  • Configurazione dei carichi di lavoro. Controlla la portata e il rendimento dei tuoi componenti dell'ambiente eseguiti in un cluster GKE: Airflow scheduler, server web Airflow e worker di Airflow.

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

      Il tuo ambiente può eseguire più di uno scheduler Airflow contemporaneamente nel tempo. Utilizza più scheduler per distribuire il carico tra diversi scheduler per migliorare prestazioni e affidabilità.

      L'aumento del numero di scheduler non migliora sempre Airflow delle prestazioni. Ad esempio, avere un solo scheduler può fornire una migliore anziché averne due. Questo può accadere quando lo scheduler aggiuntivo e quindi consuma risorse del tuo ambiente senza rispetto al rendimento complessivo. Le prestazioni effettive dello scheduler dipendono il numero di worker Airflow, il numero di DAG e attività in esecuzione nel tuo dell'ambiente e della configurazione di Airflow e dell'ambiente.

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

      Per ulteriori informazioni sulla configurazione di più scheduler, vedi Documentazione di Airflow.

    • Trigger di Airflow. Monitora in modo asincrono tutte le attività differite completamente gestito di Google Cloud. Se hai almeno un'istanza di triggerer (o almeno due in ambienti altamente resilienti), puoi utilizza operatori decriptabili nei DAG.

    • Processore DAG Airflow. Elabora i file DAG e li trasforma in oggetti DAG. In Cloud Composer 3, questa parte dello scheduler viene eseguita come componente di un ambiente separato.

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

    • Worker Airflow. Esegui attività pianificate da Airflow scheduler. Il numero minimo e massimo di worker in dell'ambiente cambia dinamicamente a seconda del numero di attività nel in coda.

Console

Puoi selezionare una preimpostazione per il tuo ambiente. Quando selezioni una preimpostazione, i parametri di scala e di prestazioni per il valore preimpostato vengono selezionati automaticamente. Puoi anche selezionare una preimpostazione personalizzata e specificare tutte le parametri di prestazioni per il tuo ambiente.

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

  • Per utilizzare i valori predefiniti, nella sezione Risorse dell'ambiente, fai clic su Small, Medium o Large.

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

    1. Nella sezione Risorse dell'ambiente, fai clic su Personalizzato.

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

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

      Se imposti almeno un triggerer per il tuo ambiente, utilizza CPU e Memory (Memoria) per configurare l'allocazione delle risorse per i triggerer.

    4. Nella sezione Processore DAG, specifica il numero di processori DAG nel tuo ambiente e la quantità di CPU, memoria e spazio di archiviazione per ogni processore DAG.

    5. Nella sezione Server web, specifica la quantità di CPU, memoria e di archiviazione per il server web.

    6. Nella sezione Worker, specifica:

      • Il numero minimo e massimo di worker per i limiti di scalabilità automatica in del tuo ambiente.
      • L'allocazione di CPU, memoria e spazio di archiviazione per i worker
    7. Nella sezione Infrastruttura principale, in Dimensioni dell'ambiente seleziona la dimensione dell'ambiente.

gcloud

Quando crei un ambiente, i seguenti argomenti controllano la i parametri di scalabilità e prestazioni del tuo ambiente.

  • --environment-size specifica le dimensioni 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 un flusso di dati Airflow scheduler.
  • --scheduler-storage specifica la quantità di spazio su disco per un flusso di lavoro Airflow scheduler.

  • --triggerer-count specifica il numero di triggerer di Airflow in completamente gestito di Google Cloud. Il valore predefinito di questo flag è 0. Ti servono gli attivatori se vuoi usa operatori decriptabili nei DAG.

    • Per 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.
  • --triggerer-cpu specifica il numero di CPU per un flusso Airflow in unità vCPU. Valori consentiti: 0.5, 0.75, 1. Il valore predefinito è 0.5.

  • --triggerer-memory specifica la quantità di memoria per un Triggerer Airflow, in GB. Il valore predefinito è 0.5.

    La memoria minima richiesta è uguale al numero di CPU allocate gli attivatori. Il valore massimo consentito è uguale al numero di CPU del triggerer moltiplicate per 6,5.

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

  • --dag-processor-cpu specifica il numero di CPU per il processore DAG.

  • --dag-processor-memory specifica la quantità di memoria per il DAG di fatturazione.

  • --dag-processor-storage specifica la quantità di spazio su disco per il DAG di fatturazione.

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

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

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

  • --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 modello Airflow worker.

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

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

gcloud composer environments create ENVIRONMENT_NAME \
    --location LOCATION \
    --image-version composer-3-airflow-2.7.3-build.8 \
    --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 \
    --dag-processor-cpu DAG_PROCESSOR_CPU \
    --dag-processor-memory DAG_PROCESSOR_MEMORY \
    --dag-processor-storage DAG_PROCESSOR_STORAGE \
    --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 triggerer.
  • TRIGGERER_CPU con il numero di CPU per un triggerer, in unità vCPU.
  • TRIGGERER_MEMORY con la quantità di memoria per un triggerer, in GB.

  • DAG_PROCESSOR_CPU con il numero di CPU per il processore DAG.

  • DAG_PROCESSOR_MEMORY con la quantità di memoria per il DAG di fatturazione.

  • DAG_PROCESSOR_STORAGE con la quantità di spazio su disco per il DAG di fatturazione.

  • 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 il tuo dell'ambiente di rete. Il numero di worker nel tuo ambiente non superiore a questo numero, anche se un numero inferiore di worker è in grado di gestire al carico.

  • WORKERS_MAX con il numero massimo di worker Airflow che il tuo dell'ambiente di rete. Il numero di worker nel tuo ambiente non superiore a 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-3-airflow-2.7.3-build.8 \
    --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 \
    --dag-processor-cpu 0.5 \
    --dag-processor-memory 2GB \
    --dag-processor-storage 1GB \
    --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 sezione Ambiente > EnvironmentConfig > Risorsa WorkloadsConfig, specifica l'ambiente di scalabilità e parametri di prestazioni.

{
  "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
      },
      "dagProcessor": {
        "count": 1,
        "cpu": DAG_PROCESSOR_CPU,
        "memoryGb": DAG_PROCESSOR_MEMORY,
        "storageGb": DAG_PROCESSOR_STORAGE
      },
      "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 triggerer. Il valore predefinito è 0. Ti servono gli attivatori se vuoi usa operatori decriptabili nei DAG.

    • Per 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 trigger, devi specificare anche Parametri TRIGGERER_CPU e TRIGGERER_MEMORY:

  • TRIGGERER_CPU specifica 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 triggerer. La memoria minima richiesta è uguale al numero di CPU allocate per i triggerer. Il valore massimo consentito è uguale al numero di CPU del triggerer moltiplicato per 6,5.

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

  • DAG_PROCESSOR_CPU con il numero di CPU per il processore DAG, in vCPU unità.

  • DAG_PROCESSOR_MEMORY con la quantità di memoria per il DAG in GB.

  • DAG_PROCESSOR_STORAGE con la quantità di spazio su disco per il DAG 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 il tuo dell'ambiente di rete. Il numero di worker nel tuo ambiente non superiore a questo numero, anche se un numero inferiore di worker è in grado di gestire al carico.

  • WORKERS_MAX con il numero massimo di worker Airflow che il tuo dell'ambiente di rete. Il numero di worker nel tuo ambiente non superiore a questo numero, anche se è necessario un numero più elevato di worker per gestire il carico.

  • ENVIRONMENT_SIZE con le dimensioni 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
      },
      "dagProcessor": {
        "count": 1,
        "cpu": 0.5,
        "memoryGb": 2,
        "storageGb": 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 la scalabilità i parametri delle prestazioni del tuo 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 un flusso di lavoro Airflow scheduler.
    • Il campo scheduler.memory_gb specifica la quantità di memoria per un Scheduler di Airflow.
    • Il campo scheduler.storage_gb specifica la quantità di spazio su disco uno scheduler.
    • Il campo scheduler.count specifica il numero di scheduler nel tuo completamente gestito di Google Cloud.
    • Il campo triggerer.cpu specifica il numero di CPU per un flusso di lavoro Airflow triggerer.
    • Il campo triggerer.memory_gb specifica la quantità di memoria per un Triggerer Airflow.
    • Il campo triggerer.count specifica il numero di triggerer nel tuo completamente gestito di Google Cloud.

    • Il campo dag_processor.cpu specifica il numero di CPU per un DAG di fatturazione.

    • Il campo dag_processor.memory_gb specifica la quantità di memoria per un processore DAG.

    • Il campo dag_processor.storage_gb specifica la quantità di spazio su disco per un processore DAG.

    • Il campo dag_processor.count specifica il numero di processori DAG.

    • Il campo web_server.cpu specifica il numero di CPU per l'impostazione Airflow server web.

    • Il campo web_server.memory_gb specifica la quantità di memoria per il server web di 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 flusso di lavoro Airflow worker.

    • 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 in del tuo ambiente.

    • Il campo worker.max_count specifica il numero massimo di worker in del 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 triggerer.
  • TRIGGERER_CPU con il numero di CPU per un triggerer, in unità vCPU.
  • TRIGGERER_MEMORY con la quantità di memoria per un triggerer, 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 il tuo dell'ambiente di rete. Il numero di worker nel tuo ambiente non superiore a questo numero, anche se un numero inferiore di worker è in grado di gestire al carico.
  • WORKERS_MAX con il numero massimo di worker Airflow che il tuo dell'ambiente di rete. Il numero di worker nel tuo ambiente non superiore a questo numero, anche se è necessario un numero più elevato di worker per gestire il carico.
  • ENVIRONMENT_SIZE con le dimensioni 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 4: (Facoltativo) Specifica una zona per il database dell'ambiente

Puoi specificare una zona Cloud SQL preferita per il tuo ambiente.

Console

Nella pagina Crea ambiente:

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

  2. Nell'elenco Zona del database Airflow, seleziona un'opzione preferita nella zona Cloud SQL.

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-3-airflow-2.7.3-build.8 \
    --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-3-airflow-2.7.3-build.8 \
    --cloud-sql-preferred-zone us-central1-a

API

Quando crei un ambiente, nella sezione Ambiente > DatabaseConfig, specifica nella 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 nella sezione 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 5: (Facoltativo) Configurare il networking del tuo ambiente

Puoi configurare il networking di Cloud Composer 3 nei seguenti modi:

Console

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

  2. Nella sezione Configurazione di rete, espandi Mostra configurazione di rete.

  3. Se vuoi connettere il tuo ambiente a una rete VPC, nel Nel campo Collegamento di rete, seleziona un collegamento di rete. Puoi anche creare un nuovo collegamento di rete. Per ulteriori informazioni, vedi Connetti un ambiente a una rete VPC.

  4. Se vuoi creare un ambiente IP privato, nella sezione Tipo di networking seleziona l'opzione Ambiente IP privato.

  5. Se vuoi aggiungere tag di rete, consulta la sezione Aggiungere tag di rete per ulteriori informazioni.

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, il valore predefinito è in uso.

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

  • --network specifica il tuo ID rete VPC.

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

Esempio (ambiente IP privato) con una rete VPC connessa)

gcloud composer environments create ENVIRONMENT_NAME \
    --location LOCATION \
    --image-version composer-3-airflow-2.7.3-build.8 \
    --enable-private-environment \
    --network NETWORK_ID \
    --subnetwork SUBNETWORK_ID \

Sostituisci:

  • NETWORK_ID con il tuo ID rete VPC.
  • SUBNETWORK_ID con l'ID della tua subnet VPC.

Passaggio 6: (Facoltativo) Aggiungere tag di rete

I tag di rete vengono applicati a tutte le VM nodo nella rete in un cluster Kubernetes. I tag vengono utilizzati per identificare origini o destinazioni valide per la rete firewall. Ogni tag all'interno dell'elenco deve essere conforme alle RFC 1035.

Ad esempio, ti consigliamo di aggiungere tag di rete se prevedi di limitare 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 tutti delle VM dei nodi.
gcloud composer environments create ENVIRONMENT_NAME \
    --location LOCATION \
    --image-version composer-3-airflow-2.7.3-build.8 \
    --tags TAGS

Sostituisci:

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

Esempio:

gcloud composer environments create example-environment \
    --location us-central1 \
    --image-version composer-3-airflow-2.7.3-build.8 \
    --tags group1,production

API

Quando crei un ambiente, nella sezione Ambiente > Risorsa EnvironmentConfig, specifica i tag di rete per il tuo 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 il tuo ambiente:

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

  config {

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

Sostituisci:

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

Esempio:

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

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

Passaggio 7: (Facoltativo) Configurare l'accesso alla rete del server web

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

Non puoi configurare gli intervalli IP consentiti utilizzando indirizzi IP privati.

Console

Nella pagina Crea ambiente:

  1. Nella sezione Configurazione di rete, espandi Mostra rete configurazione.

  2. Nella sezione Controllo dell'accesso di rete al 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 Consentire l'accesso solo da indirizzi IP specifici. Nell'intervallo IP specifica un intervallo IP nella notazione CIDR. Nel nel campo Description (Descrizione), specifica una descrizione facoltativa intervallo. Se vuoi specificare più di un intervallo, fai clic su Aggiungi IP intervallo.

    • Per vietare l'accesso per tutti gli indirizzi IP, seleziona Consenti l'accesso solo da indirizzi IP specifici, quindi fai clic su Elimina elemento accanto al campo voce di intervallo.

gcloud

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

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

  • --web-server-allow-ip limita l'accesso solo a un IP di origine specifico intervalli di tempo. 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-3-airflow-2.7.3-build.8 \
    --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 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-3-airflow-2.7.3-build.8 \
    --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 sezione Ambiente > Risorsa EnvironmentConfig, specifica il server web parametri di accesso.

  • 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 a allowedIpRanges.

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

{
  "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 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 Il blocco web_server_network_access_control contiene intervalli IP che possono accedere 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 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 8: (Facoltativo) Specifica gli override della configurazione e le variabili di ambiente di Airflow

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

Alcune opzioni di configurazione di Airflow sono bloccate e tu non possono sostituirle.

Per l'elenco delle opzioni di configurazione di Airflow disponibili, consulta Riferimento per la configurazione di Airflow 2 e Airflow 1.10.*

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

Console

Nella pagina Crea ambiente:

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

  2. Inserisci il Nome e il Valore per la variabile di ambiente.

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

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

    Ad esempio:

    Sezione Chiave Valore
    webserver dag_orientation TB

gcloud

Quando crei un ambiente, i seguenti argomenti controllano l'ambiente delle variabili e degli override della configurazione Airflow:

  • --env-variables specifica un elenco di ambienti separati da virgole come la codifica one-hot delle variabili categoriche.

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

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

gcloud composer environments create ENVIRONMENT_NAME \
    --location LOCATION \
    --image-version composer-3-airflow-2.7.3-build.8 \
    --env-variables ENV_VARS \
    --airflow-configs CONFIG_OVERRIDES

Sostituisci:

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

Esempio:

gcloud composer environments create example-environment \
    --location us-central1 \
    --image-version composer-3-airflow-2.7.3-build.8 \
    --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 sezione Ambiente > Risorsa EnvironmentConfig, specifica le variabili di ambiente e gli override della configurazione 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 viene usato Airflow di configurazione.
  • 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, il seguente blocco dell'ambiente di controllo delle variabili e degli override della configurazione Airflow:

  • Il blocco env_variables nel blocco software_config specifica 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 Override della configurazione 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 viene usato Airflow di configurazione.
  • 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 9: (Facoltativo) Specifica i periodi di manutenzione

Finestre di manutenzione predefinite in Cloud Composer 3 vengono definiti come segue:

  • Tutti gli orari sono nel fuso orario locale della regione in cui si trova il tuo ambiente individuata, ma con l'ora legale ignorata.
  • I periodi di manutenzione di martedì, mercoledì, giovedì e venerdì dalle 00:00:00 alle 02:00:00.
  • Il sabato, la domenica e il lunedì le finestre di manutenzione sono previste dalle ore 00:00:00 alle 04:00:00.

Per specificare periodi di manutenzione personalizzati per il tuo ambiente:

Console

Nella pagina Crea ambiente

  1. Individua la sezione Finestre di manutenzione.

  2. Nell'elenco a discesa Fuso orario, scegli un fuso orario per la manutenzione finestre.

  3. Imposta Ora di inizio, Giorni e Durata, in modo che il tempo combinato per la programmazione specificata è di almeno 12 ore in un 7 giorni finestra temporale continua. Ad esempio, un periodo di 4 ore ogni lunedì Il mercoledì e il venerdì indica il tempo richiesto.

gcloud

I seguenti argomenti definiscono i parametri dei periodi di manutenzione:

  • --maintenance-window-start imposta l'ora di inizio di una manutenzione finestra.
  • --maintenance-window-end imposta l'ora di fine di un periodo di manutenzione.
  • --maintenance-window-recurrence set la ricorrenza del periodo di manutenzione.
gcloud composer environments create ENVIRONMENT_NAME \
    --location LOCATION \
    --image-version composer-3-airflow-2.7.3-build.8 \
    --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 data e ora di inizio nel formato di input di data/ora. Solo l'ora specificata giorno utilizzato, la data specificata viene ignorata.
  • DATETIME_END con data e ora di fine nel formato di input di data/ora. Solo l'ora specificata giorno utilizzato, la data specificata viene ignorata. La data specificata e l'ora deve essere successiva alla data di inizio.
  • MAINTENANCE_RECURRENCE con una RRULE RFC 5545 per la manutenzione la ricorrenza delle finestre. 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 un ricorrenza nei giorni della settimana selezionati.

L'esempio seguente specifica una periodo di manutenzione di 6 ore tra 01:00 e 07:00 (UTC) di mercoledì, sabato e domenica. 1° gennaio 2023 viene ignorata.

gcloud composer environments create example-environment \
  --location us-central1 \
  --image-version composer-3-airflow-2.7.3-build.8 \
  --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, Ambiente > Risorsa EnvironmentConfig, specifica parametri per i periodi 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 data e ora di inizio nel formato di input di data/ora. Solo il viene utilizzata l'ora del giorno specificata, la data specificata viene ignorata.
  • DATETIME_END con data e ora di fine nel formato di input di data/ora. Solo il viene utilizzata l'ora del giorno specificata, la data specificata viene ignorata. La la data e l'ora specificate devono essere successive alla data di inizio.
  • MAINTENANCE_RECURRENCE con una regola RRULE RFC 5545 per i periodi di manutenzione una ricorrenza. 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 un ricorrenza nei giorni della settimana selezionati.

L'esempio seguente specifica una periodo di manutenzione di 6 ore tra 01:00 e 07:00 (UTC) di mercoledì, sabato e domenica. 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 questo 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 data e ora di inizio nel formato di input di data/ora. Solo il viene utilizzata l'ora del giorno specificata, la data specificata viene ignorata.
  • DATETIME_END con data e ora di fine nel formato di input di data/ora. Solo il viene utilizzata l'ora del giorno specificata, la data specificata viene ignorata. La la data e l'ora specificate devono essere successive alla data di inizio.
  • MAINTENANCE_RECURRENCE con una regola RRULE RFC 5545 per i periodi di manutenzione una ricorrenza. 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 un ricorrenza nei giorni della settimana selezionati.

L'esempio seguente specifica una periodo di manutenzione di 6 ore tra 01:00 e 07:00 (UTC) di mercoledì, sabato e domenica. 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 10: (Facoltativo) Integrazione della derivazione dei dati

La derivazione dei dati è una funzionalità di Dataplex che consente di monitorare lo spostamento dei dati.

L'integrazione della derivazione dei dati è disponibile in tutte le versioni di Cloud Composer 3.

L'integrazione della derivazione dei dati viene abilitata automaticamente in una nuova Ambiente Cloud Composer se vengono soddisfatte le seguenti condizioni:

  • L'API Data Lineage è abilitata nel tuo progetto. Per ulteriori informazioni, vedi Abilita l'API Data Lineage in documentazione di Dataplex.

  • Un segmento di pubblico personalizzato Backend di derivazione non è configurato in Airflow.

Puoi disabilitare l'integrazione della derivazione dei dati quando crei un ambiente. Per Ad esempio, se vuoi eseguire l'override del comportamento automatico o scegliere abilita la derivazione dei dati in un secondo momento, dopo che l'ambiente è è stato creato.

Console

Per disabilitare 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, il --disable-cloud-data-lineage-integration disabilita l'integrazione della derivazione dei dati.

gcloud composer environments create ENVIRONMENT_NAME \
    --location LOCATION \
    --image-version composer-3-airflow-2.7.3-build.8 \
    --disable-cloud-data-lineage-integration

Sostituisci:

  • ENVIRONMENT_NAME con il nome dell'ambiente.
  • LOCATION con la regione in cui si trova l'ambiente.

Esempio:

gcloud composer environments create example-environment \
    --location us-central1 \
    --image-version composer-3-airflow-2.7.3-build.8 \
    --disable-cloud-data-lineage-integration

Passaggio 11. (Facoltativo) Configurare la crittografia dei dati (CMEK)

Per impostazione predefinita, i dati nel tuo ambiente sono criptati con una chiave fornita dal in tutti i canali Google.

Per utilizzare le chiavi di crittografia gestite dal cliente (CMEK) per criptare i dati nel tuo seguire le istruzioni descritte in Utilizzo delle chiavi di crittografia gestite dal cliente.

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

Quando crei un ambiente, Cloud Composer crea un bucket automaticamente l'ambiente.

In alternativa, puoi specificare un bucket Cloud Storage personalizzato progetto. Il tuo ambiente usa questo bucket come avviene del bucket creato.

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

Passaggio 13: (Facoltativo) Specifica le etichette di ambiente

Puoi assegnare etichette ai tuoi ambienti 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 il etichette di 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-3-airflow-2.7.3-build.8 \
    --labels LABELS

Sostituisci:

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

Esempio:

gcloud composer environments create example-environment \
    --location us-central1 \
    --image-version composer-3-airflow-2.7.3-build.8 \
    --labels owner=engineering-team,env=production

API

Quando crei un ambiente, nella sezione 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 dell'ambiente.
  • LABEL_VALUE con un valore dell'etichetta dell'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 ( al di fuori 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 dell'ambiente.
  • LABEL_VALUE con un valore dell'etichetta dell'ambiente.

Esempio:

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

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

}

Passaggi successivi