Hinzufügen von Worker-Knoten zu VPC-Clustern
Virtual Private Cloud
In den folgenden Abschnitten finden Sie Informationen dazu, wie Sie Ihrem VPC-Cluster Worker-Knoten hinzufügen können.
Stellen Sie vor dem Hinzufügen von Worker Nodes sicher, dass Ihr VPC-Konto über ausreichende Kontingente für vCPU, Arbeitsspeicher, GPU, Instance Storage und optimierte Instance Storage-Ressourcen verfügt. VPC verwaltet diese Kontingente pro Konto für die Arbeiterknoten der virtuellen Serverinstanz (VSI). Wenn Sie eine Quotengrenze erreichen, schlägt die Bereitstellung von Arbeitsknoten fehl. Um Ihre aktuelle Kontingentnutzung zu überprüfen, siehe Anzeigen von VPC-Ressourcenmetriken. Weitere Informationen finden Sie unter VPC-Quoten und Warum können meine VPC-Arbeitsknoten aufgrund von Quotengrenzen nicht bereitgestellt werden?
Wenn Sie die Verfügbarkeit Ihrer Apps erhöhen möchten, können Sie Workerknoten zu einer vorhandenen Zone oder mehreren vorhandenen Zonen in Ihrem Cluster hinzufügen. Um Ihre Apps vor Zonenausfällen zu schützen, können Sie Zonen zu Ihrem Cluster hinzufügen.
Wenn Sie einen Cluster erstellen, werden die Workerknoten in einem Worker-Pool bereitgestellt. Nach der Clustererstellung können Sie weitere Workerknoten zu einem Pool hinzufügen, indem Sie die Größe ändern oder weitere Worker-Pools hinzufügen. Der Worker-Pool ist standardmäßig in einer Zone vorhanden. Cluster, die über einen Worker-Pool in nur einer Zone verfügen, werden als Einzelzonencluster bezeichnet. Wenn Sie dem Cluster weitere Zonen hinzufügen, ist der Worker-Pool zonenübergreifend vorhanden. Cluster, die über einen Worker-Pool verfügen, der über mehrere Zonen verteilt ist, werden als Mehrzonencluster bezeichnet.
Wenn Sie über einen Mehrzonencluster verfügen, müssen seine Workerknotenressourcen ausgeglichen sein. Stellen Sie sicher, dass alle Worker-Pools über dieselben Zonen verteilt sind und fügen Sie Worker hinzu oder entfernen Sie sie, indem Sie die Größe der Pools ändern, anstatt einzelne Knoten hinzuzufügen. Nach der Einrichtung Ihres Worker-Pools können Sie den Cluster-Autoscaler einrichten, um Workerknoten in Ihren Worker-Pools automatisch entsprechend den Workloadressourcenanforderungen hinzuzufügen oder zu entfernen.
Der sekundäre lokale Speicher muss zum Zeitpunkt der Erstellung des Worker-Pools hinzugefügt werden. Das manuelle Hinzufügen von Speicher auf der VPC-Infrastrukturebene nach dem Erstellen eines Worker-Pools wird nicht unterstützt und führt nicht zu zusätzlichem ephemeren Speicher im Cluster.
Möchten Sie Worker zu klassischen Clustern hinzufügen? Siehe Workerknoten zu Classic-Clustern hinzufügen.
Größe eines Worker-Pools ändern
Sie können die Anzahl der Workerknoten in Ihrem Cluster erhöhen oder verringern, indem Sie die Größe eines vorhandenen Worker-Pools ändern, unabhängig davon, ob sich der Worker-Pool in einer Zone befindet oder über mehrere Zonen verteilt ist.
Bevor Sie beginnen, stellen Sie sicher, dass Sie über die IAM-Plattformzugriffsrolle Operator oder Administrator verfügen.
Ändern Sie die Anzahl der Workerknoten, die der Worker-Pool in jeder Zone bereitstellt, um die Größe des Worker-Pools zu ändern:
- Rufen Sie den Namen des Worker-Pools ab, dessen Größe Sie ändern möchten.
ibmcloud oc worker-pool ls --cluster CLUSTER-NAME - Ändern Sie die Größe des Worker-Pools, indem Sie die Anzahl der Workerknoten angeben, die Sie in jeder Zone bereitstellen möchten.
ibmcloud oc worker-pool resize --cluster CLUSTER-NAME --worker-pool POOL_NAME --size-per-zone NUMBER_OF_WORKERS_PER_ZONE - Stellen Sie sicher, dass die Größe des Worker-Pools geändert wurde.
Beispielausgabe für einen Worker-Pool, der sich in zwei Zonen, undibmcloud oc worker ls --cluster CLUSTER-NAME --worker-pool POOL_NAMEus-south-1us-south-2, befindet und auf zwei Worker-Knoten pro Zone angepasst wird:ID Public IP Private IP Machine Type State Status Zone Version kube-dal10-crb20b637238ea471f8d4a8b881aae4962-w7 169.xx.xxx.xxx 10.xxx.xx.xxx b3c.4x16 normal Ready us-south-1 1.35 kube-dal10-crb20b637238ea471f8d4a8b881aae4962-w8 169.xx.xxx.xxx 10.xxx.xx.xxx b3c.4x16 normal Ready us-south-1 1.35 kube-dal12-crb20b637238ea471f8d4a8b881aae4962-w9 169.xx.xxx.xxx 10.xxx.xx.xxx b3c.4x16 normal Ready us-south-2 1.35 kube-dal12-crb20b637238ea471f8d4a8b881aae4962-w10 169.xx.xxx.xxx 10.xxx.xx.xxx b3c.4x16 normal Ready us-south-2 1.35
Neuen Worker-Pool erstellen
Möchten Sie einen neuen Worker-Pool auf dedizierten Hosts erstellen? Siehe Dedizierte Hosts in der Befehlszeilenschnittstelle einrichten.
Bevor Sie beginnen, stellen Sie sicher, dass Sie über die IAM-Plattformzugriffsrolle Operator oder Administrator verfügen.
-
Rufen Sie die VPC-ID und die Workerzonen Ihres Clusters ab und wählen Sie die Zone aus, in der Sie die Workerknoten in Ihrem Worker-Pool bereitstellen möchten. Sie können eine der vorhandenen Workerzonen Ihres Clusters auswählen oder einen der Standorte mit mehreren Zonen für die Region hinzufügen, in der sich Ihr Cluster befindet. Verfügbare Zonen können Sie mit dem Befehl
ibmcloud oc zone ls --provider vpc-gen2auflisten.ibmcloud oc cluster get --cluster CLUSTER-NAMEBeispielausgabe
... VPC ID: <VPC_ID> ... Worker Zones: us-south-1, us-south-2, us-south-3 -
Notieren Sie für jede Zone die ID des VPC-Teilnetzes, das Sie für den Worker-Pool verwenden wollen. Wenn Sie über kein VPC-Teilnetz in der Zone verfügen, erstellen Sie ein VPC-Teilnetz. VPC-Teilnetze stellen IP-Adressen für Ihre Workerknoten und Services für Lastausgleichsfunktionen bereit. Daher müssen Sie ein VPC-Teilnetz mit einer ausreichenden Anzahl von IP-Adressen erstellen, beispielsweise 256.
ibmcloud oc subnets --zone <ZONE> --provider vpc-gen2 --vpc-id <VPC_ID> -
Überprüfen Sie für jede Zone die verfügbaren Varianten für Worker-Knoten.
ibmcloud oc flavors --zone <ZONE> --provider vpc-gen2 -
Optional: Wenn Sie die lokale Platte für jeden Workerknoten im Workerpool verschlüsseln möchten, rufen Sie die Details zum Provider Ihres Key Management Service (KMS) ab. Wenn Sie eine KMS-Instanz aus einem anderen Konto verwenden wollen, müssen Sie diese Schritte unter dem Konto ausführen, in dem sich die KMS-Instanz befindet.
-
Führen Sie die Schritte in VPC-Workerknoten aus, um Ihre KMS-Instanz zu erstellen und Ihren Service in IAM zu autorisieren.
-
Listen Sie die verfügbaren KMS-Instanzen auf und notieren Sie die ID.
ibmcloud oc kms instance ls ``` 1. Listen Sie die verfügbaren Rootschlüssel für die KMS-Instanz auf, die Sie verwenden möchten, und notieren Sie die **ID**. ```sh {: pre} ibmcloud oc kms crk ls --instance-id <KMS_instance_ID> ``` -
-
Erstellen Sie einen Worker-Pool. Weitere Optionen finden Sie in der Dokumentation zur Befehlszeilenschnittstelle.
ibmcloud oc worker-pool create vpc-gen2 --name NAME --cluster CLUSTER-NAME --flavor FLAVOR --size-per-zone NUMBER_OF_WORKER_NODES [--label KEY=VALUE] [--vpc-id] [[--kms-account-id <KMS_account_ID>] --kms-instance <KMS_instance_ID> --crk <root_key_ID>] [--dedicated-host-pool <dedicated-host-pool>] [--security-group <group-id>] [--operating-system SYSTEM]--label KEY=VALUE- Optional: Bezeichnen Sie automatisch Workerknoten, die sich im Pool befinden, mit dem Bezeichnungspaar
key=value. --vpc-id VPC- Geben Sie diese Option an, wenn der Worker-Pool der erste im Cluster ist.
--operating-system RHEL_9_64|REDHAT_8_64|RHCOS: Optional. Das Betriebssystem der Workerknoten in Ihrem Cluster. Eine Liste der verfügbaren Betriebssysteme nach Cluster-Version finden Sie in den Versionsinformationen unter Red Hat OpenShift on IBM Cloud. Wenn keine Option angegeben ist, wird das Standardbetriebssystem verwendet, das der Clusterversion entspricht.--kms-account-id ACCOUNT- Optional: Geben Sie das Konto an, in dem sich Ihre KMS-Instanz befindet. Geben Sie auch die Optionen
--kms-instance-idund--crkan. --kms-instance INSTANCE- Optional: Geben Sie Ihre KMS-Instanz-ID an. Geben Sie auch die Optionen
--kms-account-idund--crkan. --crk KEY- Optional: Geben Sie Ihren KMS-Rootschlüssel an. Geben Sie auch die Optionen
--kms-account-idund--kms-instancean. --security-group GROUP- Geben Sie diese Option an, um den Workern im Worker-Pool zusätzliche Sicherheitsgruppen zuzuordnen. Schließen Sie die Sicherheitsgruppen-IDs ein, die Sie zuordnen wollen.
--dedicated-host-pool POOL- Geben Sie diese Option an, wenn Sie Ihren Worker-Pool auf dedizierten Hosts erstellen möchten.
-
Stellen Sie sicher, dass der Worker-Pool erstellt wird.
ibmcloud oc worker-pool ls --cluster CLUSTER-NAME -
Standardmäßig wird durch das Hinzufügen eines Worker-Pools ein Pool ohne Zonen erstellt. Um Workerknoten in einer Zone bereitzustellen, müssen Sie die Zonen zum Worker-Pool hinzufügen, die Sie vorher abgerufen haben. Wenn Sie die Workerknoten auf mehrere Zonen verteilen möchten, wiederholen Sie diesen Befehl für jede einzelne Zone.
ibmcloud oc zone add vpc-gen2 --zone ZONE --subnet-id SUBNET_ID --cluster CLUSTER-NAME --worker-pool WORKER_POOL_NAME -
Stellen Sie sicher, dass die Workerknoten in der Zone bereitgestellt werden, die Sie hinzugefügt haben. Die Workerknoten sind bereit, wenn der Status (State) von
provisioningzunormalwechselt.ibmcloud oc worker ls --cluster CLUSTER-NAME --worker-pool POOL_NAMEBeispielausgabe
ID Primary IP Flavor State Status Zone Version kube-<ID_string>-<cluster_name>-<pool_name>-00000002 10.xxx.xx.xxx c2.2x4 provisioning Infrastructure instance status is 'pending' us-south-1 - kube-<ID_string>-<cluster_name>-<pool_name>-00000003 10.xxx.xx.xxx c2.2x4 normal Ready us-south-1 1.35_1511
Zone zu einem Worker-Pool hinzufügen
Sie können Ihren VPC-Cluster über mehrere Zonen in einer Region verteilen, indem Sie dem vorhandenen Worker-Pool eine Zone hinzufügen.
Wenn Sie einem Workerpool eine Zone hinzufügen, werden die Workerknoten, die in Ihrem Workerpool definiert sind, in der neuen Zone bereitgestellt und für die zukünftige Workload-Planung berücksichtigt. Red Hat OpenShift on IBM Cloud fügt automatisch
die failure-domain.beta.kubernetes.io/region-Bezeichnung für die Region und die failure-domain.beta.kubernetes.io/zone-Bezeichnung für die Zone zu jedem Workerknoten hinzu. Der Kubernetes-Scheduler verwendet diese
Bezeichnungen, um Pods auf Zonen innerhalb derselben Region zu verteilen.
Wenn Sie über mehrere Workerpools in Ihrem Cluster verfügen, fügen Sie die Zone zu allen hinzu, sodass die Workerknoten gleichmäßig über Ihren Cluster verteilt sind. Beim Hinzufügen von Workerknoten im Cluster ist zu beachten, dass die neuen
Workerknoten dieselbe Haupt- und Nebenversion (major.minor) wie der Cluster-Master ausführen, dabei jedoch das neueste Workerknotenpatch der betreffenden Haupt- und Nebenversion major.minorverwendet wird.
Bevor Sie beginnen: Stellen Sie sicher, dass Sie über die [IAM-Plattformzugriffsrolle Operator oder Administrator] verfügen (/docs/openshift?topic=openshift-iam-platform-access-roles).
-
Rufen Sie den Standort (Location) Ihres Clusters ab und notieren Sie die vorhandenen Workerzonen (Worker Zones) und die VPC-ID (VPC ID).
ibmcloud oc cluster get --cluster CLUSTER-NAMEBeispielausgabe
... VPC ID: <VPC_ID> Workers: 3 Worker Zones: us-south-1 ... Location: Dallas -
Listen Sie die verfügbaren Zonen für den Standort Ihres Clusters auf, um zu ermitteln, welche anderen Zonen Sie hinzufügen können.
ibmcloud oc zone ls --provider vpc-gen2 | grep LOCATION -
Listen Sie die verfügbaren VPC-Teilnetze für jede Zone auf, die Sie hinzufügen wollen. Wenn Sie über kein VPC-Teilnetz in der Zone verfügen, erstellen Sie ein VPC-Teilnetz. VPC-Teilnetze stellen IP-Adressen für Ihre Workerknoten und Services für Lastausgleichsfunktionen bereit. Daher müssen Sie ein VPC-Teilnetz mit einer ausreichenden Anzahl von IP-Adressen erstellen, beispielsweise 256. Sie können die Anzahl der IP-Adressen, die in einem VPC-Teilnetz verwendet werden, später nicht mehr ändern.
ibmcloud oc subnets --zone ZONE --provider vpc-gen2 --vpc-id VPC_ID -
Listen Sie die Worker-Pools in Ihrem Cluster auf und notieren Sie deren Namen.
ibmcloud oc worker-pool ls --cluster CLUSTER-NAME -
Fügen Sie die Zone Ihrem Worker-Pool hinzu. Wiederholen Sie diesen Schritt für jede Zone, die Sie dem Worker-Pool hinzufügen wollen. Wenn Sie mehrere Worker-Pools haben, fügen Sie die Zone allen Worker-Pools hinzu, sodass Ihr Cluster in allen Zonen ausgeglichen ist. Fügen Sie die Option
--worker-poolfür jeden Worker-Pool hinzu.Wenn Sie verschiedene VPC-Teilnetze für unterschiedliche Worker-Pools verwenden möchten, wiederholen Sie diesen Befehl für jedes Teilnetz und die entsprechenden Worker-Pools. Alle neuen Workerknoten werden den von Ihnen angegebenen VPC-Teilnetzen hinzugefügt, die VPC-Teilnetze für alle vorhandenen Workerknoten werden jedoch nicht geändert.
ibmcloud oc zone add vpc-gen2 --zone ZONE --subnet-id SUBNET_ID --cluster CLUSTER-NAME --worker-pool WORKER_POOL_NAME -
Überprüfen Sie, ob die Zone Ihrem Cluster hinzugefügt wurde. Suchen Sie die hinzugefügte Zone im Feld für die Workerzonen (Worker Zones) in der Ausgabe. Beachten Sie, dass die Gesamtanzahl der Worker im Feld für die Worker sich erhöht hat, da neue Workerknoten in der hinzugefügten Zone bereitgestellt werden.
ibmcloud oc cluster get --cluster CLUSTER-NAMEBeispielausgabe
Workers: 9 Worker Zones: us-south-1, us-south-2, us-south-3 -
Um Apps mit Ingress bereitzustellen, aktualisieren Sie den VPC-Load-Balancer, der den Router bereitstellt, und fügen Sie das Subnetz für die neue Zone in Ihrem Cluster hinzu.