Satellite-Cluster für automatische Skalierung vorbereiten
Satellite
Führen Sie die folgenden Schritte aus, bevor Sie das Cluster-Autoscaler-Add-on in Ihrem Satellite-Cluster verwenden können:
Die automatische Skalierung auf Satellite-Clustern ist in der Betaversion nur für Konten mit Zulassungsliste verfügbar. Sie können zur Zulassungsliste hinzugefügt werden, indem Sie einen Fall mit Unterstützung öffnen.
Die Aktivierung des Autoscalers für ein nicht zugelassenes Konto führt zu einem The 'cluster-autoscaler' add-on is not supported on satellite clusters Fehler. Sie können zur Zulassungsliste hinzugefügt werden, indem Sie einen Fall mit Unterstützung öffnen.
Informationen zur automatischen Skalierung in Satellite-Clustern
- Wie funktioniert Scale-up für Satellite-Cluster?
- Der Cluster-Autoscaler überprüft regelmäßig, ob Pods vorhanden sind, die aufgrund mangelnder Speicher- oder CPU-Ressourcen im anstehenden Status verbleiben.
- Der Autoscaler prüft, ob die Skalierung für einen der Worker-Pools im Cluster aktiviert ist. Wenn die Skalierung aktiviert ist, berechnet der Autoscaler die erforderliche Anzahl von Arbeitsknoten, um alle Pods unterzubringen, die sich im Status "Pending" befinden. Wenn keine Worker-Pools die automatische Skalierung aktiviert haben, erfolgt keine Aktion.
- Der Autoscaler vergleicht die im vorherigen Schritt berechnete Anzahl der benötigten Worker Nodes mit der
MaxSizeoder der Gesamtzahl der für die Skalierung zulässigen Worker Nodes. Wenn der zulässige Wert fürMaxSizekleiner als oder gleich dem erforderlichen Workerknotenzähler ist, um alle Pods zu erfüllen, sendet der Autoscaler eine Größenänderungsanforderung an die Instanzgruppe. - Der Autoscaler ruft die Hosts ab, die
ReadyoderUnassignedan der Position sind und über Hostbezeichnungen verfügen, die mit den Bezeichnungen auf den Workerknoten im Workerpool übereinstimmen, in dem die automatische Skalierung aktiviert ist. - Der Autoscaler ermittelt, ob genügend
Ready- oderUnassigned-Hosts verfügbar sind, um die Anforderung zur Größenänderung zu erfüllen.- Wenn an dem Standort nicht genügend Hosts verfügbar sind, wird den Protokollen eine Warnung hinzugefügt, dass der Größenänderungsvorgang unvollständig war.
- Wenn Hosts verfügbar sind, die
ReadyoderUnassignedsind und über die entsprechenden Hostbezeichnungen verfügen, verwendet der Autoscaler diese Hosts, um die Anforderung zu erfüllen. - Wenn keine Hosts mit den übereinstimmenden Hostbezeichnungen verfügbar sind, filtert der Autoscaler die
Ready- oderUnassigned-Hosts nach denen, die nur die Standardhostbezeichnungen enthalten. Anschließend aktualisiert der Autoscaler die Bezeichnungen auf diesen Hosts, sodass sie mit den Hostbezeichnungen des Workerpools übereinstimmen, in dem die Skalierung aktiviert ist, und verwendet diese Hosts, um die Anforderung zu erfüllen.
- Wie funktioniert Scale-down in Satellite-Clustern?
- Wenn der Cluster-Autoscaler feststellt, dass ein Worker-Knoten für die angegebene
scaleDownUnneededTimeZeit nicht ausgelastet ist, werden die Worker aus dem Cluster gelöscht. Die Hosts, die für diese Arbeiterknoten verwendet wurden, befinden sich dann im StatusReload RequiredoderUnassignedam Standort. Diese Hosts können von keinem anderen Cluster verwendet werden, bis sie neu geladen und wieder mit dem Standort verbunden werden. Beachten Sie, dass alle Worker im Worker-Pool denselben Typ haben müssen. - Was passiert, wenn an meiner Position keine Hosts für Scale-up verfügbar sind?
- Wenn nicht genügend Hosts für Scale-up vorhanden sind, wurde die Workload nicht vollständig implementiert. Nachdem der Position jedoch weitere Hosts hinzugefügt wurden, wird die Scale-up-Operation automatisch fortgesetzt.
- Wie unterscheidet sich die automatische Skalierung auf Satellite im Vergleich zu IBM Cloud® Kubernetes Service oder Red Hat® OpenShift® on IBM Cloud®?
- IBM Cloud® Kubernetes Service oder Red Hat® OpenShift® on IBM Cloud® können Hosts in der Infrastruktur im Rahmen der Skalierung automatisch bereitstellen oder entfernen. Da sich Hosts mit Satellite in einer Vielzahl unterschiedlicher Infrastrukturen befinden, kann der Autoscaler Workerknoten nicht automatisch bereitstellen oder entfernen. Stattdessen verwendet der Cluster-Autoscaler in Satellite-Clustern nur Hosts, die bereits an der Position verfügbar und bereit sind. Das bedeutet, dass Sie zusätzliche Hosts an dem Standort bereithalten müssen, den der Autoscaler während der Skalierung verwenden soll.
- Welchen Hosttyp verwendet der Cluster-Autoscaler beim Skalieren des Clusters?
- Hosts mit dem Status
Readyund dem Statusunassignedsind für die Verwendung durch den Cluster-Autoscaler verfügbar. - Welcher der verfügbaren Hosts kann beim Scale-up verwendet werden?
- Von den Hosts
Readyundunassignedkönnen nur die Hosts für die Skalierung verwendet werden, deren Bezeichnungen mit den Bezeichnungen des Worker-Pools übereinstimmen, für den die Skalierung aktiviert ist. Stellen Sie beim Anhängen von Hosts an Ihrer Position sicher, dass Sie die Hosts kennzeichnen, die Sie in Ihren automatisch skalierten Worker-Pools verwenden wollen. - Wie wirkt sich der Cluster-Autoscaler auf die Abrechnung aus?
- Da der Cluster-Autoscaler keine Operationen auf Infrastrukturebene durchführt, weist er jedoch Hosts Worker-Pools zu, was bedeutet, dass Cluster-Verwaltungsgebühren anfallen.
- Was mache ich nach einem Skalierungsereignis mit den Hosts, die für die Skalierung verwendet wurden und sich jetzt im Status
Reload requiredbefinden? - Nach der Skalierung gehen die Hosts in den Zustand
Reload requiredüber und können erst wieder für die Skalierung verwendet werden, wenn sie neu gebootet werden. Heben Sie die Zuweisung dieser Hosts aus dem Worker-Pool auf, entfernen Sie sie von Ihrem Standort, starten Sie sie neu und schließen Sie sie wieder an, damit sie wieder für die Skalierung verfügbar sind. - Wie kann ich die automatische Skalierung in meinem Satellite-Cluster einrichten
- Zum Einrichten der automatischen Skalierung müssen Sie die folgenden Schritte ausführen.
- Erstellen Sie einen Satellite-Standort.
- Richten Sie die Positionssteuerebene ein.
- Ordnen Sie Hosts für den Standardworker-Pool zu.
- Erstellen Sie einen Cluster, der Ihre Satellite-Hosts verwendet.
- Überprüfen oder erstellen Sie die erforderlichen geheimen Speicherschlüssel in Ihrem Cluster.
- Ordnen Sie Ihrer Position weitere Hosts zu und erstellen Sie einen zweiten Worker-Pool in Ihrem Cluster.
- Verbinden Sie weitere Hosts mit Ihrer Position und lassen Sie sie nicht zugeordnet und für die Skalierung verfügbar.
- Installieren Sie das Add-on
cluster-autoscaler. - Bearbeiten Sie die ConfigMap des Autoscalers und aktivieren Sie die Skalierung.
Position und Cluster für automatische Skalierung einrichten
-
Erstellen Sie einen Standort und richten Sie Ihre Steuerebene ein.
-
Nach dem Einrichten der Steuerebene hängen Sie weitere Hosts an, die Sie im Standard-Worker-Pool für Ihren Cluster verwenden möchten.
-
Kopieren Sie den folgenden geheimen
storage-secret-store-Schlüssel und speichern Sie ihn als Datei. Details zu Ihremopenshift-api-Endpunkt finden Sie auf der Seite Satellite Linkendpunkte für Ihren Standort.apiVersion: v1 kind: Secret metadata: name: storage-secret-store namespace: kube-system type: Opaque stringData: ca_iam_api_key: "<iam_api_key>" # Enter your IAM API key container_api_route: "API ROUTE" # Enter the Destination IP of the openshift-api Link endpoint for your Satellite loction. For example: https://i43fb00XXX-XXXX6bf59a8XXX-ce00.us-east.satellite.appdomain.cloud -
Erstellen Sie den geheimen Schlüssel in Ihrem Cluster.
oc create -f secret.yaml -n kube-system -
Hängen Sie weitere Hosts an Ihre Position an, die Sie in Ihrem automatisch skalierten Worker-Pool verwenden möchten. Es hat sich bewährt, die automatische Skalierung für den Standard-Worker-Pool nicht einzurichten. Wenn Sie die Hosts, die Sie im autoskalierten Worker-Pool verwenden möchten, anhängen, müssen Sie Host-Labels wie
cpu=16undmemory=64angeben. Hostbezeichnungen werden vom Cluster-Autoscaler-Add-on verwendet, um Hosts zu suchen, die für die Skalierung verfügbar sind. Beispielbefehl zum Anhängen von Hosts bei Angabe von Hostbezeichnungen für CPU und Speicher.ibmcloud sat host attach --location LOCATION --host-label "cpu=16" --host-label "memory=64" [--operating-system SYSTEM] -
Erstellen Sie einen zweiten Worker-Pool mit den Hosts, die Sie zugeordnet haben. Weitere Informationen finden Sie unter Red Hat OpenShift on IBM Cloud-Cluster in Satellite.
-
Ordnen Sie Ihrer Position weitere Hosts zu, weisen Sie sie jedoch keinem Worker-Pool zu. Diese
Ready/Unassigned-Hosts sind für die automatische Skalierung verfügbar. Wenn Sie die Hosts zuordnen, die für die automatische Skalierung verfügbar sein sollen, müssen Sie Host-Labels wiecpu=16undmemory=64angeben. Hostbezeichnungen werden vom Cluster-Autoscaler-Add-on verwendet, um Hosts zu suchen, die für die Skalierung verfügbar sind. -
Installieren Sie das Cluster-Autoscaler-Add-on in Ihrem Cluster. Beachten Sie, dass Ihr Konto nicht für die Verwendung des Add-ons zugelassen wird, wenn die Fehlernachricht
The 'cluster-autoscaler' add-on is not supported on satellite clustersangezeigt wird. Um zur Zulassungsliste hinzugefügt zu werden, öffnen Sie einen Fall mit Unterstützung. -
Bearbeiten Sie den Cluster-Autoscaler ConfigMap und geben Sie die Autoscaling-Parameter an, die Sie verwenden möchten, z. B.
MinSize,MaxSizeund die Worker-Pools, die Sie für die Skalierung verwenden möchten.