Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Installation avec un réseau géré en cluster

Utilisez cette procédure pour mettre en place un cluster avec une mise en réseau gérée par cluster. La mise en réseau gérée par cluster fait référence à un déploiement dans lequel le programme d’installation assisté installe un équilibreur de charge intégré et une entrée dans le cluster pour vous.

La figure 1 montre un cluster de 3 nœuds de plan de contrôle et de 2 nœuds de travail s’exécutant sur des serveurs bare metal ou des machines virtuelles sur une configuration de mise en réseau gérée par un cluster où l’équilibreur de charge (non illustré) est intégré au cluster. Le trafic de l’installateur assisté et le trafic du plan de contrôle Kubernetes utilisent le réseau virtuel de la structure 172.16.0.0/24. Le trafic du plan de contrôle Contrail et du plan de données utilisateur utilise le réseau virtuel de la fabric 10.16.0.0/24.

Figure 1 : cluster Contrail OpenShift sur des serveurs bare metal (ou VM) avec mise en réseau Contrail OpenShift Cluster on Bare Metal Servers (or VMs) with Cluster-Managed Networking gérée par cluster

Une machine distincte joue le rôle de client d’installation assistée. Le client d’installation assistée est l’endroit où vous utilisez des commandes curl pour émettre des appels d’API au service d’installation assistée afin de créer le cluster. Dans l’exemple de cette procédure, nous utilisons également la machine cliente Assisted Installer pour héberger un serveur DNS/DHCP pour le sous-réseau.

L’administrateur local est représenté attaché à un réseau distinct dans les deux diagrammes. Ceci est typique de nombreuses installations où l’administrateur local gère la structure et le cluster à partir du réseau local d’entreprise. Dans les procédures qui suivent, nous appelons la station d’administration locale votre ordinateur local.

Note:

Tous les nœuds sont connectés ensemble par la structure du centre de données, qui est représentée dans l’exemple sous la forme de deux sous-réseaux. Dans les installations réelles, la structure du centre de données est un réseau de commutateurs spine-and-leaf qui fournissent la connectivité physique du cluster.

Dans un centre de données géré par Apstra, vous devez spécifier cette connectivité via les réseaux virtuels superposés que vous créez sur les commutateurs de fabric sous-jacents.

Cette procédure utilise le service d’installation assistée hébergé par Red Hat et couvre le cas d’utilisation de liaison anticipée le plus courant où vous enregistrez le cluster avant d’afficher les hôtes.

  1. Connectez-vous à l’ordinateur client Assisted Installer. L’ordinateur client Assisted Installer est l’endroit où vous émettez des appels d’API Assisted Installer au service Assisted Installer.
  2. Préparez le déploiement en définissant les variables d’environnement que vous utiliserez dans les étapes ultérieures.
    1. Créez une clé SSH que vous utiliserez pour accéder aux nœuds de votre cluster. Enregistrez la clé d’une variable d’environnement.
      Dans cet exemple, nous stockons la clé SSH à son emplacement par défaut ~/. ssh/id_rsa.pub.
    2. Téléchargez l’image secrète de votre compte Red Hat sur votre ordinateur local. Le secret d’extraction permet à votre installation d’accéder aux services et aux registres qui fournissent des images de conteneur pour les composants OpenShift.

      Si vous utilisez le programme d’installation assisté hébergé par Red Hat, vous pouvez télécharger le fichier pull secret (pull-secret) à partir de la page de téléchargements. Copiez le fichier extral-secret sur l’ordinateur client Assisted Installer. Dans cet exemple, nous stockons pull-secret dans un fichier appelé pull-secret.txt.

      Supprimez tout espace, convertissez le contenu au format de chaîne JSON et stockez-le dans une variable d’environnement, comme suit :

    3. Copiez le jeton d’accès hors ligne depuis votre compte Red Hat. Le jeton API OpenShift Cluster Manager vous permet (sur la machine cliente Assisted Installer) d’interagir avec le service API Assisted Installer hébergé par Red Hat.
      Le jeton est une chaîne que vous pouvez copier et coller dans une variable d’environnement locale. Si vous utilisez le programme d’installation assisté hébergé par Red Hat, vous pouvez copier le jeton API à partir de la page de téléchargement.
    4. Générez (actualisez) le jeton à partir du OFFLINE_ACCESS_TOKEN. Vous utiliserez ce jeton généré chaque fois que vous émettrez des commandes API.
      Note:

      Ce jeton expire régulièrement. Lorsque ce jeton expire, vous obtiendrez une réponse HTTP 400 chaque fois que vous émettrez une commande API. Actualisez le jeton lorsqu’il expire ou actualisez-le régulièrement avant son expiration. Il n’y a pas de mal à actualiser le jeton quand il n’a pas expiré.

    5. Configurez les variables d’environnement restantes.
      Tableau 1 Répertorie toutes les variables d’environnement que vous devez définir dans cette procédure, y compris celles décrites dans les étapes précédentes.
      de variable
      Tableau 1 : Variables d’environnement
      Exempledescription de
      CLUSTER_SSHKEY Clé ssh (publique) que vous avez générée. Cette clé sera installée sur tous les nœuds du cluster.
      PULL_SECRET Le secret d’extraction d’image que vous avez téléchargé, supprimé et converti au format de chaîne JSON.
      OFFLINE_ACCESS_TOKEN Jeton d’API OpenShift Cluster Manager que vous avez copié.
      JETON Jeton que vous avez généré (actualisé) à partir du OFFLINE_ACCESS_TOKEN.
      CLUSTER_NAME Nom que vous souhaitez appeler le cluster. Il s’agit du nom qui apparaîtra dans l’interface utilisateur de la console Red Hat Hybrid Cloud.
      Note:

      Ce nom doit être en minuscules.

      mycluster
      CLUSTER_DOMAIN Domaine de base que vous souhaitez attribuer au cluster. Des noms seront attribués aux objets du cluster dans ce domaine. contrail.lan
      CLUSTER_NET Réseau de clusters superposés. Les pods se voient attribuer des adresses IP sur ce réseau. 10.128.0.0/14
      CLUSTER_SVC_NET Le réseau de service superposé. Les services se voient attribuer des adresses IP sur ce réseau. 172.31.0.0/16
      CLUSTER_HOST_PFX Longueur du préfixe de sous-réseau pour l’attribution d’adresses IP à partir de CLUSTER_NET. Cela définit le sous-ensemble d’adresses IP CLUSTER_NET à utiliser pour l’attribution d’adresses IP pod. 23
      CLUSTER_MACHINE_NET Réseau de machines sur lequel les hôtes se rattachent. Il s’agit du réseau virtuel de fabric pour le trafic du plan de contrôle Kubernetes. 172.16.0.0/24
      CLUSTER_API_VIP

      Adresse IP virtuelle que vous souhaitez attribuer au point de terminaison de l’API. Il s’agit de l’adresse IP frontale que l’équilibreur de charge interne utilisera pour distribuer le trafic API aux nœuds principaux.

      Sélectionnez une adresse IP dans le CLUSTER_MACHINE_NET qui n’est pas utilisée.

      172.16.0.100
      CLUSTER_INGRESS_VIP

      Adresse IP virtuelle que vous souhaitez attribuer comme entrée. Il s’agit de l’adresse IP frontale que l’équilibreur de charge interne utilisera pour distribuer le trafic applicatif aux nœuds principaux.

      Sélectionnez une adresse IP dans le CLUSTER_MACHINE_NET qui n’est pas utilisée.

      172.16.0.101
      AI_URL URL du service d’installation assistée. Cet exemple utilise le programme d’installation assisté hébergé Red Hat. https://api.openshift.com
  3. Enregistrez le cluster auprès du service d’installation assisté. En vous inscrivant, vous indiquez au service d’installation assistée les attributs du cluster que vous souhaitez créer. En réponse, le service d’installation assistée crée une ressource de cluster et retourne un identificateur de cluster qui identifie de manière unique cette ressource de cluster.
    1. Créez le fichier qui décrit le cluster que vous souhaitez créer. Dans cet exemple, nous nommons le fichier deployment.json.
    2. Inscrivez le cluster et enregistrez le CLUSTER_ID dans une variable d’environnement. Référencez le fichier deployment.json que vous venez de créer.
    3. Mettez à jour les attributs du cluster pour spécifier que vous souhaitez que le cluster utilise Contrail comme technologie de mise en réseau.
    4. Passez en revue les modifications.
    Une fois votre cluster enregistré, vous pouvez pointer votre navigateur vers la console Red Hat Hybrid Cloud Console ( https://console.redhat.com/openshift) pour suivre la progression de l’installation. Vous pouvez rechercher votre cluster par nom de cluster ou ID de cluster.
  4. Générez l’ISO de démarrage de découverte. Vous utiliserez cette image ISO pour démarrer les nœuds de votre cluster.
    L’ISO est personnalisé en fonction de votre infrastructure en fonction de l’environnement d’infrastructure que vous allez configurer.
    1. Créez un fichier qui décrit l’environnement d’infrastructure. Dans cet exemple, nous le nommons infra-envs.json.
      Avec la liaison anticipée, l’environnement d’infrastructure inclut les détails du cluster.
    2. Demandez au service d’installation assistée de créer l’ISO de démarrage de découverte en fonction de l’environnement d’infrastructure spécifié. Référencez le fichier infra-envs.json que vous venez de créer. En retour, le service d’installation assistée attribue un identifiant InfraEnv que vous devrez stocker.
    3. Corrigez l’ISO avec le certificat approprié pour le serveur d’API étendu.
      Pour ce faire, appliquez un fichier d’allumage. Copiez le contenu ci-dessous dans un fichier infra-ignition.json. Le contenu contient un script codé qui configure le serveur API étendu avec le certificat approprié.
      Appliquez le fichier d’allumage que vous venez de créer.
    4. Téléchargez l’ISO. Dans cet exemple, nous l’appelons ai-liveiso-$CLUSTER_ID.iso, en référence à l’identificateur de cluster dans le nom.
  5. Démarrez les 3 nœuds du plan de contrôle avec l’ISO de démarrage de découverte.
    1. Choisissez la méthode de démarrage la plus adaptée à votre infrastructure. Assurez-vous que les machines démarrent reliées à un réseau ayant accès au service d’installation assistée hébergé par Red Hat.
      Dans l’exemple de réseau illustré à la Figure 1, les nœuds ont deux interfaces, l’une étant reliée au réseau 172.16.0.0/24 et l’autre au réseau 10.16.0.0/24.
      Note:

      Configurez votre serveur DHCP pour attribuer des adresses IP sur le réseau 10.16.0.0/24 (par exemple, 10.16.0.11 à 10.16.0.13 pour les nœuds du plan de contrôle et 10.16.0.14 et 10.16.0.15 pour les nœuds de travail.)

      Veillez à configurer le manifeste 99-network-configmap.yaml conformément à l’étape 4.e de Avant l’installation.

    2. Vérifiez l’état du cluster :
      L’état doit indiquer Prêt lorsque les nœuds s’affichent avec succès.
    3. Vérifiez l’état des validations :
      L’état des validations indique si vous avez correctement défini votre cluster. Il ne devrait y avoir aucune erreur dans la sortie.
    4. Vérifiez les hôtes :
      La sortie affiche des détails sur tous les nœuds que vous avez démarrés.
      Vous pouvez filtrer des informations spécifiques, telles que les ID d’hôte :
      et les rôles d’hôte :
    5. Vérifiez que les rôles ont été attribués.

      Dans votre navigateur, accédez à Red Hat Hybrid Cloud Console (https://console.redhat.com/openshift) et cliquez sur votre cluster pour afficher les détails de votre cluster. Vous pouvez rechercher votre cluster par nom de cluster ou par ID de cluster.

      Passez à l’étape suivante uniquement lorsque les nœuds (hôtes) apparaissent et que les rôles ont été attribués avec succès en tant que nœuds de plan de contrôle. Puisque nous n’avons démarré que les 3 nœuds du plan de contrôle, vous verrez les rôles attribués dans l’interface utilisateur en tant que plan de contrôle, travailleur.

  6. Définissez l’adresse IP virtuelle pour le trafic API.
  7. Répétez l’étape 5 pour démarrer les nœuds de travail.
    Lorsque vous interrogez les rôles d’hôte, vous voyez les nœuds de travail à l’état d’attribution automatique . C’est normal. Le service d’installation assistée attribue des rôles à ces nœuds ultérieurement lors de l’installation du cluster.
  8. Téléchargez les manifestes Contrail (que vous avez téléchargés dans Avant l’installation) sur le service d’installation assistée. Veillez à inclure les manifestes supplémentaires spécifiques à la mise en réseau gérée par cluster.

    Pour plus de commodité, vous pouvez utiliser le script bash suivant. Le script suppose que vous avez placé les manifestes dans le répertoire des manifestes . Si vous utilisez ce script, assurez-vous que :

    • Vous placez tous les manifestes que vous souhaitez utiliser dans ce répertoire, y compris tous les manifestes que vous souhaitez utiliser à partir des sous-répertoires
    • vous ne placez aucun autre fichier YAML dans ce répertoire

    Le script parcourt en boucle tous les fichiers *.yaml du répertoire manifests , les encode en base64 et les applique au cluster.

  9. Démarrez l’installation du cluster.

    Le service d’installation assistée crée le cluster en fonction de la ressource de cluster que vous avez définie. Tout d’abord, le programme d’installation assisté affecte l’un des nœuds du plan de contrôle comme nœud d’amorçage, qui à son tour prépare les autres nœuds. Un par un, vous verrez les nœuds non-bootstrap redémarrer dans le cluster, les nœuds du plan de contrôle non-bootstrap redémarrant en premier, puis les nœuds de travail et enfin le nœud bootstrap.

    L’installation peut prendre une heure ou plus. Vous pouvez suivre la progression de l’installation sur la console Red Hat Hybrid Cloud Console (https://console.redhat.com/openshift).

    Si l’installation est bloquée dans la console Red Hat Hybrid Cloud, connectez-vous à chaque nœud avec un nom core d’utilisateur et assurez-vous que l’hôte peut résoudre les noms de domaine, en particulier ceux que vous avez configurés sur votre serveur DNS/DHCP, ainsi que le service d’installation assistée Red Hat et les noms de domaine du référentiel Juniper Networks. Les problèmes d’installation les plus courants peuvent être attribués à des erreurs de configuration du réseau, telles qu’une configuration DNS incorrecte. En outre, dans certains environnements, les nœuds peuvent s’arrêter au lieu de redémarrer. Dans ce cas, démarrez manuellement les nœuds qui se sont arrêtés.

  10. Téléchargez kubeconfig pour le cluster.
    1. Téléchargez kubeconfig dans un fichier kubeconfig local.
    2. Copiez le kubeconfig dans ~/.kube/config. kubeconfig doit se trouver à l’emplacement par défaut ~/.kube/config, car la contrailstatus commande que vous utiliserez ultérieurement s’attend à ce que kubeconfig soit à son emplacement par défaut.
  11. Vérifiez l’installation.
    1. Vérifiez l’état de tous les pods. Vérifiez que tous les pods sont à l’état En cours d’exécution ou Terminé.
    2. Pour les pods qui ne sont pas à l’état En cours d’exécution ou Terminé, utilisez la commande kubectl describe pour approfondir l’enquête.

      Un problème courant est l’échec du téléchargement d’une image. Si tel est le cas :

      • vérifier que votre réseau peut atteindre le référentiel Juniper Networks
      • vérifier que le nœud où réside le pod défaillant est configuré pour accéder à un serveur DNS
      • Vérifiez que le nœud où réside le pod défaillant peut envoyer une requête ping au référentiel par nom d’hôte
  12. (Facultatif) Connectez-vous à la console Web OpenShift pour surveiller votre cluster.
    L’URL de la console Web se présente sous la forme : https://console-openshift-console.apps.. .<cluster-name><cluster-domain>
    1. Assurez-vous que le navigateur dans lequel vous souhaitez accéder à la console Web se trouve sur un ordinateur ayant accès à l’URL de la console Web. Vous devrez peut-être ajouter une entrée pour le nom d’hôte de cette console au fichier /etc/hosts sur cette machine. N’oubliez pas que ce mappage est le mappage *.apps.mycluster.contrail.lan que vous avez configuré sur le serveur DNS dans Avant l’installation.
    2. Téléchargez le mot de passe kubeadmin.
    3. Connectez-vous à la console Web OpenShift avec le nom d’utilisateur kubeadmin et le mot de passe téléchargé.
Vous avez correctement installé OpenShift avec Contrail Networking.