Übersicht
Auf dieser Seite erfahren Sie, wie Sie einen Administratorcluster der Version 1.30 oder höher zu diesen empfohlenen Funktionen migrieren:
Die Load Balancer-Konfiguration:
Die Konfiguration des integrierten F5 BIG-IP-Load Balancers zu
ManualLB
.oder
Der gebündelte Seesaw-Load Balancer zu MetalLB.
Von einem Administratorcluster ohne Hochverfügbarkeit (HA) zu einem Administratorcluster mit Hochverfügbarkeit migrieren. Die Verfügbarkeit wird mit einem HA-Administratorcluster deutlich verbessert, während die Anzahl der VMs gleich bleibt. Ein Administratorcluster ohne Hochverfügbarkeit hat einen Steuerungsebenenknoten und zwei Add-on-Knoten. Die drei Knoten eines HA-Administratorclusters sind alle Steuerungsebenenknoten ohne Add-on-Knoten.
Diese Seite richtet sich an IT-Administratoren und ‑Betreiber, die den Lebenszyklus der zugrunde liegenden technischen Infrastruktur verwalten. Weitere Informationen zu gängigen Rollen und Beispielaufgaben, auf die wir in Google Cloud -Inhalten verweisen, finden Sie unter Häufig verwendete GKE-Nutzerrollen und -Aufgaben.
Weitere Informationen zur Migrationsplanung finden Sie unter Clustermigration zu empfohlenen Funktionen planen.
Best Practices
Wenn Sie mehrere Umgebungen wie Test, Entwicklung und Produktion haben, empfehlen wir Ihnen, zuerst die am wenigsten kritische Umgebung zu migrieren, z. B. die Testumgebung. Nachdem Sie bestätigt haben, dass die Migration erfolgreich war, wiederholen Sie diesen Vorgang für jede Umgebung und migrieren Sie Ihre Produktionsumgebung zuletzt. So können Sie den Erfolg jeder Migration validieren und dafür sorgen, dass Ihre Arbeitslasten ordnungsgemäß ausgeführt werden, bevor Sie zur nächsten, wichtigeren Umgebung wechseln.
Voraussetzungen
- Der Administratorcluster muss mindestens Version 1.30 haben.
- Alle vom Administratorcluster verwalteten Nutzercluster müssen bereits zu empfohlenen Funktionen migriert sein, wie unter Nutzercluster-Migration zu empfohlenen Funktionen planen beschrieben.
Ausfallzeiten während der Migration einplanen
Planen Sie für die Migration eine begrenzte Ausfallzeit der Steuerungsebene ein. Der Kubernetes-API-Zugriff ist für Administratorcluster ohne Hochverfügbarkeit etwa 20 Minuten lang nicht verfügbar. Die Kubernetes-Steuerungsebene bleibt jedoch für Administratorcluster mit Hochverfügbarkeit mit F5 verfügbar. Während der Migrationen arbeitet die Kubernetes-Datenebene weiterhin in einem stabilen Zustand.
Von | Bis | Kubernetes API-Zugriff | Nutzerarbeitslasten |
---|---|---|---|
HA-Administratorcluster mit F5 BIG-IP |
HA-Administratorcluster mit |
Nicht betroffen |
Nicht betroffen |
Administratorcluster ohne Hochverfügbarkeit (HA) mit |
HA-Administratorcluster mit demselben Load-Balancer-Typ |
Betroffen |
Nicht betroffen |
Nicht-HA-Administratorcluster mit F5 BIG-IP |
HA-Administratorcluster mit |
Betroffen |
Nicht betroffen |
Nicht-HA-Administratorcluster mit Seesaw |
HA-Administratorcluster mit MetalLB |
Betroffen |
Nicht betroffen |
- Betroffen: Während der Migration kommt es zu einer wahrnehmbaren Dienstunterbrechung.
- Nicht betroffen: Es kommt entweder zu keiner Dienstunterbrechung oder sie ist kaum wahrnehmbar.
Migration vorbereiten
Wenn Ihr Administratorcluster nicht hochverfügbar ist, bereiten Sie die Migration zu einem HA-Administratorcluster vor. Folgen Sie dazu der Anleitung in diesem Abschnitt. Wenn Ihr Administratorcluster bereits hochverfügbar ist, fahren Sie mit dem nächsten Abschnitt Vorbereitung auf die Load Balancer-Migration fort.
Zusätzliche IP-Adressen zuweisen
Wenn Sie den Administratorcluster von Nicht-HA zu HA migrieren, weisen Sie vier zusätzliche IP-Adressen zu. Achten Sie darauf, dass sich diese IP-Adressen im selben VLAN wie die vorhandenen Administratorclusterknoten befinden und nicht bereits von vorhandenen Knoten verwendet werden:
- Weisen Sie eine IP-Adresse für die neue virtuelle IP der Steuerungsebene für das Feld
loadBalancer.vips.controlPlaneVIP
in der Konfigurationsdatei des Administratorclusters zu. - Weisen Sie für jeden der drei Knoten der Steuerungsebene eine neue IP-Adresse für den Abschnitt
network.controlPlaneIPBlock
in der Konfigurationsdatei des Administratorclusters zu.
Firewallregeln aktualisieren
Wenn Sie den Administratorcluster von Nicht-HA- zu HA migrieren, aktualisieren Sie die Firewallregeln in Ihrem Administratorcluster. So wird sichergestellt, dass die neu zugewiesenen IP-Adressen für die Knoten der Steuerungsebene alle erforderlichen APIs und anderen Ziele erreichen können, wie unter Firewallregeln für Administratorcluster beschrieben.
Migration des Load-Balancers vorbereiten
Wenn Ihr Administratorcluster die integrierte F5 BIG-IP-Konfiguration oder den gebündelten Seesaw-Load-Balancer verwendet, folgen Sie der Anleitung in diesem Abschnitt, um die erforderlichen Änderungen an der Konfigurationsdatei des Administratorclusters vorzunehmen. Andernfalls fahren Sie mit dem nächsten Abschnitt Migration von einem Nicht-HA zu einem HA-Cluster vorbereiten fort.
F5 BIG-IP
Wenn Ihr Administratorcluster die integrierte F5 BIG-IP-Konfiguration verwendet, nehmen Sie die folgenden Änderungen an der Konfigurationsdatei des Administratorclusters vor:
- Setzen Sie das Feld
loadBalancer.kind
auf"ManualLB"
. - Legen Sie den Wert des Felds
loadBalancer.vips.controlPlaneVIP
fest oder behalten Sie ihn bei. Wenn Ihr Administratorcluster bereits hochverfügbar ist, behalten Sie denselben Wert bei. Wenn Sie von einem Administratorcluster ohne Hochverfügbarkeit zu einem Administratorcluster mit Hochverfügbarkeit migrieren, ändern Sie den Wert des FeldsloadBalancer.vips.controlPlaneVIP
in die IP-Adresse, die Sie zugewiesen haben. - Löschen Sie den gesamten Abschnitt
loadBalancer.f5BigIP
.
Die folgende Beispielkonfigurationsdatei für den Administratorcluster zeigt diese Änderungen:
loadBalancer: vips: controlPlaneVIP: 192.0.2.6 kind:"F5BigIP""ManualLB"f5BigIP: address: "203.0.113.20" credentials: fileRef: path: ""my-config-folder/user-creds.yaml" entry: "f5-creds" partition: "my-f5-user-partition"
Seesaw
Wenn in Ihrem Administratorcluster der Seesaw-Load-Balancer verwendet wird, nehmen Sie die folgenden Änderungen an der Konfigurationsdatei des Administratorclusters vor:
- Setzen Sie das Feld
loadBalancer.kind
auf „MetalLB“. - Behalten Sie den
network.hostConfig
-Abschnitt bei. - Legen Sie den Wert des Felds
loadBalancer.vips.controlPlaneVIP
]5 fest oder behalten Sie ihn bei. Wenn Ihr Administratorcluster bereits hochverfügbar ist, können Sie denselben Wert beibehalten. Wenn Sie von einem Administratorcluster ohne Hochverfügbarkeit zu einem Administratorcluster mit Hochverfügbarkeit migrieren, ändern Sie den Wert des FeldsloadBalancer.vips.controlPlaneVIP
in die IP-Adresse, die Sie zugewiesen haben. - Entfernen Sie den Abschnitt
loadBalancer.seesaw
.
Die folgende Beispielkonfigurationsdatei für den Administratorcluster zeigt diese Änderungen:
network: hostConfig: dnsServers: - "203.0.113.1" - "203.0.113.2" ntpServers: - "203.0.113.3" loadBalancer: vips: controlPlaneVIP: 192.0.2.6 kind: "MetalLB""Seesaw"seesaw: ipBlockFilePath: "user-cluster-1-ipblock.yaml" vrid: 1 masterIP: "" cpus: 4 memoryMB: 3072
Migration von Nicht-HA zu HA vorbereiten
Wenn Ihr Administratorcluster nicht-HA ist, führen Sie die Schritte in diesem Abschnitt aus, um die Migration zu HA vorzubereiten.
Wenn Ihr Administratorcluster bereits hochverfügbar ist, fahren Sie mit dem nächsten Abschnitt Administratorcluster migrieren fort.
Wenn die Version Ihres Administratorclusters 1.29.0-1.29.600 oder 1.30.0-1.30.100 ist und die Verschlüsselung für Always-On-Secrets in der Version 1.14 oder niedriger aktiviert wurde, müssen Sie den Verschlüsselungsschlüssel rotieren, bevor Sie mit der Migration beginnen. Andernfalls kann der neue HA-Administratorcluster keine Secrets entschlüsseln.
So prüfen Sie, ob der Cluster möglicherweise einen alten Verschlüsselungsschlüssel verwendet:
kubectl --kubeconfig ADMIN_CLUSTER_KUBECONFIG get secret -n kube-system admin-master-component-options -o jsonpath='{.data.data}' | base64 -d | grep -oP '"GeneratedKeys":\[.*?\]'
Wenn in der Ausgabe ein leerer Schlüssel angezeigt wird, wie im folgenden Beispiel, müssen Sie den Verschlüsselungsschlüssel anhand der Schritte in diesem bekannten Problem rotieren.
"GeneratedKeys":[{"KeyVersion":"1","Key":""}]
Konfigurationsdatei für den Administratorcluster aktualisieren
Nehmen Sie die folgenden Änderungen an der Konfigurationsdatei des Administratorclusters vor:
- Geben Sie im
network.controlPlaneIPBlock
die drei IP-Adressen ein, die Sie für den Knoten der Steuerungsebene zugewiesen haben. - Prüfen Sie, ob Sie den Abschnitt
network.hostConfig
ausgefüllt haben. Dieser Abschnitt enthält Informationen zu NTP-Servern, DNS-Servern und DNS-Suchdomains, die von den VMs verwendet werden, die Ihre Clusterknoten sind. - Achten Sie darauf, dass Sie den Wert von
loadBalancer.vips.controlPlaneVIP
durch die zugewiesene IP-Adresse ersetzt haben. - Setzen Sie
adminMaster.replicas
auf 3. - Entfernen Sie das Feld
vCenter.dataDisk
. Bei einem HA-Administratorcluster werden die Pfade für die drei Datenlaufwerke, die von Knoten der Steuerungsebene verwendet werden, automatisch im Datenspeicher unter dem Stammverzeichnisanthos
generiert. - Wenn
loadBalancer.kind
auf"ManualLB"
gesetzt ist, setzen SieloadBalancer.manualLB.controlPlaneNodePort
auf 0.
Die folgende Beispielkonfigurationsdatei für den Administratorcluster zeigt diese Änderungen:
vCenter: address: "my-vcenter-server.my-domain.example" datacenter: "my-data-center"dataDisk: "xxxx.vmdk"... network: hostConfig: dnsServers: - 203.0.113.1 - 203.0.113.2 ntpServers: - 203.0.113.3 ... controlPlaneIPBlock: netmask: "255.255.255.0" gateway: "198.51.100.1" ips: - ip: "192.0.2.1" hostname: "admin-cp-hostname-1" - ip: "192.0.2.2" hostname: "admin-cp-hostname-2" - ip: "192.0.2.3" hostname: "admin-cp-hostname-3" ... ... loadBalancer: vips: controlPlaneVIP:192.0.2.6192.0.2.50 kind: ManualLB manualLB:controlPlaneNodePort: 300030 ... adminMaster: replicas: 3 cpus: 4 memoryMB: 8192 ...
Zuordnungen im Load Balancer bei Bedarf anpassen
Wenn in Ihrem Administratorcluster manuelles Load-Balancing verwendet wurde, führen Sie den Schritt in diesem Abschnitt aus.
Wenn Sie von einem integrierten F5 BIG-IP-Load Balancer zu einem manuellen Load Balancer oder zu MetalLB migrieren, fahren Sie mit dem nächsten Abschnitt Administratorcluster migrieren fort.
Konfigurieren Sie für jede der drei neuen IP-Adressen der Steuerungsebene, die Sie im Abschnitt network.controlPlaneIPBlock
angegeben haben, diese Zuordnung in Ihrem externen Load Balancer (z. B. F5 BIG-IP oder Citrix):
(old controlPlaneVIP:443) -> (NEW_NODE_IP_ADDRESS:old controlPlaneNodePort)
Dadurch wird sichergestellt, dass die alte VIP der Steuerungsebene während der Migration weiterhin funktioniert.
Administratorcluster migrieren
Prüfen Sie alle Änderungen, die Sie an der Konfigurationsdatei des Administratorclusters vorgenommen haben. Alle Einstellungen sind unveränderlich, außer wenn der Cluster für die Migration aktualisiert wird.
Aktualisieren Sie den Cluster:
gkectl update admin --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
--config ADMIN_CLUSTER_CONFIG
Replace the following
:
ADMIN_CLUSTER_KUBECONFIG
: der Pfad der kubeconfig-Datei des AdministratorclustersADMIN_CLUSTER_CONFIG
: der Pfad Ihrer Administratorcluster-Konfigurationsdatei.
Der Befehl zeigt den Fortschritt der Migration an.
Geben Sie bei Aufforderung Y
ein, um fortzufahren.
Während der Migration von Nicht-HA zu HA funktioniert die ältere VIP der Steuerungsebene weiter und kann zum Zugriff auf den neuen HA-Administratorcluster verwendet werden. Nach Abschluss der Migration wird die kubeconfig-Datei des Administratorclusters automatisch aktualisiert, um die neue VIP der Steuerungsebene zu verwenden.
Nach der Migration
Prüfen Sie nach Abschluss des Updates, ob der Administratorcluster ausgeführt wird:
kubectl get nodes --kubeconfig ADMIN_CLUSTER_KUBECONFIG
Load-Balancer-Migration
Wenn Sie den Load Balancer migriert haben, prüfen Sie, ob die Load Balancer-Komponenten erfolgreich ausgeführt werden.
MetalLB
Wenn Sie zu MetalLB migriert sind, prüfen Sie mit dem folgenden Befehl, ob die MetalLB-Komponenten erfolgreich ausgeführt werden:
kubectl --kubeconfig ADMIN_CLUSTER_KUBECONFIG get pods \
--namespace kube-system --selector app=metallb
Die Ausgabe zeigt Pods für den MetalLB-Controller und -Lautsprecher. Beispiel:
metallb-controller-744884bf7b-rznr9 1/1 Running
metallb-speaker-6n8ws 1/1 Running
metallb-speaker-nb52z 1/1 Running
metallb-speaker-rq4pp 1/1 Running
Löschen Sie nach einer erfolgreichen Migration die ausgeschalteten Seesaw-VMs für den Administratorcluster. Sie finden die Seesaw-VM-Namen im
vmnames
-Abschnitt der Datei seesaw-for-gke-admin.yaml
in Ihrem
Konfigurationsverzeichnis.
ManualLB
Nachdem Sie Ihre Cluster für die Verwendung des manuellen Load Balancing aktualisiert haben, wird der Traffic zu Ihren Clustern nicht unterbrochen. Das liegt daran, dass die vorhandenen F5-Ressourcen noch vorhanden sind. Dies können Sie mit dem folgenden Befehl sehen:
kubectl --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
Die erwartete Ausgabe sieht in etwa so aus:
Warning: v1 ComponentStatus is deprecated in v1.19+
NAMESPACE NAME TYPE DATA AGE
kube-system secret/bigip-login-xt697x Opaque 4 13h
NAMESPACE NAME SECRETS AGE
kube-system serviceaccount/bigip-ctlr 0 13h
kube-system serviceaccount/load-balancer-f5 0 13h
NAMESPACE NAME READY UP-TO-DATE AVAILABLE AGE
kube-system deployment.apps/k8s-bigip-ctlr-deployment 1/1 1 1 13h
kube-system deployment.apps/load-balancer-f5 1/1 1 1 13h
NAME ROLE AGE
clusterrolebinding.rbac.authorization.k8s.io/bigip-ctlr-clusterrole-binding ClusterRole/bigip-ctlr-clusterrole 13h
clusterrolebinding.rbac.authorization.k8s.io/load-balancer-f5-clusterrole-binding ClusterRole/load-balancer-f5-clusterrole 13h
NAME CREATED AT
clusterrole.rbac.authorization.k8s.io/bigip-ctlr-clusterrole 2024-03-25T04:37:34Z
clusterrole.rbac.authorization.k8s.io/load-balancer-f5-clusterrole 2024-03-25T04:37:34Z