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-1.20.12-airflow-1.10.15

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-1.20.12-airflow-1.10.15"
    }
  }
}

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-1.20.12-airflow-1.10.15"
    }
  }
}

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

I nodi nel cluster del tuo ambiente vengono eseguiti con questo account di servizio.

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 nei tuoi ambienti Cloud Composer.

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

Console

Nella pagina Crea ambiente, nella sezione Configurazione nodo, Nell'elenco a discesa Account di servizio, seleziona un account di servizio completamente gestito di Google Cloud.

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-1.20.12-airflow-1.10.15 \
    --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-1.20.12-airflow-1.10.15 \
    --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, indica il numero di nodi nel cluster GKE del tuo ambiente e seleziona i tipi di macchina per i componenti dell'ambiente.

Console

Nella pagina Crea ambiente:

  1. Nella sezione Configurazione dei nodi:

    • Inserisci il Conteggio nodi.

      Il conteggio dei nodi corrisponde al numero di nodi di Google Kubernetes Engine nel cluster dell'ambiente. Per impostazione predefinita, gli ambienti hanno tre nodi.

      Puoi modificare questo valore dopo aver creato l'ambiente.

    • Scegli Tipo di macchina per i nodi.

      Il tipo di macchina per i nodi è Tipo di macchina Compute Engine utilizzata per le istanze del cluster. Questo parametro determina il numero di CPU la quantità di memoria per il tuo ambiente. Il tipo di macchina predefinito è n1-standard-1.

      Per modificare questo valore dopo aver creato il tuo ambiente, devi riconfigurare manualmente il cluster di ambiente.

    • Inserisci le Dimensioni del disco.

      La dimensione del disco, in GB, per i nodi di ambiente. Ogni nodo del tuo ambiente di questa quantità di spazio su disco. Seleziona una dimensione del disco maggiore se prevedi di archiviare un di un grande volume di dati in cartelle sincronizzate con le VM dell'ambiente. ad esempio nella cartella /data del bucket dell'ambiente.

      La dimensione minima è 30 GB. La dimensione predefinita è 100 GB. Non puoi modificare questo parametro dopo aver creato un ambiente.

    • Scegli il Numero di scheduler.

      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.

  2. Espandi l'elemento Networking, override della configurazione Airflow e funzionalità aggiuntive.

  3. Nella sezione Configurazione di Cloud SQL, scegli Tipo di macchina Cloud SQL.

    Questo parametro determina il tipo di macchina per L'istanza Cloud SQL che esegue Airflow per configurare un database. Il tipo di macchina Cloud SQL predefinito è db-n1-standard-2.

  4. Nella sezione Configurazione server web, scegli Tipo di macchina server web.

    Questo parametro determina il tipo di macchina per Istanza Compute Engine che esegue il web Airflow o server web.

    Il tipo di macchina predefinito del server web è composer-n1-webserver-2.

gcloud

Quando crei un ambiente, i seguenti argomenti controllano l'ambiente di scalabilità e parametri di rendimento:

  • --node-count specifica il numero di nodi nel tuo ambiente.

    Il conteggio dei nodi corrisponde al numero di nodi di Google Kubernetes Engine nel cluster dell'ambiente. Per impostazione predefinita, gli ambienti hanno tre nodi.

    Puoi modificare questo valore dopo aver creato l'ambiente.

  • --scheduler-count specifica il numero di scheduler nel tuo ambiente.

    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.

  • --disk-size specifica la dimensione del disco per le VM dell'ambiente.

    La dimensione del disco, in GB, per i nodi di ambiente. Ogni nodo del tuo ambiente di questa quantità di spazio su disco. Seleziona una dimensione del disco maggiore se prevedi di archiviare un di un grande volume di dati in cartelle sincronizzate con le VM dell'ambiente. ad esempio nella cartella /data del bucket dell'ambiente.

    La dimensione minima è 30 GB. La dimensione predefinita è 100 GB. Non puoi modificare questo parametro dopo aver creato un ambiente.

  • --machine-type specifica il tipo di macchina per le VM nodo.

    Il tipo di macchina per i nodi è Tipo di macchina Compute Engine utilizzata per le istanze del cluster. Questo parametro determina il numero di CPU la quantità di memoria per il tuo ambiente. Il tipo di macchina predefinito è n1-standard-1.

    Per modificare questo valore dopo aver creato il tuo ambiente, devi riconfigurare manualmente il cluster di ambiente.

  • --cloud-sql-machine-type specifica il tipo di macchina per l'istanza Cloud SQL.

    Questo parametro determina il tipo di macchina per L'istanza Cloud SQL che esegue Airflow per configurare un database. Il tipo di macchina Cloud SQL predefinito è db-n1-standard-2.

  • --web-server-machine-type specifica il tipo di macchina per il web Airflow o un'istanza del server.

    Questo parametro determina il tipo di macchina per Istanza Compute Engine che esegue il web Airflow o server web.

    Il tipo di macchina predefinito del server web è composer-n1-webserver-2.

gcloud composer environments create ENVIRONMENT_NAME \
    --location LOCATION \
    --image-version composer-1.20.12-airflow-1.10.15 \
    --zone NODE_ZONE \
    --node-count NODE_COUNT \
    --scheduler-count SCHEDULER_COUNT \
    --disk-size DISK_SIZE \
    --machine-type NODE_MACHINE_TYPE \
    --cloud-sql-machine-type SQL_MACHINE_TYPE \
    --web-server-machine-type WS_MACHINE_TYPE

Sostituisci:

Esempio:

gcloud composer environments create example-environment \
    --location us-central1 \
    --image-version composer-1.20.12-airflow-1.10.15 \
    --zone us-central1-a \
    --node-count 6 \
    --scheduler-count 1 \
    --disk-size 50 \
    --machine-type n1-standard-2 \
    --cloud-sql-machine-type db-n1-standard-2 \
    --web-server-machine-type composer-n1-webserver-2

API

Quando crei un ambiente, nella sezione Ambiente > Risorsa EnvironmentConfig, specifica la scalabilità dell'ambiente e i parametri delle prestazioni.

{
  "name": "projects/PROJECT_ID/locations/LOCATION/environments/ENVIRONMENT_NAME",
  "config": {
    "nodeCount": NODE_COUNT,
    "nodeConfig": {
      "machineType": "NODE_MACHINE_TYPE",
      "diskSizeGb": DISK_SIZE
    },
    "softwareConfig": {
      "schedulerCount": SCHEDULER_COUNT
    },
    "databaseConfig": {
      "machineType": "SQL_MACHINE_TYPE"
    },
    "webServerConfig": {
      "machineType": "WS_MACHINE_TYPE"
    }
  }
}

Sostituisci:

  • NODE_COUNT con il numero di nodi.
  • DISK_SIZE con la dimensione del disco per le VM dell'ambiente, in GB.
  • NODE_MACHINE_TYPE con il tipo di macchina per le VM dei nodi. Questo valore deve contenere un per le VM dell'ambiente.
  • SCHEDULER_COUNT con il numero di scheduler.
  • SQL_MACHINE_TYPE con il tipo di macchina per l'istanza Cloud SQL.
  • WS_MACHINE_TYPE con il tipo di macchina per l'istanza del server web Airflow.

Esempio:


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

{
  "name": "projects/example-project/locations/us-central1/environments/example-environment",
  "config": {
    "nodeCount": 6,
    "nodeConfig": {
      "machineType": "projects/example-project/zones/us-central1-a/machineTypes/n1-standard-2",
      "diskSizeGb": 50
    },
    "softwareConfig": {
      "schedulerCount": 1
    },
    "databaseConfig": {
      "machineType": "db-n1-standard-2"
    },
    "webServerConfig": {
      "machineType": "composer-n1-webserver-2"
    }
  }
}

Terraform

Quando crei un ambiente, i seguenti campi controllano la scalabilità dell'ambiente e parametri di rendimento:

  • node_count nel blocco node_config specifica il numero di nodi in del tuo ambiente.

    Il conteggio dei nodi corrisponde al numero di nodi di Google Kubernetes Engine nel cluster dell'ambiente. Per impostazione predefinita, gli ambienti hanno tre nodi.

    Puoi modificare questo valore dopo aver creato l'ambiente.

  • disk_size_gb nel blocco node_config specifica la dimensione del disco per dell'ambiente di rete.

    La dimensione del disco, in GB, per i nodi di ambiente. Ogni nodo del tuo ambiente di questa quantità di spazio su disco. Seleziona una dimensione del disco maggiore se prevedi di archiviare un di un grande volume di dati in cartelle sincronizzate con le VM dell'ambiente. ad esempio nella cartella /data del bucket dell'ambiente.

    La dimensione minima è 30 GB. La dimensione predefinita è 100 GB. Non puoi modificare questo parametro dopo aver creato un ambiente.

  • machine_type nel blocco node_config specifica il tipo di macchina per delle VM dei nodi. Quando specifichi questo campo, fornisci anche una zona di Compute Engine per nel campo zone.

    Il tipo di macchina per i nodi è Tipo di macchina Compute Engine utilizzata per le istanze del cluster. Questo parametro determina il numero di CPU la quantità di memoria per il tuo ambiente. Il tipo di macchina predefinito è n1-standard-1.

    Per modificare questo valore dopo aver creato il tuo ambiente, devi riconfigurare manualmente il cluster di ambiente.

  • machine_type nel blocco database_config specifica il tipo di macchina per l'istanza Cloud SQL.

    Questo parametro determina il tipo di macchina per L'istanza Cloud SQL che esegue Airflow per configurare un database. Il tipo di macchina Cloud SQL predefinito è db-n1-standard-2.

  • machine_type nel blocco web_server_config specifica il tipo di macchina per l'istanza del server web di Airflow.

    Questo parametro determina il tipo di macchina per Istanza Compute Engine che esegue il web Airflow o server web.

    Il tipo di macchina predefinito del server web è composer-n1-webserver-2.

  • Il campo scheduler_count nel blocco software_config specifica di scheduler nel tuo ambiente. Il tuo ambiente deve utilizzare Airflow 2.

resource "google_composer_environment" "example" {
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {

    node_config {
      node_count = NODE_COUNT
      disk_size_gb = DISK_SIZE
      machine_type = "NODE_MACHINE_TYPE"
      zone = "NODE_ZONE"
    }

    software_config {
      scheduler_count = SCHEDULER_COUNT
    }

    database_config {
      machine_type = "SQL_MACHINE_TYPE"
    }

    web_server_config {
      machine_type = "WS_MACHINE_TYPE"
    }
  }
}

Sostituisci:

  • NODE_COUNT con il numero di nodi.
  • DISK_SIZE con la dimensione del disco per le VM dell'ambiente, in GB.
  • NODE_MACHINE_TYPE con il tipo di macchina per le VM nodo.
  • NODE_ZONE con la zona Compute Engine per le VM del tuo ambiente.
  • SCHEDULER_COUNT con il numero di scheduler.
  • SQL_MACHINE_TYPE con il tipo di macchina per l'istanza Cloud SQL.
  • WS_MACHINE_TYPE con il tipo di macchina per l'istanza del server web Airflow.

Esempio:

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

  config {

    node_config {
      node_count = 4
      disk_size_gb = 100
      zone = "us-central1-a"
      machine_type = "n1-standard-2"
    }

    software_config {
      scheduler_count = 2
    }

    database_config {
      machine_type = "db-n1-standard-2"
    }

    web_server_config {
      machine_type = "composer-n1-webserver-2"
    }
  }
}

Passaggio 4: (Facoltativo) Configurare il networking del tuo ambiente

I parametri di networking dipendono dal tipo di ambiente che crea:

  • Ambiente IP pubblico. Utilizza i parametri di rete predefiniti.

  • Ambiente IP privato (peering VPC). In questa configurazione, utilizza il 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 il tuo ambiente IP privato, come descritto più avanti in questa sezione.

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

    • ID rete VPC
    • ID 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 del server web.
      • Intervallo IP per l'istanza Cloud SQL.
  • Per un ambiente VPC condiviso, devi eseguire un'ulteriore configurazione di rete per il progetto host, quindi crea un ambiente IP pubblico o privato in progetto di servizio. Segui le istruzioni nella pagina Configurazione di un VPC condiviso.

    Per un ambiente VPC condiviso, devi sapere:

    • ID rete VPC del tuo progetto host
    • ID 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 specifica 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 poi creerai ambienti IP privati all'interno di questo perimetro. Segui le istruzioni descritte in Configurare i Controlli di servizio VPC.

Le opzioni di networking aggiuntive per gli ambienti sono:

  • Indirizzi IP pubblici utilizzati privatamente. Se vuoi utilizzare più indirizzi IP indirizzi IP esterni, il tuo ambiente può utilizzare privatamente determinati intervalli di indirizzi IP pubblici come dati interni, di indirizzi IP di subnet per pod e servizi.
  • Reti autorizzate. Se vuoi accedere al piano di controllo nell'ambiente IP privato mediante HTTPS, puoi utilizzare Reti autorizzate per specificare intervalli CIDR in grado di farlo.
  • Agente di mascheramento IP. Utilizzando gli ambienti con il mascheramento IP di indirizzi IP, puoi utilizzare le traduzioni many-to-one degli indirizzi IP configurazioni di networking dell'ambiente di rete. Per ulteriori informazioni sulla creazione di ambienti con un 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. Espandi l'elemento Networking, override della configurazione Airflow e funzionalità aggiuntive.

  3. Nella sezione Configurazione di rete, seleziona la casella di controllo Abilita rete VPC nativa (utilizzando IP alias).

  4. Nell'elenco a discesa Rete, seleziona l'ID della tua rete VPC.

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

  6. Nella sezione Allocazione degli indirizzi IP dei pod, specifica l'intervallo IP secondario per i pod. Puoi utilizzare un intervallo secondario esistente nella tua rete VPC o specificarne uno nuovo nella notazione CIDR.

  7. Nella sezione Allocazione degli indirizzi IP dei servizi, specifica l'intervallo IP secondario per i servizi. Puoi utilizzare un intervallo secondario esistente nella tua rete VPC o specificarne uno nuovo nella notazione CIDR.

  8. Nella sezione IP privato, seleziona la casella di controllo Abilita IP privato.

  9. Nella sezione IP privato del master del cluster GKE, specifica un intervallo IP per il piano di controllo GKE:

    • Per utilizzare l'intervallo IP predefinito per la regione in cui si trova il tuo 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 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 e può essere utilizzato da nodi del 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 master utilizzando il relativo indirizzo IP esterno.

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

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

      Se utilizzi questa opzione, il livello di accesso per il piano di controllo viene impostato su "Accesso pubblico all'endpoint disabilitato". In questo modo viene impedito qualsiasi accesso a internet al piano di controllo.

  11. Nella sezione IP privato del server web, specifica un intervallo IP per l'istanza del server web di Airflow.

  12. Nella sezione IP privato Cloud SQL, specifica un intervallo IP per per l'istanza Cloud SQL.

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.

  • --enable-ip-alias abilita la rete VPC nativa tramite IP alias indirizzi IP esterni.

    Questo parametro è obbligatorio se si utilizza --enable-private-environment o durante la configurazione di intervalli secondari per pod e servizi.

  • --network specifica il tuo ID rete VPC.

  • --subnetwork specifica l'ID della 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 GKE dal piano di controllo.

  • --web-server-ipv4-cidr specifica un intervallo per il server web Airflow in esecuzione in un'istanza Compute Engine.

  • --cloud-sql-ipv4-cidr specifica un intervallo per l'istanza di Cloud SQL in esecuzione in un'istanza Compute Engine.

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

    • Per consentire 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 pubblico agli endpoint abilitato, reti autorizzate abilitate". Ciò fornisce un accesso limitato al piano di controllo dalle reti autorizzate. Per impostazione predefinita, non viene specificato nessun indirizzo IP di origine. Puoi aggiungere al cluster reti autorizzate.

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

      Se utilizzi questa opzione, il livello di accesso per il piano di controllo viene impostato su "Accesso pubblico all'endpoint disabilitato". In questo modo viene impedito qualsiasi accesso a internet al piano di controllo.

  • --enable-master-authorized-networks e --master-authorized-networks argomenti configurano reti autorizzate per il tuo ambiente.

  • Configurazione di --enable-privately-used-public-ips indirizzi IP pubblici utilizzati privatamente per il tuo ambiente.

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

Esempio (ambiente IP privato) )

gcloud composer environments create ENVIRONMENT_NAME \
    --location LOCATION \
    --image-version composer-1.20.12-airflow-1.10.15 \
    --enable-private-environment \
    --enable-ip-alias \
    --network NETWORK_ID \
    --subnetwork SUBNETWORK_ID \
    --cluster-ipv4-cidr PODS_RANGE \
    --services-ipv4-cidr SERVICES_RANGE \
    --master-ipv4-cidr CONTROL_PLANE_RANGE \
    --web-server-ipv4-cidr WEB_SERVER_RANGE \
    --cloud-sql-ipv4-cidr SQL_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 GKE dal piano di controllo.

  • WEB_SERVER_RANGE con l'intervallo secondario per il server web Airflow in esecuzione in un'istanza Compute Engine.

  • SQL_RANGE con l'intervallo per l'istanza Cloud SQL.

Passaggio 5: (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 nodo.
  2. Nel campo Tag, specifica i tag di istanza per le VM del nodo.

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-1.20.12-airflow-1.10.15 \
    --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-1.20.12-airflow-1.10.15 \
    --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 6: (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, nella sezione Configurazione del server web sezione:

  • 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. Nella sezione Descrizione specifica una descrizione facoltativa per questo intervallo. Se vuoi specifica 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 all'intervallo vuoto .

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-1.20.12-airflow-1.10.15 \
    --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-1.20.12-airflow-1.10.15 \
    --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 nel seguente paese: 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 7: (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. Espandi l'elemento Networking, override della configurazione Airflow e funzionalità aggiuntive.

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

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

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

  5. 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, numeri 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-1.20.12-airflow-1.10.15 \
    --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-1.20.12-airflow-1.10.15 \
    --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 8: (Facoltativo) Specifica i periodi di manutenzione

Per impostazione predefinita, gli ambienti Cloud Composer 1 non sono stati definiti finestre di manutenzione se le crei utilizzando console Google Cloud, API o Terraform. Ti consigliamo di specificare finestre di manutenzione per gli ambienti nuovi ed esistenti.

Se crei il tuo ambiente utilizzando gcloud CLI, il tuo ambiente effettua finestre di manutenzione predefinite dalle 00:00:00 alle 04:00:00 (GMT) di venerdì, Il sabato e la domenica ogni settimana.

Per specificare periodi di manutenzione personalizzati per il tuo ambiente:

Console

Nella pagina Crea ambiente:

  1. Espandi l'elemento Networking, override della configurazione Airflow e funzionalità aggiuntive.

  2. Nella sezione Finestre di manutenzione, seleziona la Casella di controllo Imposta un orario personalizzato per i periodi di manutenzione.

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

  4. 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-1.20.12-airflow-1.10.15 \
    --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-1.20.12-airflow-1.10.15 \
  --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 9: (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 10: (Facoltativo) Specifica le etichette di ambiente

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

Console

Nella pagina Crea ambiente:

  1. Espandi l'elemento Networking, override della configurazione Airflow e funzionalità aggiuntive.

  2. Nella sezione Etichette, fai clic su Aggiungi etichetta.

  3. 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-1.20.12-airflow-1.10.15 \
    --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-1.20.12-airflow-1.10.15 \
    --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"
  }

}

Passaggio 11. (Facoltativo) Configurare altri parametri

Altri parametri includono:

  • Zona per i nodi di ambiente

    Zona Compute Engine in cui eseguire il deployment dei nodi cluster. In questo puoi selezionare una zona specifica nella posizione completamente gestito di Google Cloud.

    Per impostazione predefinita, viene selezionata automaticamente una zona casuale.

  • ambiti OAuth

    Gli ambiti OAuth sono un insieme di ambiti delle API di Google da definire disponibili su tutte le VM del nodo. Se vuoto, il valore predefinito è https://www.googleapis.com/auth/cloud-platform.

    Se specifichi ambiti OAuth personalizzati, includi https://www.googleapis.com/auth/cloud-platform nell'elenco di valori specificati ambiti.

  • Versione Python

    Se il tuo ambiente utilizza Airflow 1.10.* e versioni precedenti di Airflow, puoi utilizzare Python 2 per il tuo ambiente. La versione Python predefinita è Python 3. Per ulteriori informazioni sul supporto di Python 2 in Cloud Composer, vedi Versioni Python supportate.

Console

Nella pagina Crea ambiente:

  1. Nella sezione Configurazione dei nodi:

    • Nell'elenco a discesa Zona, seleziona una zona per l'ambiente. nodi.

      Non puoi cambiare zona in un secondo momento.

    • Nel campo Ambiti OAuth, specifica gli ambiti OAuth per le VM del nodo.

      Non puoi modificare gli ambiti OAuth in un secondo momento.

      Per specificare diversi ambiti OAuth, fornisci un elenco separato da virgole di e i relativi valori. Includi https://www.googleapis.com/auth/cloud-platform nell'elenco degli ambiti specificati.

    • Nel campo Versione Python, scegli la versione di Python.

      Non puoi modificare la versione Python in un secondo momento.

gcloud

Quando crei un ambiente, gli argomenti seguenti controllano vari parametri del tuo ambiente:

  • --zone specifica una zona Compute Engine per il tuo ambiente delle VM in esecuzione.

  • --oauth-scopes specifica un elenco di ambiti OAuth separati da virgole. Includi https://www.googleapis.com/auth/cloud-platform nell'elenco degli ambiti specificati.

  • --python-version specifica la versione di Python.

gcloud composer environments create ENVIRONMENT_NAME \
    --location LOCATION \
    --image-version composer-1.20.12-airflow-1.10.15 \
    --zone ZONE \
    --oauth-scopes OAUTH_SCOPES \
    --python-version PYTHON_VERSION

Sostituisci:

  • ZONE con il nome della zona Compute Engine.
  • OAUTH_SCOPES con un elenco di ambiti OAuth separati da virgole.
  • PYTHON_VERSION con la versione Python (3 o 2).

Esempio:

gcloud composer environments create example-environment \
    --location us-central1 \
    --image-version composer-1.20.12-airflow-1.10.15 \
    --zone us-central1-a \
    --oauth-scopes https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/bigquery  \
    --python-version 3

API

Quando crei un ambiente, nella sezione Ambiente > Risorsa EnvironmentConfig, specifica diversi parametri dell'ambiente.

{
  "name": "projects/PROJECT_ID/locations/LOCATION/environments/ENVIRONMENT_NAME",
  "config": {
    "nodeConfig": {
      "location": "projects/PROJECT_ID/zones/ZONE",
      "oauthScopes": [
        "OAUTH_SCOPE"
      ]
    },
    "softwareConfig": {
        "pythonVersion": "PYTHON_VERSION"
    }
  }
}

Sostituisci:

  • ZONE con il nome della zona Compute Engine.
  • OAUTH_SCOPE con un ambito OAuth. Per specificare ambiti aggiuntivi, aggiungi l'ambito https://www.googleapis.com/auth/cloud-platform, seguito da gli altri elementi dell'ambito. ambiti.
  • PYTHON_VERSION con la versione Python (3 o 2).

Esempio:

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

{
  "name": "projects/example-project/locations/us-central1/environments/example-environment",
  "config": {
    "nodeConfig": {
      "location": "projects/example-project/zones/us-central1-a",
      "oauthScopes": [
        "https://www.googleapis.com/auth/cloud-platform",
        "https://www.googleapis.com/auth/bigquery"
      ]
    },
    "softwareConfig": {
        "pythonVersion": "3"
    }
  }
}

Terraform

Quando crei un ambiente, i seguenti campi controllano vari parametri del tuo ambiente:

  • Il campo zone nel blocco node_config specifica un Compute Engine per le VM dell'ambiente.

  • Il campo oauth_scopes nel blocco node_config specifica una virgola degli ambiti OAuth.

  • Il campo python_version nel blocco software_config specifica all'ultima versione di Python.

resource "google_composer_environment" "example" {
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {

    node_config {
      zone = "ZONE"
      oauth_scopes = "[OAUTH_SCOPES]"
    }

    software_config {
      python_version = "PYTHON_VERSION"
    }
  }
}

Sostituisci:

  • ZONE con il nome della zona Compute Engine.
  • OAUTH_SCOPES con un elenco di ambiti OAuth separati da virgole.
  • PYTHON_VERSION con la versione Python (3 o 2).

Esempio:

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

  config {
    node_config {
      zone = "us-central1-a"
      oauth_scopes = "[https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/bigquery]"
    }
    software_config {
      python_version = "3"
    }
  }
}

Passaggio 12: (Facoltativo) Applica forzatamente l'utilizzo dell'API beta

Puoi utilizzare in modo esplicito la versione beta di Cloud Composer per il tuo ambiente anche se il tuo ambiente non dispone di funzionalità in anteprima. Se sì pertanto, il tuo ambiente viene creato utilizzando l'endpoint di servizio v1beta1.

Console

Nella pagina Crea ambiente:

  1. Espandi l'elemento Networking, override della configurazione Airflow e funzionalità aggiuntive.

  2. Nella sezione API beta, seleziona Applica l'utilizzo dell'API beta casella di controllo.

gcloud

Crea il tuo ambiente utilizzando il comando gcloud beta composer.

API

Creare l'ambiente utilizzando il servizio v1beta1 endpoint.

Terraform

Il provider Terraform per Cloud Composer utilizza l'API beta predefinito.

Passaggi successivi