Comme vous l'avez lu dans notre guide sur le cycle de vie des clusters, en tant qu'
utilisateur GKE, vous utilisez généralement des Google Cloud outils de gestion des clusters
et des outils Kubernetes tels que kubectl pour les tâches internes aux clusters, comme le
déploiement d'applications. Ainsi, si vous savez déjà comment déployer des charges de travail sur une autre implémentation Kubernetes, le déploiement de charges de travail sur
GKE devrait impliquer de nombreux workflows identiques (si vous ne savez pas encore comment déployer des charges de travail sur Kubernetes, consultez la section
Déploiements
et les autres ressources de la page Premiers pas avec
Kubernetes).
Toutefois, GKE fournit également des fonctionnalités supplémentaires pour déployer et gérer vos charges de travail, y compris des outils d'observabilité, des options de base de données entièrement gérées pour les applications avec état et des options matérielles spécifiques pour les types de charges de travail spéciaux, y compris les charges de travail d'IA/de ML.
Cette page fournit une présentation rapide aux développeurs et aux administrateurs qui souhaitent déployer des charges de travail sur des clusters GKE, avec des liens vers une documentation plus détaillée. Vous trouverez de nombreux guides et tutoriels plus spécifiques dans les sections Déployer... de la documentation de base de GKE.
Avant de lire cette page, vous devez connaître les éléments suivants :
Rôles requis
Si vous n'êtes pas propriétaire d'un projet, vous devez disposer au minimum du rôle Identity and Access Management (IAM) suivant pour déployer des charges de travail :
Lecteur de cluster Kubernetes Engine (
roles/container.clusterViewer) : il fournit l'autorisationcontainer.clusters.get, qui est requise pour s'authentifier auprès des clusters d'un Google Cloud projet. Cela ne vous autorise pas à effectuer des actions dans ces clusters. L'administrateur de votre cluster peut vous autoriser à effectuer d'autres actions sur le cluster à l'aide d'IAM ou de RBAC Kubernetes.Pour en savoir plus sur toutes les autorisations incluses dans ce rôle ou pour accorder un rôle avec des autorisations de lecture/écriture, consultez la page Rôles Kubernetes Engine dans la documentation IAM.
Pour en savoir plus sur le fonctionnement du contrôle des accès dans GKE, consultez la section Contrôle des accès.
Applications sans état
Les applications sans état sont des applications qui ne stockent pas de données ni d'état d'application dans le cluster ou dans l'espace de stockage persistant. Les applications sans état peuvent être déployées directement à partir du menu Charges de travail de la Google Cloud console , ainsi qu'à l'aide de l'API Kubernetes. Pour savoir comment déployer une application Linux sans état sur GKE, consultez la section Déployer une application Linux sans état. Si vous préférez, vous pouvez également découvrir comment déployer une application Windows Server sans état.
Applications avec état et stockage
Les applications qui doivent enregistrer des données qui existent au-delà de la durée de vie de leur pod sont appelées applications avec état. Vous ou votre administrateur pouvez utiliser un objet Kubernetes PersistentVolume pour provisionner cet espace de stockage. Dans GKE, le stockage PersistentVolume est sauvegardé par des disques Compute Engine. Pour savoir comment déployer une application avec état simple sur GKE, consultez la section Déployer une application avec état.
Si vous avez besoin que les données de votre application avec état soient conservées dans une base de données plutôt que dans un espace de stockage lié à la durée de vie d'un cluster, GKE propose les options suivantes :
- Bases de données entièrement gérées : une base de données gérée, telle que Cloud SQL ou Spanner, permet de réduire les frais opérationnels et est optimisée pour l' Google Cloud infrastructure. Les bases de données gérées demandent moins d'efforts en termes de maintenance et de fonctionnement qu'une base de données que vous déployez directement dans Kubernetes.
- Application Kubernetes : vous pouvez déployer et exécuter une instance de base de données (telle que MySQL ou PostgreSQL) sur un cluster GKE.
Pour en savoir plus sur les options de données dans GKE, consultez les sections Données sur GKE et Planifier des déploiements de bases de données sur GKE.
Charges de travail d'IA et de ML
GKE est compatible avec le déploiement de charges de travail d'IA/de ML. Cela inclut la prise en charge de l'entraînement et de la diffusion de modèles sur du matériel spécialisé, ainsi que l'intégration flexible aux frameworks de traitement des données et de calcul distribué. Pour en savoir plus, consultez les guides suivants :
- À propos des TPU dans GKE vous explique comment utiliser les accélérateurs Cloud TPU pour les charges de travail d'IA/de ML dans GKE. GKE fournit une assistance complète pour la gestion du cycle de vie des nœuds TPU et des pools de nœuds, y compris la création, la configuration et la suppression de VM TPU. Vous pouvez déployer des charges de travail TPU sur des clusters Standard et Autopilot.
- À propos des GPU dans GKE explique comment demander et utiliser du matériel GPU avec des charges de travail GKE.
Charges de travail avec d'autres exigences spéciales
GKE fournit des fonctionnalités et des guides pour vous aider à déployer des charges de travail avec d'autres exigences spéciales, y compris des applications qui nécessitent des architectures de nœuds particulières ou dont les pods doivent s'exécuter sur des nœuds identiques ou distincts. Pour en savoir plus sur le déploiement de certains d'entre eux, consultez les guides suivants :
- Classes de calcul dans Autopilot explique comment choisir des architectures de calcul spécifiques pour planifier vos pods lorsque vous déployez des applications sur des clusters Autopilot. Pour les clusters Standard, vous pouvez spécifier directement la famille de machines que vous souhaitez utiliser pour vos nœuds lors de la création d'un cluster.
- À propos des classes de calcul personnalisées explique comment créer des classes de calcul personnalisées pour une flexibilité encore plus grande lorsque vous spécifiez des options matérielles pour vos applications sur les clusters Autopilot et Standard.
- Configurer la séparation des charges de travail dans GKE vous explique comment vous assurer que les pods de votre application s'exécutent sur des machines sous-jacentes identiques ou différentes.
- GKE Sandbox explique comment protéger votre noyau hôte à l'aide de pods sandbox lorsque vous déployez des charges de travail inconnues ou non approuvées.
Observation de vos charges de travail
GKE fournit un éventail de fonctionnalités pour observer vos charges de travail et leur état, y compris des aperçus de l'état et des métriques des charges de travail dans la Google Cloud console, ainsi que des métriques, des journaux et des alertes plus détaillés.
- Pour en savoir plus sur l'utilisation des pages GKE dans la Google Cloud console dans GKE dans la Google Cloud console.
- Pour en savoir plus sur l'utilisation de App Hub pour afficher vos charges de travail et vos services.
- Pour en savoir plus sur GKE et Google Cloud l'observabilité, consultez la section Observabilité pour GKE.
- Affichez les détails de vos charges de travail d'IA/de ML dans la Google Cloud console, y compris les ressources telles que les JobSets, les RayJobs, les PyTorchJobs et les déploiements pour la diffusion d'inférences.
Gestion du déploiement des charges de travail
Si vous ou votre administrateur souhaitez configurer un pipeline d'intégration et de livraison continues (CI/CD) pour déployer vos charges de travail, vous trouverez des bonnes pratiques et des consignes spécifiques à GKE pour la CI/CD dans la section Bonnes pratiques pour l'intégration et la livraison continues dans GKE, ainsi que des tutoriels pour configurer des pipelines de CI/CD avec des outils et des produits spécifiques.
Étape suivante
En savoir plus sur les outils permettant d'utiliser GKE :
Découvrez comment simplifier le déploiement depuis votre IDE avec Cloud Code dans notre tutoriel Déployer et mettre à jour depuis un IDE.