Modèles de déploiement

Les modèles de déploiement vous aident à comprendre votre processus de déploiement d'application entre les clusters.

Déploiement par commande push

Le modèle de déploiement par commande push déploie votre application sur un cluster unique. Le pipeline de déploiement se connecte au cluster et applique les fichiers de déploiement. Ce modèle ne nécessite aucune installation d'opérateur ou d'agent sur votre cluster.

Vous pouvez utiliser n'importe quel outil de déploiement pouvant être exécuté depuis le pipeline de déploiement sur le cluster cible, par exemple :

  • kubectl (ou oc pour Red Hat OpenShift on IBM Cloud ) pour appliquer les manifestes Kubernetes.
  • Helm pour installer ou mettre à jour une version de chart. Le graphique peut être stocké dans le référentiel d'inventaire, comme n'importe quel autre élément de déploiement.

Les scripts de déploiement font partie du référentiel de déploiement, et vous pouvez les personnaliser en fonction des exigences de votre application et de votre cluster. DevSecOps fournit des scripts d'aide, appelés bibliothèque commune, qui couvrent les actions de déploiement.

Déploiement basé sur l'extraction

Le modèle de déploiement basé sur l'extraction convient aux déploiements d'applications multicluster. Ce modèle utilise la configuration IBM Cloud Satellite comme outil de déploiement pour le déploiement sur plusieurs clusters. Pour plus d'informations, voir Présentation de la configuration Satellite.

Le pipeline de déploiement ne se connecte pas à chaque cluster. À la place, il publie les fichiers de déploiement dans la configuration d' Satellite, et un agent s'exécutant sur chaque cluster les récupère. Les clusters qui reçoivent le même déploiement sont regroupés dans un groupe de clusters Satellite.

Satellite Config déploie des définitions de ressources Kubernetes. Si votre application est packagée sous forme de chart Helm ou d’overlays Kustomize, convertissez-la d’abord en manifests Kubernetes, par exemple à l’aide de helm template ou kustomize build, puis téléchargez les manifests ainsi générés en tant que version de configuration.

Pour un déploiement basé sur l'extraction, procédez comme suit:

  1. Créez ou mettez à jour les configurations requises Satellite et leurs versions pour les fichiers de déploiement.
  2. Créez ou mettez à jour les abonnements de configuration Satellite à l'aide des configurations Satellite et des versions à déployer.
  3. Une fois les abonnements mis à jour, l’agent Razee installé sur les clusters récupère les derniers déploiements depuis la configuration d’ Satellite et les déploie sur l’ensemble des clusters.

Choisir un modèle de déploiement

Comparaison des modèles de déploiement
Élément à prendre en compte Déploiement par commande push Déploiement basé sur l'extraction
Cible Un cluster unique Un groupe de clusters
Outil de déploiement kubectl, oc, HelmKustomize ou tout autre outil s'exécutant dans le pipeline Configuration Satellite
Composant du cluster Aucun Satellite Agent de configuration
Accès au cluster Le pipeline a besoin des identifiants d'accès au cluster L'agent du cluster récupère le déploiement, et le pipeline n'a besoin d'accéder qu'à la configuration Satellite
Graphiques Helm Installé ou mis à jour directement avec Helm Convertis en manifestes avant leur téléchargement

Pour plus d'informations sur la sélection de la cible de déploiement, consultez la section Déploiement de votre application sur une cible.