Installer la compatibilité Kubernetes Engine Operations

Google Kubernetes Engine (GKE) inclut une intégration à Cloud Monitoring et Cloud Logging. Cette intégration vous permet de surveiller vos clusters GKE en cours d'exécution, de gérer vos journaux système et de débogage, et d'analyser les performances de votre système à l'aide de fonctionnalités de profilage et de traçage avancées.

Cette page explique comment effectuer les opérations suivantes:

  • Créer un cluster et configurer Kubernetes Engine Operations ou les anciennes fonctionnalités Logging et Monitoring.

  • Indiquer si vous souhaitez collecter les journaux d'application ou non

  • Désactiver Cloud Monitoring et Cloud Logging pour un cluster

Kubernetes Engine Operations offre une seule option qui améliore la compatibilité de Cloud Monitoring et Cloud Logging dans vos clusters. Les anciennes fonctionnalités Logging et Monitoring vous permettaient d'activer Monitoring sans Logging, mais cette option n'est pas disponible dans Kubernetes Engine Operations.

Avant de commencer

Contrôler la collecte des journaux d'application

Par défaut, GKE collecte les journaux des charges de travail déployées dans le cluster. Il s'agit d'un outil puissant permettant d'instrumenter votre application. Toutefois, cette collecte automatisée peut ne pas être l'option à privilégier. Depuis la version 1.15.7 de GKE, vous pouvez configurer Kubernetes Engine Operations de manière à ne capturer que les journaux système et non à collecter les journaux d'application.

Lorsque l'option "système uniquement" est sélectionnée, les journaux suivants sont collectés:

  • Tous les pods s'exécutant dans les espaces de noms kube-system, istio-system, knative-serving, gke-system et config-management-system

  • Les services principaux non conteneurisés, y compris l'environnement d'exécution docker/containerd, kubelet, kubelet-monitor, node-problem-detector et kube-container-runtime-monitor

  • La sortie des ports série du nœud, si les métadonnées de l'instance de VM serial-port-logging-enable sont définies sur "true"

Configurer la compatibilité des fonctionnalités de surveillance et de journalisation pour un nouveau cluster

Lorsque vous créez un nouveau cluster GKE, le tableau de bord de Kubernetes Engine Operations est activé par défaut. Vous pouvez également sélectionner les anciennes fonctionnalités Logging et Monitoring pour les clusters exécutant la version 1.14 de GKE ou une version antérieure, ou bien désactiver la suite des opérations Google Cloud.

Les instructions de création de clusters fournies dans cette section ne concernent que les options de surveillance et de journalisation. Pour obtenir des instructions complètes sur la création d'un cluster GKE, consultez la page Créer un cluster.

CONSOLE

  1. Accédez à la page GKE Clusters Kubernetes du projet. Le bouton suivant vous y emmène :

    Accéder à la page "Clusters Kubernetes"

  2. Cliquez sur Créer un cluster.

  3. Sélectionnez une version maître pour votre cluster. La version que vous sélectionnez modifie les options Cloud Monitoring et Cloud Logging disponibles.

  4. Dans le volet de navigation, sous Cluster, cliquez sur Fonctionnalités.

  5. Sous Télémétrie, sélectionnez la compatibilité des fonctionnalités de journalisation et de surveillance pour votre cluster :

    • Pour les nouveaux clusters, Kubernetes Engine Operations est activé par défaut.

      • Si votre version maître est 1.15.7 ou une version ultérieure, vous pouvez sélectionner l'une des options suivantes dans la liste déroulante :

        • Surveillance et journalisation de la charge de travail et du système (recommandé)
        • Journalisation et surveillance du système uniquement (bêta)
      • Si votre version maître est 1.14 ou une version antérieure, vous pouvez activer la compatibilité des anciennes fonctionnalités Logging et Monitoring :

        1. Dans la liste déroulante, sélectionnez Ancienne fonctionnalité Stackdriver.
        2. Sélectionnez Activer l'ancien service Stackdriver Logging ou Activer l'ancien service Stackdriver Monitoring, ou les deux. Vous pouvez activer ou désactiver les anciennes fonctionnalités Monitoring et Logging séparément.
    • Pour désactiver Kubernetes Engine Operations, décochez la case Activer Stackdriver Kubernetes Engine Monitoring.

  6. Configurez le cluster comme vous le souhaitez.

  7. Cliquez sur Créer pour créer le cluster.

GCLOUD

Créez votre cluster à l'aide de gcloud :

  1. Ouvrez une fenêtre de terminal avec le SDK Cloud et gcloud installés. L'une des méthodes consiste à utiliser le Cloud Shell :

  2. Dans Cloud Console, activez Cloud Shell.

    Activer Cloud Shell

    En bas de la fenêtre de Cloud Console, une session Cloud Shell démarre et affiche une invite de ligne de commande. Cloud Shell est un environnement shell dans lequel le SDK Cloud est déjà installé (y compris l'outil de ligne de commande gcloud), et dans lequel des valeurs sont déjà définies pour votre projet actuel. L'initialisation de la session peut prendre quelques secondes.

  3. Pour sélectionner la compatibilité de Kubernetes Engine Operations pour votre nouveau cluster, incluez l'option --enable-stackdriver-kubernetes dans la commande de création :

    gcloud beta container clusters create [CLUSTER_NAME] \
      --zone=[ZONE] \
      --project=[PROJECT_ID] \
      --cluster-version=[CLUSTER_VERSION] \
      --enable-stackdriver-kubernetes
    

    Dans l'expression précédente, [CLUSTER_NAME] est le nom de votre cluster, [ZONE] est la zone de calcul du cluster, et [PROJECT_ID] est l'ID du projet Google Cloud (et pas son nom).

    [CLUSTER_VERSION] est la version de GKE à installer sur le cluster. Vous pouvez saisir la version de correctif spécifique à installer, par exemple 1.12.8-gke.10. Sinon, vous pouvez saisir la version mineure à installer, par exemple 1.12.8, et votre cluster est créé avec la dernière version de correctif. Pour plus d'informations sur la gestion des versions de GKE, consultez la page Gestion des versions et mises à jour.

  4. Vous pouvez également sélectionner les anciennes fonctionnalités Logging et Monitoring pour votre cluster GKE version 1.14 ou antérieure, créer votre cluster et inclure les options --enable-cloud-logging et/ou --enable-cloud-monitoring dans la commande de création. Par exemple, une simple création de clusters peut se présenter comme suit :

    gcloud container clusters create [CLUSTER_NAME] \
      --zone=[ZONE] \
      --project=[PROJECT_ID] \
      --cluster-version=[CLUSTER_VERSION]
    

Configurer la compatibilité des fonctionnalités de surveillance et de journalisation pour un cluster existant

La section suivante explique comment modifier l'intégration des fonctionnalités de surveillance et de journalisation pour un cluster GKE existant.

Quelle compatibilité de Monitoring et Logging mon cluster utilise-t-il ?

Pour connaître la compatibilité de Monitoring et Logging que votre cluster utilise, procédez comme suit :

  1. Dans Google Cloud Console, cliquez sur le nom de votre cluster :

    Accéder à la page "Clusters Kubernetes"

  2. Dans le panneau Details (Détails) de votre cluster, consultez l'état indiqué dans les champs Legacy Stackdriver Monitoring (Ancien Stackdriver Monitoring), Legacy Stackdriver Logging (Ancien Stackdriver Logging) et Kubernetes Engine Operations.

    Écran de détails du cluster.

Modifier le cluster

Pour modifier la configuration des fonctionnalités de surveillance et de journalisation pour un cluster existant, procédez comme suit :

CONSOLE

  1. Accédez à la page GKE Kubernetes clusters (Clusters Kubernetes) du projet :

    Accéder à la page "Clusters Kubernetes"

  2. Mettez à niveau votre cluster vers la version 1.12.7 ou supérieure. Pour obtenir les instructions correspondantes, consultez la page Mettre à niveau les clusters. Attendez la fin de la mise à niveau.

  3. Cliquez sur Edit (Modifier) pour votre cluster :

    Modification d'un cluster GKE.

  4. Sélectionnez l'option d'intégration appropriée à votre cluster.

    • Pour passer à Kubernetes Engine Operations, dans la boîte déroulante Stackdriver Kubernetes Engine Monitoring, sélectionnez Legacy Stackdriver Logging (recommended) (Surveillance et journalisation de la charge de travail et du système (recommandé)).

      Choisir la compatibilité avec Kubernetes Engine Operations.

    • Pour passer à Kubernetes Engine Operations avec l'option "journaux système uniquement", sélectionnez System logging and monitoring only (Journalisation et surveillance du système uniquement) dans la boîte déroulante Stackdriver Kubernetes Engine Monitoring.

      Choisir la compatibilité avec Kubernetes Engine Operations.

    • Pour passer à la compatibilité des anciennes fonctionnalités Logging et Monitoring (pour GKE version 1.14 et versions antérieures), procédez comme suit :

      1. Dans la boîte déroulante Kubernetes Engine Operations, sélectionnez Legacy Stackdriver (Ancienne fonctionnalité Stackdriver).

      2. Dans la boîte déroulante Legacy Stackdriver Logging (Ancien Stackdriver Logging), sélectionnez Enabled (Activé).

      3. Dans la boîte déroulante Legacy Stackdriver Monitoring (Ancien Stackdriver Monitoring), sélectionnez Enabled (Activé).

        Choix de la compatibilité des anciennes fonctionnalités Logging et Monitoring.

    • Pour désactiver complètement l'intégration de la suite des opérations Google Cloud, sélectionnez Disabled (Désactivé) dans la boîte déroulante "Kubernetes Engine Operations".

  5. Cliquez sur Save.

GCLOUD

Les instructions gcloud suivantes concernent la mise à niveau de la compatibilité des fonctionnalités de surveillance et de journalisation de votre cluster à l'aide de la commande gcloud container clusters update. Notez que vous exécutez la commande update, et non la commande upgrade, même si nous appelons parfois ce processus "mise à niveau".

  1. Ouvrez une fenêtre de terminal avec le SDK Cloud et gcloud installés. L'une des méthodes consiste à utiliser le Cloud Shell :

  2. Dans Cloud Console, activez Cloud Shell.

    Activer Cloud Shell

    En bas de la fenêtre de Cloud Console, une session Cloud Shell démarre et affiche une invite de ligne de commande. Cloud Shell est un environnement shell dans lequel le SDK Cloud est déjà installé (y compris l'outil de ligne de commande gcloud), et dans lequel des valeurs sont déjà définies pour votre projet actuel. L'initialisation de la session peut prendre quelques secondes.

  3. Si vous ne l'avez pas encore fait, définissez les valeurs par défaut de votre cluster dans le SDK Cloud :

    gcloud config set project [PROJECT_ID]
    gcloud config set compute/zone [ZONE]
    
  4. Mettez à jour votre cluster vers la version Kubernetes souhaitée, puis sélectionnez la compatibilité des fonctionnalités de surveillance et de journalisation souhaitée dans le cluster. Kubernetes Engine Operations est compatible avec toutes les versions de GKE. Les anciennes fonctionnalités Logging et Monitoring sont compatibles avec GKE 1.14 et versions antérieures.

  5. La commande de mise à jour suivante, qui active Kubernetes Engine Operations, n'affiche que les options requises pour la suite des opérations Google Cloud :

    gcloud beta container clusters update [CLUSTER_NAME] \
      --zone=[ZONE]  --region=[REGION]  \
      --enable-stackdriver-kubernetes
      

    Le champ [REGION] est la région de calcul du cluster.

  6. Sinon, la commande de mise à jour suivante, qui active les anciennes fonctionnalités Logging et Monitoring, n'affiche que les options requises pour la suite des opérations Google Cloud :

    gcloud beta container clusters update [CLUSTER_NAME] \
      --zone=[ZONE]  --region=[REGION]  \
      --logging-service logging.googleapis.com \
      --monitoring-service monitoring.googleapis.com
      

Étape suivante