Déploiement d'un artefact Helm

Helm est un gestionnaire de packages open source pour Kubernetes qui permet de partager, de packager et de déployer les logiciels conçus pour Kubernetes. Le service Oracle Cloud Infrastructure (OCI) DevOps prend en charge le déploiement de graphiques Helm vers un cluster Kubernetes Engine (OKE). Vous pouvez également exécuter des commandes Helm spécifiées en tant qu'artefact intégré et ajoutées à la phase Helm pour le 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 d'artefact ou de phase Helm. Cette opération est automatiquement validée avant l'exécution du déploiement. Toutefois, pour déployer le graphique Helm quelles que soient les mises à jour apportées à l'artefact ou à tout autre paramètre de phase Helm, lors de l'exécution du déploiement, vous devez définir le paramètre ENFORCE_HELM_DEPLOYMENT sur true. Ce paramètre fonctionne à la fois au niveau de la phase et du pipeline. Lorsque le paramètre est défini pour une étape spécifique, il s'applique uniquement à cette étape. Si le paramètre est défini pour un pipeline ou un argument de déploiement, il s'applique à toutes les étapes du pipeline. Toutefois, si le paramètre est défini pour l'argument de pipeline ou de déploiement et l'argument de remplacement de phase, le paramètre de pipeline ou l'argument de déploiement prévaut sur l'argument de remplacement de phase. Ce paramètre s'applique à toutes les étapes du pipeline.

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

Avant de commencer, vous devez disposer d'un pipeline de déploiement et créer un cluster Kubernetes Engine. Le déploiement peut avoir lieu sur des clusters OKE publics et privés.

Afin de créer des groupes dynamiques et des stratégies pour les pipelines de déploiement, reportez-vous à Stratégies de pipeline de déploiement. Pour plus de détails, reportez-vous à Stratégies IAM DevOps.

En vue du déploiement, les charts Helm doivent être situés dans le référentiel OCI Container Registry. Reportez-vous à Ajout d'un chart Helm. Pour exécuter des commandes Helm, vous devez spécifier les commandes Helm en tant qu'artefact intégré. Reportez-vous à Spécification de commande Helm.

Les graphiques Helm contiennent des modèles de fichiers manifestes YAML Kubernetes et un fichier values.yaml fournissant les valeurs de modèle par défaut. values.yaml est un fichier générique situé dans OCI Artifact Registry. Vous devez créer une référence à ce fichier. Pour plus d'informations, reportez-vous à Ajout d'un artefact Artifact Registry.

Remarque

Le déploiement ne prend pas en charge la substitution de paramètre dans le fichier tar de graphique 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, reportez-vous à Accès à DevOps.

    1. Ouvrez le menu de navigation et cliquez sur Services de développeur. Sous DevOps, cliquez sur Projets.
    2. Sélectionnez un projet et un pipeline de déploiement.
    3. Pour ajouter une phase au pipeline, cliquez sur l'icône + et sélectionnez Ajouter une phase.
    4. Pour le type de phase, sélectionnez Installer un chart Helm sur un cluster Kubernetes ou exécuter des commandes Helm sur un cluster Kubernetes, puis cliquez sur Suivant.
    5. Entrez le nom et la description de la phase. L'ajout d'une description est facultatif.
    6. Pour Environnement, sélectionnez un environnement de cluster existant.
    7. Sélectionnez l'objectif de création de la phase Helm. Options :

      • Installer ou mettre à niveau un chart Helm sur un cluster Kubernetes
      • Exécuter des commandes Helm sur un cluster Kubernetes
    8. Si vous sélectionnez l'option permettant d'exécuter les commandes Helm, sélectionnez l'artefact de spécification de commande Helm et ajoutez la phase. Pour plus d'informations, reportez-vous à la section Helm Command Specification.
    9. Si vous sélectionnez l'option permettant d'installer ou de mettre à niveau le graphique Helm, entrez un nom de version. Par 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 même chart peut être installé plusieurs fois sur le même cluster, ce qui entraîne la création de versions distinctes. Le nom de version peut être paramétré, par exemple, helm-release-${version}.

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

    10. Pour désinstaller la version Helm du cluster OKE lorsque cette phase est supprimée du pipeline, cochez la case Désinstaller la version Helm lors de la suppression de la phase.
    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 en barre. Ce fichier contient des paramètres par défaut que vous pouvez remplacer.
    13. (Facultatif) Afin de remplacer l'espace de noms d'environnement par défaut, saisissez 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. Ils ne peuvent contenir que des caractères alphanumériques minuscules ou "-", doivent commencer et se terminer par un caractère alphanumérique.

    14. (Facultatif) Saisissez une valeur de délai d'expiration en secondes pour le déploiement.
    15. (Facultatif) Indiquez les options de mise à niveau de Helm pour mettre à niveau la version du chart Helm ou modifier la configuration de la version de Helm. Reportez-vous à la section 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 chart Helm.

      Indiquez le nombre maximal de mises à niveau par déploiement. Par défaut, la valeur est définie sur 10. Saisissez zéro si vous ne voulez pas définir de limite pour les mises à niveau.

    16. Pour revenir automatiquement à la dernière version ayant réussi si la validation échoue, sélectionnez Oui. Pour plus d'informations, reportez-vous à Annulation d'un déploiement.
    17. (Facultatif) Pour ajouter des balises au pipeline, cliquez sur Afficher les options de balisage. Le balisage est un système de métadonnées permettant d'organiser et de suivre les ressources dans la location.

      Si vous êtes autorisé à créer une ressource, vous disposez également des droits d'accès nécessaires pour lui ajouter des balises à format libre.

      Pour ajouter une balise définie, vous devez disposer des droits d'accès permettant d'utiliser l'espace de noms de balise.

      Pour plus d'informations, reportez-vous à Balises de ressource.

    18. Pour ajouter la phase au pipeline, cliquez sur Ajouter.

      Si vous avez coché la case pour désinstaller la version de casque lors de la suppression de la phase, cliquez sur Confirmer dans la boîte de dialogue Avertissement de désinstallation de version de Helm. Lorsque la version 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 de phase fournit un cliché de la configuration.

    Ajoutez d'autres phases au pipeline de façon séquentielle ou en parallèle, si nécessaire. Pour déployer la sortie de build vers l'environnement cible, exécutez le pipeline de déploiement.

    Au cours du déploiement, vous pouvez annuler le déploiement de cette phase, ce qui entraîne l'annulation de 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 restaurée à l'état précédent.

    Pour déclencher automatiquement un déploiement à partir du pipeline de build, vous pouvez ajouter une étape de déclenchement de déploiement au pipeline de build.

  • Afin de créer une phase 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 Finalité à la phase 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 la phase Helm, exécutez la commande create-oke-helm-chart-stage :

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

    Procédure d'obtention de toutes les commandes pour deploy-stage :

    oci devops deploy-stage -h

    Pour obtenir l'aide relative à la commande create-oke-helm-chart-stage, exécutez la commande suivante :

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