Avant l’installation
- Créez un compte Red Hat et créez un compte chez Juniper Networks.
Vous aurez besoin du compte Red Hat pour utiliser le service d’installation assisté hébergé, et vous aurez besoin du compte Juniper Networks pour télécharger les manifestes, les packages de conteneurs et les outils Contrail.
- Configurez le réseau de structure et connectez vos nœuds à la structure selon que vous effectuez l’installation avec un réseau géré par l’utilisateur (Figure 1) ou un réseau géré par un cluster (Figure 1).
- Configurez la machine cliente Assisted Installer.
- Installez un nouveau système d’exploitation sur l’ordinateur client Assisted Installer, en configurant le système d’exploitation au minimum pour les éléments suivants :
- adresse IP statique et masque (par exemple, 172.16.0.10/24) et passerelle
- l’accès à un ou plusieurs serveurs DNS
- Connectivité SSH, y compris l’accès SSH racine
- NTP
- Curl
- jq
- Installez Helm 3.0 ou une version ultérieure (facultatif). Helm est nécessaire si vous souhaitez installer Contrail Analytics.
Les étapes suivantes sont copiées à partir de https://helm.sh/docs/intro/install/ pour votre commodité :
-
Téléchargez le script get_helm.sh :
curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
-
Installez Helm.
chmod 700 get_helm.sh
./get_helm.sh
-
- Installez un nouveau système d’exploitation sur l’ordinateur client Assisted Installer, en configurant le système d’exploitation au minimum pour les éléments suivants :
- Téléchargez le package Contrail Networking Manifests and Tools à partir de Juniper Networks.
- Téléchargez le package Manifestes and Tools de Contrail Networking (voir Manifestes et outils) sur votre ordinateur local.
- Copiez le package de manifestes et d’outils téléchargé sur l’ordinateur client Assisted Installer et extrayez-le.
user@ai-client~/tmp$ tar -xzvf contrail-manifests-openshift-<version>.tgz
- Identifiez les manifestes que vous souhaitez utiliser et copiez-les dans un répertoire distinct. Pour plus d’informations sur les manifestes, consultez Manifestes et outils pour votre version.
Assurez-vous de copier tous les manifestes que vous prévoyez d’utiliser, y compris les manifestes des sous-répertoires, le cas échéant. Dans notre exemple, nous copions les manifestes dans un répertoire de manifestes . Ne copiez pas les sous-répertoires eux-mêmes. Le répertoire manifests doit être un répertoire plat.
- Remplissez les manifestes avec vos informations d’identification de connexion au référentiel.
Si vous utilisez la version 22.1, cette étape ne s’applique pas à vous. Les manifestes de la version 22.1 sont préremplis avec les informations d’identification fonctionnelles.
Si vous exécutez la version 22.2 ou une version ultérieure, vous devez ajouter vos informations d’identification de connexion au référentiel aux manifestes contrail-manifests-openshift/auth-registry . Reportez-vous à la section Configurer les informations d’identification du référentiel.
- Personnalisez les manifestes pour votre environnement si nécessaire.
Si vous exécutez vos nœuds de cluster sur des machines virtuelles, modifiez les fichiers suivants pour référencer les noms réels de vos interfaces. Ces manifestes désactivent les déchargements de somme de contrôle sur l’interface nommée sur la machine virtuelle. (Le déchargement de la somme de contrôle n’est généralement pris en charge que sur les cartes réseau réelles sur les serveurs bare metal.)
- 99-disable-offload-master.yaml : ce manifeste désactive le déchargement sur les nœuds du plan de contrôle sur l’interface utilisée pour le trafic du plan de contrôle Kubernetes. Il s’agit de l’interface qui se connecte au réseau 172.16.0.0/24 dans nos exemples.
- 99-disable-offload-worker.yaml : ce manifeste désactive le déchargement sur les nœuds de travail sur l’interface utilisée pour le trafic du plan de contrôle Kubernetes. Il s’agit de l’interface qui se connecte au réseau 172.16.0.0/24 dans nos exemples.
- 99-disable-offload-master-vrrp.yaml (version 22.2 ou ultérieure) ou 99-disable-offload-master-ens4.yaml (version 22.1) : ce manifeste désactive le déchargement sur les nœuds du plan de contrôle de l’interface utilisée pour le trafic du plan de contrôle Contrail et du plan de données utilisateur. Incluez cette option uniquement lors de l’exécution d’une interface distincte pour le contrôle et le trafic de données Contrail (par exemple, lors de l’utilisation d’un réseau géré par cluster). Il s’agit de l’interface qui se connecte au réseau 10.16.0.0/24 dans notre exemple de mise en réseau gérée par cluster.
- 99-disable-offload-worker-vrrp.yaml (version 22.2 ou ultérieure) ou 99-disable-offload-worker-ens4.yaml (version 22.1) : ce manifeste désactive le déchargement sur les nœuds de travail de l’interface utilisée pour le trafic du plan de contrôle Contrail et du plan de données utilisateur. Incluez cette option uniquement lors de l’exécution d’une interface distincte pour le contrôle et le trafic de données Contrail (par exemple, lors de l’utilisation d’un réseau géré par cluster). Il s’agit de l’interface qui se connecte au réseau 10.16.0.0/24 dans notre exemple de mise en réseau gérée par cluster.
Recherchez la ligne
ExecStart=/sbin/ethtool -K ens3 tx off
ou dans ces manifestes et modifiez le nom de l’interface pour qu’il corresponde au nom de l’interface sur votre plan de contrôle ouExecStart=/sbin/ethtool -K ens4 tx off
votre nœud de travail, selon le cas. - Spécifiez le réseau de contrôle et de données Contrail si vous utilisez un réseau géré par cluster.
Modifiez le fichier suivant pour référencer le sous-réseau et la passerelle que vous utilisez pour le trafic du plan de contrôle Contrail et du plan de données utilisateur :
- 99-network-configmap.yaml : ce manifeste spécifie le réseau pour le trafic du plan de contrôle Contrail et du plan de données utilisateur. Supprimez la mise en commentaire de la spécification ConfigMap contrail-network-config dans le manifeste et spécifiez le sous-réseau et la passerelle appropriés (par exemple, 10.16.0.0/24 et 10.16.0.254).
- Installez contrailstatus sur l’ordinateur client Assisted Installer. Contrailstatus est un plug-in kubectl que vous pouvez utiliser pour interroger les microservices Contrail et les ressources spécifiques à Contrail.
Contrailstatus est empaqueté dans le package d’outils téléchargé. Modifiez les autorisations sur l’exécutable kubectl-contrailstatus et copiez-le dans / usr/local/bin.
chmod +x tools/kubectl-contrailstatus cp tools/kubectl-contrailstatus /usr/local/bin
- Installez un équilibreur de charge (si vous utilisez un réseau géré par l’utilisateur). Cette étape n’est pas requise lors de l’exécution avec une mise en réseau gérée par un cluster.
Dans cet exemple, nous exécutons haxproxy sur la machine cliente Assisted Installer. Vous pouvez choisir d’exécuter un autre équilibreur de charge pour votre installation.
- Installez l’équilibreur de charge.
Par exemple :
sudo dnf install haproxy
- Configurez l’équilibreur de charge.
Nous utilisons une adresse IP unique (172.16.0.10) qui distribue l’API et le trafic entrant aux nœuds du cluster.
Tableau 1 : Exemples d’entrées de l’équilibreur de charge Type de trafic : front-end , back-end Api
172.16.0.10:6443
172.16.0.11:6443
172.16.0.12:6443
172.16.0.13:6443
api-int 172.16.0.10:22623
172.16.0.11:22623
172.16.0.12:22623
172.16.0.13:22623
https (en anglais seulement) 172.16.0.10:443
172.16.0.14:443
172.16.0.15:443
http (en anglais seulement) 172.16.0.10:80
172.16.0.14:80
172.16.0.15:80
frontend api bind 172.16.0.10:6443 default_backend controlplaneapi frontend apiinternal bind 172.16.0.10:22623 default_backend controlplaneapiinternal frontend secure bind 172.16.0.10:443 default_backend secure frontend insecure bind 172.16.0.10:80 default_backend insecure backend controlplaneapi balance roundrobin server cp0 172.16.0.11:6443 check server cp1 172.16.0.12:6443 check server cp2 172.16.0.13:6443 check backend controlplaneapiinternal balance roundrobin server cp0 172.16.0.11:22623 check server cp1 172.16.0.12:22623 check server cp2 172.16.0.13:22623 check backend secure balance roundrobin server worker0 172.16.0.14:443 check server worker1 172.16.0.15:443 check backend insecure balance roundrobin server worker0 172.16.0.14:80 check server worker1 172.16.0.15:80 check
- Démarrez l’équilibreur de charge.
Par exemple :
systemctl start haproxy
Note:Si vous utilisez selinux, vous devrez peut-être autoriser explicitement haproxy à écouter sur les ports (
setsebool -P haproxy_connect_any 1)
.
- Installez l’équilibreur de charge.
- Installez un serveur DNS/DHCP dans votre réseau pour desservir les nœuds Kubernetes.
Dans cet exemple, nous exécutons dnsmasq sur la machine cliente Assisted Installer. Vous pouvez choisir d’exécuter un autre serveur DNS/DHCP pour votre installation.
- Installez le serveur DNS/DHCP.
Dnsmasq est préinstallé sur certains paquets du système d’exploitation RHEL. S’il n’est pas préinstallé, vous pouvez l’installer comme suit :
sudo dnf install dnsmasq
- Configurez le nom de domaine et les entrées DHCP.
Tableau 2 : Exemples d’affectations DHCP Adresse IP du nom de domaine complet ocp1.mycluster.contrail.lan 172.16.0.11 ocp2.mycluster.contrail.lan 172.16.0.12 ocp3.mycluster.contrail.lan 172.16.0.13 ocp4.mycluster.contrail.lan 172.16.0.14 ocp5.mycluster.contrail.lan 172.16.0.15 Note:Lors de l’utilisation du service d’installation assistée, le nom de domaine complet est construit comme suit :
<hostname>.<cluster name>.<domain name>
Dans cet exemple, nous utilisons ocpn comme nom d’hôte, mycluster comme nom de cluster et contrail.lan comme nom de domaine.
- Configurez vos entrées DNS.
Tableau 3 : Exemples d’entrées DNS Remarque surl’adresse IP du nom d’hôte ocp1.mycluster.contrail.lan 172.16.0.11 Identique à l’attribution DHCP ocp2.mycluster.contrail.lan 172.16.0.12 Identique à l’attribution DHCP ocp3.mycluster.contrail.lan 172.16.0.13 Identique à l’attribution DHCP ocp4.mycluster.contrail.lan 172.16.0.14 Identique à l’attribution DHCP ocp5.mycluster.contrail.lan 172.16.0.15 Identique à l’attribution DHCP api.mycluster.contrail.lan 172.16.0.10 Équilibreur de charge pour le trafic d’API externe. Requis pour les réseaux gérés par l’utilisateur uniquement. api-int.mycluster.contrail.lan 172.16.0.10 Équilibreur de charge pour le trafic API interne. Requis pour les réseaux gérés par l’utilisateur uniquement. apps.mycluster.contrail.lan 172.16.0.10 Équilibreur de charge pour le trafic entrant. Requis pour les réseaux gérés par l’utilisateur uniquement. *.apps.mycluster.contrail.lan 172.16.0.10 Équilibreur de charge pour le trafic entrant. Requis pour les réseaux gérés par l’utilisateur uniquement. dhcp-host=52:54:00:00:11:11,ocp1.mycluster.contrail.lan,172.16.0.11 dhcp-host=52:54:00:00:11:22,ocp2.mycluster.contrail.lan,172.16.0.12 dhcp-host=52:54:00:00:11:33,ocp3.mycluster.contrail.lan,172.16.0.13 dhcp-host=52:54:00:00:11:44,ocp4.mycluster.contrail.lan,172.16.0.14 dhcp-host=52:54:00:00:11:55,ocp5.mycluster.contrail.lan,172.16.0.15 host-record=api.mycluster.contrail.lan,172.16.0.10 address=/.apps.mycluster.contrail.lan/172.16.0.10 address=/api-int.mycluster.contrail.lan/172.16.0.10
- Démarrez le serveur DNS/DHCP.
Par exemple :
systemctl start dnsmasq
- Installez le serveur DNS/DHCP.
- Téléchargez l’outil d’interface de ligne de commande OpenShift de Red Hat. Ce forfait comprend kubectl.
- Sur le navigateur de votre ordinateur local, accédez à https://console.redhat.com/openshift/downloads#tool-oc et téléchargez l’outil d’interface de ligne de commande OpenShift.
- Copiez le package téléchargé sur l’ordinateur client Assisted Installer et décompressez.
user@ai-client:~/$ tar -xzvf openshift-client-linux.tar.gz README.md oc kubectl
- Copiez les exécutables oc et kubectl dans un répertoire de votre chemin d’accès (par exemple, /usr/local/bin).