|
Dieses Dokument wurde mithilfe automatisierter maschineller Übersetzungstechnologie übersetzt. Wir bemühen uns um korrekte Übersetzungen, übernehmen jedoch keine Gewähr für die Vollständigkeit, Richtigkeit oder Zuverlässigkeit der übersetzten Inhalte. Im Falle von Abweichungen ist die englische Originalversion maßgebend und stellt den verbindlichen Text dar. |
3. Installieren Sie Kubernetes (Überspringen für Docker-Installationen)
|
Überspringen Sie diesen Abschnitt, wenn Sie Rancher auf einem einzelnen Knoten mit Docker installieren. |
In diesem Abschnitt wird beschrieben, wie Sie einen Kubernetes-Cluster gemäß unseren Best Practices für die Rancher-Serverumgebung installieren. Dieser Cluster sollte ausschließlich für den Betrieb des Rancher-Servers verwendet werden.
Rancher kann auf jedem Kubernetes-Cluster installiert werden, einschließlich gehosteter Kubernetes-Anbieter.
Die Schritte zum Einrichten eines Air-Gapped-Kubernetes-Clusters auf RKE2 oder K3s sind unten aufgeführt.
-
K3s
-
RKE2
In diesem Leitfaden gehen wir davon aus, dass Sie Ihre Knoten in Ihrer Air-Gapped-Umgebung erstellt haben und über ein sicheres Docker-Privat-Registry auf Ihrem Bastion-Server verfügen.
1. Bereiten Sie das Verzeichnis für die Images vor
Holen Sie sich die TAR-Datei mit Images für Ihre Architektur von der releases-Seite für die Version von K3s, die Sie ausführen werden.
Legen Sie die TAR-Datei im images Verzeichnis ab, bevor Sie K3s auf jedem Knoten starten, zum Beispiel:
sudo mkdir -p /var/lib/rancher/k3s/agent/images/
sudo cp ./k3s-airgap-images-$ARCH.tar /var/lib/rancher/k3s/agent/images/
2. Erstellen Sie die Registry YAML
Erstellen Sie die registries.yaml-Datei unter /etc/rancher/k3s/registries.yaml. Dies wird K3s die notwendigen Details mitteilen, um sich mit Ihrem privaten Registry zu verbinden.
Die registries.yaml-Datei sollte vor dem Einfügen der erforderlichen Informationen so aussehen:
---
mirrors:
customreg:
endpoint:
- "https://ip-to-server:5000"
configs:
customreg:
auth:
username: xxxxxx # this is the registry username
password: xxxxxx # this is the registry password
tls:
cert_file: <path to the cert file used in the registry>
key_file: <path to the key file used in the registry>
ca_file: <path to the ca file used in the registry>
Bitte beachten Sie, dass derzeit nur sichere Registries mit K3s unterstützt werden (SSL mit benutzerdefinierter CA).
Für weitere Informationen zur Konfigurationsdatei für private Registries für K3s verweisen Sie auf die K3s-Dokumentation.
3. Installieren Sie K3s
Rancher muss auf einer unterstützten Kubernetes-Version installiert werden. Um herauszufinden, welche Kubernetes-Versionen für Ihre Rancher-Version unterstützt werden, beachten Sie die Rancher Support Matrix.
Um die K3s (Kubernetes)-Version anzugeben, verwenden Sie die Umgebungsvariable INSTALL_K3S_VERSION (z. B. INSTALL_K3S_VERSION="v1.24.10+k3s1"), wenn Sie das K3s-Installationsskript ausführen.
Holen Sie sich die K3s-Binärdatei von der releases-Seite, die mit der gleichen Version übereinstimmt, die zum Abrufen der TAR-Datei der Air-Gapped-Images verwendet wurde. Holen Sie sich auch das K3s-Installationsskript unter https://get.k3s.io.
Platzieren Sie die Binärdatei in /usr/local/bin auf jedem Knoten.
Platzieren Sie das Installationsskript irgendwo auf jedem Knoten und benennen Sie es install.sh.
Installieren Sie K3s auf jedem Server:
INSTALL_K3S_SKIP_DOWNLOAD=true INSTALL_K3S_VERSION=<VERSION> ./install.sh
Installieren Sie K3s auf jedem Agenten:
INSTALL_K3S_SKIP_DOWNLOAD=true INSTALL_K3S_VERSION=<VERSION> K3S_URL=https://<SERVER>:6443 K3S_TOKEN=<TOKEN> ./install.sh
Dabei ist <SERVER> die IP oder der gültige DNS des Servers und <TOKEN> das Node-Token vom Server, das Sie unter /var/lib/rancher/k3s/server/node-token finden.
|
K3s bietet zusätzlich ein |
4. Speichern und beginnen Sie mit der Verwendung der kubeconfig-Datei
Als Sie K3s auf jedem Rancher-Serverknoten installiert haben, wurde eine kubeconfig-Datei auf dem Knoten unter /etc/rancher/k3s/k3s.yaml erstellt. Diese Datei enthält Anmeldeinformationen für den vollständigen Zugriff auf das Cluster, und Sie sollten diese Datei an einem sicheren Ort speichern.
Um diese kubeconfig‑Datei zu verwenden,
-
Installieren Sie kubectl, als Kubernetes-Kommandozeilenwerkzeug.
-
Kopieren Sie die Datei unter
/etc/rancher/k3s/k3s.yamlund speichern Sie sie im Verzeichnis~/.kube/configauf Ihrem lokalen Computer. -
In der kubeconfig-Datei ist die
serverDirektive als localhost definiert. Konfigurieren Sie den Server als DNS Ihres Load Balancers und verweisen Sie auf Port 6443. (Der Kubernetes-API-Server wird über Port 6443 erreicht, während der Rancher-Server über die Ports 80 und 443 erreicht wird.) Hier ist ein Beispielk3s.yaml:
apiVersion: v1
clusters:
- cluster:
certificate-authority-data: [CERTIFICATE-DATA]
server: [LOAD-BALANCER-DNS]:6443 # Edit this line
name: default
contexts:
- context:
cluster: default
user: default
name: default
current-context: default
kind: Config
preferences: {}
users:
- name: default
user:
password: [PASSWORD]
username: admin
Ergebnis: Sie können jetzt kubectl verwenden, um Ihr K3s-Cluster zu verwalten. Wenn Sie mehr als eine kubeconfig-Datei haben, können Sie angeben, welche Sie verwenden möchten, indem Sie den Pfad zur Datei beim Verwenden von kubectl übergeben:
kubectl --kubeconfig ~/.kube/config/k3s.yaml get pods --all-namespaces
Weitere Informationen zur kubeconfig-Datei finden Sie in der K3s-Dokumentation oder der offiziellen Kubernetes-Dokumentation zur Organisation des Clusterzugriffs mit kubeconfig-Dateien.
Hinweis zum Upgrade
Das Upgrade einer Air-Gapped-Umgebung kann auf folgende Weise durchgeführt werden:
-
Laden Sie die neuen Air-Gapped-Images (TAR-Datei) von der releases-Seite für die Version von K3s herunter, auf die Sie ein Upgrade durchführen werden. Legen Sie die TAR-Datei im
/var/lib/rancher/k3s/agent/images/Verzeichnis auf jedem Knoten ab. Löschen Sie die alte tar-Datei. -
Kopieren und ersetzen Sie die alte K3s-Binärdatei in
/usr/local/binauf jedem Knoten. Kopieren Sie das Installationsskript unter https://get.k3s.io (da es möglich ist, dass es sich seit der letzten Version geändert hat). Führen Sie das Skript erneut aus, genau wie Sie es in der Vergangenheit mit denselben Umgebungsvariablen getan haben. -
Starten Sie den K3s-Dienst neu (falls er nicht automatisch vom Installer neu gestartet wurde).
In diesem Leitfaden gehen wir davon aus, dass Sie Ihre Knoten in Ihrer Air-Gapped-Umgebung erstellt haben und über ein sicheres Docker-Privat-Registry auf Ihrem Bastion-Server verfügen.
1. Erstellen Sie die RKE2-Konfiguration
Erstellen Sie die config.yaml-Datei unter /etc/rancher/rke2/config.yaml. Diese enthält alle Konfigurationsoptionen, die erforderlich sind, um einen hochverfügbaren RKE2-Cluster zu erstellen.
Auf dem ersten Server ist die minimale Konfiguration:
token: my-shared-secret tls-san: - loadbalancer-dns-domain.com
Auf jedem anderen Server sollte die Konfigurationsdatei dasselbe Token enthalten und RKE2 anweisen, sich mit dem bestehenden ersten Server zu verbinden:
server: https://ip-of-first-server:9345 token: my-shared-secret tls-san: - loadbalancer-dns-domain.com
Weitere Informationen finden Sie in der RKE2-Dokumentation.
|
RKE2 bietet zusätzlich eine |
2. Erstellen Sie die Registry YAML
Erstellen Sie die registries.yaml-Datei unter /etc/rancher/rke2/registries.yaml. Dies wird RKE2 die notwendigen Details mitteilen, um sich mit Ihrem privaten Registry zu verbinden.
Die registries.yaml-Datei sollte vor dem Einfügen der erforderlichen Informationen so aussehen:
---
mirrors:
customreg:
endpoint:
- "https://ip-to-server:5000"
configs:
customreg:
auth:
username: xxxxxx # this is the registry username
password: xxxxxx # this is the registry password
tls:
cert_file: <path to the cert file used in the registry>
key_file: <path to the key file used in the registry>
ca_file: <path to the ca file used in the registry>
Für weitere Informationen zur Konfigurationsdatei privater Registries für RKE2 beachten Sie die RKE2-Dokumentation.
3. Install RKE2
Rancher muss auf einer unterstützten Kubernetes-Version installiert werden. Um herauszufinden, welche Versionen von Kubernetes für Ihre Rancher-Version unterstützt werden, beziehen Sie sich auf die Wartungsbedingungen für den Support.
Laden Sie das Installationsskript, rke2, rke2-images und die sha256sum-Archive von der Veröffentlichung herunter und laden Sie sie in ein Verzeichnis auf jedem Server hoch:
mkdir /tmp/rke2-artifacts && cd /tmp/rke2-artifacts/ wget https://github.com/rancher/rke2/releases/download/v1.21.5%2Brke2r2/rke2-images.linux-amd64.tar.zst wget https://github.com/rancher/rke2/releases/download/v1.21.5%2Brke2r2/rke2.linux-amd64.tar.gz wget https://github.com/rancher/rke2/releases/download/v1.21.5%2Brke2r2/sha256sum-amd64.txt curl -sfL https://get.rke2.io --output install.sh
Führen Sie dann install.sh mit dem Verzeichnis auf jedem Server aus, wie im folgenden Beispiel:
INSTALL_RKE2_ARTIFACT_PATH=/tmp/rke2-artifacts sh install.sh
Aktivieren und starten Sie den Dienst auf allen Servern:
` systemctl enable rke2-server.service systemctl start rke2-server.service `
Weitere Informationen finden Sie in der RKE2-Dokumentation.
4. Speichern und beginnen Sie mit der Verwendung der kubeconfig-Datei
Als Sie RKE2 auf jedem Rancher-Serverknoten installiert haben, wurde eine kubeconfig‑Datei auf dem Knoten unter /etc/rancher/rke2/rke2.yaml erstellt. Diese Datei enthält Anmeldeinformationen für den vollständigen Zugriff auf den Cluster, und Sie sollten diese Datei an einem sicheren Ort speichern.
Um diese kubeconfig‑Datei zu verwenden,
-
Installieren Sie kubectl, ein Kubernetes-Kommandozeilenwerkzeug.
-
Kopieren Sie die Datei unter
/etc/rancher/rke2/rke2.yamlund speichern Sie sie im Verzeichnis~/.kube/configauf Ihrem lokalen Computer. -
In der kubeconfig-Datei ist die
serverDirektive als localhost definiert. Konfigurieren Sie den Server als DNS Ihres Load Balancers und verweisen Sie auf Port 6443. (Der Kubernetes-API-Server wird über Port 6443 erreicht, während der Rancher-Server über die Ports 80 und 443 erreicht wird.) Hier ist ein Beispielrke2.yaml:
apiVersion: v1
clusters:
- cluster:
certificate-authority-data: [CERTIFICATE-DATA]
server: [LOAD-BALANCER-DNS]:6443 # Edit this line
name: default
contexts:
- context:
cluster: default
user: default
name: default
current-context: default
kind: Config
preferences: {}
users:
- name: default
user:
password: [PASSWORD]
username: admin
Ergebnis: Sie können jetzt kubectl verwenden, um Ihr RKE2-Cluster zu verwalten. Wenn Sie mehr als eine kubeconfig-Datei haben, können Sie angeben, welche Sie verwenden möchten, indem Sie den Pfad zur Datei beim Verwenden von kubectl übergeben:
kubectl --kubeconfig ~/.kube/config/rke2.yaml get pods --all-namespaces
Für weitere Informationen zur kubeconfig-Datei verweisen Sie auf die RKE2-Dokumentation oder die offizielle Kubernetes-Dokumentation zur Organisation des Clusterzugriffs mit kubeconfig-Dateien.
Hinweis zum Upgrade
Das Upgrade einer Air-Gapped-Umgebung kann auf folgende Weise durchgeführt werden:
-
Laden Sie die neuen Air-Gapped-Artefakte und das Installationsskript von der releases-Seite für die Version von RKE2 herunter, auf die Sie aktualisieren möchten.
-
Führen Sie das Skript erneut aus, genau wie Sie es in der Vergangenheit mit denselben Umgebungsvariablen getan haben.
-
Starten Sie den RKE2-Dienst neu.
Probleme oder Fehler?
Siehe die Fehlerbehebung-Seite.