Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Gérer Contrail multi-cluster

RÉSUMÉ  Découvrez comment effectuer des tâches de gestion du cycle de vie spécifiques à une installation multi-cluster.

Cette section couvre les tâches spécifiques à une installation multi-cluster. Si vous souhaitez effectuer des tâches de gestion dans un cluster spécifique (telles que l’ajout et la suppression de nœuds dans un cluster et la mise à niveau d’un cluster) au sein de l’installation multi-cluster, reportez-vous à la section Gérer un seul cluster Contrail.

Connexion d’un cluster de charges de travail

Utilisez cette procédure pour créer un cluster de charges de travail distribué et l’associer au cluster central. Exécutez ces commandes sur le cluster de charges de travail distribué ou le cluster central, comme spécifié à chaque étape.
  1. Assurez-vous d’avoir préparé le cluster de charges de travail distribué comme décrit dans avant l’installation.
  2. Créez le cluster de charges de travail distribué.

    Créez un nouveau cluster. Vous pouvez suivre la procédure dans Créer un cluster Kubernetes ou utiliser vos propres méthodes pour créer un cluster. Le cluster doit avoir les caractéristiques suivantes :

    • Le cluster n’a pas de plug-in CNI.
    • Désactiver le DNS local de nœud.
    • Si vous exécutez DPDK, activez la version 0.3.1 de multus.
    • Dans une configuration multi-cluster, vous devez configurer différents pods et sous-réseaux de services sur chaque cluster. Ces sous-réseaux doivent être uniques au sein de l’ensemble du multi-cluster.
    • Dans une configuration multi-cluster, vous devez configurer différents noms de nœud pour les nœuds de chaque cluster. Les noms de nœud doivent être uniques sur l’ensemble du multi-cluster.
  3. Installez les composants Contrail sur le cluster de charges de travail distribué.
    1. Sur le cluster de charges de travail, créez l’espace de noms Contrail-Deploy.
    2. Sur le cluster de charges de travail, copiez le kubeconfig à partir du cluster central. C’est ce que l’on appelle central-cluster-kubeconfig.
    3. Sur le cluster de charges de travail, créez un secret Kubernetes à partir du cluster central kubeconfig et nommez le secret central-kubeconfig.
      Note:

      Vous devez nommer le secret central-kubeconfig.

      Note:

      Vous devez spécifier le chemin absolu vers le fichier central-cluster-kubeconfig .

    4. Sur le cluster de charges de travail, appliquez le manifeste du déployeur. Le déployeur assure la gestion du cycle de vie des composants Contrail.
      Ce manifeste inclut une référence au central-kubeconfig secret que vous avez créé dans le sous-étape précédent.
    5. Vérifiez que contrail-deployer est bien arrivé. Cela peut prendre quelques minutes.
  4. Sur le cluster central, connectez le nouveau cluster de charges de travail en créant un kubemanager pour le nouveau cluster de charges de travail.
    1. Sur le cluster central, copiez le kubeconfig à partir du cluster de charges de travail distribué. C’est ce que nous appellerons workload-cluster-kubeconfig.
    2. Sur le cluster central, créez un secret Kubernetes à partir du cluster de charges de travail distribué kubeconfig et choisissez un nom significatif pour le secret (par exemple, workload-kubeconfig).
    3. Créez le manifeste kubemanager avec le contenu suivant. Choisissez un nom significatif pour le manifeste (par exemple, kubemanager-cluster1.yaml).
      Tableau 1 explique les paramètres que vous devez définir.
      Tableau 1 : Kubemanager CRD
      Exemple de paramètre signifiant
      Nom Nom de la ressource personnalisée. kubemanager-cluster1
      Image Référentiel où vous extrayez des images hub.juniper.net/cn2/contrail-k8s-kubemanager:22.1.0.93
      podV4Subnet Le sous-réseau pod IPv4 que vous avez configuré précédemment pour le cluster de charges de travail distribué.

      Ce sous-réseau doit être unique au sein de l’ensemble du multi-cluster.

      10.234.64.0
      serviceV4Subnet Le sous-réseau de service IPv4 que vous avez configuré précédemment pour le cluster de charges de travail distribuées.

      Ce sous-réseau doit être unique au sein de l’ensemble du multi-cluster.

      10.234.0.0/18
      podV6Subnet Sous-réseau pod IPv6 que vous avez configuré précédemment pour le cluster de charges de travail distribuées.

      Ce sous-réseau doit être unique au sein de l’ensemble du multi-cluster.

      fd85:ee78:d8a6:8608::1:0000/112
      serviceV6Subnet Sous-réseau de service IPv6 que vous avez configuré précédemment pour le cluster de charges de travail distribuées.

      Ce sous-réseau doit être unique au sein de l’ensemble du multi-cluster.

      fd85:ee78:d8a6:8608::1000/116
      clusterName Nom du cluster de charges de travail. cluster de charge de travail
      kubeconfigSecretName Nom du secret contenant le jeton kubeconfig du cluster de charges de travail. workload-kubeconfig
      enableNad Vrai ou faux (pour permettre la définition d’adresse réseau ou non) Vrai
      port d’écoute Port que le contrôleur Contrail écoute pour les communications avec ce cluster de charges de travail.

      Définissez le port du premier cluster de charges de travail sur 19446 et incrémentez 1 pour chaque cluster de charges de travail suivant.

      19446
      constantRouteTargetNumber Cible de routage pour ce cluster de charges de travail.

      Définissez la cible de routage pour le premier cluster de charges de travail à 7699 et incrémentez de 100 pour chaque cluster de charges de travail suivant.

      7699
    4. Sur le cluster central, appliquez le manifeste kubemanager que vous venez de créer.
    5. Sur le cluster central, vérifiez que vous pouvez voir les espaces de noms du cluster de charge de travail.

      Les espaces de noms sont au format suivant : <kubemanager-name>-<workload-cluster-name>-<namespace>. Par exemple :

  5. Sur le cluster de charges de travail, modifiez le manifeste deployer_ha_kernel.yaml si nécessaire. Le manifeste deployer_ha_kernel.yaml que nous fournissons est un exemple que vous devrez peut-être adapter à votre configuration.

    Le fichier deployer_ha_kernel.yaml fourni spécifie différents réseaux pour les différents nœuds du cluster, ce qui est différent de notre exemple de cluster. Dans notre cluster, les nœuds du cluster se connectent tous au même réseau de données. Nous devrez modifier deployer_ha_kernel.yaml pour supprimer les réseaux supplémentaires et la configuration de nœud supplémentaire.

    1. Supprimez les réseaux supplémentaires.

      Modifiez deployer_ha_kernel.yaml pour supprimer les lignes suivantes qui définissent le contrail-network-config ConfigMap :

    2. Supprimez les lignes suivantes qui définissent le contrail-vrouter-nodes-7 vRouter :
    3. De même, supprimer complètement la contrail-vrouter-nodes-8 section
    4. De même, supprimer complètement la contrail-vrouter-nodes-14 section
    5. Ajoutez la section suivante contrail-vrouter-nodes à la fin :
  6. Enfin, sur le cluster de charges de travail, installez le vRouter.

    Après quelques minutes, vérifiez que tous les pods sont en place :

Vous avez désormais créé et attaché un cluster de charges de travail distribué au cluster central.

Détacher un cluster de charges de travail

Utilisez cette procédure pour détacher un cluster de charges de travail distribué du cluster central.
  1. Sur le cluster central, supprimez le kubemanager associé.
  2. Sur le cluster de charges de travail distribué que vous supprimez, supprimez les vRouters.
  3. Sur le cluster central, supprimez les espaces de noms du cluster de charges de travail distribué.
    Listez les espaces de noms et supprimez tous les espaces de noms associés au cluster de charges de travail distribuées.
  4. Sur le cluster central, supprimez le secret associé au cluster de charges de travail que vous détachez.
    <secret-name> est le secret que vous avez créé lorsque vous avez attaché le cluster de charges de travail au cluster central plus tôt. Dans notre exemple, nous l’avons workload-kubeconfigappelé .

Désinstaller Contrail

Utilisez cette procédure pour désinstaller Contrail du cluster central et des clusters de charges de travail.
  1. Suivez les étapes de détacher un cluster de charges de travail pour détacher le cluster de charges de travail que vous souhaitez supprimer.
  2. Désinstallez Contrail dans le cluster de charges de travail.
    1. Suivez les étapes de Désinstaller Contrail pour désinstaller Contrail dans le cluster de charges de travail.

      Ignorez les erreurs notFound car ces ressources ont déjà été supprimées.

    2. Sur le cluster de charges de travail, vérifiez que toutes les ressources associées à l’espace de noms de réseau pod par défaut du cluster de charges de travail distribué ont disparu, et vérifiez que toutes les ressources associées à l’espace de noms Contrail ont disparu.

    Si tout ce que vous voulez faire est de désinstaller Contrail du cluster de charges de travail, alors vous avez terminé. Si vous souhaitez également désinstaller Contrail du cluster central, passez à l’étape suivante.

  3. Désinstallez Contrail dans le cluster central.
    1. Suivez les étapes de Désinstaller Contrail pour désinstaller Contrail dans le cluster central.

      Ignorez les erreurs notFound car ces ressources ont déjà été supprimées.

    2. Sur le cluster central, vérifiez que toutes les ressources associées aux espaces de noms Contrail, Contrail-System et Contrail-deploy sont supprimées.