Déploiement d'un artefact Helm

Helm est un gestionnaire d'ensembles à source ouverte pour Kubernetes qui permet de partager, d'assembler et de déployer les logiciels conçus pour Kubernetes. Le service DevOps pour Oracle Cloud Infrastructure (OCI) prend en charge le déploiement de graphiques Helm vers une grappe du moteur Kubernetes (OKE). Vous pouvez également exécuter des commandes Helm spécifiées en tant qu'artefact inséré et ajoutées à l'étape Helm pour déploiement.

Le déploiement de graphique Helm se produit uniquement lorsque le graphique Helm est déployé pour la première fois, ou si des mises à jour sont détectées dans les paramètres de l'artefact ou de l'étape Helm. Cette opération est validée automatiquement avant l'exécution du déploiement. Toutefois, pour déployer le graphique Helm, quelles que soient les mises à jour de l'artefact ou de tout autre paramètre d'étape Helm, lors de l'exécution du déploiement, vous devez régler le paramètre ENFORCE_HELM_DEPLOYMENT à true. Ce paramètre fonctionne à la fois au niveau de l'étape et du pipeline. Lorsque le paramètre est défini pour une étape spécifique, il ne s'applique qu'à cette étape. Si le paramètre est défini pour un argument de pipeline ou de déploiement, il s'applique à toutes les étapes du pipeline. Toutefois, si le paramètre est défini pour l'argument pipeline ou déploiement et l'argument de remplacement d'étape, le paramètre pipeline ou l'argument de déploiement a priorité sur l'argument de remplacement d'étape. Le paramètre s'applique à toutes les étapes du pipeline.

Pour une étape de déploiement Helm spécifique, vous avez la possibilité d'utiliser OCI_DEVOPS_DEPLOY_USE_CREATE_NAMESPACE_FLAG comme remplacement de paramètre d'étape. Le paramètre peut être réglé à true ou à false pour contrôler l'indicateur --create-namespace lors de l'utilisation de la commande helm upgrade pour déployer des graphiques Helm. Ce paramètre fonctionne au niveau de l'étape, offrant une granularité améliorée dans les configurations de déploiement. Pour plus d'informations, voir Configuration des paramètres.

Avant de commencer, vous devez disposer d'un pipeline de déploiement et créer une grappe Kubernetes Engine. Vous pouvez effectuer un déploiement vers des grappes OKE publiques et privées.

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 être déployés, les graphiques Helm doivent se trouver dans le référentiel du registre de conteneurs pour OCI. Voir Ajout d'un graphique Helm. Pour exécuter des commandes Helm, vous devez spécifier les commandes Helm en tant qu'artefact inséré. Voir Spécification de commande Helm.

Les graphiques Helm contiennent des modèles de manifeste YAML Kubernetes et un fichier values.yaml fournissant les valeurs de modèle par défaut. values.yaml est un fichier générique qui se trouve dans le registre d'artefacts OCI. Vous devez créer une référence à ce fichier. Voir Ajout d'un artefact de registre d'artefacts .

Note

Le déploiement ne prend pas en charge la substitution de paramètres dans le graphique tarball Helm. Toutefois, il est pris en charge dans le fichier values.yaml.

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.

    1. Ouvrez le menu de navigation et cliquez sur Services de développement. Sous DevOps, cliquez sur Projets.
    2. Sélectionnez un projet et un pipeline de déploiement.
    3. Pour ajouter une étape au pipeline, cliquez sur l'icône + et sélectionnez Ajouter une étape.
    4. Pour le type d'étape, sélectionnez installer un graphique Helm sur une grappe Kubernetes ou exécutez des commandes Helm sur une grappe Kubernetes, puis cliquez sur Suivant.
    5. Entrez un nom et une description pour l'étape. L'ajout d'une description est facultatif.
    6. Pour Environnement, sélectionnez un environnement de grappe existant.
    7. Sélectionnez l'objectif de la création de l'étape Helm. Les options sont les suivantes :

      • Installer ou mettre à niveau un graphique Helm sur une grappe Kubernetes
      • Exécuter des commandes Helm sur une grappe Kubernetes
    8. Si vous sélectionnez l'option d'exécution des commandes Helm, sélectionnez l'artefact de spécification de commande Helm et ajoutez l'étape. Pour plus d'informations, voir Spécification de commande Helm.
    9. Si vous sélectionnez l'option d'installation ou de mise à niveau du graphique Helm, entrez un nom de version. Exemple : helm-release.

      Une version fait référence à l'instance en cours d'exécution du graphique Helm avec une configuration spécifique. Un seul graphique peut être installé plusieurs fois dans la même grappe et créer différentes versions. Le nom de la version peut être paramétré, par exemple helm-release-${version}.

      Les noms de version doivent respecter la norme RFC 1123. Elles ne peuvent contenir que des caractères alphanumériques en minuscules ou '-', doivent commencer et se terminer par un caractère alphanumérique.

    10. Pour désinstaller la version Helm de la grappe OKE lorsque cette étape est supprimée du pipeline, cochez la case Désinstaller la version Helm lors de la suppression de l'étape.
    11. Cliquez sur Sélectionner un artefact pour sélectionner le graphique Helm à déployer.
    12. (Facultatif) Cliquez sur Sélectionner un artefact pour sélectionner le fichier values.yaml contenant les valeurs transmises au graphique de commande. Ce fichier contient des paramètres par défaut que vous pouvez remplacer.
    13. (Facultatif) Pour remplacer l'espace de noms d'environnement par défaut, entrez une valeur pour Remplacer l'espace de noms Kubernetes. La valeur peut être paramétrée, par exemple, helm-${namespace}.

      Les valeurs d'espace de noms doivent respecter la norme RFC 1123. Elles ne peuvent contenir que des caractères alphanumériques en minuscules ou '-', doivent commencer et se terminer par un caractère alphanumérique.

    14. (Facultatif) Entrez une valeur de temporisation en secondes pour le déploiement.
    15. (Facultatif) Spécifiez les options de mise à niveau de Helm pour mettre à niveau la version du graphique Helm ou modifiez la configuration de votre version de Helm. Voir Mise à niveau de Helm.

      Vous pouvez définir des valeurs et des valeurs de chaîne pour la commande Helm lors du déploiement du graphique Helm.

      Spécifiez le nombre maximal de mises à niveau par déploiement. Par défaut, la valeur est réglée à 10. Entrez zéro si vous ne voulez pas définir de limite pour les mises à niveau.

    16. Pour revenir automatiquement à la dernière version réussie en cas d'échec de la validation, sélectionnez Oui. Pour plus d'informations, voir Repositionnement d'un déploiement.
    17. (Facultatif) Pour ajouter des marqueurs au pipeline, cliquez sur Afficher les options de marquage. Le marquage est un système de métadonnées permettant d'organiser les ressources de la location et d'en assurer le suivi.

      Si vous êtes autorisé à créer une ressource, vous êtes également autorisé à ajouter des marqueurs à structure libre à cette ressource.

      Pour ajouter un marqueur défini, vous devez être autorisé à utiliser l'espace de noms de marqueur.

      Pour plus d'informations, voir Marqueurs de ressource.

    18. Pour ajouter l'étape au pipeline, cliquez sur Ajouter.

      Si vous avez coché la case pour désinstaller la version de la commande lors de la suppression de l'étape, cliquez sur Confirmer dans la boîte de dialogue Avertissement de désinstallation de la version Helm. Lorsque la version de Helm est désinstallée, une demande de travail est créée pour désinstaller la version, dont le statut est suivi dans la section Déploiement de la page Pipelines de déploiement.

      Un aperçu des étapes fournit un instantané de la configuration.

    Ajoutez des étapes de manière séquentielle ou parallèle au pipeline, en fonction de vos besoins. Pour déployer la sortie de la compilation dans l'environnement cible, exécutez le pipeline de déploiement.

    Pendant le déploiement, vous pouvez annuler le déploiement de cette étape qui entraîne le repositionnement vers l'état précédent. Si vous annulez le déploiement lorsqu'une mise à niveau de version Helm est en cours, la mise à niveau est annulée et la version est repositionnée à l'état précédent.

    Pour déclencher automatiquement un déploiement à partir du pipeline de création, vous pouvez ajouter une étape Déclencher le déploiement au pipeline de création.

  • Pour créer une étape Helm OKE pour le pipeline, exécutez la commande create-oke-helm-chart-stage :

    oci devops deploy-stage create-oke-helm-chart-stage

    Paramètres requis :

    • --helm-chart-artifact-id
    • --oke-cluster-environment-id
    • --pipeline-id
    • --stage-predecessor-collection
    • --release-name

    Pour ajouter le champ Objectif à l'étape Helm, exécutez la commande update-oke-helm-chart-stage :

    oci devops deploy-stage update-oke-helm-chart-stage --helm-command-artifact-ids --purpose

    Pour désinstaller l'étape Helm, exécutez la commande create-oke-helm-chart-stage :

    oci devops deploy-stage create-oke-helm-chart-stage --is-uninstall-on-stage-delete

    Pour afficher toutes les commandes pour deploy-stage :

    oci devops deploy-stage -h

    Pour obtenir de l'aide sur la commande create-oke-helm-chart-stage :

    oci devops deploy-stage create-oke-helm-chart-stage -h
  • Pour créer une étape de grappe Kubernetes pour le pipeline, utilisez l'opération CreateDeployStage. Pour l'attribut deployStageType, spécifiez la valeur OKE_HELM_CHART_DEPLOYMENT.