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.
  • Ajuster le nombre de planificateurs et les 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 et du serveur Web.
  • Ajustez la taille de l'environnement.

Limites de ressources

Composant Nombre minimal Nombre maximal vCPU minimal Nombre maximal de vCPU Incrément minimal des processeurs virtuels Mémoire minimale (Go) Mémoire maximale (Go) Étape minimale de mémoire (Go) Mémoire minimale par vCPU (Go) Mémoire maximale pour 1 vCPU (Go) Espace de stockage minimal (Go) Espace de stockage maximal (Go) Étape minimale de stockage (Go)
Programmeurs 1 10 0,5 28 0,25 0,5 80 - 1 6,5 0,05 10 -
Déclencheurs 0 10 0,5 1 0,25 0,5 80 - 1 6,5 - - -
Serveur Web - - 0,5 28 0,25 1 80 - 1 6,5 0,05 10 -
Nœuds de calcul 1 100 0,5 28 0,25 0,5 80 - 1 6,5 0,05 10 -

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 les nœuds de calcul Airflow dans votre environnement. Vous pouvez ainsi améliorer les performances cloud, en plus du scaling horizontal fourni par l'utilisation de plusieurs les 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 pour Airflow. nœuds de calcul:

    • 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 dans votre environnement ne passe jamais en dessous de ce seuil pendant le fonctionnement normal de l'environnement, même si un nombre inférieur de nœuds de calcul peut 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 des nœuds de calcul Airflow suivants sont disponibles:

  • --min-workers: nombre de nœuds de calcul Airflow que votre environnement doit s'exécuter en permanence. Le nombre de nœuds de calcul dans votre environnement ne passe jamais en dessous de ce seuil, même si un nombre inférieur de nœuds de calcul peut 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 pour un nœud de calcul, en unités de processeur virtuel.
  • WORKER_MEMORY: quantité de mémoire pour un nœud de calcul.
  • WORKER_STORAGE: taille de 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 de nœud 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 d'un nœud de calcul, en unités de vCPU.
  • 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 d'un nœud de calcul, en unités de vCPU.
  • 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é.

Jusqu'à 10. de 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 améliorer les performances votre environnement, en plus du scaling horizontal fourni par l'utilisation de plusieurs les 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 planificateurs pour votre environnement.

    • Dans les champs Processeur, Mémoire et Stockage, indiquez le nombre de processeurs, de mémoire et de stockage pour les programmeurs Airflow. Chaque programmeur utilise la quantité de ressources spécifiée.

  6. Cliquez sur Enregistrer.

gcloud

Les paramètres suivants du programmeur Airflow sont disponibles:

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

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

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

  • --scheduler-storage : espace disque d'un planificateur 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 planificateur, en unités de processeur virtuel.

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

  • SCHEDULER_STORAGE : taille du disque pour un planificateur.

  • SCHEDULER_COUNT: nombre de programmeurs.

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 paramètres de planification 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 planificateur.

"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 planificateur, en unités de processeur virtuel.

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

  • SCHEDULER_STORAGE : taille du disque pour un planificateur, 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 planificateur Airflow.

  • scheduler.storage_gb : espace disque d'un planificateur.

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 planificateur, en unités de processeur virtuel.

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

  • SCHEDULER_STORAGE : taille du disque pour un planificateur, 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.

En fonction du mode de résilience de votre environnement, différentes configurations sont possibles pour le nombre de déclencheurs :

  • Résilience standard: vous pouvez exécuter jusqu'à 10. déclencheurs.
  • Résilience élevée: au moins 2 déclencheurs, jusqu'à un maximum de 10.

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 les déclencheurs Airflow dans 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 Processeur et Mémoire, indiquez le nombre de processeurs, de mémoire et de stockage pour les déclencheurs Airflow. Chaque déclencheur utilise la quantité de ressources spécifiée.

  6. Cliquez sur Enregistrer.

gcloud

Les paramètres suivants du déclencheur Airflow 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 une instance Airflow ou un déclencheur spécifique.

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 d'un déclencheur, en unités de vCPU.
  • 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 le 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 pour un déclencheur, en unités de processeur virtuel.

  • 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 il n'est pas nécessaire de spécifier le processeur ni la 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
    }
  }
}
  • Passez à 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 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_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 pour un déclencheur, en unités de processeur virtuel.
  • TRIGGERER_MEMORY : quantité de mémoire pour 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 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 faire évoluer les performances de l'interface utilisateur d'Airflow, par exemple, pour répondre à la demande d'un grand nombre d'utilisateurs ou d'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 serveur Web. 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 de serveur Web Airflow suivants sont disponibles:

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

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, en unités de processeur virtuel.
  • 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 serveurs Web paramètres. 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 dans laquelle se trouve l'environnement.
  • WEB_SERVER_CPU: le nombre de processeurs pour le serveur Web, en unités de vCPU.
  • 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 les paramètres du 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 dans laquelle se trouve l'environnement.
  • WEB_SERVER_CPU: le nombre de processeurs pour le serveur Web, en unités de vCPU.
  • 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 performances des L'infrastructure Cloud Composer, qui comprend, 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 de base : 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 où 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 où 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