Vor der Installation
- Richten Sie ein Konto bei Red Hat ein und richten Sie ein Konto bei Juniper Networks ein.
Sie benötigen das Red Hat-Konto, um den gehosteten Assisted Installer-Service zu nutzen, und Sie benötigen das Konto von Juniper Networks, um die Contrail-Manifeste, Container-Pakete und Tools herunterzuladen.
- Richten Sie das Fabric-Netzwerk ein und verbinden Sie Ihre Knoten mit der Fabric, je nachdem, ob Sie mit benutzerverwaltetem Netzwerk (Abbildung 1) oder clusterverwaltetem Netzwerk (Abbildung 1) installieren.
- Konfigurieren Sie den Clientcomputer "Assisted Installer".
- Installieren Sie ein neues Betriebssystem auf dem Assisted Installer-Clientcomputer, und konfigurieren Sie das Betriebssystem minimal für Folgendes:
- statische IP-Adresse und -Maske (z. B. 172.16.0.10/24) und Gateway
- Zugriff auf einen oder mehrere DNS-Server
- SSH-Konnektivität einschließlich Root SSH-Zugriff
- Ntp
- Curl
- JQ
- Installieren Sie Helm 3.0 oder höher (optional). Helm wird benötigt, wenn Sie Contrail Analytics installieren möchten.
Die folgenden Schritte werden aus https://helm.sh/docs/intro/install/ kopiert.
-
Laden Sie das skript get_helm.sh herunter:
curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
-
Installieren Sie Helm.
chmod 700 get_helm.sh
./get_helm.sh
-
- Installieren Sie ein neues Betriebssystem auf dem Assisted Installer-Clientcomputer, und konfigurieren Sie das Betriebssystem minimal für Folgendes:
- Laden Sie das Paket "Contrail Networking Manifests and Tools" von Juniper Networks herunter.
- Laden Sie das Paket "Contrail Networking Manifests and Tools" (siehe Manifeste und Tools) auf Ihren lokalen Computer herunter.
- Kopieren Sie das heruntergeladene Manifest- und Toolspaket auf den Clientcomputer "Assisted Installer" und extrahieren Sie es.
user@ai-client~/tmp$ tar -xzvf contrail-manifests-openshift-<version>.tgz
- Identifizieren Sie die zu verwendenden Manifeste und kopieren Sie sie in ein separates Verzeichnis. Eine Erläuterung der Manifeste finden Sie unter Manifeste und Werkzeuge für Ihre Veröffentlichung.
Vergewissern Sie sich, dass Sie alle von Ihnen geplanten Manifeste kopieren, einschließlich der Manifeste aus den Unterverzeichnissen, falls zutreffend. In unserem Beispiel kopieren wir die Manifeste in ein Manifestverzeichnis . Kopieren Sie die Unterverzeichnisse nicht selbst. Das Manifestverzeichnis sollte ein flaches Verzeichnis sein.
- Füllen Sie die Manifeste mit Ihren Repository-Anmeldeinformationen aus.
Wenn Sie Version 22.1 ausführen, gilt dieser Schritt nicht für Sie. Die Manifeste der Version 22.1 sind mit funktionierenden Nachweisen vorbevölkert.
Wenn Sie Version 22.2 oder höher ausführen, müssen Sie Ihre Repository-Anmeldeinformationen zu den Manifesten contrail-manifests-openshift/auth-registry hinzufügen. Siehe Konfigurieren von Repository-Anmeldeinformationen.
- Passen Sie die Manifeste nach Bedarf an Ihre Umgebung an.
Wenn Sie Ihre Clusterknoten auf VMs ausführen, bearbeiten Sie die folgenden Dateien, um auf die tatsächlichen Namen Ihrer Schnittstellen zu verweisen. Diese Manifeste deaktivieren Prüfsummen-Offloads auf der benannten Schnittstelle auf der VM. (Checkum Offload wird in der Regel nur auf echten NICs auf Bare-Metal-Servern unterstützt.)
- 99-disable-offload-master.yaml - Dieses Manifest deaktiviert die Ausladung auf den Knoten der Steuerungsebene auf der Schnittstelle, die für Kubernetes-Datenverkehr auf der Steuerungsebene verwendet wird. Dies ist die Schnittstelle, die an das 172.16.0.0/24-Netzwerk angehängt wird.
- 99-disable-offload-worker.yaml - Dieses Manifest deaktiviert die Auslagerung auf den Worker-Knoten auf der Schnittstelle, die für den Datenverkehr auf der Steuerungsebene von Kubernetes verwendet wird. Dies ist die Schnittstelle, die an das 172.16.0.0/24-Netzwerk angehängt wird.
- 99-disable-offload-master-vrrp.yaml (Version 22.2 oder höher) oder 99-disable-offload-master-ens4.yaml (Version 22.1) – Dieses Manifest deaktiviert die Ausladung auf den Knoten der Steuerungsebene auf der Schnittstelle, die für Contrail Control Plane- und Benutzerdatenebenenverkehr verwendet wird. Beziehen Sie dies nur ein, wenn Sie eine separate Schnittstelle für Die Contrail-Steuerung und den Datenverkehr ausführen (z. B. bei der Verwendung von Cluster-verwalteten Netzwerken). Dies ist die Schnittstelle, die in unserem Cluster-verwalteten Netzwerk an das 10.16.0.0/24-Netzwerk angehängt wird.
- 99-disable-offload-worker-vrrp.yaml (Version 22.2 oder höher) oder 99-disable-offload-worker-ens4.yaml (Version 22.1) – Dieses Manifest deaktiviert die Ausladung auf den Worker-Knoten auf der Schnittstelle, die für contrail Control Plane- und User Data Plane-Datenverkehr verwendet wird. Beziehen Sie dies nur ein, wenn Sie eine separate Schnittstelle für Die Contrail-Steuerung und den Datenverkehr ausführen (z. B. bei der Verwendung von Cluster-verwalteten Netzwerken). Dies ist die Schnittstelle, die in unserem Cluster-verwalteten Netzwerk an das 10.16.0.0/24-Netzwerk angehängt wird.
Suchen Sie nach der Zeile
ExecStart=/sbin/ethtool -K ens3 tx off
oderExecStart=/sbin/ethtool -K ens4 tx off
in diesen Manifesten, und ändern Sie den Schnittstellennamen entsprechend dem Schnittstellennamen auf der Steuerungsebene oder dem Worker-Knoten. - Geben Sie das Contrail-Steuerungs- und Datennetzwerk an, wenn Sie clusterverwaltete Netzwerke verwenden.
Bearbeiten Sie die folgende Datei, um auf das Subnetz und Gateway zu verweisen, das Sie für den Datenverkehr der Contrail Control Plane und der Benutzerdatenebene verwenden:
- 99-network-configmap.yaml – Dieses Manifest gibt das Netzwerk für den Datenverkehr der Contrail Control Plane und der Benutzerdatenebene an. Nehmen Sie die Konfigurationsspezifikation contrail-network-config im Manifest auf und geben Sie das entsprechende Subnetz und Gateway an (z. B. 10.16.0.0/24 und 10.16.0.254).
- Installieren Sie Contrailstatus auf dem Assisted Installer-Clientcomputer. Contrailstatus ist ein Kubectl-Plug-in, mit dem Sie Contrail-Microservices und contrail-spezifische Ressourcen abfragen können.
Contrailstatus ist im Paket der heruntergeladenen Tools enthalten. Ändern Sie die Berechtigungen für die ausführbare Datei kubectl-contrailstatus und kopieren Sie sie in /usr/local/bin.
chmod +x tools/kubectl-contrailstatus cp tools/kubectl-contrailstatus /usr/local/bin
- Installieren Sie einen Load Balancer (wenn Sie mit benutzerverwaltetem Netzwerk ausgeführt werden). Dieser Schritt ist beim Ausführen mit clusterverwaltetem Netzwerk nicht erforderlich.
In diesem Beispiel führen wir Haxproxy auf dem Assisted Installer-Clientcomputer aus. Sie können wählen, ob Sie einen anderen Load Balancer für Ihre Installation ausführen möchten.
- Installieren Sie den Load Balancer.
Zum Beispiel:
sudo dnf install haproxy
- Konfigurieren Sie den Load Balancer.
Wir verwenden eine einzige IP-Adresse (172.16.0.10), die API und Eingehenden Datenverkehr an die Knoten im Cluster verteilt.
Tabelle 1: Beispiel-Load Balancer-Einträge Art des Datenverkehrs-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 172.16.0.10:443
172.16.0.14:443
172.16.0.15:443
http 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
- Starten Sie den Load Balancer.
Zum Beispiel:
systemctl start haproxy
Hinweis:Wenn Sie mit Selinux laufen, müssen Sie möglicherweise haproxy explizit erlauben, Ports abzuhören (
setsebool -P haproxy_connect_any 1)
.
- Installieren Sie den Load Balancer.
- Installieren Sie einen DNS/DHCP-Server in Ihrem Netzwerk, um die Kubernetes-Knoten zu versorgen.
In diesem Beispiel führen wir dnsmasq auf dem Assisted Installer-Clientcomputer aus. Sie können für die Installation einen anderen DNS/DHCP-Server ausführen.
- Installieren Sie den DNS/DHCP-Server.
Dnsmasq ist in einigen RHEL OS-Paketen vorinstalliert. Wenn es nicht vorinstalliert ist, können Sie es wie folgt installieren:
sudo dnf install dnsmasq
- Konfigurieren Sie den Domänennamen und DHCP-Einträge.
Tabelle 2: Beispiel DHCP-Zuweisungen Vollständig qualifizierte Domain Name IP-Adresse 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 Hinweis:Bei Verwendung des Assisted Installer-Services wird der vollständig qualifizierte Domänenname wie folgt aufgebaut:
<hostname>.<cluster name>.<domain name>
In diesem Beispiel verwenden ocpn wir den Hostnamen, mycluster den Clusternamen und contrail.lan den Domänennamen.
- Konfigurieren Sie Ihre DNS-Einträge.
Tabelle 3: Beispiel-DNS-Einträge Hostname IP-Adresshinweis ocp1.mycluster.contrail.lan 172.16.0.11 Gleich wie DHCP-Zuweisung ocp2.mycluster.contrail.lan 172.16.0.12 Gleich wie DHCP-Zuweisung ocp3.mycluster.contrail.lan 172.16.0.13 Gleich wie DHCP-Zuweisung ocp4.mycluster.contrail.lan 172.16.0.14 Gleich wie DHCP-Zuweisung ocp5.mycluster.contrail.lan 172.16.0.15 Gleich wie DHCP-Zuweisung api.mycluster.contrail.lan 172.16.0.10 Load Balancer für externen API-Datenverkehr. Nur für benutzergeführte Netzwerke erforderlich. api-int.mycluster.contrail.lan 172.16.0.10 Load Balancer für internen API-Datenverkehr. Nur für benutzergeführte Netzwerke erforderlich. apps.mycluster.contrail.lan 172.16.0.10 Load Balancer für eingehenden Datenverkehr. Nur für benutzergeführte Netzwerke erforderlich. *.apps.mycluster.contrail.lan 172.16.0.10 Load Balancer für eingehenden Datenverkehr. Nur für benutzergeführte Netzwerke erforderlich. 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
- Starten Sie den DNS/DHCP-Server.
Zum Beispiel:
systemctl start dnsmasq
- Installieren Sie den DNS/DHCP-Server.
- Laden Sie das OpenShift Command Line Interface Tool (OC) von Red Hat herunter. Dieses Paket umfasst kubectl.
- Gehen Sie im Browser Ihres lokalen Computers zu https://console.redhat.com/openshift/downloads#tool-oc und laden Sie das OpenShift Command Line Interface Tool (OC) herunter.
- Kopieren Sie das heruntergeladene Paket auf den Assisted Installer-Clientcomputer und untar.
user@ai-client:~/$ tar -xzvf openshift-client-linux.tar.gz README.md oc kubectl
- Kopieren Sie die ausführbaren OC- und Kubectl-Dateien in ein Verzeichnis in Ihrem Pfad (z. B. /usr/local/bin).