Mettre à jour et supprimer des environnements

Cette page explique comment mettre à jour, supprimer et afficher en détail un environnement Cloud Composer. Elle vous explique également comment mettre à jour et afficher les configurations Apache Airflow d'un environnement.

Avant de commencer

  • Vous devez disposer d'un rôle pouvant déclencher des opérations de mise à jour d'environnement. En outre, le compte de service de l'environnement doit disposer d'un rôle comportant des autorisations suffisantes pour effectuer des opérations de mise à jour. Pour en savoir plus, consultez la page Contrôle des accès.

  • La plupart des commandes gcloud composer nécessitent un emplacement. Vous pouvez le spécifier à l'aide de l'option --location ou en définissant l'emplacement par défaut.

  • Certains paramètres Airflow sont préconfigurés pour Cloud Composer. Vous ne pouvez pas les modifier.

  • Certaines mises à jour d'environnement recompilent des images Cloud Composer, telles que des installations de packages et des mises à niveau de versions. La fonction de récupération de mémoire de Cloud Composer peut supprimer les images les plus anciennes.

  • Les mises à jour des configurations Airflow prennent effet sur toutes les instances Airflow (nœud de calcul, serveur, planificateur) environ cinq minutes après l'envoi de la requête de mise à jour.

  • Vous pouvez mettre à jour le type de machine pour la VM App Engine exécutant le serveur Web Airflow et pour l'instance Cloud SQL exécutant la base de données Airflow. Pour ce faire, utilisez gcloud composer, Cloud Console ou l'API Composer.

Limites

Cloud Composer n'accepte pas les requêtes simultanées de mise à jour ou de suppression d'environnement. Vous devez attendre la fin d'une requête de mise à jour ou de suppression d'environnement avant d'en soumettre une nouvelle.

Mettre à jour des environnements

Pour mettre à jour les environnements Cloud Composer, y compris les configurations Airflow, procédez comme suit :

Console

  1. Ouvrez la page Environnements dans Google Cloud.

    Ouvrir la page Environnements

  2. Cliquez sur le Nom de l'environnement à modifier.

  3. Sélectionnez l'onglet correspondant à la propriété que vous souhaitez mettre à niveau.

  4. Cliquez sur Modifier.

  5. Une fois les mises à jour effectuées, cliquez sur Envoyer.

gcloud

Pour mettre à jour des configurations Airflow, exécutez la commande gcloud composer environments update avec l'option --update-airflow-configs :

gcloud composer environments update ENVIRONMENT_NAME \
    --location LOCATION \
    --update-airflow-configs=KEY=VALUE,KEY=VALUE,... 

où :

  • ENVIRONMENT_NAME est le nom de l'environnement.
  • LOCATION est la région Compute Engine dans laquelle se trouve l'environnement.
  • KEY=VALUE est la section de configuration et le nom de la propriété séparés par un trait d'union (par exemple, core-print_stats_interval), ainsi que la valeur correspondante.

Exemple :

gcloud composer environments update test-environment \
    --location us-central1 \
    --update-airflow-configs=core-load_example=True,webserver-dag_orientation=TB 

Consultez la page 'gcloud composer environments update' de la documentation de référence pour obtenir des exemples supplémentaires.

API

Pour mettre à jour un environnement Cloud Composer, y compris les configurations Airflow, à l'aide de l'API REST Cloud Composer, envoyez une requête API environments.patch.

Terraform

Pour mettre à jour un environnement avec Terraform, modifiez les configurations de votre environnement Cloud Composer dans votre configuration Terraform, exécutez terraform plan pour afficher les actions proposées et, si vous êtes satisfait, exécutez terraform apply.

resource "google_composer_environment" "example-resource" {
    name   = "ENVIRONMENT_NAME"
    region = "LOCATION"
    software_config = {
      airflow_config_overrides = {
        KEY = "VALUE"
      }
    }
}

Remplacez :

  • ENVIRONMENT_NAME par le nom de l'environnement.
  • LOCATION par la région Compute Engine dans laquelle se trouve l'environnement.
  • KEY et VALUE par le nom de la propriété de configuration Airflow et la valeur correspondante. Par exemple, core-print_stats_interval et la valeur correspondante.

L'utilisation de paramètres facultatifs supplémentaires est définie dans la documentation de référence des arguments Terraform.

Par exemple, pour ignorer une option de configuration Airflow, procédez comme suit:

resource "google_composer_environment" "example-environment" {
    name   = "example-environment"
    region = "us-central1"
    software_config = {
      airflow_config_overrides = {
        core-load_example = "True"
      }
    }
}

Restaurer la configuration Airflow par défaut

Pour restaurer toutes les valeurs de configuration Airflow par défaut, procédez comme suit :

gcloud composer environments update ENVIRONMENT_NAME \
    --location LOCATION \
    --clear-airflow-configs

Pour restaurer une ou plusieurs valeurs de configuration Airflow par défaut, procédez comme suit :

gcloud composer environments update ENVIRONMENT_NAME \
    --location LOCATION \
    --remove-airflow-configs=core-load_example,webserver-dag_orientation

où :

  • ENVIRONMENT_NAME est le nom de l'environnement.
  • LOCATION est la région Compute Engine dans laquelle se trouve l'environnement.

Exemple :

gcloud composer environments update test-environment \
    --location us-central1 \
    --update-airflow-configs=core-load_example=True,webserver-dag_orientation=TB

La commande prend fin une fois l'opération terminée. Pour éviter d'attendre, utilisez l'option --async.

Afficher les détails de l'environnement

Pour afficher les détails de l'environnement Cloud Composer, y compris les configurations Airflow, procédez comme suit :

Console

  1. Ouvrez la page Environnements dans Google Cloud Console.

    Ouvrir la page Environnements

  2. Cliquez sur le Nom de l'environnement.
  3. Sélectionnez l'onglet de propriété approprié.

gcloud

gcloud composer environments describe ENVIRONMENT_NAME \
    --location LOCATION
    --format="get(PROPERTY)"

Où :

  • ENVIRONMENT_NAME est le nom de l'environnement.
  • LOCATION est la région Compute Engine dans laquelle se trouve l'environnement.
  • --format est une option permettant de spécifier une propriété d'environnement, telle que config.airflowUri pour l'URL du serveur Web Airflow.

Exemple :

gcloud composer environments describe test-environment 
--location us-central1 --format="get(config.airflowUri)"

# Returns https://a6b3z6e3nnZZZnnd3a-tp.appspot.com

API

Pour afficher les configurations Airflow à l'aide de l'API REST Cloud Composer, effectuez une requête API environments.get, en renseignant l'ID d'environnement.

Terraform

Pour afficher les détails de votre environnement Cloud Composer, exécutez la commande suivante :

terraform state show google_composer_environment.TERRAFORM_RESOURCE_NAME

où :

  • TERRAFORM_RESOURCE_NAME est le nom de votre ressource Terraform de Cloud Composer.

Mettre à niveau le type de machine pour les nœuds GKE

Vous pouvez mettre à niveau manuellement le type de machine pour le cluster GKE de votre environnement. Pour ce faire, supprimez le pool default-pool existant et créez un nouveau pool default-pool avec le type de machine souhaité.

Pour mettre à jour le type de machine, procédez comme suit :

  1. Dans Cloud Console, cliquez sur le nom de l'environnement que vous souhaitez mettre à niveau.
  2. Pour afficher le pool de nœuds par défaut, procédez comme suit :
    1. Sur la page "Détails de l'environnement", cliquez sur le lien Afficher les détails du cluster.
    2. Sur la page "Clusters" de la section Pools de nœuds, cliquez sur default-pool.
    3. Notez toutes les informations concernant le pool default-pool sur la page "Détails du pool de nœuds". Vous utiliserez ces informations afin de créer un nouveau pool de nœuds par défaut pour votre environnement.
  3. Pour supprimer le pool default-pool, procédez comme suit :
    1. Sur la page "Détails du pool de nœuds", cliquez sur la flèche de retour pour revenir à la page "Clusters" de votre environnement.
    2. Dans la section Pools de nœuds, cliquez sur la corbeille située à droite du pool default-pool.
    3. Pour confirmer l'opération, cliquez sur Supprimer.
  4. Pour créer le nouveau pool default-pool, procédez comme suit :

    1. En haut de la page "Clusters", cliquez sur Ajouter un pool de nœuds.
    2. Dans le champ "Nom", saisissez default-pool. Vous devez nommer le pool de nœuds default-pool, sinon les workflows échoueront.
    3. Saisissez les paramètres "Taille" et "Nœuds".
    4. (Uniquement pour les comptes de service Compute Engine par défaut) Pour les champs d'application d'accès, sélectionnez Autoriser l'accès complet à l'ensemble des API Cloud.
    5. Cliquez sur Enregistrer.
  5. Si vous remarquez que les charges de travail sont réparties de manière inégale, ramenez le déploiement airflow-worker à zéro et effectuez à nouveau un scaling à la hausse.

Supprimer un environnement

Pour supprimer un environnement Cloud Composer, procédez comme suit :

Console

  1. Ouvrez la page Environnements dans Google Cloud Console.

    Ouvrir la page Environnements

  2. Cochez la case située à côté de l'environnement à supprimer.
  3. Cliquez sur Supprimer.

gcloud

Exécutez la commande suivante pour supprimer un environnement Cloud Composer :

gcloud composer environments delete ENVIRONMENT_NAME \
    --location LOCATION   

où :

  • ENVIRONMENT_NAME est le nom de l'environnement.
  • LOCATION est la région Compute Engine dans laquelle se trouve l'environnement.

Exécutez gcloud composer environments describe --help pour obtenir des informations sur les paramètres de la commande.

API

Pour supprimer un environnement à l'aide de l'API REST Cloud Composer, effectuez une requête API environments.delete, en renseignant l'ID d'environnement.

Terraform

Pour supprimer un environnement à l'aide de Terraform, supprimez la configuration Cloud Composer de votre configuration globale des ressources et exécutez terraform apply.

La suppression de votre environnement ne supprime pas les données suivantes de votre projet client:

  • Bucket Cloud Storage pour votre environnement
  • Journaux de la suite Google Cloud Operations
  • Disque persistant de 2 Go utilisé par la file d'attente Redis

Pour éviter que des frais ne soient facturés sur votre compte Google Cloud, exportez vos données et supprimez le bucket Cloud Storage, si nécessaire.

Étape suivante