Faire évoluer des environnements

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

Cette page explique comment procéder au scaling d'environnements Cloud Composer.

Autres pages sur le scaling :

Évolutivité verticale et horizontale

Options de scaling horizontal :

  • Ajustez les nombres minimal et maximal de nœuds de calcul.
  • Ajustez le nombre de planificateurs, de processeurs DAG et de déclencheurs.

Options de scaling vertical :

  • Ajustez les paramètres de scaling et de performances des nœuds de calcul, du programmeur, du déclencheur, du processeur DAG et du serveur Web.
  • Ajustez la taille de l'environnement.

Limites de ressources

Composant Nombre minimal Nombre maximal vCPU minimal Nombre maximal de vCPU Pas de vCPU minimum Mémoire minimale (Go) Mémoire maximale (Go) Pas de mémoire minimale (Go) Mémoire minimale pour 1 vCPU (Go) Mémoire maximale par vCPU (Go) Stockage minimal (Go) Espace de stockage maximal (Go) Étape minimale de l'espace de stockage (Go)
Programmeurs 1 3 0,5 1 0.5 0,5 8 0,25 1 8 0 100 1
Déclencheurs 0 10 0,5 1 0.5 0,5 8 0,25 1 8 - - -
Serveur Web - - 0,5 32 0, 5, 1 ou un multiple de 2 1 256 0,25 1 8 0 100 1
Nœuds de calcul 1 100 0,5 32 0, 5, 1 ou un multiple de 2 1 256 0,25 1 8 0 100 1
Processeurs DAG 1 3 0,5 32 0, 5, 1 ou un multiple de 2 1 256 0,25 1 8 0 100 1

Ajuster les paramètres des nœuds de calcul

Vous pouvez définir le nombre minimal et maximal de nœuds de calcul pour votre environnement. Cloud Composer effectue un scaling automatique de votre environnement dans les limites définies. Vous pouvez ajuster ces limites à tout moment.

Vous pouvez spécifier la quantité de processeurs, de mémoire et d'espace disque utilisés par Airflow. les nœuds de calcul de votre environnement. Vous pouvez ainsi augmenter les performances de votre environnement, en plus du scaling horizontal fourni par l'utilisation de plusieurs nœuds de calcul.

Console

  1. Dans la console Google Cloud, accédez à la page Environnements.

    Accéder à la page Environnements

  2. Dans la liste des environnements, cliquez sur le nom de votre environnement. La page Détails de l'environnement s'ouvre.

  3. Accédez à l'onglet Configuration de l'environnement.

  4. Dans l'élément Ressources > Configuration des charges de travail, cliquez sur Modifier.

  5. Dans le volet Configuration des charges de travail, ajustez les paramètres des nœuds de calcul Airflow :

    • Dans le champ Nombre minimal de nœuds de calcul, spécifiez le nombre de nœuds de calcul Airflow que votre environnement doit exécuter en permanence. Le nombre de nœuds de calcul de votre environnement ne descend pas en dessous de ce nombre pendant la le fonctionnement normal de l'environnement, même si le nombre peuvent gérer la charge.

    • Dans le champ Nombre maximal de nœuds de calcul, spécifiez le nombre maximal de nœuds de calcul Airflow que votre environnement peut exécuter. Le nombre de nœuds de calcul dans votre environnement ne dépasse jamais ce nombre, même si un nombre plus élevé de nœuds de calcul est nécessaire pour gérer la charge.

    • Dans les champs Processeur, Mémoire et Stockage, spécifiez le nombre de processeurs, de mémoire et d'espace disque pour les nœuds de calcul Airflow. Chaque nœud de calcul utilise la quantité de ressources spécifiée.

  6. Cliquez sur Enregistrer.

gcloud

Les paramètres de nœud de calcul Airflow suivants sont disponibles :

  • --min-workers : nombre de nœuds de calcul Airflow que votre environnement doit toujours exécuter. Le nombre de nœuds de calcul dans votre environnement ne descend pas en dessous ce nombre, même si moins de nœuds peuvent gérer la charge.
  • --max-workers : nombre maximal de nœuds de calcul Airflow que votre environnement peut exécuter. Le nombre de nœuds de calcul dans votre environnement ne dépasse jamais cette valeur, même si un nombre plus élevé de nœuds de calcul est nécessaire pour gérer la charge.
  • --worker-cpu: nombre de processeurs pour un nœud de calcul Airflow.
  • --worker-memory: quantité de mémoire pour un nœud de calcul Airflow.
  • --worker-storage : quantité d'espace disque pour un nœud de calcul Airflow.

Exécutez la commande Google Cloud CLI suivante:

gcloud composer environments update ENVIRONMENT_NAME \
  --location LOCATION \
  --min-workers WORKERS_MIN \
  --max-workers WORKERS_MAX \
  --worker-cpu WORKER_CPU \
  --worker-memory WORKER_MEMORY \
  --worker-storage WORKER_STORAGE

Remplacez les éléments suivants :

  • ENVIRONMENT_NAME: nom de l'environnement.
  • LOCATION : région où se trouve l'environnement.
  • WORKERS_MIN: nombre minimal de nœuds de calcul Airflow.
  • WORKERS_MAX: nombre maximal de nœuds de calcul Airflow.
  • WORKER_CPU: nombre de processeurs d'un nœud de calcul, en unités de vCPU.
  • WORKER_MEMORY: quantité de mémoire pour un nœud de calcul.
  • WORKER_STORAGE : taille du disque d'un nœud de calcul.

Exemple :

gcloud composer environments update example-environment \
  --location us-central1 \
  --min-workers 2 \
  --max-workers 6 \
  --worker-cpu 1 \
  --worker-memory 2 \
  --worker-storage 2

API

  1. Rédigez une requête API environments.patch.

  2. Dans cette requête :

    1. Dans le paramètre updateMask, spécifiez les champs que vous souhaitez mettre à jour. Par exemple, pour mettre à jour des nœuds de calcul, spécifiez Masque config.workloadsConfig.worker.cpu,config.workloadsConfig.worker.memoryGb,config.workloadsConfig.worker.storageGB,config.softwareConfig.workloadsConfig.worker.minCount,config.softwareConfig.workloadsConfig.worker.maxCount.

    2. Dans le corps de la requête, spécifiez les nouveaux paramètres des nœuds de calcul.

"config": {
  "workloadsConfig": {
    "worker": {
      "minCount": WORKERS_MIN,
      "maxCount": WORKERS_MAX,
      "cpu": WORKER_CPU,
      "memoryGb": WORKER_MEMORY,
      "storageGb": WORKER_STORAGE
    }
  }
}

Remplacez les éléments suivants :

  • ENVIRONMENT_NAME: nom de l'environnement.
  • LOCATION : région où se trouve l'environnement.
  • WORKERS_MIN: nombre minimal de nœuds de calcul Airflow.
  • WORKERS_MAX: nombre maximal de nœuds de calcul Airflow.
  • WORKER_CPU : nombre de processeurs pour un nœud de calcul, en unités de processeur virtuel.
  • WORKER_MEMORY : quantité de mémoire pour un nœud de calcul, en Go.
  • WORKER_STORAGE : taille du disque pour un nœud de calcul, en Go.

Exemple :

// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.workloadsConfig.worker.minCount,
// config.workloadsConfig.worker.maxCount
// config.workloadsConfig.worker.cpu,
// config.workloadsConfig.worker.memoryGb,
// config.workloadsConfig.worker.storageGB

"config": {
  "workloadsConfig": {
    "worker": {
      "minCount": 2,
      "maxCount": 6,
      "cpu": 1,
      "memoryGb": 2,
      "storageGb": 2
    }
  }
}

Terraform

Les champs suivants du bloc workloads_config.worker contrôlent Paramètres des nœuds de calcul Airflow. Chaque nœud de calcul utilise la quantité de ressources spécifiée.

  • worker.min_count : nombre de nœuds de calcul Airflow que votre environnement doit toujours exécuter. Le nombre de nœuds de calcul dans votre environnement ne descend pas en dessous ce nombre, même si moins de nœuds peuvent gérer la charge.
  • worker.max_count: nombre maximal de nœuds de calcul Airflow que vos peut s'exécuter. Le nombre de nœuds de calcul dans votre environnement ne dépasse jamais cette valeur, même si un nombre plus élevé de nœuds de calcul est nécessaire pour gérer la charge.
  • worker.cpu: nombre de processeurs pour un nœud de calcul Airflow.
  • worker.memory_gb: quantité de mémoire pour un nœud de calcul Airflow.
  • worker.storage_gb : quantité d'espace disque pour un nœud de calcul Airflow.
resource "google_composer_environment" "example" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {

    workloads_config {
      worker {
        min_count = WORKERS_MIN
        max_count = WORKERS_MAX
        cpu = WORKER_CPU
        memory_gb = WORKER_MEMORY
        storage_gb = WORKER_STORAGE
      }
    }

  }
}

Remplacez les éléments suivants :

  • ENVIRONMENT_NAME: nom de l'environnement.
  • LOCATION : région où se trouve l'environnement.
  • WORKERS_MIN: nombre minimal de nœuds de calcul Airflow.
  • WORKERS_MAX: nombre maximal de nœuds de calcul Airflow.
  • WORKER_CPU : nombre de processeurs pour un nœud de calcul, en unités de processeur virtuel.
  • WORKER_MEMORY : quantité de mémoire pour un nœud de calcul, en Go.
  • WORKER_STORAGE : taille du disque pour un nœud de calcul, en Go.

Exemple :

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

  config {

    workloads_config {
      worker {
        min_count = 2
        max_count = 6
        cpu = 1
        memory_gb = 2
        storage_gb = 2
      }
    }

  }
}

Ajuster les paramètres du programmeur

Votre environnement peut exécuter plusieurs programmeurs Airflow à la fois. Utilisez plusieurs programmeurs pour répartir la charge entre les instances de programmeur, et ainsi améliorer les performances et la fiabilité.

Vous pouvez utiliser jusqu'à trois ordonnanceurs dans votre environnement.

L'augmentation du nombre de programmeurs n'améliore pas toujours les performances d'Airflow. Par exemple, le fait d'avoir un seul programmeur peut offrir de meilleures performances que deux. C'est le cas lorsque le programmeur supplémentaire n'est pas utilisé et consomme donc les ressources de votre environnement sans incidence sur les performances globales. Les performances réelles du programmeur dépendent du nombre de nœuds de calcul Airflow, du nombre de DAG et des tâches exécutées dans votre environnement, ainsi que de la configuration d'Airflow et de l'environnement.

Nous vous recommandons de commencer par deux programmeurs, puis de surveiller les performances de votre environnement. Si vous modifiez le nombre de programmeurs, vous pouvez toujours rétablir l'échelle du nombre de programmeurs d'origine de votre environnement.

Pour en savoir plus sur la configuration de plusieurs programmeurs, consultez la documentation Airflow.

Vous pouvez spécifier la quantité de processeurs, de mémoire et d'espace disque utilisés par les planificateurs Airflow dans votre environnement. Vous pouvez ainsi augmenter les performances de votre environnement, en plus du scaling horizontal fourni par l'utilisation de plusieurs planificateurs.

Console

  1. Dans la console Google Cloud, accédez à la page Environnements.

    Accéder à la page Environnements

  2. Dans la liste des environnements, cliquez sur le nom de votre environnement. La page Détails de l'environnement s'ouvre.

  3. Accédez à l'onglet Configuration de l'environnement.

  4. Dans l'élément Ressources > Configuration des charges de travail, cliquez sur Modifier.

  5. Dans le volet Configuration des charges de travail, ajustez les paramètres pour Airflow. schedulers:

    • Dans la liste déroulante Nombre de planificateurs, sélectionnez le nombre de pour votre environnement.

    • Dans les champs CPU, Mémoire et Stockage, spécifiez le nombre de processeurs, de mémoire et d'espace de stockage pour les planificateurs Airflow. Chaque planificateur utilise la quantité de ressources spécifiée.

  6. Cliquez sur Enregistrer.

gcloud

Les paramètres de planification Airflow suivants sont disponibles :

  • --scheduler-count : nombre de planificateurs dans votre environnement.

  • --scheduler-cpu: nombre de processeurs pour un programmeur Airflow.

  • --scheduler-memory: quantité de mémoire pour un programmeur Airflow.

  • --scheduler-storage: quantité d'espace disque pour un programmeur Airflow.

Exécutez la commande Google Cloud CLI suivante:

gcloud composer environments update ENVIRONMENT_NAME \
  --location LOCATION \
  --scheduler-cpu SCHEDULER_CPU \
  --scheduler-memory SCHEDULER_MEMORY \
  --scheduler-storage SCHEDULER_STORAGE \
  --scheduler-count SCHEDULER_COUNT

Remplacez les éléments suivants :

  • ENVIRONMENT_NAME: nom de l'environnement.
  • LOCATION : région où se trouve l'environnement.

  • SCHEDULER_CPU: nombre de processeurs pour un programmeur, en unités de vCPU.

  • SCHEDULER_MEMORY: quantité de mémoire pour un programmeur.

  • SCHEDULER_STORAGE: taille de disque pour un programmeur.

  • SCHEDULER_COUNT : nombre de planificateurs.

Exemple :

gcloud composer environments update example-environment \
  --location us-central1 \
  --scheduler-cpu 0.5 \
  --scheduler-memory 2.5 \
  --scheduler-storage 2 \
  --scheduler-count 2

API

  1. Rédigez une requête API environments.patch.

  2. Dans cette requête :

    1. Dans le paramètre updateMask, spécifiez le masque config.workloadsConfig.scheduler pour mettre à jour tous les planificateurs des paramètres ou uniquement le nombre de planificateurs. Vous pouvez également mettre à jour paramètres individuels du programmeur, à l'exception de count, en spécifiant un masque. Par exemple, config.workloadsConfig.scheduler.cpu.

    2. Dans le corps de la requête, spécifiez les nouveaux paramètres du programmeur.

"config": {
  "workloadsConfig": {
    "scheduler": {
      "cpu": SCHEDULER_CPU,
      "memoryGb": SCHEDULER_MEMORY,
      "storageGb": SCHEDULER_STORAGE,
      "count": SCHEDULER_COUNT
    }
  }
}

Remplacez les éléments suivants :

  • ENVIRONMENT_NAME: nom de l'environnement.
  • LOCATION : région où se trouve l'environnement.

  • SCHEDULER_CPU: nombre de processeurs pour un programmeur, en unités de vCPU.

  • SCHEDULER_MEMORY : quantité de mémoire pour un planificateur, en Go.

  • SCHEDULER_STORAGE: taille de disque d'un programmeur, en Go.

  • SCHEDULER_COUNT: nombre de programmeurs.

Exemple :

// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.workloadsConfig.scheduler

"config": {
  "workloadsConfig": {
    "scheduler": {
      "cpu": 0.5,
      "memoryGb": 2.5,
      "storageGb": 2,
      "count": 2
    }
  }
}

Terraform

Les champs suivants du bloc workloads_config.scheduler contrôlent Paramètres du programmeur Airflow. Chaque programmeur utilise la quantité spécifiée ressources.

  • scheduler.count : nombre de planificateurs dans votre environnement.

  • scheduler.cpu: nombre de processeurs pour un programmeur Airflow.

  • scheduler.memory_gb: quantité de mémoire pour un programmeur Airflow.

  • scheduler.storage_gb: quantité d'espace disque pour un programmeur.

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
      }
    }

  }
}

Remplacez les éléments suivants :

  • ENVIRONMENT_NAME: nom de l'environnement.
  • LOCATION : région où se trouve l'environnement.

  • SCHEDULER_CPU: nombre de processeurs pour un programmeur, en unités de vCPU.

  • SCHEDULER_MEMORY : quantité de mémoire pour un planificateur, en Go.

  • SCHEDULER_STORAGE: taille de disque d'un programmeur, en Go.

  • SCHEDULER_COUNT: nombre de programmeurs.

Exemple :

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

  config {

    workloads_config {
      scheduler {
        
        cpu = 0.5
        memory_gb = 1.875
        storage_gb = 1
        
        count = 2
      }
    }

  }
}

Ajuster les paramètres du déclencheur

Vous pouvez définir le nombre de déclencheurs sur zéro, mais il vous en faut au moins un. de déclencheur dans votre environnement (ou au moins deux dans le cas (environnements d'exécution) opérateurs différables dans vos DAG.

Selon la configuration mode résilience, il existe différentes configurations possibles selon le nombre de déclencheurs:

  • Résilience standard: vous pouvez exécuter jusqu'à 10. déclencheurs.
  • Haute résilience : au moins deux déclencheurs, jusqu'à 10 au maximum.

Même si le nombre de déclencheurs est défini sur zéro, une définition de pod de déclencheur est créée et visible dans le cluster de votre environnement, mais aucune charge de travail de déclencheur n'est exécutée.

Vous pouvez également spécifier la quantité de processeurs, de mémoire et d'espace disque utilisés par Airflow. et les déclencheurs de votre environnement. Vous pouvez ainsi augmenter les performances de votre environnement, en plus du scaling horizontal fourni par l'utilisation de plusieurs déclencheurs.

Console

  1. Dans la console Google Cloud, accédez à la page Environnements.

    Accéder à la page Environnements

  2. Dans la liste des environnements, cliquez sur le nom de votre environnement. La page Détails de l'environnement s'ouvre.

  3. Accédez à l'onglet Configuration de l'environnement.

  4. Dans l'élément Ressources > Configuration des charges de travail : cliquez sur Modifier.

  5. Dans le volet Configuration des charges de travail, ajustez les paramètres des déclencheurs Airflow :

    1. Dans la section Déclencheur, dans le champ Nombre de déclencheurs, saisissez le nombre de déclencheurs dans votre environnement.

      Si vous avez défini au moins un déclencheur pour votre environnement, utilisez également la classe les champs Processeur et Mémoire pour configurer l'allocation des ressources pour vos déclencheurs.

    2. Dans les champs CPU et Mémoire, spécifiez le nombre de processeurs, de mémoire et d'espace disque pour les déclencheurs Airflow. Chaque déclencheur utilise la quantité de ressources spécifiée.

  6. Cliquez sur Enregistrer.

gcloud

Les paramètres de déclencheur Airflow suivants sont disponibles :

  • --triggerer-count: nombre de déclencheurs dans votre environnement.

    • Pour les environnements de résilience standards, utilisez une valeur comprise entre 0 et 10.
    • Pour les environnements hautement résilients, utilisez 0 ou une valeur comprise entre 2 et 10.
  • --triggerer-cpu: nombre de processeurs pour un déclencheur Airflow.

  • --triggerer-memory : quantité de mémoire pour un déclencheur Airflow.

Exécutez la commande Google Cloud CLI suivante :

gcloud composer environments update ENVIRONMENT_NAME \
  --location LOCATION \
  --triggerer-count TRIGGERER_COUNT \
  --triggerer-cpu TRIGGERER_CPU \
  --triggerer-memory TRIGGERER_MEMORY

Remplacez les éléments suivants :

  • ENVIRONMENT_NAME: nom de l'environnement.
  • LOCATION : région où se trouve l'environnement.
  • TRIGGERER_COUNT : nombre de déclencheurs.
  • TRIGGERER_CPU : nombre de processeurs pour un déclencheur, en unités de processeur virtuel.
  • TRIGGERER_MEMORY : quantité de mémoire pour un déclencheur.

Exemples :

  • Passez à quatre instances de déclencheur:
  gcloud composer environments update example-environment \
    --location us-central1 \
    --triggerer-count 4 \
    --triggerer-cpu 1 \
    --triggerer-memory 1
  ```

- Disable triggerers by setting triggerer count to `0`. This operation
  doesn't require specifying CPU or memory for the triggerers.

```bash
  gcloud composer environments update example-environment \
    --location us-central1 \
    --triggerer-count 0
  ```

API

  1. Dans le paramètre de requête updateMask, spécifiez la Masque config.workloadsConfig.triggerer.

  2. Dans le corps de la requête, spécifiez les trois paramètres des déclencheurs.

"config": {
  "workloadsConfig": {
    "triggerer": {
      "count": TRIGGERER_COUNT,
      "cpu": TRIGGERER_CPU,
      "memoryGb": TRIGGERER_MEMORY
    }
  }
}

Remplacez les éléments suivants :

  • TRIGGERER_COUNT : nombre de déclencheurs.

    • Pour les environnements de résilience standards, utilisez une valeur comprise entre 0 et 10.
    • Pour les environnements hautement résilients, utilisez 0 ou une valeur comprise entre 2 et 10
  • TRIGGERER_CPU: nombre de processeurs d'un déclencheur, en unités de vCPU.

  • TRIGGERER_MEMORY : quantité de mémoire pour un déclencheur.

Exemples :

  • Désactivez les déclencheurs en définissant le nombre de déclencheurs sur 0. Cette opération ne nécessite pas de spécifier de processeur ni de mémoire pour les déclencheurs.
// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.workloadsConfig.triggerer
"config": {
  "workloadsConfig": {
    "triggerer": {
      "count": 0
    }
  }
}
  • Passer à quatre instances de déclencheur :
// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.workloadsConfig.triggerer
"config": {
  "workloadsConfig": {
    "triggerer": {
      "count": 4,
      "cpu": 1,
      "memoryGb": 1
    }
  }
}

Terraform

Les champs suivants du bloc workloads_config.triggerer contrôlent Paramètres du déclencheur Airflow. Chaque déclencheur utilise la quantité spécifiée ressources.

  • triggerer.count: nombre de déclencheurs dans votre environnement.

    • Pour les environnements de résilience standards, utilisez une valeur comprise entre 0 et 10.
    • Pour les environnements très résilients, utilisez 0 ou une valeur comprise entre 2 et 10.
  • triggerer.cpu: nombre de processeurs pour un déclencheur Airflow.

  • triggerer.memory_gb: quantité de mémoire pour un déclencheur Airflow.

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

  config {

    workloads_config {
      triggerer {
        count = TRIGGERER_COUNT
        cpu = TRIGGERER_CPU
        memory_gb = TRIGGERER_MEMORY
      }
    }

  }
}

Remplacez les éléments suivants :

  • ENVIRONMENT_NAME: nom de l'environnement.
  • LOCATION : région où se trouve l'environnement.
  • TRIGGERER_COUNT : nombre de déclencheurs.
  • TRIGGERER_CPU: nombre de processeurs d'un déclencheur, en unités de vCPU.
  • TRIGGERER_MEMORY: quantité de mémoire d'un déclencheur, en Go.

Exemple :

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

  config {

    workloads_config {
      triggerer {
        count = 1
        cpu = 0.5
        memory_gb = 0.5
      }
    }

  }
}

Ajuster les paramètres du processeur DAG

Vous pouvez spécifier le nombre de processeurs DAG dans votre environnement et la quantité de CPU, de mémoire et d'espace disque utilisés par chaque processeur DAG.

Console

  1. Dans la console Google Cloud, accédez à la page Environnements.

    Accéder à la page Environnements

  2. Dans la liste des environnements, cliquez sur le nom de votre environnement. La page Détails de l'environnement s'ouvre.

  3. Accédez à l'onglet Configuration de l'environnement.

  4. Dans l'élément Ressources > Configuration des charges de travail : cliquez sur Modifier.

  5. Dans le volet Configuration des charges de travail, ajustez les paramètres pour Airflow. Les processeurs DAG:

    • Dans la liste déroulante Nombre de processeurs DAG, sélectionnez le nombre de processeurs DAG pour votre environnement.

    • Dans les champs CPU, Mémoire et Stockage, spécifiez le nombre de processeurs, de mémoire et d'espace disque pour les processeurs DAG Airflow. Chaque processeur DAG utilise la quantité de ressources spécifiée.

  6. Cliquez sur Enregistrer.

gcloud

Les paramètres de processeur DAG Airflow suivants sont disponibles :

  • --dag-processor-count : nombre de processeurs DAG.
  • --dag-processor-cpu : nombre de processeurs pour le processeur DAG.
  • --dag-processor-memory: quantité de mémoire pour le DAG processeur.
  • --dag-processor-storage : quantité d'espace disque pour le processeur DAG.

Exécutez la commande Google Cloud CLI suivante:

gcloud composer environments update ENVIRONMENT_NAME \
  --location LOCATION \
    --dag-processor-count DAG_PROCESSOR_COUNT \
    --dag-processor-cpu DAG_PROCESSOR_CPU \
    --dag-processor-memory DAG_PROCESSOR_MEMORY \
    --dag-processor-storage DAG_PROCESSOR_STORAGE

Remplacez les éléments suivants :

  • ENVIRONMENT_NAME: nom de l'environnement.
  • LOCATION: région dans laquelle se trouve l'environnement.
  • DAG_PROCESSOR_CPU: nombre de processeurs pour le processeur DAG.
  • DAG_PROCESSOR_MEMORY: quantité de mémoire pour le DAG processeur.
  • DAG_PROCESSOR_STORAGE : quantité d'espace disque pour le processeur DAG.

Exemple :

gcloud composer environments update example-environment \
  --location us-central1 \
  --dag-processor-count 2 \
  --dag-processor-cpu 0.5 \
  --dag-processor-memory 2 \
  --dag-processor-storage 1

API

  1. Rédigez une requête API environments.patch.

  2. Dans cette requête :

    1. Dans le paramètre updateMask, spécifiez le masque config.workloadsConfig.dagProcessor pour mettre à jour tous les paramètres du processeur DAG, y compris le nombre de processeurs DAG. Vous pouvez également mettre à jour des paramètres de processeur DAG individuels en spécifiant un masque. Exemple : config.workloadsConfig.dagProcessor.cpu,config.workloadsConfig.dagProcessor.memoryGb,config.workloadsConfig.dagProcessor.storageGb.

    2. Dans le corps de la requête, spécifiez les nouveaux paramètres du processeur DAG.

"config": {
  "workloadsConfig": {
    "dagProcessor": {
      "count": DAG_PROCESSOR_COUNT,
      "cpu": DAG_PROCESSOR_CPU,
      "memoryGb": DAG_PROCESSOR_MEMORY,
      "storageGb": DAG_PROCESSOR_STORAGE
    }
  }
}

Remplacez les éléments suivants :

  • ENVIRONMENT_NAME: nom de l'environnement.
  • LOCATION: région dans laquelle se trouve l'environnement.
  • DAG_PROCESSOR_COUNT : nombre de processeurs DAG.
  • DAG_PROCESSOR_CPU : nombre de processeurs pour le processeur DAG, en unités de vCPU.
  • DAG_PROCESSOR_MEMORY: quantité de mémoire pour le DAG en Go.
  • DAG_PROCESSOR_STORAGE: quantité d'espace disque pour le DAG en Go.

Exemple :

// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.workloadsConfig.dagProcessor

"config": {
  "workloadsConfig": {
    "scheduler": {
      "count": 2
      "cpu": 0.5,
      "memoryGb": 2.5,
      "storageGb": 2
    }
  }
}

Terraform

Les champs suivants du bloc workloads_config.dag_processor contrôlent les paramètres du processeur DAG Airflow. Chaque processeur DAG utilise la quantité de ressources spécifiée.

  • dag_processor.count: nombre de processeurs DAG dans votre environnement
  • dag_processor.cpu : nombre de processeurs pour un processeur DAG.
  • dag_processor.memory_gb: quantité de mémoire d'un processeur DAG.
  • dag_processor.storage_gb la quantité d'espace disque pour un processeur DAG.
resource "google_composer_environment" "example" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {

    workloads_config {
      dag_processor {
        count = DAG_PROCESSOR_COUNT
        cpu = DAG_PROCESSOR_CPU
        memory_gb = DAG_PROCESSOR_MEMORY
        storage_gb = DAG_PROCESSOR_STORAGE
      }
    }

  }
}

Remplacez les éléments suivants :

  • ENVIRONMENT_NAME: nom de l'environnement.
  • LOCATION: région dans laquelle se trouve l'environnement.
  • DAG_PROCESSOR_COUNT : nombre de processeurs DAG.
  • DAG_PROCESSOR_CPU : nombre de processeurs pour le processeur DAG, en unités de vCPU.
  • DAG_PROCESSOR_MEMORY: quantité de mémoire pour le DAG en Go.
  • DAG_PROCESSOR_STORAGE: quantité d'espace disque pour le DAG en Go.

Exemple :

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

  config {

    workloads_config {
      dag_processor {
        count = 2
        cpu = 0.5
        memory_gb = 2
        storage_gb = 1
      }
    }

  }
}

Ajuster les paramètres du serveur Web

Vous pouvez spécifier la quantité de processeurs, de mémoire et d'espace disque utilisés par le serveur Web Airflow dans votre environnement. Vous pouvez ainsi optimiser les performances Airflow, par exemple, pour répondre à la demande provenant d'un grand nombre ou un grand nombre de DAG gérés.

Console

  1. Dans la console Google Cloud, accédez à la page Environnements.

    Accéder à la page Environnements

  2. Dans la liste des environnements, cliquez sur le nom de votre environnement. La page Détails de l'environnement s'ouvre.

  3. Accédez à l'onglet Configuration de l'environnement.

  4. Dans l'élément Ressources > Configuration des charges de travail : cliquez sur Modifier.

  5. Dans le volet Configuration des charges de travail, ajustez les paramètres du paramètre Google Cloud. Dans les champs Processeur, Mémoire et Stockage, spécifiez le nombre de processeurs, la mémoire et le stockage pour le serveur web.

  6. Cliquez sur Enregistrer.

gcloud

Les paramètres suivants du serveur Web Airflow sont disponibles :

  • --web-server-cpu: nombre de processeurs pour le serveur Web Airflow.
  • --web-server-memory: quantité de mémoire pour le Web Airflow Google Cloud.
  • --web-server-storage: quantité d'espace disque pour Airflow Google Cloud.

Exécutez la commande Google Cloud CLI suivante:

gcloud composer environments update ENVIRONMENT_NAME \
  --location LOCATION \
  --web-server-cpu WEB_SERVER_CPU \
  --web-server-memory WEB_SERVER_MEMORY \
  --web-server-storage WEB_SERVER_STORAGE

Remplacez les éléments suivants :

  • ENVIRONMENT_NAME: nom de l'environnement.
  • LOCATION: région dans laquelle se trouve l'environnement.
  • WEB_SERVER_CPU: nombre de processeurs pour le serveur Web, exprimé en vCPU.
  • WEB_SERVER_MEMORY: quantité de mémoire pour le serveur Web.
  • WEB_SERVER_STORAGE: quantité de mémoire pour le serveur Web.

Exemple :

gcloud composer environments update example-environment \
  --location us-central1 \
  --web-server-cpu 1 \
  --web-server-memory 2.5 \
  --web-server-storage 2

API

  1. Rédigez une requête API environments.patch.

  2. Dans cette requête :

    1. Dans le paramètre updateMask, spécifiez le masque config.workloadsConfig.webServer pour mettre à jour tous les paramètres du serveur Web. Vous pouvez également mettre à jour des paramètres de serveur Web individuels en spécifiant un masque pour ces paramètres : config.workloadsConfig.webServer.cpu, config.workloadsConfig.webServer.memoryGb et config.workloadsConfig.webServer.storageGb.

    2. Dans le corps de la requête, spécifiez les nouveaux paramètres du serveur Web.

"config": {
  "workloadsConfig": {
    "webServer": {
      "cpu": WEB_SERVER_CPU,
      "memoryGb": WEB_SERVER_MEMORY,
      "storageGb": WEB_SERVER_STORAGE
    }
  }
}

Remplacez les éléments suivants :

  • ENVIRONMENT_NAME: nom de l'environnement.
  • LOCATION : région où se trouve l'environnement.
  • WEB_SERVER_CPU : nombre de processeurs pour le serveur Web, en unités de processeur virtuel.
  • WEB_SERVER_MEMORY : quantité de mémoire pour le serveur Web, en Go.
  • WEB_SERVER_STORAGE: taille du disque du serveur Web, en Go.

Exemple :

// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.workloadsConfig.webServer.cpu,
// config.workloadsConfig.webServer.memoryGb,
// config.workloadsConfig.webServer.storageGb

"config": {
  "workloadsConfig": {
    "webServer": {
      "cpu": 0.5,
      "memoryGb": 2.5,
      "storageGb": 2
    }
  }
}

Terraform

Les champs suivants du bloc workloads_config.web_server contrôlent paramètres de serveur Web.

  • web_server.cpu : nombre de processeurs pour le serveur Web.
  • web_server.memory_gb : quantité de mémoire pour le serveur Web.
  • web_server.storage_gb: quantité d'espace disque pour le serveur Web.
resource "google_composer_environment" "example" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {

    workloads_config {
      web_server {
        cpu = WEB_SERVER_CPU
        memory_gb = WEB_SERVER_MEMORY
        storage_gb = WEB_SERVER_STORAGE
      }
    }

  }
}

Remplacez les éléments suivants :

  • ENVIRONMENT_NAME: nom de l'environnement.
  • LOCATION : région où se trouve l'environnement.
  • WEB_SERVER_CPU : nombre de processeurs pour le serveur Web, en unités de processeur virtuel.
  • WEB_SERVER_MEMORY : quantité de mémoire pour le serveur Web, en Go.
  • WEB_SERVER_STORAGE: taille du disque du serveur Web, en Go.

Exemple :

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

  config {

    workloads_config {
      web_server {
        cpu = 0.5
        memory_gb = 1.875
        storage_gb = 1
      }
    }

  }
}

Ajuster la taille de l'environnement

La taille de l'environnement contrôle les paramètres de performance de l'infrastructure Cloud Composer gérée, qui inclut, par exemple, la base de données Airflow.

Envisagez de sélectionner une plus grande taille d'environnement si vous souhaitez exécuter un grand nombre de DAG et de tâches.

Console

  1. Dans la console Google Cloud, accédez à la page Environnements.

    Accéder à la page Environnements

  2. Dans la liste des environnements, cliquez sur le nom de votre environnement. La page Détails de l'environnement s'ouvre.

  3. Accédez à l'onglet Configuration de l'environnement.

  4. Dans l'élément Ressources > Configuration des charges de travail : cliquez sur Modifier.

  5. Dans l'élément Ressources > Infrastructure principale, cliquez sur Modifier.

  6. Dans le champ Taille de l'environnement du volet Infrastructure de base : spécifier la taille de l'environnement.

  7. Cliquez sur Enregistrer.

gcloud

L'argument --environment-size contrôle la taille de l'environnement :

gcloud composer environments update ENVIRONMENT_NAME \
    --location LOCATION \
    --environment-size ENVIRONMENT_SIZE

Remplacez les éléments suivants :

  • ENVIRONMENT_NAME: nom de l'environnement.
  • LOCATION: région dans laquelle se trouve l'environnement.
  • ENVIRONMENT_SIZE : small, medium ou large.

Exemple :

gcloud composer environments update example-environment \
    --location us-central1 \
    --environment-size medium

API

  1. Créez une requête API environments.patch.

  2. Dans cette requête :

    1. Dans le paramètre updateMask, spécifiez le masque config.environmentSize.

    2. Dans le corps de la requête, spécifiez la taille de l'environnement.

  "config": {
    "environmentSize": "ENVIRONMENT_SIZE"
  }

Remplacez les éléments suivants :

  • ENVIRONMENT_SIZE: taille de l'environnement, ENVIRONMENT_SIZE_SMALL. ENVIRONMENT_SIZE_MEDIUM ou ENVIRONMENT_SIZE_LARGE.

Exemple :

// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.environmentSize

"config": {
  "environmentSize": "ENVIRONMENT_SIZE_MEDIUM"
}

Terraform

Le champ environment_size du bloc config contrôle l'environnement taille:

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

  config {

    environment_size = "ENVIRONMENT_SIZE"

  }
}

Remplacez les éléments suivants :

  • ENVIRONMENT_NAME: nom de l'environnement.
  • LOCATION: région dans laquelle se trouve l'environnement.
  • ENVIRONMENT_SIZE: taille de l'environnement, ENVIRONMENT_SIZE_SMALL. ENVIRONMENT_SIZE_MEDIUM ou ENVIRONMENT_SIZE_LARGE.

Exemple :

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

  config {

    environment_size = "ENVIRONMENT_SIZE_SMALL"

    }
  }
}

Étape suivante