Ce tutoriel vous montre comment utiliser Gemini pour Google Cloud, un service dans Google Cloud, pour créer, tester et modifier Cluster Google Kubernetes Engine (GKE) dans Autopilot. Vous verrez comment Gemini peut vous aider à déployer une application simple sur le cluster et à créer un l'intervalle de maintenance quotidien de l'application. Ce tutoriel est destiné aux ingénieurs quel que soit le niveau d’expérience.
Objectifs
- Explorer les différents services Google permettant de déployer une application GKE en posant des questions contextuelles à Gemini.
- Demandez à Gemini de vous fournir des commandes que vous pouvez utiliser pour déployer un à un cluster GKE.
- Créer, explorer et modifier le cluster GKE à l'aide de Gemini pour expliquer et générer les commandes shell.
Produits Google Cloud utilisés
Ce tutoriel utilise les produits Google Cloud facturables suivants. Utilisez le Simulateur de coût pour générer une estimation des coûts en fonction de votre utilisation prévue.
GKE : GKE est un service Kubernetes géré qui vous permet de déployer gérer des applications conteneurisées à grande échelle. Pour en savoir plus sur les tarifs, consultez Tarifs de GKE
Gemini. Gemini est un collaborateur permanent de Google Cloud qui propose une assistance basée sur l'IA générative à un large éventail d'utilisateurs, y compris développeurs et data scientists. Pour fournir une assistance intégrée Gemini est intégré à de nombreux produits Google Cloud.
Avant de commencer
- Activez le paramètre API GKE :
- Assurez-vous que Gemini est configuré pour votre compte utilisateur et votre projet Google Cloud.
Explorer Kubernetes dans Google Cloud
Pour l'exemple suivant, supposons que vous êtes un administrateur d'infrastructure responsable de la mise en place de l'infrastructure d'une équipe développant un réseau application. L'entreprise dans son ensemble a normalisé l'utilisation de conteneurs et Kubernetes. L'équipe veut donc savoir comment exécuter son application Web Kubernetes in Google Cloud. L'équipe veut aussi une infrastructure minimale que possible sur la gestion de l'infrastructure.
Dans la console Google Cloud, vous pouvez discuter avec Gemini pour obtenir de l'aide. Avec les Gemini, vous saisissez des invites, c'est-à-dire des questions ou des affirmations qui décrivez l'aide souhaitée, et Gemini renvoie des réponses. Gemini n'utilise pas vos requêtes ou ses réponses sous forme de données pour entraîner son modèle. Pour plus d'informations, voir Comment Gemini pour Google Cloud utilise vos données
Pour en savoir plus sur la rédaction de requêtes permettant de générer de bonnes réponses, consultez Rédiger de meilleures requêtes pour Gemini
Pour demander à Gemini de vous aider à décider comment exécuter Kubernetes dans Google Cloud, procédez comme suit:
Dans la barre d'outils de la console Google Cloud, cliquez sur spark Ouvrir Gemini.
Dans le volet Gemini, saisissez la requête suivante en fonction de votre exigences et préférences, puis cliquez sur Envoyer:
How can I run Kubernetes on Google Cloud without having to own management of nodes and the control plane?
La réponse de Gemini peut se présenter comme suit:
To run Kubernetes on Google Cloud without having to own management of nodes and the control plane, you can use Google Kubernetes Engine (Google Kubernetes Engine (GKE)) in Autopilot. In Autopilot mode, Google manages the control plane and system components for you, and also manages your worker nodes.
Saisissez une question complémentaire. Par exemple, si vous souhaitez standardiser de création de clusters GKE en mode Autopilot à l'aide de Terraform, saisissez invite suivante:
Can you use Terraform to provision GKE clusters in Autopilot mode?
La réponse de Gemini peut se présenter comme suit:
Yes, you can use Terraform to provision GKE clusters in Autopilot mode. Terraform is a tool that can be used to create and manage infrastructure on Google Cloud Platform. Find more information for your question here: https://cloud.google.com/blog/products/containers-kubernetes/partner-devops-and-security-solutions-for-gke-autopilot
Facultatif: Si l'historique des discussions n'est pas pertinent par rapport à ce que vous allez demander Ensuite, réinitialisez l'historique des discussions: dans le volet Gemini, cliquez sur l'icône l'icône Supprimer, puis sélectionnez Réinitialiser le chat.
Créer un cluster GKE en mode Autopilot
Notez que vous ne savez pas comment exécuter Kubernetes à l'aide de GKE en Autopilot . Avant de provisionner un cluster pour vos développeurs, vous décidez de tester GKE en mode Autopilot. Dans cette section, vous demanderez à Gemini de vous aider. pour créer et exécuter une application Web de test dans un cluster GKE en mode Autopilot.
Dans le volet Gemini, saisissez la requête suivante, puis cliquez sur Envoyer:
How do I create a GKE Autopilot cluster?
Gemini répond en fournissant des instructions pour créer un cluster à l'aide du la console Google Cloud et la Google Cloud CLI.
Lorsque vous voyez une réponse qui inclut des valeurs d'espace réservé telles que CLUSTER_NAME, REGION et PROJECT_ID, en ajoutant ces informations à la requête pourrait mener à des réponses encore plus utiles. Affinez à nouveau la requête avec plus détail:
What is the command to create a GKE Autopilot cluster in my current project named gemini-demo in the us-central region using the gcloud CLI?
Gemini devrait proposer une réponse semblable à celle-ci :
gcloud container clusters create-auto gemini-demo --region us-central1
Pour utiliser la commande fournie par Gemini, ouvrez Cloud Shell et exécutez la commande
gcloud
précédente dans la réponse.Après quelques minutes, votre cluster GKE Autopilot est prêt à l'emploi.
Déployer un exemple d'application Web
Maintenant que vous avez créé un cluster GKE en mode Autopilot,
test en exécutant un exemple d'application Web semblable à celle que votre équipe
s'exécuter sur cette infrastructure. En interne, l'image de conteneur suivante s'affiche :
de Google a été ajouté aux favoris pour tester une application Web conteneurisée:
us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0
Dans le volet Gemini, saisissez la requête suivante, puis cliquez sur Envoyer:
What is the kubectl command to create a deployment called hello-server for the image us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0?
Gemini renvoie une réponse semblable à celle-ci:
To create a deployment called hello-server for the image us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0, you can use the following kubectl command: kubectl create deployment hello-server --image=us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0
Exécutez la commande
kubectl
précédente dans Cloud Shell.Maintenant que le serveur Web est créé, vous décidez de tester le provisionnement un équilibreur de charge HTTP(S) externe devant le serveur Web pour l'exposer à Internet.
Dans le volet Gemini, saisissez la requête suivante, puis cliquez sur Envoyer:
What is the kubectl command to expose this deployment on port 80 with a load balancer?
Gemini devrait proposer une réponse semblable à celle-ci :
To expose the hello-server deployment on port 80 with a load balancer, you can use the following kubectl expose command: kubectl expose deployment hello-server \ --type LoadBalancer \ --port 80 \ --target-port 8080
L'exécution de cette commande permet de créer un équilibreur de charge Compute Engine pour votre conteneur.
Même s'il est toujours utile de fournir plus de contexte, notez que Gemini en mesure d'extraire le nom de déploiement
hello-server
de la conversation sans être inclus dans la requête.Vous voulez maintenant voir si le serveur Web est en cours d'exécution et traite des requêtes. correctement. Pour afficher l'application déployée, vous devez récupérer le l'adresse IP externe du service Kubernetes que vous avez créé.
Saisissez la requête suivante :
What is the kubectl command to see the external IP address associated with this load balancer?
Gemini devrait proposer une réponse semblable à celle-ci :
To see the external IP associated with a load balancer, you can use the following kubectl command: kubectl get service hello-server -w This will output the name of the service, the type of service, the cluster IP address, the external IP address, and the ports that the service is listening on.
Après quelques minutes, l'exécution de la commande
kubectl
précédente génère une résultat semblable à:NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE hello-server LoadBalancer 34.118.227.57 35.225.15.112 80:31473/TCP 6m18s
Vous pouvez désormais accéder à votre application Web exécutée sur GKE à l'aide de la valeur renvoyé pour EXTERNAL-IP.
Planifier une stratégie de mise à niveau de cluster
Vous avez maintenant testé le principal cas d'utilisation de votre équipe dans un cluster GKE en Autopilot . Toutefois, avant de demander à l'équipe d'utiliser GKE Autopilot, vous devez configurer un horaire pour la maintenance ou les mises à niveau du cluster.
Vous savez que les schémas de trafic des utilisateurs de l'application Web de votre équipe est diurne. Étant donné que Gemini a indiqué que GKE Autopilot gère la maintenance du cluster, vous voulez que cette maintenance a lieu en dehors des heures de pointe de votre application Web.
Saisissez la requête suivante :
How can I configure periods of time where GKE Autopilot won't perform maintenance or upgrades on my cluster nodes?
Gemini devrait proposer une réponse semblable à celle-ci :
To configure periods of time where GKE Autopilot won't perform maintenance or upgrades on your cluster nodes, you can use maintenance windows and exclusions. Maintenance windows are periods of time when GKE Autopilot is allowed to perform maintenance and upgrades on your cluster nodes. You can specify a maintenance window for your cluster when you create it, or you can update an existing cluster to specify a maintenance window. Maintenance exclusions are periods of time when GKE Autopilot is not allowed to perform maintenance or upgrades on your cluster nodes. You can create a maintenance exclusion for your cluster when you create it, or you can update an existing cluster to create a maintenance exclusion. To create a maintenance window or a maintenance exclusion, you can use the Google Cloud console, the gcloud CLI, or the Kubernetes API.
Vous décidez de créer un intervalle de maintenance quotidien les heures d'arrêt de l'application avec
gcloud
. Saisissez la requête suivante :How can I create a daily maintenance window from 22:00 to 02:00 using `gcloud` for my GKE Autopilot cluster named gemini-demo?
Gemini devrait proposer une réponse semblable à celle-ci :
To create a daily maintenance window using gcloud CLI for your gemini-demo GKE Autopilot cluster that goes from 22:00 to 02:00, you can use the following command: gcloud container clusters update gemini-demo \ --maintenance-window-start 22:00 \ --maintenance-window-end 02:00 \ --maintenance-window-recurrence "FREQ=DAILY" This command will create a daily maintenance window that runs from 22:00 to 02:00 UTC time zone.
L'exécution de cette commande garantit que l'infrastructure que vous provisionnez pour votre équipe font l'objet d'une maintenance pendant les périodes les moins chargées pour vos utilisateurs. Vous êtes prêt à recommandez GKE Autopilot à votre équipe d'applications Web.
Effectuer un nettoyage
Pour éviter que les ressources utilisées soient facturées sur votre compte Google Cloud, dans ce tutoriel, vous pouvez supprimer le projet Google Cloud que vous avez créé pour ce tutoriel. Vous pouvez également supprimer les différentes ressources.
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
Étape suivante
- Consultez la Présentation de Gemini pour Google Cloud.
- En savoir plus Quotas et limites de Gemini
- En savoir plus de localisation pour Gemini.