Déploiement OKE bleu/vert
Créez un pipeline de déploiement à l'aide de la stratégie de lancement vert bleu pour Kubernetes Engine.
Préalables
Les préalables sont les suivants :
- Un pipeline de déploiement, un environnement de grappe Kubernetes vers lequel effectuer le déploiement et des artefacts doivent exister. Les artefacts peuvent être insérés ou se trouver dans le registre d'artefacts.
- Comme la grappe OKE ne comporte pas de contrôleur de trafic entrant par défaut, un contrôleur de trafic entrant NGINX doit être configuré pour la stratégie de déploiement bleu/vert. Le nom du trafic entrant NGINX doit être défini dans le manifeste Kubernetes. Un contrôleur de trafic entrant est une application Kubernetes qui achemine le trafic en fonction de la spécification de trafic entrant. Le contrôleur de trafic entrant NGINX surveille les ressources de trafic entrant pour l'équilibrage de charge. Le trafic est déplacé de l'environnement intermédiaire vers l'environnement de production en mettant à jour la ressource de trafic entrant. Pour plus d'informations, voir Configuration d'un contrôleur de trafic entrant dans une grappe.
- Pour définir les environnements de déploiement bleu et vert, vous devez créer deux espaces de noms dans la grappe Kubernetes. Vous ne devez pas spécifier les espaces de noms dans les manifestes Kubernetes, car ils sont fournis dans la console. Pour plus d'informations sur les espaces de noms, voir la documentation sur Kubernetes.
Pour réduire l'espace de noms inactif ou de secours après le déploiement, vous devez tenir à jour au moins une réplique pour éviter tout problème.
Pour créer des groupes dynamiques et des politiques pour les pipelines de déploiement, voir Politiques de pipeline de déploiement. Pour plus de détails, voir Politiques GIA pour DevOps.
Pour accéder à DevOps à l'aide de la console Oracle Cloud, de l'API REST et de l'interface de ligne de commande, voir Accès à DevOps.
- Ouvrez le menu de navigation et cliquez sur Services de développement. Sous DevOps, cliquez sur Projets.
- Sélectionnez un projet et un pipeline de déploiement.
- Pour ajouter une étape au pipeline, cliquez sur l'icône + et sélectionnez Ajouter une étape.
- Pour le type d'étape, sélectionnez Stratégie bleu/vert, puis cliquez sur Suivant.
- Sélectionnez OKE comme type de déploiement.
- Entrez un nom et une description pour l'étape. L'ajout d'une description est facultatif.
- Pour Environnement, sélectionnez un environnement de grappe existant.
- Entrez des espaces de noms existants pour l'espace de noms A et l'espace de noms B associés à l'environnement OKE sélectionné. Par exemple,
blue-env, green-env
.Les espaces de noms permettent de définir les environnements de déploiement bleu et vert dans la grappe OKE.
- Cliquez sur Select Artifact et sélectionnez une ou plusieurs ressources d'artefact dans votre projet DevOps.
Le service DevOps effectue une application côté serveur Kubernetes des artefacts de manifeste Kubernetes dans l'ordre dans lequel ils apparaissent dans la console. Vous pouvez également supprimer des artefacts pour en sélectionner d'autres ou réordonner la liste. Le retrait d'un artefact de l'étape de pipeline ne supprime pas la ressource d'artefact de votre projet. Pour plus d'informations sur l'application côté serveur Kubernetes, voir Application côté serveur.
- Entrez le nom du trafic entrant NGINX. Par exemple,
ingress-nginx
.Il s'agit du nom de la ressource de trafic entrant de votre application. Le service DevOps modifie l'annotation de cette ressource de trafic entrant pour appliquer la stratégie de déploiement. Le nom du trafic entrant NGINX doit être défini dans le manifeste Kubernetes.
- Cliquez sur Suivant.
- Validez l'exécution du déploiement. Pour la validation, une fonction personnalisée est ajoutée au pipeline. Sélectionnez Exécuter une logique personnalisée au moyen d'une fonction et entrez les valeurs suivantes :
- Entrez un nom et une description pour l'étape. L'ajout d'une description est facultatif.
- Pour Environnement, sélectionnez une fonction existante à appeler.
Le champ Nom de la fonction en lecture seule affiche la fonction appelée dans le pipeline.
- (Facultatif) Pour sélectionner et ajouter des artefacts à l'étape, cliquez sur Sélectionner un artefact.
Sélectionnez une ressource d'artefact existante dans votre projet DevOps. L'artefact doit être un fichier générique (universel). Les paramètres de l'artefact doivent être au format JSON et peuvent comporter des paramètres fictifs. Lors de la configuration de la ressource d'artefact DevOps, sélectionnez Autoriser le paramétrage. Si vous cochez cette case, les paramètres fictifs sont remplacés par la valeur de l'argument lors du déploiement. Pour plus d'informations, voir Configuration des paramètres.
Voici un exemple de contenu d'artefact générique pour transmettre deux paramètres définis par l'utilisateur et leurs valeurs :- Paramètres :
test_name
,app_version
- Valeurs :
{"test_name":"verify_production", "app_version":"${app_version}"}
- Paramètres :
- Pour Mode d'exécution d'étape, sélectionnez l'exécution asynchrone ou synchrone.
Si vous sélectionnez Exécuter de manière asynchrone, le service appelle la fonction mais n'attend pas qu'elle se termine. Lorsque vous sélectionnez Exécuter de manière synchrone, le service appelle la fonction et attend qu'elle se termine.
- Cochez cette case pour désactiver ou activer la validation.
Si la validation est activée, le service vérifie la valeur retournée par la fonction. La valeur retournée est un littéral de chaîne UTF-8,
true
oufalse
. Si la valeur retournée esttrue
, l'étape est marquée comme Réussite. Sinon, elle est marquée comme échec.Si la validation est désactivée, le service ne vérifie pas la valeur retournée.
La validation n'est effectuée que si vous avez sélectionné l'option "Exécuter de manière synchronisée" pour le mode d'exécution de l'étape.
- (Facultatif) Pour ajouter des marqueurs au pipeline, cliquez sur Afficher les options de marquage. Le marquage est un système de métadonnées qui vous permet d'organiser les ressources de votre location et d'en assurer le suivi.
Vous pouvez sélectionner un espace de noms de marqueur ou ajouter un marqueur à structure libre. Entrez la clé et la valeur de marqueur correspondantes. Vous pouvez ajouter plusieurs marqueurs.
Note
Si vous ne voulez pas valider l'exécution du déploiement, sélectionnez Aucun. - Vous pouvez activer ou désactiver une approbation manuelle pour le déploiement. Pour activer une approbation, entrez les valeurs suivantes :
- Entrez un nom et une description pour l'étape. L'ajout d'une description est facultatif.
- Entrez le nombre d'approbateurs.
- (Facultatif) Pour ajouter des marqueurs au pipeline, cliquez sur Afficher les options de marquage. Le marquage est un système de métadonnées qui vous permet d'organiser les ressources de votre location et d'en assurer le suivi.
Vous pouvez sélectionner un espace de noms de marqueur ou ajouter un marqueur à structure libre. Entrez la clé et la valeur de marqueur correspondantes. Vous pouvez ajouter plusieurs marqueurs.
- Pour ajouter l'étape au pipeline, cliquez sur Ajouter.
Une fenêtre modale s'ouvre, affichant le statut des différentes configurations d'étape qui font partie de la stratégie de déploiement bleu/vert OKE. Parmi ces étapes figurent le déploiement OKE bleu/vert, l'appel de fonction, l'approbation et le déplacement du trafic. Si la validation échoue, vous pouvez vérifier le message d'erreur propre à chaque étape ayant échoué et prendre des mesures correctives.
Si la validation réussit, vous pouvez exécuter le pipeline de déploiement ou ajouter d'autres étapes séquentiellement ou en parallèle au pipeline, si nécessaire.
Pour créer une étape bleu/vert OKE, exécutez la commande
create-deploy-oke-blue-green-stage
:oci devops deploy-stage create-deploy-oke-blue-green-stage
Paramètres requis :
--blue-green-strategy
--kubernetes-manifest-artifact-ids
--oke-cluster-environment-id
--pipeline-id
--stage-predecessor-collection
Pour obtenir de l'aide sur cette commande :
oci devops deploy-stage create-oke-blue-green-stage -h
Pour créer une étape d'appel de fonction, exécutez la commande
create-invoke-function-stage
:oci devops deploy-stage create-invoke-function-stage
Paramètres requis :
--function-environment-id
--is-async
--is-validation-enabled
--pipeline-id
--stage-predecessor-collection
Pour obtenir de l'aide sur cette commande :
oci devops deploy-stage create-invoke-function-stage -h
Pour créer une étape de déplacement de trafic d'équilibreur de charge, exécutez la commande
create-load-balancer-traffic-shift-stage
:oci devops deploy-stage create-load-balancer-traffic-shift-stage
Paramètres requis :
--blue-backend-ips
--green-backend-ips
--load-balancer-config
--traffic-shift-target
--rollout-policy
--pipeline-id
--stage-predecessor-collection
Pour obtenir de l'aide sur cette commande :
oci devops deploy-stage create-load-balancer-traffic-shift-stage -h
Pour créer une étape d'approbation manuelle, exécutez la commande
create-manual-approval-stage
:oci devops deploy-stage create-manual-approval-stage
Paramètres requis :
--approval-policy
--pipeline-id
--stage-predecessor-collection
Pour obtenir de l'aide sur cette commande :
oci devops deploy-stage create-manual-approval-stage -h
Pour afficher toutes les commandes pour
deploy-stage
:oci devops deploy-stage -h
Pour créer une étape, utilisez l'opération
CreateDeployStage
. Selon les étapes à ajouter au pipeline, sélectionnez les valeurs suivantes pour le type d'étape :- Étape de déploiement bleu/vert de Kubernetes Engine(OKE) :
OKE_BLUE_GREEN_DEPLOYMENT
- Étape de déplacement de trafic bleu/vert OKE :
OKE_BLUE_GREEN_TRAFFIC_SHIFT
- Étape d'appel de fonction :
INVOKE_FUNCTION
- Étape d'approbation manuelle :
MANUAL_APPROVAL
- Étape de déploiement bleu/vert de Kubernetes Engine(OKE) :