Déployer des charges de travail


Comme indiqué dans notre guide sur le cycle de vie des clusters, en tant qu'utilisateur de GKE, vous utilisez généralement les outils Google Cloud pour la gestion des clusters et les outils Kubernetes tels que kubectl pour les tâches internes au cluster, comme le déploiement d'applications. Cela signifie que si vous savez déjà déployer des charges de travail sur une autre implémentation de 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 la section 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 base de données entièrement gérées pour les applications avec état et des options matérielles spécifiques pour des types de charges de travail particuliers, y compris les charges de travail AI/ML.

Cette page offre un aperçu rapide aux développeurs et 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 autres guides et tutoriels spécifiques dans les sections Déploiement 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'autorisation container.clusters.get, qui est requise pour s'authentifier auprès des clusters dans un projet Google Cloud . 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 section 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 page 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 Workloads (Charges de travail) dans la consoleGoogle Cloud , ainsi qu'à l'aide de l'API Kubernetes. Découvrez comment déployer une application Linux sans état sur GKE dans 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, l'espace de stockage PersistentVolume est sauvegardé par des disques Compute Engine. Découvrez comment déployer une application avec état simple sur GKE dans Déployer une application avec état.

Si vous devez conserver les données de votre application avec état 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 est compatible avec le déploiement de charges de travail d'IA/ML. Cela inclut la prise en charge de l'entraînement et de la mise en service de modèles sur du matériel spécialisé, ainsi qu'une intégration flexible aux frameworks de calcul distribué et de traitement des données. 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 à la fois 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éciales

GKE fournit des fonctionnalités et des guides pour vous aider à déployer des charges de travail avec d'autres exigences particulières, y compris des applications qui nécessitent des architectures de nœuds particulières ou qui ont besoin que leurs pods s'exécutent sur les mêmes nœuds ou sur des nœuds 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 lors du déploiement d'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 décrit 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 standards.
  • Configurer la séparation des charges de travail dans GKE explique comment vous assurer que les pods de votre application s'exécutent sur les mêmes ou sur différentes machines sous-jacentes.
  • GKE Sandbox explique comment protéger votre noyau hôte à l'aide de pods de bac à sable lorsque vous déployez des charges de travail inconnues ou non approuvées.

Observer vos charges de travail

GKE propose une gamme 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 console Google Cloud , ainsi que des métriques, des journaux et des alertes plus détaillés.

Gérer le déploiement de la charge 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 le CI/CD dans Bonnes pratiques d'intégration et de livraison continues dans GKE, ainsi que des tutoriels pour configurer des pipelines CI/CD avec des outils et des produits spécifiques.

Étape suivante