Gestion des configurations GitOps

Créez une configuration pour déployer des applications depuis votre référentiel GitHub ou GitLab vers vos clusters.

Satellite La commande « config » sauvegarde la configuration actuelle toutes les 5 minutes, que l'opération ait abouti ou non. Si une modification est apportée à la configuration du cluster, par exemple via kubectl edit ou Satellite, Config actualisera la configuration afin qu’elle corresponde à celle définie dans le référentiel GitHub ou GitLab.

Création de configurations Satellite

Avec Satellite Config, vous créez une configuration pour spécifier les ressources Kubernetes que vous souhaitez déployer dans un groupe de clusters Red Hat OpenShift on IBM Cloud qui s'exécutent dans votre emplacement Satellite ou dans IBM Cloud.

Avant de commencer

Création d'un secret pour l'utilisation d'un dépôt privé

Pour vous connecter à des dépôts privés, vous devez créer un jeton d'accès personnel Git et l'appliquer à vos clusters.

  1. Créez un jeton Github ou Gitlab.

  2. Encodez le jeton à l'adresse base64.

    printf "TOKEN_FROM_GITHUB_OR_GITLAB" | base64
    
  3. Pour chaque cluster que vous souhaitez utiliser, connectez-vous au cluster et créez un secret nommé razee-git dans l'espace de nom razeedeploy en appliquant le fichier YAML suivant:

    apiVersion: v1
    data:
      token: [BASE64_ENCODED_TOKEN_FROM_GITHUB_OR_GITLAB]
    kind: Secret
    metadata:
      name: razee-git
      namespace: razeedeploy
    type: Opaque
    

    Vous ne pouvez avoir qu'un seul secret entre les dépôts GitHub et GitLab.

Création des configurations Satellite à partir de la console

Pour déployer un exemple d'application, voir Déploiement de ressources Kubernetes sur des clusters avec Satellite Config.

Pour créer votre configuration personnalisée, utilisez l'interface utilisateur Satellite et procédez comme suit.

  1. Connectez-vous à l'interface utilisateur de configurationSatellite avec vos données d'identification IBM Cloud.

  2. Cliquez sur Créer une configuration.

  3. Sur la page Parcourir les modèles, sélectionnez le modèle GitOps.

  4. Sur la page Configuration, indiquez votre nom de configuration et votre fournisseur.

    Champ Description
    Nom de la configuration Saisissez le nom de la configuration « Satellite ».
    Fournisseur Sélectionnez le fournisseur distant pour les configurations d' Satellite, qui stocke les définitions des ressources Kubernetes à déployer sur vos clusters. Les options sont GitHub et GitLab.
  1. Sur la page « Abonnement », indiquez l' URL de votre référentiel, la visibilité de celui-ci, les détails de la référence Git, le chemin d'accès à votre fichier ou répertoire, ainsi que le groupe de clusters sur lequel effectuer le déploiement.
    Champ Description
    Dépôt URL Saisissez le dépôt distant à utiliser pour cet abonnement à Satellite.
    Visibilité du référentiel Indiquez si ce référentiel est public ou privé.
    Type de référence « Git » Sélectionnez le type de référence « Git » à utiliser pour cet abonnement « Satellite ». Les valeurs valides sont Branch, Tag, Commit et Release.
    Nom de la branche/du tag/du commit/de la version Saisissez la référence Git à utiliser pour cet abonnement Satellite.
    Chemin d'accès Saisissez le chemin d'accès aux fichiers du dépôt distant à utiliser pour cet abonnement à « Satellite ».
    Nom de l'abonnement Saisissez un nom pour votre abonnement à « Satellite ». Le nom de branche / tag/commit/release est renseigné automatiquement en tant que nom d'abonnement par défaut.
    Groupe de clusters Saisissez le nom du groupe de clusters dans lequel vous souhaitez déployer vos ressources Kubernetes.
  1. Sur la page Récapitulatif, confirmez que les informations affichées sont correctes, puis cliquez sur Terminer.

Création de configurations Satellite à partir de l'interface de ligne de commande

Utilisez le plug-in CLI pour les commandes « Satellite » afin de créer une configuration.

Pour créer la configuration, procédez comme suit :

  1. Configurez les clusters à utiliser avec Satellite Config. Cette configuration implique la création d'un groupe de clusters et l'octroi d'un accès à la configuration d' Satellite à vos clusters.

  2. Créer une configuration « Satellite ».

    ibmcloud sat config create --name CONFIG_NAME [--provider <provider>] [-q]
    
    Description des composantes de cette commande
    Composant Description
    --name <config_name> Entrez le nom de la configuration Satellite.
    --provider <provider> Entrez le fournisseur distant pour les configurations Satellite, qui stocke les définitions des ressources Kubernetes à déployer sur vos clusters. Les valeurs valides sont github et gitlab.
    -q Permet de masquer le message du jour et les rappels de mise à jour.

    Exemple de sortie

    Creating configuration...
    OK
    Configuration <config_name> was successfully created with ID 116fffde-0835-467c-8987-67dd42e4e393.
    
  3. Créez un abonnement pour votre groupe de clusters dans la configuration Satellite.

    ibmcloud sat subscription create --name <subscription_name> --group <cluster_group_name> --config <config_name_or_ID> --repository <repository_value> --gitref-type <type_value> --gitref <gitref_value> --path <path_value> [-q]
    
    Description des composantes de cette commande
    Composant Description
    --name <subscription_name> Entrez un nom pour votre abonnement Satellite.
    --group <cluster_group_name> Entrez le nom du groupe de clusters depuis lequel vous voulez déployer les ressources Kubernetes.
    --config <config_name_or_ID> Entrez le nom ou l'ID de la configuration Satellite que vous avez créée précédemment.
    --repository <repository_value> Entrez le référentiel distant à utiliser pour cet abonnement Satellite.
    --gitref-type <type_value> Entrez le type de référence Git à utiliser pour cet abonnement Satellite. Les valeurs valides sont branch, commit, taget release.
    --gitref <gitref_value> Entrez la référence Git à utiliser pour cet abonnement Satellite.
    --path <path_value> Entrez le chemin d'accès aux fichiers du référentiel distant à utiliser pour cet abonnement Satellite.
    -q Permet de masquer le message du jour et les rappels de mise à jour.

    Exemple de sortie

    Creating subscription...
    OK
    Subscription <subscription_name> was successfully created with ID f6114bd5-f71e-4335-b034-ca45fa3cab81.
    
  4. Suivez l'étape 5 de la rubrique Création des configurations Satellite à partir de la console pour examiner le statut de progression du déploiement des ressources Kubernetes.

Mise à jour de votre configuration Satellite

Pour mettre à jour votre configuration, vous pouvez effectuer des mises à jour au niveau de l'abonnement. Les actions que vous devez effectuer dépendent du type de mises à jour que vous souhaitez effectuer.

  • Pour déployer une nouvelle version de votre application dans le même groupe de clusters, mettez à jour les fichiers dans le référentiel GitHub ou GitLab défini dans votre configuration et validez les modifications.
  • Pour modifier les propriétés de votre référentiel source, vous pouvez éditer l'abonnement et mettre à jour les zones avec de nouveaux détails.
  • Pour associer plusieurs référentiels à la même configuration, ajouter un nouveau référentiel source ou ajouter de nouveaux détails de référence Git pour le même référentiel source, vous pouvez créer des abonnements. Cliquez sur Créer un abonnement et complétez les détails de votre nouvel abonnement. Si vous souhaitez créer un abonnement dont seuls quelques détails ont été modifiés, vous pouvez utiliser l'option Dupliquer pour remplir automatiquement toutes les zones avec les propriétés de l'abonnement existant et modifier les zones à modifier.
  • Pour supprimer un abonnement, utilisez l'option Supprimer.

Mise à jour de votre abonnement depuis la console

Utilisez la console « Satellite » pour mettre à jour votre configuration.

  1. Connectez-vous à l'interface utilisateur de configurationSatellite avec vos données d'identification IBM Cloud.

  2. Sélectionnez la configuration que vous souhaitez mettre à jour.

  3. Cliquez sur le menu déroulant dynamique dans la ligne de l'abonnement à mettre à jour et sélectionnez Editer.

  4. Sur la page Editer l'abonnement, apportez les modifications et cliquez sur Sauvegarder.

Mise à jour de votre configuration Satellite à l'aide de l'interface de ligne de commande

Utilisez le plug-in CLI pour les commandes « Satellite » afin de mettre à jour votre configuration. Si vous souhaitez mettre à jour votre configuration pour utiliser un nouveau fichier, vous pouvez mettre à jour votre abonnement pour qu'il pointe vers le nouveau fichier.

  1. Mettez à jour l'Abonnement pour votre groupe de clusters afin d'utiliser la nouvelle configuration Satellite dans le référentiel distant. Il vous suffit de spécifier les paramètres à modifier.

    ibmcloud sat subscription update --subscription <subscription_name> [--name <new_subscription_name>] [--group <cluster_group_name>] [--repository <repository_value>] [--gitref-type <type_value>] [--gitref <gitref_value>] [--path <path_value>] [-f] [-q]
    
    Description des composantes de cette commande
    Composant Description
    --subscription <subscription_value> Saisissez le nom ou l'identifiant de l'abonnement à mettre à jour.
    --name <new_subscription_name> Saisissez le nouveau nom de l'abonnement.
    --group <cluster_group_name> Entrez le nom du groupe de clusters depuis lequel vous voulez déployer les ressources Kubernetes.
    --repository <repository_value> Entrez le référentiel distant à utiliser pour cet abonnement Satellite.
    --gitref-type <type_value> Entrez le type de référence Git à utiliser pour cet abonnement Satellite. Les valeurs valides sont branch, commit, taget release.
    --gitref <gitref_value> Entrez la référence Git à utiliser pour cet abonnement Satellite.
    --path <path_value> Entrez le chemin d'accès aux fichiers du référentiel distant à utiliser pour cet abonnement Satellite.
    -f Force la commande à s'exécuter sans invites utilisateur.
    -q Permet de masquer le message du jour et les rappels de mise à jour.

    Exemple de sortie

    Are you sure you want to update the subscription <subscription_name>? [y/N]y
    OK
    Subscription f6114bd5-f71e-4335-b034-ca45fa3cab81 was successfully updated.
    
  2. Suivez l'étape 5 de la rubrique Création des configurations Satellite à partir de la console pour examiner le statut de progression du déploiement des ressources Kubernetes.