ALBs verwalten
Verwalten Sie die Ingress ALBs in Ihrem Cluster, um sicherzustellen, dass der Datenverkehr ohne Unterbrechung fließt.
ALBs aktualisieren
IBM Cloud Kubernetes Service gibt regelmäßig ALB-Versionen frei, um neue Funktionalität bereitzustellen und Sicherheitslücken zu schließen. Verwenden Sie den Befehl ibmcloud ks ingress alb versions,
um die verfügbaren Versionen aufzulisten, oder überprüfen Sie das Ingress-ALB-Versionsänderungsprotokoll für den Versionsverlauf.
Die ALB-Version folgt dem Format „ <ingress_nginx_version>_<ibm_build>_iks “, wobei „ <ingress_nginx_version> “ die Version des Ingress-Controllers „ Kubernetes “ NGINX bezeichnet und die Zahl „ <ibm_build> “ die Build-Version von „ IBM Cloud Kubernetes Service “ angibt.
ALBs können automatisch auf die Standardversion aktualisiert werden oder Sie können automatische Aktualisierungen inaktivieren und ALB-Versionen manuell verwalten.
Automatische Aktualisierungen aktivieren
Wenn Sie automatische Aktualisierungen aktivieren, werden Ihre ALBs auf die Version aktualisiert, die als Standardversion markiert ist. Wenn eine neuere Version zur Standardversion wird, werden Ihre ALBs automatisch auf diese Version aktualisiert.
Wenn in einer Zone in Ihrem Cluster nur ein Workerknoten vorhanden ist und Sie die Anzahl der ALB-Replikate auf 1 setzen, wird dieser einzelne ALB-Pod gelöscht und ein neuer Pod wird immer dann erstellt, wenn Aktualisierungen angewendet werden. Dieser Vorgang kann zu Verkehrsstörungen führen, selbst wenn Sie Worker-Knoten und ALB-Replikate in anderen Zonen haben. Um Verkehrsstörungen zu vermeiden, stellen Sie sicher, dass in jeder Zone mindestens zwei Worker-Knoten vorhanden sind und dass für jeden ALB zwei Replikate vorhanden sind. Beachten Sie, dass während des Aktualisierungsprozesses nur neue Verbindungen zum zweiten ALB-Pod weitergeleitet werden; vorhandene Verbindungen im aktualisierenden ALB-Pod werden sicher beendet. Starten Sie für vorhandene Verbindungen, die während der Aktualisierung beendet werden, eine Wiederholung in Clientanwendungen.
Wartungsfenster für automatische Aktualisierungen planen
Sie können automatische ALB-Updates steuern und verwalten, indem Sie einen benutzerdefinierten Zeitplan ( ConfigMap ) erstellen, in dem Sie den Zeitpunkt für die Updates festlegen.
Um einen Zeitpunkt für automatische Updates festzulegen, konfigurieren Sie die Schlüssel updateEndTime und updateStartTime in der Bereitstellungs ConfigMap. Jeder Schlüssel gibt einen zugeordneten Zeitpunkt im 24-Stunden-Format
(HH:MM) an. Beachten Sie, dass diese Zeit in UTC (Coordinated Universal Time, koordinierte Weltzeit) angegeben wird und nicht in Ihrer Ortszeit.
-
Erstellen Sie eine YAML-Datei für Ihre Konfigurationszuordnung. Geben Sie die Felder
updateEndTimeupdateStartTime, und als Schlüssel-Wert-Paare im Felddataan.Das folgende Beispiel ConfigMap richtet die automatische Aktualisierungsfunktion so ein, dass ALB-Pods in Ihrem Cluster zwischen 20:34 und 23:59 UTC aktualisiert werden.
apiVersion: v1 kind: ConfigMap metadata: name: ibm-ingress-deploy-config namespace: kube-system data: "updateStartTime": "20:34" "updateEndTime": "23:59" -
Stellen Sie die Konfigurationszuordnung in Ihrem Cluster bereit. Die neuen Regeln werden bei der nächsten Aktualisierung angewendet.
kubectl apply -f <filename>.yaml
Automatische Aktualisierungen inaktivieren
Um Fehlerkorrekturen und Sicherheitsupdates zu erhalten, lassen Sie automatische Updates aktiviert. Wenn automatische Aktualisierungen inaktiviert sind, sind Sie für die manuelle Aktualisierung Ihrer ALBs verantwortlich.
Sie können automatische Aktualisierungen für Ihre ALBs inaktivieren, indem Sie ibmcloud ks ingress alb autoupdate disable -c CLUSTER_NAME_OR_ID ausführen.
Verwenden Sie den Befehl ibmcloud ks ingress alb autoupdate get -c CLUSTER_NAME_OR_ID, um zu prüfen, ob automatische Aktualisierungen
für den Cluster aktiviert sind. Wenn Sie die automatischen Aktualisierungen wieder aktivieren möchten, können Sie ibmcloud ks ingress alb autoupdate enable -c CLUSTER_NAME_OR_ID ausführen.
Manuelle Aktualisierungen anwenden
Sie können eine einmalige Aktualisierung Ihrer Ingress-ALB-Pods mit dem Befehl ibmcloud ks ingress alb update manuell anwenden. Dieser Befehl wendet die Standard-ALB-Imageversion an, aber Sie können eine andere Version anwenden,
indem Sie die Option --version angeben. Weitere Informationen oder Befehlsoptionen finden Sie in der CLI-Referenz.
Wenn Sie Ihr ALB-Image mit der Option --version auf eine bestimmte Version aktualisieren möchten, müssen Sie automatische ALB-Aktualisierungen inaktivieren und diese dann so lange inaktivieren, wie Sie
die angegebene Version ausführen wollen. Automatische Updates wenden immer die Standardversion an und überschreiben alle manuellen Updates, die Sie anwenden. Wenn Sie eine andere Version verwenden möchten, können Sie automatische Aktualisierungen
nicht aktivieren.
-
Um die verfügbaren ALB-Versionen aufzulisten, führen Sie den folgenden Befehl aus.
ibmcloud ks ingress alb versions --region REGION -
Führen Sie den folgenden Befehl aus, um alle ALB-Pods im Cluster zu aktualisieren.
ibmcloud ks ingress alb update -c CLUSTER_NAME_OR_ID --version IMAGE_VERSION -
Führen Sie den folgenden Befehl aus, um die ALB für bestimmte ALBs zu aktualisieren:
ibmcloud ks ingress alb update -c CLUSTER_NAME_OR_ID --version IMAGE_VERSION --alb ALB_ID [--alb ALB_2_ID ...]
Auswahl einer unterstützten Imageversion
IBM Cloud Kubernetes Service unterstützt nur das Kubernetes Ingress-Image für die Ingress-Lastausgleichsfunktionen für Anwendungen (ALBs) in Ihrem Cluster. Das Kubernetes Ingress-Image baut auf der Implementierung des Community-Kubernetes-Projekts des NGINX Ingress-Controllers auf. Das zuvor unterstützte IBM Cloud Kubernetes Service Ingress-Image, das auf einer angepassten Implementierung des NGINX Ingress-Controllers erstellt wurde, wird nicht unterstützt.
Cluster, die am oder nach dem 01. Dezember 2020 erstellt wurden: Standard-ALBs führen das Kubernetes Ingress-Image in allen neuen IBM Cloud Kubernetes Service-Clustern aus.
Cluster, die vor dem 01. Dezember 2020 erstellt wurden:
- Vorhandene Cluster mit ALBs, die das angepasste IBM Ingress-Image ausführen, werden weiterhin unverändert ausgeführt.
- Die Unterstützung für das angepasste IBM Ingress-Image wurde am 02. Juni 2021 beendet.
- Sie müssen zum neuen Kubernetes Ingress wechseln, indem Sie alle vorhandenen Ingress-Konfigurationen migrieren. Ihre vorhandenen ALBs und die anderen Ingress-Ressourcen werden nicht automatisch auf das neue Kubernetes Ingress-Image migriert.
- Alle ALBs mit dem nicht unterstützten Image werden weiterhin ausgeführt, werden jedoch von IBM nicht unterstützt.
Wenn Sie eine neue ALB erstellen, eine zuvor inaktivierte ALB aktivieren oder [eine ALB manuell aktualisieren (#update-alb)], können Sie eine Imageversion für Ihre ALB mit der Option --version angeben. Wenn Sie die Option --version weglassen, wenn Sie einen bestehenden ALB aktivieren oder
aktualisieren, führt der ALB die Standardversion desselben Images aus, das der ALB zuvor ausgeführt hat; entweder das Kubernetes-Ingress-Image oder das IBM Cloud Kubernetes Service-Ingress-Image.
Automatische Aktualisierungen wenden nur die Standardversion an. Um eine andere Version als die Standardversion festzulegen, müssen Sie die automatischen Updates deaktivieren, indem Sie den Befehl ibmcloud ks ingress alb autoupdate disable ausführen.
Unterstützte Imageversionen anzeigen
Führen Sie den folgenden Befehl aus, um die neuesten drei Versionen aufzulisten, die für alle Imagetypen unterstützt werden.
ibmcloud ks ingress alb versions
Beispielausgabe
Kubernetes Ingress versions
1.1.2_2507_iks (default)
1.2.1_2506_iks
0.35.0_1374_iks
Die Kubernetes Ingress-Version hat das Format <community_version>_<ibm_build>_iks. Die IBM Buildnummer gibt den aktuellsten Build des Release von NGINX für Kubernetes Ingress an, den IBM Cloud Kubernetes Service veröffentlicht
hat. Beispiel: Die Version 1.1.2_2507_iks gibt den neuesten Build der 0.47.0 Ingress-NGINX-Version an. IBM Cloud Kubernetes Service stellt gegebenenfalls Builds der Community-Imageversion bereit, um Sicherheitslücken
zu beheben.
Informationen zu den Änderungen in den einzelnen Versionen der Ingress-Images finden Sie im Ingress-Versionsänderungsprotokoll.
Auf eine frühere Version zurücksetzen
Wenn Ihre ALB-Pods kürzlich aktualisiert wurden, eine benutzerdefinierte Konfiguration für Ihre ALBs jedoch von der neuesten Image-Version betroffen ist, können Sie den Befehl ibmcloud ks ingress alb update mit der Option --version verwenden, um ALB-Pods auf eine frühere, unterstützte Version zurückzusetzen. Die Imageversion, in die Sie Ihre ALB ändern, muss eine unterstützte Imageversion sein, die in der Ausgabe von ibmcloud ks ingress alb versions aufgelistet ist.
Beachten Sie, dass Sie bei einer Zurücksetzung auf eine frühere Version automatische ALB-Aktualisierungen inaktivieren müssen und diese dann inaktiviert lassen müssen, solange Sie die frühere Version ausführen möchten. Automatische Updates wenden immer die neueste Version an und überschreiben alle manuellen Updates, die Sie anwenden. Wenn Sie eine frühere Version verwenden wollen, können Sie automatische Aktualisierungen nicht aktivieren.
ALBs manuell skalieren
Jedes ALB kann etwa 20.000 Verbindungen pro Sekunde verarbeiten. Wenn Sie zusätzliche Verbindungen verarbeiten müssen, können Sie weitere ALBs in einer Zone erstellen oder die Anzahl der ALB-Podreplikate erhöhen.
Weitere ALBs in einer Zone erstellen
Jede ALB in einer Zone wird als zwei Pods auf verschiedenen Workerknoten bereitgestellt. Um Ihre ALB-Verarbeitungsfunktionen zu skalieren und mehr Verbindungen zu verarbeiten, können Sie zusätzliche ALBs in einer Zone erstellen. Die IP-Adresse der neuen ALB wird automatisch zu Ihrer Ingress-Unterdomäne hinzugefügt.
Wenn Sie einen Mehrzonencluster erstellen, wird in jeder Zone, in der Workerknoten vorhanden sind, eine öffentliche Standard-ALB erstellt. Wenn Sie später eine dieser drei ursprünglichen Zonen entfernen und Worker in einer anderen Zone hinzufügen, wird in dieser neuen Zone kein standardmäßiger öffentlicher ALB erstellt. Sie können in dieser neuen Zone jedoch manuell eine ALB zur Verarbeitung von Verbindungen erstellen.
Bei Verwendung der Ingress-Ressourcenvalidierung wird jede Erstellungs-und Aktualisierungsanforderung von allen ALBs validiert. Wenn keine Pods für eine bestimmte ALB-Instanz ausgeführt werden, können Sie Ingress-Ressourcen möglicherweise nicht auf Ihren Cluster anwenden. Stellen Sie sicher, dass mindestens ein aktiver Pod für jede ALB im aktivierten Status vorhanden ist. Weitere Informationen finden Sie unter Ingress deployment customization reference.
-
Erstellen Sie mithilfe des folgenden Befehls in jeder Zone, in der Workerknoten vorhanden sind, eine ALB:
Der folgende Befehl gilt für klassische Cluster. Weitere Informationen und Befehlsoptionen finden Sie in der CLI-Referenz.
ibmcloud ks ingress alb create --cluster CLUSTER_NAME_OR_ID --type PUBLIC_OR_PRIVATE --zone ZONE --vlan VLAN_ID [--ip IP_ADDRESS] [--version image_version]Der folgende Befehl gilt für VPC-Cluster. Weitere Informationen und Befehlsoptionen finden Sie in der CLI-Referenz.
ibmcloud ks ingress alb create vpc-gen2 --cluster CLUSTER_NAME_OR_ID --type PUBLIC_OR_PRIVATE --zone VPC_ZONE [--version image_version] -
Überprüfen Sie, ob die ALBs, die Sie in jeder Zone erstellt haben, den Status
enabledhaben. Überprüfen Sie für klassische Cluster, ob eine ALB-IP zugeordnet ist. Überprüfen Sie für VPC-Cluster, ob Hostname der Lastausgleichsfunktion zugeordnet ist.ibmcloud ks ingress alb ls --cluster CLUSTER_NAME_OR_IDBeispielausgabe für einen klassischen Cluster.
ALB ID Enabled Status Type ALB IP Zone Build ALB VLAN ID NLB Version private-crdf253b6025d64944ab99ed63bb4567b6-alb1 false disabled private - dal12 ingress:1.1.2_2507_iks 2294021 - private-crdf253b6025d64944ab99ed63bb4567b6-alb2 false disabled private - dal10 ingress:1.1.2_2507_iks 2234947 - public-crdf253b6025d64944ab99ed63bb4567b6-alb1 true enabled public 169.48.228.78 dal12 ingress:1.1.2_2507_iks 2294019 - public-crdf253b6025d64944ab99ed63bb4567b6-alb2 true enabled public 169.46.17.6 dal10 ingress:1.1.2_2507_iks 2234945 -Beispielausgabe für einen VPC-Cluster.
ALB ID Enabled Status Type Load Balancer Hostname Zone Build private-crdf253b6025d64944ab99ed63bb4567b6-alb1 false disabled private - us-south-2 ingress:1.1.2_2507_iks private-crdf253b6025d64944ab99ed63bb4567b6-alb2 false disabled private - us-south-1 ingress:1.1.2_2507_iks public-crdf253b6025d64944ab99ed63bb4567b6-alb1 true enabled public 23f2dfb1-us-south.lb.appdomain.cloud us-south-2 ingress:1.1.2_2507_iks public-crdf253b6025d64944ab99ed63bb4567b6-alb2 true enabled public 23f2dfb1-us-south.lb.appdomain.cloud us-south-1 ingress:1.1.2_2507_iks
Ändern der Anzahl der ALB-Pod-Replikate
Standardmäßig hat jede ALB 2 Replikate. Sie können Ihre ALB-Verarbeitungsfunktionen anpassen, indem Sie die Anzahl der ALB-Pods manuell ändern oder die dynamische automatische Skalierung aktivieren.
Ein einzelner ALB-Pod kann eine große Anzahl von Anforderungen verarbeiten. Wenn Zeitlimitüberschreitungen, langsame Antworten oder andere Überlastungen auftreten, überprüfen Sie den Status Ihrer Back-End-Anwendung. Stellen Sie sicher, dass ALB der Engpass Ihrer Anwendung ist, bevor Sie ALB-Pods skalieren. Andernfalls liefert sie möglicherweise nicht die erwarteten Ergebnisse.
Für klassische Cluster: Wenn in der Lastausgleichsservicekonfiguration der ALB der Wert externalTrafficPolicy auf Local gesetzt ist, skalieren Sie nicht über 2 Replikate. Klassische Lastausgleichsfunktionen
werden mit einer festen Konfiguration von 2 Replikaten ausgeführt und können nur Datenverkehr an ALB-Pods weiterleiten, die sich auf demselben Knoten wie die Pods der Lastausgleichsfunktion befinden.
Standardmäßig werden regelmäßige Ingress-Versionsaktualisierungen automatisch auf Ihren ALBs implementiert. Wenn in einer Zone in Ihrem Cluster nur ein Workerknoten vorhanden ist und Sie die Anzahl der ALB-Replikate auf 1 setzen, wird dieser einzelne ALB-Pod gelöscht und ein neuer Pod wird immer dann erstellt, wenn Aktualisierungen angewendet werden. Dieser Prozess kann zu Unterbrechungen des Datenverkehrs führen, selbst wenn Sie Workerknoten und ALB-Replikate in anderen Zonen haben. Um Datenverkehrsstörungen zu verhindern, müssen Sie sicherstellen, dass in jeder Zone mindestens zwei Workerknoten vorhanden sind und dass für jede ALB zwei Replikate vorhanden sind. Beachten Sie, dass während des Aktualisierungsprozesses nur neue Verbindungen zum zweiten ALB-Pod weitergeleitet werden; vorhandene Verbindungen im aktualisierenden ALB-Pod werden sicher beendet. Es wird empfohlen, dass Clientanwendungen eine Wiederholung für vorhandene Verbindungen einleiten, die während der Aktualisierung beendet werden.
Ändern Sie die Anzahl der ALB-Replikate manuell, indem Sie eine ConfigMaperstellen. Beachten Sie, dass Sie Ihre ALB-Replikate nicht manuell skalieren können, wenn Sie Ihre ALB für die Verwendung dynamischer Skalierung konfiguriert haben.
-
Rufen Sie die IDs für Ihre Lastausgleichsfunktionen für Anwendungen (ALBs) ab.
ibmcloud ks ingress alb ls -c CLUSTER_NAME_OR_ID -
Erstellen Sie eine YAML-Datei für eine Konfigurationszuordnung (configmap) namens
ibm-ingress-deploy-config. Fügen Sie für jede ALB'{"replicas":<number_of_replicas>}'hinzu. Dieses Beispiel erhöht die Anzahl der ALB-Pods auf 4 Replikate.apiVersion: v1 kind: ConfigMap metadata: name: ibm-ingress-deploy-config namespace: kube-system data: <alb1-id>: '{"replicas":4}' <alb2-id>: '{"replicas":4}' ... -
Erstellen Sie die Konfigurationszuordnung
ibm-ingress-deploy-configin Ihrem Cluster.kubectl create -f ibm-ingress-deploy-config.yaml -
Um die Änderungen zu übernehmen, aktualisieren Sie Ihre ALBs. Bitte beachten Sie, dass es bis zu 5 Minuten dauern kann, bis die Änderungen wirksam werden.
ibmcloud ks ingress alb update -c CLUSTER_NAME_OR_ID -
Stellen Sie sicher, dass die Anzahl der ALB-Pods auf die von Ihnen angegebene Anzahl an Replikaten erhöht
Readywurde.kubectl get pods -n kube-system | grep alb
ALBs mit Autoscaler dynamisch skalieren
Bei der dynamischen Skalierung ändert sich die Anzahl der ALB-Replikate basierend auf der tatsächlichen Auslastung automatisch. Die Anzahl der Replikate verringert sich, wenn die tatsächliche Arbeitslast geringer ist, und erhöht sich, wenn die Arbeitslast höher ist, wodurch Rechenkapazität gespart wird, während die Fähigkeit zur Verarbeitung des Datenverkehrs in Spitzenzeiten erhalten bleibt. Sie können den ALB-Autoscaler so konfigurieren, dass die Skalierung basierend auf der CPU-Auslastung oder auf von Ihnen definierten angepassten Metriken implementiert wird.
Um die automatische Skalierung einzurichten, führen Sie den folgenden Befehl aus. Sie können basierend auf der CPU-Auslastung skalieren, indem Sie die Option --cpu-average-utilization einschließen. Alternativ können Sie eine Skalierung
basierend auf angepassten Metriken durchführen, indem Sie die Option --custom-metrics-file einschließen und einen Konfigurationsdateipfad angeben.
ibmcloud ks ingress alb autoscale set --alb ALB --cluster CLUSTER --max-replicas NUM_REPLICAS --min-replicas NUM_REPLICAS [--output OUTPUT] [-q] (--cpu-average-utilization PERCENT | --custom-metrics-file FILE)
--cluster, -c CLUSTER- Erforderlich: Der Name oder die ID des Clusters.
--alb ALB- Die ALB-ID. Führen Sie
ibmcloud ks ingress alb lsaus, um die verfügbaren ALB-IDs anzuzeigen. --max-replicas REPLICAS:- Die maximale Anzahl von Replikaten für den ALB. Geben Sie eine ganze Zahl an. Die maximale Anzahl der ALB-Replikate ist auf die Anzahl der Workerknoten im Cluster begrenzt. Informationen zum Hinzufügen weiterer Workerknoten zu Ihrem Cluster finden Sie unter Workerknoten zu klassischen Clustern hinzufügen oder unter Workerknoten zu VPC-Clustern hinzufügen.
--min-replicas REPLICAS- Die Mindestanzahl an Replikaten für den ALB. Geben Sie eine ganze Zahl an, die mindestens
2ist. --cpu-average-utilization PERCENT- Autoscaler by using average CPU utilization: Der Prozentsatz der Ziel-CPU-Auslastung für den Autoscaler. Der Durchschnitt stellt den Prozentsatz der belegten CPU im Verhältnis zur angeforderten CPU für alle ALB-Pods dar. Führen
Sie
kubectl top pods -n kube-system -l app=ALB_IDaus, um die aktuelle CPU-Auslastung durch ALB-Pods zu überprüfen. Führen Siekubectl get deployment -n kube-system ALB_ID -o=jsonpath='{.spec.template.spec.containers[0].resources.requests.cpu}aus, um die für ALB-Pods angeforderte CPU-Kapazität zu überprüfen. Sie können diese Option nicht zusammen mit der Option--custom-metrics-fileverwenden. --custom-metrics-file FILE- Automatische Skalierung mithilfe angepasster Metriken: Geben Sie den Namen der Konfigurationsdatei an, die angepasste Metriken und Zielwerte für die automatische Skalierung definiert. Beachten Sie, dass Sie für die Installation
und Konfiguration eines Metrikproviders wie Prometheusverantwortlich sind. Sie können diese Option nicht zusammen mit der Option
--cpu-average-utilizationverwenden.
YAML-Beispieldatei für angepasste Metriken. Konfigurieren Sie Ihre angepassten Metriken in einer YAML-Datei. Speichern Sie die Datei und geben Sie den Dateinamen mit der Befehlsoption --custom-metrics-file an. Weitere Informationen
zum Erstellen Ihrer benutzerdefinierten Metrikspezifikationsdatei finden Sie in der Dokumentation „ Kubernetes “ zu Horizontal Pod Autoscaling oder in der API-Dokumentation „ MetricSpec “.
- type: Object
object:
metric:
name: example_metrics
describedObject:
apiVersion: networking.k8s.io/v1
kind: Ingress
name: example-ingress
target:
type: Value
value: 2k
Beispielbefehle für die Konfiguration der dynamischen automatischen ALB-Skalierung
Beispielbefehl für dynamische Skalierung auf der Basis einer durchschnittlichen CPU-Auslastung von 60%.
ibmcloud ks ingress alb autoscale set -c CLUSTER_NAME_OR_ID --alb ALB_ID --min-replicas 2 --max-replicas 5 --cpu-average-utilization 60
Beispielbefehl für dynamische Skalierung auf der Basis angepasster Metriken, die in einer Datei mit dem Namen my-custom-metrics.yaml gespeichert sind.
ibmcloud ks ingress alb autoscale set -c CLUSTER_NAME_OR_ID --alb ALB_ID --min-replicas 2 --max-replicas 5 --custom-metrics-file my-custom-metrics.yaml
Durchschnittliche CPU-Auslastung berechnen
Die folgende Abbildung zeigt ein Beispielszenario für die Bestimmung der CPU-Auslastung bei der Planung Ihrer Konfiguration für automatische Skalierung.
Angenommen, Sie haben einen inaktiven Cluster mit zwei aktiven ALB-Replikaten, die keinen eingehenden Datenverkehr haben. Die CPU-Gesamtanforderung in diesem Fall ist 2*20m=40m. Eines der Replikate kann die 5m-CPU
und die andere 7m-CPU verwenden. Die CPU-Auslastung kann anhand der folgenden Formel berechnet werden:
Automatische ALB-Skalierung inaktivieren
Führen Sie den Befehl aus, um die automatische Skalierung für eine ALB zu inaktivieren.
ibmcloud ks ingress alb autoscale unset --alb ALB --cluster CLUSTER
ALB inaktivieren
Um ein Scale-down für Ihre ALBs durchzuführen, können Sie eine ALB inaktivieren, sodass sie den Datenverkehr in Ihrem Cluster nicht mehr weiterleitet.
ibmcloud ks ingress alb disable --alb ALB_ID -c CLUSTER_NAME_OR_ID
Sie können einen ALB jederzeit wieder aktivieren, indem Sie ibmcloud ks ingress alb enable classic --alb ALB_ID -c CLUSTER_NAME_OR_ID für klassische Cluster oder ibmcloud ks ingress alb enable vpc-gen2 --alb ALB_ID -c CLUSTER_NAME_OR_ID.
Verschieben von ALBs über VLANs hinweg in klassischen Clustern
Die Informationen in diesem Abschnitt gelten nur für klassische Cluster.
Wenn Sie die VLAN-Verbindungen für Workerknoten ändern, dann werden die Workerknoten mit dem neuen VLAN verbunden und bekommen neue öffentliche oder private IP-Adressen zugewiesen. ALBs können jedoch nicht automatisch in das neue VLAN migriert werden, da ihnen eine stabile, öffentliche oder private portierbare IP-Adresse aus einem Teilnetz des bisherigen VLANs zugeordnet ist. Wenn Ihre Workerknoten und ALBs mit verschiedenen VLANs verbunden sind, können die ALBs eingehenden Netzdatenverkehr für App-Pods nicht an Ihre Workerknoten weiterleiten. Um eine ALB in ein anderes VLAN zu verschieben, müssen Sie eine ALB für das neue VLAN erstellen und die betreffende ALB im alten VLAN inaktivieren. Bitte beachten Sie, dass alle öffentlichen ALBs in Ihrem Cluster dieselbe von IBM zugewiesene Ingress-Unterdomäne gemeinsam nutzen. Wenn Sie neue ALBs erstellen, müssen Sie Ihre Ingress-Ressourcendateien nicht ändern.
Wenn Sie alle Worker aus einem VLAN entfernen, wird die IP-Adresse der ALB in der Zone des VLANs entfernt.
-
Rufen Sie das neue öffentliche oder private VLAN ab, für das Sie Ihre Workerknotenverbindungen in den einzelnen Zonen geändert haben.
- Listen Sie mithilfe des folgenden Befehls die Details für einen Worker in einer Zone auf:
ibmcloud ks worker get --cluster CLUSTER_NAME_OR_ID --worker WORKER_ID ``` 2. Notieren Sie sich anhand der Ausgabe die **ID** für das öffentliche oder das private VLAN. * Wenn Sie öffentliche ALBs erstellen wollen, notieren Sie sich die ID für das öffentliche VLAN. * Wenn Sie private ALBs erstellen wollen, notieren Sie sich die ID für das private VLAN. 3. Wiederholen Sie diese Schritte für einen Worker in jeder Zone, damit die IDs für das neue öffentliche oder private VLAN in jeder Zone vorhanden sind. -
Erstellen Sie mithilfe des folgenden Befehls in jeder Zone eine ALB für das neue VLAN: Weitere Informationen zu den Parametern dieses Befehls finden Sie in der CLI-Referenz.
ibmcloud ks ingress alb create --cluster CLUSTER_NAME_OR_ID --type PUBLIC_OR_PRIVATE --zone ZONE --vlan VLAN_ID [--ip IP_ADDRESS] [--version image_version] -
Vergewissern Sie sich mithilfe des folgenden Befehls, dass die ALBs, die Sie für die neuen VLANs in den einzelnen Zonen erstellt haben, jeweils den Status
enabled(aktiviert) aufweisen und dass eine ALB-IP-Adresse (ALB IP) zugeordnet ist:ibmcloud ks ingress alb ls --cluster CLUSTER_NAME_OR_IDBeispielausgabe für einen Cluster, in dem neue öffentliche ALBs für das VLAN
2294030indal12und für das VLAN2234940indal10erstellt wurden.ALB ID Enabled Status Type ALB IP Zone Build ALB VLAN ID NLB Version private-crdf253b6025d64944ab99ed63bb4567b6-alb1 false disabled private - dal12 ingress:1.1.2_2507_iks 2294021 private-crdf253b6025d64944ab99ed63bb4567b6-alb2 false disabled private - dal10 ingress:1.1.2_2507_iks 2234947 public-crdf253b6025d64944ab99ed63bb4567b6-alb1 true enabled public 169.48.228.78 dal12 ingress:1.1.2_2507_iks 2294019 public-crdf253b6025d64944ab99ed63bb4567b6-alb2 true enabled public 169.46.17.6 dal10 ingress:1.1.2_2507_iks 2234945 public-crdf253b6025d64944ab99ed63bb4567b6-alb3 true enabled public 169.49.28.09 dal12 ingress:1.1.2_2507_iks 2294030 public-crdf253b6025d64944ab99ed63bb4567b6-alb4 true enabled public 169.50.35.62 dal10 ingress:1.1.2_2507_iks 2234940 -
Inaktivieren Sie mithilfe des folgenden Befehls alle ALBs, die mit den alten VLANs verbunden sind:
ibmcloud ks ingress alb disable --alb OLD_ALB_ID -c CLUSTER_NAME_OR_ID -
Vergewissern Sie sich mithilfe des folgenden Befehls, dass alle ALBs, die mit den alten VLANs verbunden sind, jeweils den Status
disabled(inaktiviert) aufweisen. Nur die ALBs, die mit den neuen VLANs verbunden sind, empfangen eingehenden Netzverkehr und kommunizieren mit Ihren App-Pods.ibmcloud ks ingress alb ls --cluster CLUSTER_NAME_OR_IDBeispielausgabe für einen Cluster, in dem die öffentlichen Standard-ALBs für das VLAN
2294019indal12und für das VLAN2234945indal10inaktiviert sind.ALB ID Enabled Status Type ALB IP Zone Build private-crdf253b6025d64944ab99ed63bb4567b6-alb1 false disabled private - dal12 ingress:1.1.2_2507_iks 2294021 private-crdf253b6025d64944ab99ed63bb4567b6-alb2 false disabled private - dal10 ingress:1.1.2_2507_iks 2234947 public-crdf253b6025d64944ab99ed63bb4567b6-alb1 false disabled public 169.48.228.78 dal12 ingress:1.1.2_2507_iks 2294019 public-crdf253b6025d64944ab99ed63bb4567b6-alb2 false disabled public 169.46.17.6 dal10 ingress:1.1.2_2507_iks 2234945 public-crdf253b6025d64944ab99ed63bb4567b6-alb3 true enabled public 169.49.28.09 dal12 ingress:1.1.2_2507_iks 2294030 public-crdf253b6025d64944ab99ed63bb4567b6-alb4 true enabled public 169.50.35.62 dal10 ingress:1.1.2_2507_iks 2234940 -
Optional für öffentliche ALBs: Vergewissern Sie sich, dass die IP-Adressen der neuen ALBs unter der von IBM bereitgestellten Ingress-Unterdomäne für Ihren Cluster aufgelistet sind. Diese Unterdomäne können Sie durch Ausführen von
ibmcloud ks cluster get --cluster CLUSTER_NAME_OR_IDermitteln.nslookup <Ingress_subdomain>Beispielausgabe
Non-authoritative answer: Name: mycluster-<hash>-0000.us-south.containers.appdomain.cloud Addresses: 169.49.28.09 169.50.35.62 -
Optional: Wenn Sie die Teilnetze in den alten VLANs nicht mehr benötigen, können Sie sie entfernen.
Verwaltung von Port 80 auf den ALBs
In VPC-Clustern, die am oder nach dem 26. Januar 2026 erstellt wurden, ist Port 80 standardmäßig für alle ALBs gesperrt. Cluster, die vor diesem Datum erstellt wurden, sind nicht betroffen.
Sie können Port 80 auf Ihren ALBs mit den folgenden Befehlen verwalten. Beachten Sie, dass alle von Ihnen vorgenommenen Änderungen auf alle ALBs in Ihrem Cluster angewendet werden.
-
Um den Status von Port 80 auf Ihren ALBs abzurufen, führen Sie den folgenden Befehl aus.
ibmcloud ks ingress security port80 get --cluster CLUSTER_NAME_OR_ID -
Um Port 80 auf Ihren ALBs zu aktivieren, führen Sie den folgenden Befehl aus.
ibmcloud ks ingress security port80 enable --cluster CLUSTER_NAME_OR_ID -
Um Port 80 auf Ihren ALBs zu deaktivieren, führen Sie den folgenden Befehl aus.
ibmcloud ks ingress security port80 disable --cluster CLUSTER_NAME_OR_ID