Ce document explique comment déployer vos applications sur Google Kubernetes Engine clusters.
Cloud Deploy vous permet de déployer vos charges de travail basées sur des conteneurs Google Kubernetes Engine cluster. Toutes les fonctionnalités de Cloud Deploy sont disponibles lorsque vous déployez sur cibles GKE.
Avant de commencer
Vous devez disposer d'un ou de plusieurs clusters GKE pour effectuer le déploiement.
Si vous n'avez aucun cluster GKE sur lequel effectuer le déploiement, vous pouvez les créer.
Assurez-vous que votre compte de service d'exécution dispose des rôles et autorisations dont il a besoin.
Dans ce fichier skaffold.yaml
, le bloc deploy
inclut kubectl
, qui
indique que Skaffold effectue le rendu et le déploiement sur Kubernetes
(GKE). Les fichiers manifestes que vous utilisez pour cette application
listées ci-dessous.
Créer votre configuration cible
Chaque cible peut être configurée dans le fichier YAML de votre pipeline de livraison ou se trouver dans un
fichier distinct. De plus, vous pouvez configurer
plus d'une cible dans le même fichier,
mais elles doivent se trouver dans des strophes kind: Target
différents.
Dans la définition de la cible, créez un bloc gke
qui pointe vers le
Cluster GKE:
La syntaxe permettant de spécifier un cluster GKE est la suivante:
gke:
cluster: projects/[project_name]/locations/[location]/clusters/[cluster_name]
Cet identifiant de ressource GKE utilise les éléments suivants:
[
project_name
] est le nom du projet Google Cloud dans lequel lorsque vous exécutez ce cluster.Le cluster sur lequel vous effectuez le déploiement n'a pas besoin d'être dans le même projet que votre pipeline de livraison.
[
location
] est la région dans laquelle le cluster a été créé.[
cluster_name
] est le nom donné au cluster lors de sa création.Vous trouverez ce nom dans la liste des clusters de votre projet, dans la console Google Cloud.
Voici un exemple de configuration cible pointant vers un cluster GKE cluster:
apiVersion: deploy.cloud.google.com/v1
kind: Target
metadata:
name: dev
description: development cluster
gke:
cluster: projects/my-app/locations/us-central1/clusters/my-app-dev-cluster
Créer votre configuration Skaffold
Cette section fournit et explique un exemple de configuration Skaffold simple. à utiliser lors du déploiement sur un cluster GKE.
Voici un exemple de fichier skaffold.yaml
pour le déploiement
Cluster GKE:
apiVersion: skaffold/v4beta7
kind: Config
metadata:
name: gke-application
manifests:
rawYaml:
- deployment.yaml
deploy:
kubectl: {}
Utiliser Skaffold avec Cloud Deploy décrit plus en détail comment utiliser Skaffold avec votre pipeline de livraison.
Préparer vos fichiers manifestes Kubernetes
Pour déployer votre application sur GKE, vous devez fournir Cloud Deploy avec un ou plusieurs fichiers manifestes Kubernetes, qui sont rendu, puis appliqué à la cible un ou plusieurs clusters pour déployer votre application.
Si vous ne disposez pas de ces fichiers manifestes, créez-les avant d'essayer de déployer à l'aide de un pipeline de livraison Cloud Deploy.
Vous pouvez utiliser Kustomize ou Helm. pour créer des fichiers manifestes. Vous pouvez également utiliser Kustomize ou Helm si votre sont créés à partir d'un modèle et doivent être affichés.
Synthèse
Maintenant que vous avez vos fichiers manifestes Kubernetes, votre configuration skaffold.yaml
,
et vos définitions de cibles Cloud Deploy,
a enregistré vos cibles
en tant que ressources Cloud Deploy, vous pouvez maintenant
appeler votre pipeline de livraison
pour créer une version et la faire progresser dans la progression vers les cibles définies
dans le pipeline.
Déployer à l'aide d'un proxy
Vous pouvez spécifier un proxy pour votre cluster GKE cible. Ce est destiné aux organisations configurées pour accéder à leurs clusters via un proxy uniquement.
Pour ce faire, ajoutez une propriété proxyUrl
à la section gke
dans la configuration de la cible:
gke:
cluster: projects/my-app/locations/us-central1/clusters/my-app-dev-cluster
proxyUrl: [URL]
Où URL
est l'URL du proxy.
Déployer sur un cluster privé
Vous pouvez déployer votre application sur un cluster GKE privé, en utilisant l'une des deux options suivantes:
Utiliser un réseau cloud privé virtuel
Vous pouvez configurer une cible à déployer Cluster GKE privé connecté à un réseau de cloud privé virtuel:
-
Un cluster privé est un cluster de VPC natif dont les nœuds et les pods sont isolés par défaut depuis l'Internet public.
Si vous prévoyez d'utiliser l'adresse IP interne de la cible du cluster privé, définissez
internalIp
surtrue
sousgke
dans la configuration cible. Dans Cloud Build, Créer un pool de nœuds de calcul privé que vous pouvez utiliser pour le déploiement sur ce cluster privé.
Configurez l'environnement d'exécution pour utiliser ce pool privé.
Vous devez utiliser ce pool pour
RENDER
. Vous pouvez aussi l'utiliser pourDEPLOY
et pourVERIFY
Voici un exemple qui utiliseRENDER
etDEPLOY
:executionConfigs: - usages: - RENDER - DEPLOY workerPool: "projects/p123/locations/us-central1/workerPools/wp123"
Voir Accédez à des clusters GKE privés à partir de pools privés Cloud Build à l'aide d'Identity Service pour GKE et Accéder à des clusters GKE privés avec des pools privés Cloud Build pour en savoir plus.
Considérations relatives au projet et aux autorisations
Vous pouvez configurer une cible pour utiliser un pool de nœuds de calcul privé pouvant être déployé sur un un cluster privé. Mais il y a certains points à noter si les ressources se trouvent dans des projets.
- Lorsque Cloud Deploy et le pool de nœuds de calcul se trouvent dans des projets distincts
Pour communiquer avec un pool privé ayant accès à un VPC et qui se trouve dans un un autre projet de votre cible, le Cloud Deploy agent de service a besoin disposer des autorisations nécessaires pour communiquer avec ce projet.
Le compte de service d'exécution a également besoin d'autorisations pour accéder au bucket Cloud Storage.
- Lorsque le pool de nœuds de calcul et le cluster se trouvent dans des projets distincts
Si le cluster GKE privé se trouve dans un projet différent du pool de nœuds de calcul privé, le compte de service d'exécution doit disposer d'autorisations suffisantes pour communiquer avec le projet dans lequel se trouve le cluster.
Utiliser des cibles GKE Enterprise et connecter la passerelle
Vous pouvez configurer une cible à déployer Cluster GKE privé à l'aide de cibles Anthos ; et la passerelle de connexion.
Cette approche ne nécessite pas d'utiliser un cloud privé virtuel des connexions réseau.
Étape suivante
Consultez le guide de démarrage rapide: Déployer une application sur GKE.
Appeler votre pipeline de livraison pour créer une version
Découvrez comment configurer des cibles Cloud Deploy.
En savoir plus sur l'utilisation de Skaffold avec Cloud Deploy
Découvrez les environnements d'exécution Cloud Deploy.
En savoir plus sur GKE