Configurer un cluster et une charge de travail pour la préproduction


Bien que les clusters GKE en mode Autopilot fournissent des valeurs par défaut raisonnables pour la plupart des paramètres, vous aurez probablement besoin de paramètres différents dans vos environnements de développement, de préproduction et de production.

Objectifs

Découvrez quelques tâches de base permettant de configurer un cluster de préproduction et de test :

  1. Limitez l'accès au service d'administration du cluster, appelé plan de contrôle. Cela empêche les utilisateurs non autorisés d'afficher ou de modifier les paramètres des clusters et des charges de travail.

  2. Spécifiez que votre application a besoin de ressources de calcul qui évoluent efficacement à la hausse ou à la baisse pour répondre à la demande.

  3. Testez l'autoscaling qui réplique automatiquement les pods lorsque la demande dépasse un seuil que vous spécifiez.

  4. Ajustez la conservation des journaux pour ne conserver que ceux dont vous avez besoin.

  5. Activez le tableau de bord de stratégie de sécurité GKE.

Ce ne sont là que quelques-unes des tâches à effectuer pour promouvoir un cluster, du développement à la préproduction. Lisez la documentation GKE pour obtenir la liste complète des tâches à envisager.


Pour obtenir des instructions détaillées sur cette tâche directement dans la console Google Cloud, cliquez sur Visite guidée :

Visite guidée


Coûts

Dans ce document, vous utilisez les composants facturables suivants de Google Cloud :

Obtenez une estimation des coûts en fonction de votre utilisation prévue à l'aide du simulateur de coût. Les nouveaux utilisateurs de Google Cloud peuvent bénéficier d'un essai gratuit.

Une fois que vous avez terminé les tâches décrites dans ce document, vous pouvez éviter de continuer à payer des frais en supprimant les ressources que vous avez créées. Pour en savoir plus, consultez la section Effectuer un nettoyage.

Avant de commencer

Créer un cluster Kubernetes et déployer une charge de travail. La section Créer un cluster et déployer une charge de travail vous explique comment procéder.

Limiter l'accès au plan de contrôle

Pour améliorer votre stratégie de sécurité, n'autorisez l'accès au plan de contrôle de votre cluster qu'à un réseau autorisé, ainsi qu'à la console Google Cloud et à Cloud Shell.

Configurer un réseau autorisé

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

    accéder aux clusters

  2. Dans la colonne Nom, cliquez sur le nom de votre cluster, hello-world-cluster.

  3. Dans la ligne Réseaux autorisés pour le plan de contrôle de la table "Mise en réseau", cliquez sur Modifier.

  4. Dans la boîte de dialogue "Modifier les réseaux autorisés pour le plan de contrôle", sélectionnez Activer les réseaux autorisés pour le plan de contrôle.

  5. Sélectionnez Autoriser l'accès via des adresses IP publiques Google Cloud.

    Cela vous permet de gérer le cluster depuis la console Google Cloud et Cloud Shell.

  6. Cliquez sur Ajouter un réseau autorisé.

  7. Saisissez un nom tel que Mon exemple de réseau sur site.

  8. Dans Réseau, saisissez la plage d'adresses IP à laquelle vous souhaitez accorder l'accès au plan de contrôle du cluster. Utilisez le format CIDR.

    Par exemple, saisissez la plage suivante :

    198.51.100.0/24
    
  9. Cliquez sur OK.

  10. Cliquez sur Enregistrer les modifications.

    Cette opération prend quelques minutes.

  11. Cliquez sur Notifications et patientez jusqu'à ce qu'une coche verte s'affiche à côté de Mettre à jour le paramètre des réseaux autorisés pour le plan de contrôle dans le cluster Kubernetes Engine "hello-world-cluster".

Vous avez configuré un plan de contrôle de cluster qui n'est accessible qu'à partir de votre réseau autorisé et d'adresses IP publiques Google Cloud (ce qui vous permet de gérer le cluster depuis la console Google Cloud et Cloud Shell).

Pour afficher l'adresse IP du plan de contrôle du cluster et confirmer les adresses du réseau autorisé, cliquez sur Suivant.

Afficher les adresses IP

  1. Accédez à la page Clusters GKE.

    accéder aux clusters

  2. Dans la colonne Nom, cliquez sur le nom de votre cluster, hello-world-cluster.

  3. Dans la table Paramètres de base du cluster, la ligne Point de terminaison externe indique l'adresse IP du plan de contrôle du cluster.

  4. Dans la table Mise en réseau, la ligne Réseaux autorisés pour le plan de contrôle affiche les adresses IP de votre réseau autorisé.

Le plan de contrôle de votre cluster n'est désormais accessible qu'à partir d'un réseau autorisé, de la console Google Cloud et de Cloud Shell.

Spécifier une classe de calcul

Par défaut, les pods GKE Autopilot utilisent des ressources de calcul optimisées pour les charges de travail à usage général. Pour les charges de travail qui doivent faire l'objet d'un scaling optimal ou présenter d'autres exigences uniques, vous pouvez spécifier une classe de calcul différente.

Mettre à jour la spécification du déploiement

  1. Dans la console Google Cloud, accédez à la page Charges de travail de GKE.

    Accéder à la page Charges de travail

  2. Dans la colonne Nom, cliquez sur le nom de l'application que vous avez déployée, hello-world-app.

  3. Cliquez sur Modifier pour modifier la spécification du déploiement.

  4. Dans l'onglet YAML, recherchez la ligne commençant par containers:.

  5. Au-dessus de cette ligne, ajoutez les lignes suivantes :

    nodeSelector:
      cloud.google.com/compute-class: "Scale-Out"
    

    Assurez-vous que votre fichier correspond à la mise en retrait dans l'exemple suivant :

    apiVersion: apps/v1
     kind: Deployment
     ...
     spec:
     ...
       template:
       ...
         spec:
           nodeSelector:
             cloud.google.com/compute-class: "Scale-Out"
           containers:
           - name: hello-app
             image: us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0
    
  6. Pour télécharger ce fichier et l'utiliser comme base pour d'autres configurations de charges de travail, cliquez sur Télécharger.

  7. Cliquez sur Enregistrer.

Toutes les instances dupliquées de pods créées pour exécuter votre charge de travail utilisent la classe de calcul que vous avez spécifiée.

Tester l'autoscaling

Maintenant que vous disposez d'une charge de travail pouvant évoluer efficacement, mettez à jour les paramètres d'autoscaling pour accroître plus facilement la capacité de votre charge de travail. Générez ensuite une charge pour déclencher l'autoscaling.

Mettre à jour les paramètres d'autoscaling des pods

  1. Accédez à la page Charges de travail GKE.

    Accéder à la page Charges de travail

  2. Dans la colonne Nom, cliquez sur le nom de votre déploiement, hello-world-app.

  3. Cliquez sur Actions.

  4. Sélectionnez Effectuer l'autoscaling, puis cliquez sur Autoscaling horizontal des pods.

  5. Dans la boîte de dialogue Configurer l'autoscaler horizontal de pods, sous Métriques d'autoscaling, cliquez sur Processeur.

  6. Définissez la valeur de Cible sur 2 afin d'effectuer un scaling automatique à la hausse de vos pods lorsqu'ils utilisent au moins 2 % des ressources de processeur configurées. Cette valeur cible faible vous permet de déclencher facilement l'autoscaling à l'étape suivante.

  7. Cliquez sur Enregistrer.

Pour déclencher l'autoscaling, cliquez sur Suivant.

Générer une charge pour déclencher l'autoscaling

  1. Cliquez sur Cloud Shell pour ouvrir Cloud Shell.

  2. Copiez la commande suivante dans Cloud Shell :

      for i in $(seq -s' ' 1 10000); do wget -q -O- <var>external-IP-address</var>; done
    

    Remplacez external-IP-address par l'adresse IP qui s'affiche dans la colonne Points de terminaison.

  3. Appuyez sur Entrée pour exécuter la commande et envoyer 10 000 requêtes à hello-world-app.

  4. Attendez que l'exécution de la commande wget soit terminée et que l'invite de ligne de commande réapparaisse.

  5. Vous pouvez fermer Cloud Shell lorsque la commande wget se termine.

Pour surveiller l'évolutivité de votre charge de travail lors d'une augmentation du trafic, cliquez sur Suivant.

Surveiller l'évolutivité de votre charge de travail

  1. Sur la page Détails du déploiement de votre charge de travail, recherchez un pic d'utilisation du processeur dans le graphique Processeur.

    Vous devrez peut-être patienter jusqu'à cinq minutes avant de voir le pic.

  2. Cliquez sur Actualiser pour vous assurer que la page Détails du déploiement affiche les données les plus récentes.

  3. Dans la table Pods gérés, vous pouvez constater que trois instances répliquées de votre charge de travail sont désormais en cours d'exécution.

    Des erreurs concernant des pods non programmables peuvent s'afficher, mais ces messages sont temporaires au démarrage des instances répliquées.

  4. Vous pouvez patienter environ 10 minutes, puis cliquez sur Actualiser. Vous constaterez que l'utilisation du processeur a diminué et que le nombre de pods dans la table Pods gérés revient à un.

Vous avez testé l'autoscaling et surveillé l'évolutivité de votre charge de travail.

Ajuster la conservation des journaux

Par défaut, Cloud Logging ingère tous les journaux de vos clusters GKE. L'ingestion de grandes quantités de données de journaux peut entraîner des frais. Pour vous assurer de n'ingérer que les données de journaux dont vous avez besoin pour l'environnement de préproduction, ajustez la conservation des journaux.

Créer un filtre de journaux

  1. Dans la console Google Cloud, accédez à la page Explorateur de journaux.

    Accéder à l'explorateur de journaux

    Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Logging.

    Notez que le volet Résultats de la requête affiche les journaux de toutes les ressources de votre projet.

  2. Au-dessus des résultats de la requête :

    1. Cliquez sur Ressource.

    2. Recherchez le cluster Kubernetes, puis cliquez dessus.

    3. Cliquez sur us-central-1.

    4. Cliquez sur hello-world-cluster.

    5. Cliquez sur Appliquer.

  3. Cliquez sur Gravité et sélectionnez Info (l'option devient Info et supérieur au passage du pointeur).

  4. Cliquez sur Exécuter la requête.

  5. Notez que la section Résultats de la requête ne contient plus que les messages INFO de votre cluster de préproduction.

  6. Copiez la requête depuis l'éditeur de requête. Vous collerez cette requête lorsque vous créerez un filtre pour votre récepteur de journaux.

Pour créer un récepteur de journaux et un bucket de stockage, cliquez sur Suivant.

Créer un récepteur de journaux et un bucket de stockage

  1. Accédez à la page Routeur de journaux de Logging.

    Accéder au routeur de journaux

  2. Cliquez sur Créer un récepteur.

  3. Dans le champ Nom, saisissez le nom suivant :

    hello-world-cluster-sink
    
  4. Cliquez sur Suivant.

  5. Dans Sélectionner le service de récepteur, choisissez Bucket Logging.

  6. Dans Sélectionner un bucket de journaux, cliquez sur Créer un bucket de journaux.

  7. Dans Informations sur le bucket, saisissez un nom unique, par exemple :

    hello-world-bucket-<var>user-id</var>
    
  8. Cliquez sur Créer un bucket.

  9. Sous Destination du récepteur, cliquez sur Suivant.

  10. Dans Créer un filtre d'inclusion, collez la requête que vous avez créée dans l'explorateur de journaux.

  11. Cliquez sur Créer un récepteur.

Pour afficher les journaux de votre cluster, qui sont stockés dans le bucket de journaux que vous avez créé, cliquez sur Suivant.

Afficher les journaux de votre cluster

  1. Dans la console Google Cloud, accédez à la page Explorateur de journaux.

    Accéder à l'explorateur de journaux

    Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Logging.

  2. Cliquez sur Affiner le champ d'application.

  3. Sélectionnez Affichage des journaux.

  4. Sélectionnez la vue _AllLogs pour votre bucket de journaux.

  5. Cliquez sur Appliquer.

    La section Résultats de la requête n'affiche que les journaux stockés dans votre bucket de journaux.

Vous avez ajusté la conservation des journaux afin que votre cluster de préproduction ne stocke pas de messages DEBUG. Vous pouvez définir des autorisations afin que seuls certains utilisateurs puissent consulter les journaux dans le bucket de votre cluster.

Activer le tableau de bord de la stratégie de sécurité

Le tableau de bord de la stratégie de sécurité analyse vos clusters et vos charges de travail GKE afin de vous fournir des recommandations concrètes et avisées pour améliorer votre stratégie de sécurité.

Examiner les problèmes

  1. Accédez à la page Stratégie de sécurité GKE.

    Accéder à la page Stratégie de sécurité

  2. Si vous êtes invité à activer l'API Container Security, cliquez sur Activer.

  3. L'onglet Tableaux de bord récapitule les problèmes liés aux clusters et aux charges de travail de votre projet.

  4. Cliquez sur l'onglet Problèmes.

  5. Si un problème s'affiche dans l'onglet, cliquez dessus pour obtenir plus d'informations.

Vous avez effectué certaines des tâches de base permettant de configurer un cluster pour la préproduction et le test de votre application.

Étapes suivantes