Agent Substrate on GKE exécute efficacement les charges de travail agentives sur les clusters GKE en suspendant les agents inactifs et en les restaurant lorsqu'ils doivent agir à nouveau. Agent Substrate on GKE est un logiciel Open Source que vous pouvez installer sur un cluster GKE Standard.
Ce document vous aide à préparer votre Google Cloud projet et votre cluster GKE pour Agent Substrate on GKE, explique comment exécuter le programme d'installation et décrit les ressources créées par l'installation.
Tarifs
Agent Substrate on GKE est proposé sans frais supplémentaires. Les tarifs GKE s'appliquent aux ressources que vous créez.
Limites
L'installation d'Agent Substrate on GKE présente les limites suivantes :
- Cloud Shell : vous ne pouvez pas installer Agent Substrate on GKE dans Cloud Shell, car Cloud Shell fournit 5 Go d'espace de stockage sur disque persistant, ce qui est insuffisant pour l' installation. Vous devez exécuter le programme d'installation sur votre machine locale.
- Mode de cluster : vous ne pouvez installer Agent Substrate on GKE que dans les clusters GKE Standard. Les clusters Autopilot ne sont pas compatibles.
- Clusters existants et API bêta : si vous activez les API bêta requises
(
podcertificaterequestsetclustertrustbundles) sur un cluster existant exécutant la version 1.36, vous devez remplacer les nœuds existants avant d'installer Agent Substrate on GKE. La projection de certificat de pod n'est pas activée sur les nœuds créés avant la mise à jour (MountVolume.SetUp failed: unimplemented). Sur les clusters exécutant la version 1.37 ou ultérieure, il n'est pas nécessaire de remplacer les nœuds existants. - Types de machines : vous ne pouvez pas utiliser de séries de machines exécutées sur des architectures de processeur mixtes (telles que les types de machines E2).
Avant de commencer
Avant de commencer, effectuez les tâches suivantes :
- Activez l'API Google Kubernetes Engine. Activer l'API Google Kubernetes Engine
- Si vous souhaitez utiliser Google Cloud CLI pour cette tâche,
installez puis
initialisez la
gcloud CLI. Si vous avez déjà installé la gcloud CLI, obtenez la dernière
version en exécutant la
gcloud components updatecommande. Il est possible que les versions antérieures de la gcloud CLI ne permettent pas d'exécuter les commandes de ce document.
- Installez les composants suivants dans la gcloud CLI :
kubectlgke-gcloud-auth-plugin
- Assurez-vous que les outils suivants sont installés sur votre machine locale :
Étant donné que le programme d'installation agit en votre nom pour activer les API et provisionner les ressources, configurez les identifiants par défaut de l'application (ADC) en exécutant la commande suivante :
gcloud auth application-default loginPour en savoir plus sur l'authentification avec les ADC, consultez Configurer les identifiants par défaut de l'application.
Rôles requis
Pour obtenir les autorisations nécessaires pour installer Agent Substrate on GKE, demandez à votre administrateur de vous accorder les rôles IAM suivants sur votre projet :
- Administrateur Service Usage (
roles/serviceusage.serviceUsageAdmin) - Administrateur Kubernetes Engine (
roles/container.admin) - Administrateur de l'espace de stockage (
roles/storage.admin) - Administrateur de projet IAM (
roles/resourcemanager.projectIamAdmin) - Éditeur Monitoring (
roles/monitoring.editor)
Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
Vous pouvez également obtenir les autorisations requises via des rôles personnalisés ou d'autres rôles prédéfinis.
Configuration requise pour les clusters
Si vous laissez le programme d'installation créer un cluster pour vous, il configure automatiquement un cluster qui répond à toutes les exigences d'Agent Substrate on GKE.
Si vous choisissez d'installer Agent Substrate on GKE dans un cluster existant, celui-ci doit répondre aux exigences suivantes :
- S'exécute sur GKE Standard (Agent Substrate on GKE n'est compatible qu'avec les clusters Standard).
- Exécute GKE version 1.36 (avec les indicateurs bêta activés) ou version 1.37 ou ultérieure.
- Utilise des types de machines
c3-standard-4ou plus grands pour les nœuds. Les API Kubernetes
PodCertificateRequestetClusterTrustBundlesont activées (certificates.k8s.io/v1beta1/podcertificaterequestsetcertificates.k8s.io/v1beta1/clustertrustbundles). Pour activer ces API sur un cluster existant, exécutez la commande suivante :gcloud container clusters update CLUSTER_NAME \ --location=CONTROL_PLANE_LOCATION \ --enable-kubernetes-unstable-apis=certificates.k8s.io/v1beta1/podcertificaterequests,certificates.k8s.io/v1beta1/clustertrustbundles- Version 1.36 : après avoir activé les API, vous devez
remplacer les nœuds existants, par
exemple en mettant à niveau le pool de nœuds ou en recréant ses nœuds. La projection de certificat de pod n'est pas activée sur les nœuds qui existaient avant la mise à jour (
MountVolume.SetUp failed: unimplemented). - Version 1.37 ou ultérieure : la projection de certificat de pod est déjà activée sur les nœuds existants. Vous n'avez donc pas besoin de remplacer les nœuds après avoir activé les API.
- Version 1.36 : après avoir activé les API, vous devez
remplacer les nœuds existants, par
exemple en mettant à niveau le pool de nœuds ou en recréant ses nœuds. La projection de certificat de pod n'est pas activée sur les nœuds qui existaient avant la mise à jour (
Installer Agent Substrate on GKE
Pour installer Agent Substrate on GKE, exécutez la commande suivante dans votre terminal local :
curl -sSL https://raw.githubusercontent.com/ai-on-gke/substrate-gke/main/install.sh | bash
Le programme d'installation interactif vous invite à saisir les paramètres de votre projet, de votre cluster et de votre espace de stockage. Il suggère des valeurs par défaut recommandées lorsque cela est possible, que vous pouvez accepter ou personnaliser :
- ID du projet (obligatoire) : spécifiez le Google Cloud projet dans lequel les ressources seront provisionnées. Si vous avez configuré un projet par défaut pour la gcloud CLI, le programme d'installation utilise cet ID de projet.
- Cluster (obligatoire) : choisissez de laisser le programme d'installation créer un cluster GKE avec les valeurs par défaut recommandées ou d'installer Agent Substrate on GKE dans un cluster existant. Si vous choisissez d'installer sur un cluster existant, vérifiez qu'il répond aux exigences de la section Configuration requise pour les clusters.
- Bucket d'instantanés (facultatif) : spécifiez un nom de bucket Cloud Storage
personnalisé ou laissez le champ vide pour que le programme d'installation crée un bucket par défaut
nommé
ate-snapshots-<project>-<zone>.
Lorsque vous êtes invité à sélectionner une source d'image de conteneur, vous pouvez choisir parmi les options suivantes :
- Images prédéfinies : extrait les images publiées d'un registre de conteneurs. Comme rien n'est créé ni transféré, votre Google Cloud projet n'a pas besoin de son propre registre de conteneurs.
- Créer à partir de la source : crée les images à partir du dépôt Agent Substrate en amont (ou d'une branche personnalisée) et les transfère vers le registre Artifact Registry de votre projet.
Fonction du programme d'installation
Le programme d'installation exécute les programmes suivants en votre nom :
setup-gcp: crée ou vérifie les ressources requises Google Cloud , active les API, crée le cluster GKE (si vous avez choisi de ne pas utiliser de cluster existant) et le bucket Cloud Storage, et configure les stratégies IAM.ate-setup: déploie les images de conteneur et les contrôleurs Agent Substrate on GKE prédéfinis sur votre cluster GKE.
Tout d'abord, le programme d'installation apporte les modifications suivantes à votre Google Cloud projet :
- Active les Google Cloud API dont Agent Substrate on GKE a besoin.
- Crée un cluster GKE Standard (si vous n'utilisez pas de cluster existant) avec les paramètres suivants :
- Fédération d'identité de charge de travail pour GKE : permet à Agent Substrate on GKE d'accéder à Cloud Storage sans stocker de clés sur les nœuds.
- GKE Dataplane V2 : gère la mise en réseau requise pour acheminer les requêtes entrantes vers vos agents.
- API de certificat (
PodCertificateRequestetClusterTrustBundle) : active ces API bêta Kubernetes pour émettre des certificats pour la communication TLS entre les composants Agent Substrate on GKE. - OpenTelemetry géré : collecte les métriques et les traces de votre cluster.
- Crée le bucket Cloud Storage dans lequel Agent Substrate on GKE écrit vos instantanés.
- Accorde à Agent Substrate on GKE l'accès à Cloud Storage pour stocker les instantanés. Si vous choisissez de créer à partir de la source, il accorde également l'accès à Artifact Registry pour les images de conteneur.
- Crée des tableaux de bord Cloud Monitoring qui représentent la latence de routage, la taille des instantanés et le trafic gRPC d'Agent Substrate on GKE.
Ensuite, le programme d'installation apporte les modifications suivantes à votre cluster :
- Ajoute le groupe d'API et les ressources Agent Substrate on GKE à votre cluster. Il s'agit de ressources personnalisées Kubernetes, telles que
ActorTemplate(qui définit les images de conteneur et les ressources utilisées par vos agents) etWorkerPool(qui définit le nombre d'environnements en bac à sable inactifs à conserver). - Configure les autorités de certification qui émettent les certificats identifiant les composants Agent Substrate on GKE et vos acteurs. Les composants présentent ces certificats pour s'authentifier mutuellement à l'aide de mTLS.
- Déploie les composants Agent Substrate on GKE sur votre cluster, ainsi qu'une base de données PostgreSQL qui suit l'état de vos acteurs et de vos nœuds de calcul. Le programme d'installation attend que la base de données et tous les pods du plan de contrôle soient prêts.
Agent Substrate on GKE déploie ses composants en tant que charges de travail ordinaires dans les espaces de noms ate-system et podcertificate-controller-system. L'installation ne modifie pas le plan de contrôle GKE.
Les composants déployés incluent l'environnement d'exécution basé sur gVisor qu'Agent Substrate on GKE utilise par défaut pour isoler chacun de vos agents du nœud sur lequel il s'exécute. Le programme d'installation ne configure pas les environnements d'exécution microVM. Pour utiliser les environnements d'exécution microVM, vous devez les déployer manuellement sur un pool de nœuds sur lequel la virtualisation imbriquée est activée. Pour en savoir plus, consultez les instructions relatives à l'environnement d'exécution microVM dans le dépôt Agent Substrate en amont.
Si l'installation échoue à un moment donné (par exemple, en raison d'une erreur réseau temporaire ou d'une expiration de jeton), réexécutez la commande. Le programme d'installation conserve les ressources existantes et reprend là où il s'était arrêté.
Pour mettre à niveau Agent Substrate on GKE dans un cluster existant, exécutez le programme d'installation et sélectionnez Upgrade an installed cluster (Mettre à niveau un cluster installé). Pour
en savoir plus, consultez
Mettre à niveau un cluster installé
dans le fichier README substrate-gke.
Étapes facultatives
Après avoir déployé les composants essentiels, le programme d'installation propose les étapes facultatives suivantes :
- Pilote CSI Filestore : installe le pilote CSI Filestore configuré pour Agent Substrate on GKE. Choisissez cette option si vos agents ont besoin d'un espace de stockage de fichiers partagé entre les pods, tel que des espaces de travail ou des dépôts partagés. Si le module complémentaire GKE Filestore géré est activé sur votre cluster, le programme d'installation le désactive avant de déployer le pilote.
- Autoscaling du pool de nœuds : active l'autoscaling du cluster GKE sur votre pool de nœuds. Vous spécifiez le nombre minimal et maximal de nœuds pour le pool. Choisissez cette option si vous souhaitez que GKE ajoute automatiquement des nœuds lors des pics de demande et supprime des nœuds lorsque les agents sont suspendus. Ignorez cette option si vous préférez un nombre de nœuds fixe avec des coûts de calcul prévisibles.
- Démo du compteur : déploie un exemple de charge de travail qui illustre la suspension et la restauration d'un agent. Choisissez cette option si vous souhaitez tester le cluster après l'installation. Pour en savoir plus, consultez Essayer la démo du compteur.
Vérifier l'installation
Pour vérifier que l'installation a réussi et que les composants essentiels sont en cours d'exécution, exécutez les commandes suivantes et assurez-vous que tous les pods ont l'état Running :
kubectl get pods -n ate-system
kubectl get pods -n podcertificate-controller-system
Libellisation et versions des nœuds
Le programme d'installation applique le libellé ate.dev/substrate-version à chaque nœud de votre cluster. Ce libellé spécifie la version d'Agent Substrate on GKE installée sur votre cluster, et Agent Substrate on GKE n'exécute les nœuds de calcul que sur les nœuds portant ce libellé de version.
Pour vérifier la version d'Agent Substrate on GKE installée sur votre cluster, exécutez la commande suivante :
kubectl get ds -n ate-system -l app=atelet -L ate.dev/substrate-version
Tenez compte des détails suivants concernant la libellisation des nœuds :
- Pools de nœuds de calcul : lorsque vous créez un
WorkerPool, configurez-le pour cibler ce tag de version. Pour obtenir des exemples, consultez Épingler des pools à la version de substrate installée dans le guide de l'API Substrate. - Nouveaux nœuds : le programme d'installation libellise les nœuds individuels plutôt que le pool de nœuds. Par conséquent, tous les nouveaux nœuds ajoutés après l'installation, même dans un pool de nœuds créé par le programme d'installation, démarrent sans le libellé de version. Vous devez libelliser votre pool de nœuds GKE afin que les nouveaux nœuds reçoivent automatiquement le libellé.
Essayer la démo du compteur
Si vous avez choisi de déployer la démo du compteur lorsque le programme d'installation vous y a invité, vous pouvez observer les fonctionnalités de suspension et de restauration d'Agent Substrate on GKE. La démo exécute un petit serveur Web qui conserve un décompte en mémoire.
Après avoir déployé les WorkerPool et ActorTemplate de la démo, le programme d'installation
affiche les commandes dont vous avez besoin pour créer un Actor à partir du ActorTemplate et
pour envoyer une requête à ce Actor. Le
fichier README de la démo du compteur
dans le dépôt Agent Substrate en amont explique les
étapes suivantes à suivre.
Désinstaller Agent Substrate on GKE
Une fois l'installation terminée et fermée, le programme d'installation affiche des commandes de nettoyage personnalisées pour votre environnement.
Pour supprimer les ressources créées lors de l'installation, choisissez l'une des options suivantes :
Supprimer Agent Substrate on GKE d'un cluster existant : si vous avez installé sur un cluster existant et que vous souhaitez conserver le cluster et ses autres charges de travail, supprimez uniquement les composants Agent Substrate on GKE en exécutant la
ate-setup delete ate-systemcommande affichée par le programme d'installation. Le programme d'installation préremplit cette commande avec les valeurs de projet, de cluster et d'emplacement configurées lors de l'installation.Supprimer toutes les ressources (y compris le cluster) : pour supprimer le cluster GKE, le bucket d'instantanés, les liaisons IAM et les tableaux de bord, exécutez la commande
cleanup-gcpaffichée par le programme d'installation. Le programme d'installation préremplit cette commande avec les valeurs de projet, de cluster, d'emplacement et de bucket configurées lors de l'installation. Pour en savoir plus, consultez la section "Tearing down" (Démantèlement) du fichier README substrate-gke.
Étape suivante
- Pour en savoir plus sur Agent Substrate on GKE, consultez À propos d'Agent Substrate on GKE.