Cloud Composer 1 | Cloud Composer 2
Cette page explique comment procéder au scaling d'environnements Cloud Composer dans Cloud Composer 1.
Pour en savoir plus sur le fonctionnement du scaling d'environnement, consultez la page Scaling de l'environnement.
Échelle verticale et horizontale
Dans Cloud Composer 1, vous ne définissez pas de ressources de processeur et de mémoire spécifiques pour les composants Cloud Composer et Airflow tels que les nœuds de calcul et les programmeurs. À la place, vous devez spécifier le nombre et le type de machines pour les nœuds du cluster de votre environnement.
Options de scaling horizontal :
Options de scaling vertical :
Ajuster le nombre de nœuds
Vous pouvez modifier le nombre de nœuds dans votre environnement.
Ce nombre correspond au nombre de nœuds de calcul Airflow dans votre environnement. En plus d'exécuter des nœuds de calcul Airflow, les nœuds de votre environnement exécutent également des programmeurs Airflow et d'autres composants d'environnement.
Console
Accédez à la page Environnements dans la console Google Cloud:
Sélectionnez votre environnement.
Accédez à l'onglet Configuration de l'environnement.
Dans l'élément Nœuds de calcul > Nombre de nœuds, cliquez sur Modifier.
Dans le champ Nombre de nœuds de la boîte de dialogue Configuration des nœuds de calcul, spécifiez le nombre de nœuds dans votre environnement.
Cliquez sur Enregistrer.
gcloud
L'argument --node-count
contrôle le nombre de nœuds dans votre environnement :
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--zone NODE_ZONE \
--node-count NODE_COUNT
Remplacez :
ENVIRONMENT_NAME
par le nom de l'environnement.LOCATION
par la région dans laquelle se trouve l'environnement.NODE_COUNT
par le nombre de nœuds ; Le nombre minimal de nœuds est de3
.NODE_ZONE
par la zone Compute Engine pour les VM de l'environnement ;
Exemple :
gcloud composer environments update example-environment \
--location us-central1 \
--zone us-central1-a \
--node-count 6
API
Créez une requête API
environments.patch
.Dans cette requête :
Dans le paramètre
updateMask
, spécifiez le masqueconfig.nodeCount
.Dans le corps de la requête, spécifiez le nombre de nœuds de votre environnement.
"config": {
"nodeCount": NODE_COUNT
}
Remplacez :
NODE_COUNT
par le nombre de nœuds. Le nombre minimal de nœuds est de3
.
Exemple :
// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.nodeCount
"config": {
"nodeCount": 6
}
Terraform
Le champ node_count
du bloc node_config
spécifie le nombre de nœuds dans votre environnement.
resource "google_composer_environment" "example" {
config {
node_config {
node_count = NODE_COUNT
}
}
Remplacez :
NODE_COUNT
par le nombre de nœuds.
Exemple :
resource "google_composer_environment" "example" {
name = "example-environment"
region = "us-central1"
config {
node_config {
node_count = 4
}
}
Ajuster le nombre de programmeurs
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 spécifier un nombre de programmeurs jusqu'au nombre de nœuds 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.
Console
Accédez à la page Environnements dans la console Google Cloud:
Sélectionnez votre environnement.
Accédez à l'onglet Configuration de l'environnement.
Dans l'élément Ressources > Nombre de programmeurs, cliquez sur Modifier.
Dans la boîte de dialogue Configuration du programmeur, spécifiez le nombre de programmeurs pour votre environnement dans le champ Nombre de programmeurs.
Cliquez sur Enregistrer.
gcloud
Exécutez la commande Google Cloud CLI suivante:
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--scheduler-count SCHEDULER_COUNT
Remplacez :
ENVIRONMENT_NAME
par le nom de l'environnement.LOCATION
par la région dans laquelle se trouve l'environnement.SCHEDULER_COUNT
par le nombre de programmeurs ;
Exemple :
gcloud composer environments update example-environment \
--location us-central1 \
--scheduler-count 2
API
Créez une requête API
environments.patch
.Dans cette requête :
Dans le paramètre
updateMask
, spécifiez le masqueconfig.softwareConfig.schedulerCount
.Dans le corps de la requête, spécifiez le nombre de nœuds de votre environnement.
{
"config": {
"softwareConfig": {
"schedulerCount": SCHEDULER_COUNT
}
}
Remplacez :
SCHEDULER_COUNT
par le nombre de programmeurs.
Exemple :
// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.softwareConfig.schedulerCount
{
"config": {
"softwareConfig": {
"schedulerCount": 2
}
}
Terraform
Le champ scheduler_count
du bloc software_config
spécifie le nombre de programmeurs dans votre environnement.
Ce champ n'est disponible que dans les environnements Cloud Composer 1 qui utilisent Airflow 2.
resource "google_composer_environment" "example" {
config {
software_config {
scheduler_count = SCHEDULER_COUNT
}
}
}
Remplacez :
SCHEDULER_COUNT
par le nombre de programmeurs.
Exemple :
resource "google_composer_environment" "example" {
name = "example-environment"
region = "us-central1"
config {
software_config {
scheduler_count = 2
}
}
}
Ajuster le type de machine de l'instance Cloud SQL
Vous pouvez modifier le type de machine de l'instance Cloud SQL qui stocke la base de données Airflow de votre environnement.
Console
Accédez à la page Environnements dans la console Google Cloud:
Sélectionnez votre environnement.
Accédez à l'onglet Configuration de l'environnement.
Dans l'élément Ressources > Type de machine Cloud SQL, cliquez sur Modifier.
Dans la boîte de dialogue Configuration Cloud SQL, dans la liste déroulante Type de machine Cloud SQL, sélectionnez le type de machine pour l'instance Cloud SQL de votre environnement.
Cliquez sur Enregistrer.
gcloud
Les arguments --cloud-sql-machine-type
contrôlent le type de machine de l'instance Cloud SQL dans votre environnement.
Exécutez la commande Google Cloud CLI suivante:
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--cloud-sql-machine-type SQL_MACHINE_TYPE
Remplacez :
ENVIRONMENT_NAME
par le nom de l'environnement.LOCATION
par la région dans laquelle se trouve l'environnement.SQL_MACHINE_TYPE
par le type de machine pour l'instance Cloud SQL.
Exemple :
gcloud composer environments update example-environment \
--location us-central1 \
--cloud-sql-machine-type db-n1-standard-2
API
Créez une requête API
environments.patch
.Dans cette requête :
Dans le paramètre
updateMask
, spécifiez le masqueconfig.databaseConfig.machineType
.Dans le corps de la requête, spécifiez le type de machine pour l'instance Cloud SQL.
{
"config": {
"databaseConfig": {
"machineType": "SQL_MACHINE_TYPE"
}
}
}
Remplacez :
SQL_MACHINE_TYPE
par le type de machine pour l'instance Cloud SQL
Exemple :
// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.databaseConfig.machineType
{
"config": {
"databaseConfig": {
"machineType": "db-n1-standard-2"
}
}
}
Terraform
Le champ machine_type
du bloc database_config
spécifie le type de machine pour l'instance Cloud SQL.
resource "google_composer_environment" "example" {
config {
database_config {
machine_type = "SQL_MACHINE_TYPE"
}
}
}
Remplacez :
SQL_MACHINE_TYPE
par le type de machine pour l'instance Cloud SQL
Exemple :
resource "google_composer_environment" "example" {
name = "example-environment"
region = "us-central1"
config {
database_config {
machine_type = "db-n1-standard-2"
}
}
Ajuster le type de machine du serveur Web
Vous pouvez modifier le type de machine pour le serveur Web Airflow de votre environnement.
Console
Accédez à la page Environnements dans la console Google Cloud:
Sélectionnez votre environnement.
Accédez à l'onglet Configuration de l'environnement.
Dans l'élément Ressources > Type de machine du serveur Web, cliquez sur Modifier.
Dans la liste déroulante Type de machine du serveur Web de la boîte de dialogue Configuration du serveur Web, sélectionnez le type de machine pour le serveur Web Airflow.
Cliquez sur Enregistrer.
gcloud
Les arguments --web-server-machine-type
contrôlent le type de machine de l'instance de serveur Web Airflow dans votre environnement.
Exécutez la commande Google Cloud CLI suivante:
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--web-server-machine-type WS_MACHINE_TYPE
Remplacez :
ENVIRONMENT_NAME
par le nom de l'environnement.LOCATION
par la région dans laquelle se trouve l'environnement.WS_MACHINE_TYPE
par le type de machine pour l'instance de serveur Web Airflow.
Exemple :
gcloud composer environments update example-environment \
--location us-central1 \
--web-server-machine-type composer-n1-webserver-2
API
Créez une requête API
environments.patch
.Dans cette requête :
Dans le paramètre
updateMask
, spécifiez le masqueconfig.webServerConfig.machineType
.Dans le corps de la requête, spécifiez le type de machine pour le serveur Web.
{
"config": {
"webServerConfig": {
"machineType": "WS_MACHINE_TYPE"
}
}
}
Remplacez :
WS_MACHINE_TYPE
par le type de machine pour l'instance de serveur Web Airflow.
Exemple :
// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.webServerConfig.machineType
{
"config": {
"webServerConfig": {
"machineType": "composer-n1-webserver-2"
}
}
}
Terraform
Le champ machine_type
du bloc web_server_config
spécifie le type de machine pour l'instance de serveur Web Airflow.
resource "google_composer_environment" "example" {
config {
web_server_config {
machine_type = "WS_MACHINE_TYPE"
}
}
}
Remplacez :
WS_MACHINE_TYPE
par le type de machine pour l'instance de serveur Web Airflow.
Exemple :
resource "google_composer_environment" "example" {
name = "example-environment"
region = "us-central1"
config {
web_server_config {
machine_type = "composer-n1-webserver-2"
}
}
Étapes suivantes
- Scaling et performances des environnements
- Tarifs de Cloud Composer
- Mettre à jour des environnements
- Architecture des environnements