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 outils Google Cloud pour la gestion des clusters et des outils Kubernetes tels quekubectl
pour les tâches internes aux clusters, comme le déploiement d'applications. Cela signifie que 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 Déploiements et les autres ressources de Commencer à découvrir 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 bases 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/ML.
Cette page offre un aperçu rapide aux développeurs et aux administrateurs qui souhaitent déployer des charges de travail sur des clusters GKE. Elle contient 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 points 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
) : fournit l'autorisationcontainer.clusters.get
, qui est requise pour s'authentifier auprès des clusters d'un projet Google Cloud . Cela ne vous autorise pas à effectuer des actions dans ces clusters. Votre administrateur de cluster peut vous autoriser à effectuer d'autres actions sur le cluster à l'aide d'IAM ou de Kubernetes RBAC.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 Rôles Kubernetes Engine dans la documentation IAM.
Pour en savoir plus sur le fonctionnement du contrôle des accès dans GKE, consultez 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 laGoogle Cloud console, ainsi qu'à l'aide de l'API Kubernetes. Pour savoir comment déployer une application Linux sans état sur GKE, consultez Déployer une application Linux sans état. Si vous préférez, vous pouvez également apprendre à 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 PersistentVolume Kubernetes pour provisionner cet espace de stockage. Dans GKE, le stockage PersistentVolume est sauvegardé par les disques Compute Engine. Pour savoir comment déployer une application avec état simple sur GKE, consultez 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 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 coûts opérationnels et est optimisée pour l'infrastructure Google Cloud . 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 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 offre une compatibilité étendue pour 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 présente l'utilisation des accélérateurs Cloud TPU pour les charges de travail d'IA/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 les clusters Standard et Autopilot.
- À propos des GPU dans GKE explique comment demander et utiliser du matériel GPU avec les charges de travail GKE.
Charges de travail avec d'autres exigences spécifiques
GKE fournit des fonctionnalités et des guides pour vous aider à déployer des charges de travail avec d'autres exigences spécifiques, 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 :
- L'article 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 standards, vous pouvez spécifier directement la famille de machines que vous souhaitez utiliser pour vos nœuds lorsque vous créez 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 les mêmes machines sous-jacentes ou sur des machines différentes.
- GKE Sandbox explique comment protéger votre noyau hôte à l'aide de pods en bac à sable lorsque vous déployez des charges de travail inconnues ou non approuvées.
Observer vos charges de travail
GKE fournit un éventail de fonctionnalités permettant d'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 console Google Cloud , 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 console Google Cloud , consultez GKE dans la consoleGoogle Cloud .
- Découvrez comment utiliser App Hub pour afficher vos charges de travail et vos services.
- Pour en savoir plus sur GKE et l'observabilité Google Cloud , consultez Observabilité pour GKE.
Gérer le 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 les bonnes pratiques et les consignes spécifiques à GKE pour la CI/CD dans Bonnes pratiques pour l'intégration et la livraison continues sur GKE, ainsi que des tutoriels pour configurer des pipelines CI/CD avec des outils et des produits spécifiques.
Étapes suivantes
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.