Déploiement d'applications sur des clusters avec Continuous Delivery et Satellite Config
Déployez des ressources d' Kubernetes, telles que des déploiements, depuis votre référentiel GitHub ou GitLab vers plusieurs clusters à l'aide de IBM Cloud® Continuous Delivery et de Satellite Config.
Objectifs
Dans ce tutoriel, vous apprendrez à créer une chaîne d'outils ouverte à l'aide d' Continuous Delivery pour déployer votre application sur plusieurs clusters. Vous découvrez également comment les chaînes d'outils sont implémentées dans le service Continuous Delivery et comment déployer une application Web simple à l'aide d'un modèle de chaîne d'outils Continuous Deliveryuniquement.
Avec la configuration Satellite, vous créez une configuration qui spécifie les ressources Kubernetes que vous souhaitez déployer dans un groupe de clusters. Ensuite, configurez un pipeline Continuous Delivery pour déployer ces ressources dans un groupe de clusters chaque fois qu'une modification est apportée à la configuration.
La chaîne d'outils utilisée dans ce tutoriel implémente des pratiques DevOps standard concernant les capacités de distribution continue en gérant vos déploiements dans des emplacements Satellite. Une fois que vous avez créé des clusters et que vous les avez associés à un groupe de clusters Satellite, vous pouvez créer une chaîne d’outils pour modifier le code source de votre déploiement et pousser les modifications vers le dépôt GitHub. Lorsque vous envoyez par commande push des modifications à votre référentiel, le pipeline de distribution basé sur Tekton déploie automatiquement le code sur vos clusters.
Public ciblé
Ce tutoriel s'adresse aux administrateurs qui utilisent les chaînes d'outils d' Continuous Delivery et Satellite Config pour déployer des ressources pour la première fois.
Prérequis
Avant de commencer ce tutoriel, assurez-vous de disposer des ressources suivantes.
-
Un compteIBM Cloud. Selon votre type de compte IBM Cloud, l'accès à certaines ressources peut être limité. En fonction des limites de votre forfait, certaines fonctionnalités requises par certaines stratégies de déploiement peuvent ne pas être disponibles. Pour plus d'informations sur les comptes IBM Cloud, consultez les articles Configuration de votre compte IBM Cloud et Mise à niveau de votre compte.
-
Un cluster Satellite ou un cluster Red Hat® OpenShift® sur IBM Cloud enregistré avec votre emplacement Satellite.
Si vous ne disposez pas d'un cluster Satellite, vous pouvez enregistrer un cluster Red Hat OpenShift sur Satellite.
-
Un groupe de clusters Satellite qui contient le cluster requis par la chaîne d'outils. La chaîne d'outils de ce tutoriel prend en charge un groupe de clusters Satellite qui contient uniquement des clusters Red Hat OpenShift.
-
Secrets d'extraction d'image. Veillez à configurer les secrets d'extraction d'image requis pour déployer des images d'application dans votre espace de nom de cluster. Pour plus d'informations, voir Comment autoriser votre cluster à extraire des images d'un registre privé ?.
-
Un emplacement Satellite pour le déploiement des ressources.
-
Une instance du service Continuous Delivery.
Mise en route
Commencez à créer une chaîne d'outils dans l' IBM Cloud.
- Connectez-vous à IBM Cloud Toolchains avec vos données d'identification IBM Cloud.
- Sélectionnez le groupe de ressources et l'emplacement de votre chaîne d'outils.
- Cliquez sur Créer une chaîne d'outils.
- Sur la page Créer une chaîne d'outils, sélectionnez Satellite sous Filtres pour afficher les modèles applicables à Satellite.
- Sélectionnez le modèle Déployer des ressources Kubernetes sur plusieurs clusters.
- Lisez les informations pour comprendre le fonctionnement des chaînes d'outils, puis cliquez sur Démarrer.
Définition des paramètres de chaîne d'outils
Définissez le nom, la région et le groupe de ressources de la chaîne d'outils.
- Indiquez le nom de la chaîne d'outils.
- Sélectionnez la région dans laquelle vous souhaitez créer la chaîne d'outils.
- Sélectionnez un groupe de ressources dans lequel vous souhaitez créer la chaîne d'outils.
- Cliquez sur Continu.
Définition de votre référentiel source
Spécifiez les détails du référentiel source que cette chaîne d'outils doit écouter. Vous pouvez spécifier ces informations à l'aide des options de configuration standard ou des options de configuration avancées.
-
Sélectionnez votre fournisseur source. En fonction du fournisseur de source que vous choisissez, les options spécifiques à ce fournisseur de source sont affichées. Par exemple, vous pouvez sélectionner Github Enterprise Whitewater comme fournisseur source.
-
Définissez le référentiel source.
- Pour utiliser un nouveau référentiel pour cette chaîne d'outils, cliquez sur Créer un nouveau référentiel source et nommez le nouveau référentiel.
- Pour utiliser un référentiel existant pour cette chaîne d'outils, cliquez sur Utiliser un référentiel source existant et indiquez l' URL du référentiel. Sélectionnez le fournisseur de source et saisissez
l' URL e de votre dépôt, par exemple :
https://github.com/my-org/my-repo.
-
Cliquez sur Continu.
Si vous souhaitez accéder à des paramètres de référentiel source plus avancés, tels que l'utilisation d'un serveur personnalisé et la modification du comportement de clonage, sélectionnez Passer à la configuration avancée.
Configuration de votre pipeline de distribution
Nommez le pipeline de livraison permettant de déployer vos applications sur plusieurs clusters au sein de votre groupe de clusters Satellite.
-
Entrez le nom du pipeline, qui s'affiche dans votre chaîne d'outils.
-
Cliquez sur Continu.
Fourniture d'une clé d'API
Fournissez les informations relatives à la clé API d' IBM Cloud que la chaîne d'outils peut utiliser pour accéder à votre emplacement Satellite.
Si vous disposez d'une clé d'API existante ou de plusieurs clés d'API existantes, procédez comme suit.
-
Sélectionnez le ou les fournisseurs de secrets que vous utilisez. Vous pouvez en sélectionner un ou plusieurs.
-
Cliquez sur Continu.
-
Fournissez les informations nécessaires pour accéder à votre fournisseur de secret.
Si vous ne disposez pas d'une clé d'API existante, vous pouvez ignorer les options de cette page et cliquer sur Continuer pour passer à la page suivante, dans laquelle vous pouvez créer une clé d'API IBM Cloud et l'enregistrer dans un fournisseur de secret.
Configuration d' Satellite
Spécifiez les paramètres que l'outil de configuration d' Satellite peut utiliser lors du déploiement des ressources.
-
Fournir une clé API d' IBM Cloud. Si vous n'avez pas fourni de clé d'API IBM Cloud existante sur la page précédente, vous pouvez créer une nouvelle clé d'API IBM Cloud en cliquant sur Nouveau.
Vous pouvez sauvegarder cette clé dans un fournisseur de secret de votre choix pour la réutiliser en sélectionnant cette option lorsque vous créez la nouvelle clé ou en cliquant sur l'icône de clé.
-
Définissez l'espace de nom dans lequel vous souhaitez déployer vos ressources. Il doit s'agir d'un espace de nom existant.
-
Indiquez la branche dans laquelle déployer la ressource ; par exemple,
v1. -
Indiquez le chemin dans lequel déployer la ressource ; par exemple,
deployments. -
Sélectionnez le groupe de clusters pour recevoir les ressources que vous déployez.
-
Indiquez le nom affiché de la configuration Satellite.
-
Cliquez sur Continu.
Révision du récapitulatif
Passez en revue le récapitulatif et confirmez la création de votre chaîne d'outils.
-
Pour modifier les paramètres que vous avez fournis précédemment, cliquez sur Précédent.
-
Pour créer la chaîne d'outils avec les paramètres fournis, cliquez sur Créer une chaîne d'outils.
Test de la chaîne d'outils
Lorsque la chaîne d'outils est créée, la page de présentation de la chaîne d'outils s'affiche. Sur cette page, vous pouvez consulter les référentiels, les pipelines et tous les outils d' IBM Cloud s associés à cette chaîne d'outils.
Sous Référentiels se trouvent votre référentiel source ainsi que des référentiels supplémentaires pour vos tâches de catalogue et de pipeline Tekton. Si vous êtes à l'aise avec l'utilisation de Tekton, vous pouvez accéder à ces référentiels Tekton pour apporter des modifications à votre chaîne d'outils.
Sous Pipelines de distribution, vous pouvez voir le statut de vos exécutions de pipeline. Vous pouvez cliquer sur le nom du pipeline pour afficher les détails de votre pipeline et définir A partir de cette présentation de pipeline, vous pouvez définir les déclencheurs de votre pipeline. Les déclencheurs sont définis lorsque le pipeline démarre.
Vous pouvez lancer le pipeline de livraison de l'une des deux manières suivantes.
- Déclenchez le pipeline de distribution manuellement en définissant un déclencheur manuel.
- Envoyez une validation au référentiel source de déploiement comme défini par un déclencheur de référentiel Git. Pour définir un déclencheur de référentiel Git, voir Déploiement d'une nouvelle version de votre application à partir d'une autre branche.
Pour démarrer une exécution de pipeline manuelle, procédez comme suit.
- Dans la Présentation de votre chaîne d'outils sous Pipelines de distribution, sélectionnez le pipeline de distribution pour afficher son statut.
- Cliquez sur Exécuter le pipeline.
- Vérifiez les propriétés du déclencheur pour vous assurer qu'elles correspondent à votre configuration.
- Cliquez sur Exécuter pour exécuter la chaîne d'outils et déployer votre application.
- Facultatif: Cliquez sur le nom de l'exécution pour afficher le statut, les journaux et les détails.
- Facultatif: une fois l'application en cours d'exécution, accédez à Satellite Configuration ou exécutez la commande
ibmcloud sat configpour voir vos ressources de configuration Satellite.
Vérification de l'exécution du modèle d'application
Une fois votre chaîne d'outils configurée et l' Delivery Pipeline ion terminée avec succès, suivez les étapes suivantes pour vérifier votre application.
- Dans la page Clusters, cliquez sur le cluster que vous avez utilisé pour déployer votre application.
- Cliquez sur la console Web OpenShift.
- Dans la section Charges de travail > Pod, effectuez un filtrage en fonction du projet ou de l'espace de nom du cluster et vérifiez que les pods sont en cours d'exécution.
- Dans la section Réseau > Routes, filtrez par projet ou par espace de noms de cluster, puis localisez l' URL de l'application.
- Vérifiez que l'application fonctionne en vous rendant sur l' URL de l'application à l'aide de votre navigateur.
- Facultatif: Vous pouvez afficher votre Satellite dans la console ou en exécutant la
ibmcloud sat config lscommande .
Déploiement d'une nouvelle version de votre application à partir d'une branche différente
Si votre référentiel comporte plusieurs branches représentant plusieurs versions de l'application, vous pouvez déployer une branche différente pour voir une nouvelle version de votre application en cours d'exécution. Procédez comme suit pour modifier la chaîne d'outils afin de déployer une branche différente de votre référentiel source.
- Dans la Présentation de votre chaîne d'outils, sélectionnez le pipeline de distribution à modifier.
- Cliquez sur Déclencheurs.
- Cliquez sur le menu d'action du déclencheur commit-push.
- Sélectionnez Editer.
- Dans la zone Branche, sélectionnez la branche à déployer. Par exemple,
v2. - Dans la ligne deployment-branch sous Propriétés, cliquez sur l'icône Editer.
- Remplacez la valeur de cette propriété par le nom de la branche que vous souhaitez déployer. Par exemple,
v2. - Sauvegardez les modifications.
- Vérifiez si votre application utilise la nouvelle version en vous rendant sur l' URL de l'application via votre navigateur.
- Facultatif: Affichez la nouvelle version de votre configuration dans la console Satellite configuration
ou en exécutant la commande
ibmcloud sat config get --config CONFIG.
Vous pouvez maintenant déployer des ressources Kubernetes sur plusieurs clusters avec une chaîne d'outils unique.