Isolieren klassischer NLBs auf Edge-Workerknoten
Klassiker
In den folgenden Schritten fügen Sie den Worker-Knoten in jedem öffentlichen oder privaten VLAN Ihres Clusters das Label „ dedicated=edge “ hinzu. Diese Bezeichnung wird verwendet, um Ihre Netzwerklastenausgleichsmodule (NLBs) nur
auf diesen Arbeitsknoten bereitzustellen. Sowohl öffentliche als auch private NLBs können auf Edge-Worker-Knoten bereitgestellt werden.
Wenn Sie einen bestehenden Worker-Pool verwenden möchten, muss dieser Pool alle Zonen Ihres Clusters umfassen und mindestens zwei Worker-Knoten pro Zone enthalten. Sie können den Worker-Pool mit „ dedicated=edge “ kennzeichnen, indem
Sie den Befehl „ ibmcloud oc worker-pool label set “ verwenden.
Vorbereitende Schritte
- Stellen Sie sicher, dass Sie die folgenden IBM Cloud IAM-Rollen innehaben:
- Beliebige Plattformzugriffsrolle für den Cluster
- Servicezugriffsrolle Schreibberechtigter oder Manager für alle Namensbereiche
- Rufen Sie Ihren Red Hat OpenShift-Cluster auf.
-
Erstellen Sie einen Workerpool mit dem Label
dedicated=edgeoder fügen Sie das Label einem Ihrer vorhandenen Worker-Pools hinzu.- Um einen Arbeiterpool zu erstellen, können Sie den
worker-pool create classicBefehl.
ibmcloud oc worker-pool create classic --name POOL_NAME --cluster CLUSTER --flavor FLAVOR --size-per-zone WORKERS_PER_ZONE --hardware ISOLATION --label dedicated=edge ``` * Um einen bestehenden Workerpool zu kennzeichnen, können Sie den `worker-pool label set` [Befehl](/docs/openshift?topic=openshift-kubernetes-service-cli#worker-pool-label-set-cli). ```sh {: pre} ibmcloud oc worker-pool label set --cluster CLUSTER --worker-pool POOL --label dedicated=edge ``` - Um einen Arbeiterpool zu erstellen, können Sie den
-
Stellen Sie sicher, dass der Worker-Pool und die Workerknoten die Bezeichnung
dedicated=edgehaben.- Um den Workerpool zu überprüfen, führen Sie den
getBefehl.
ibmcloud oc worker-pool get --cluster CLUSTER_NAME_OR_ID --worker-pool WORKER_POOL_NAME_OR_ID ``` * Überprüfen Sie das Feld **Labels** der Ausgabe des folgenden Befehls, um einzelne Workerknoten zu überprüfen. ```sh {: pre} oc describe node <worker_node_private_IP> ``` - Um den Workerpool zu überprüfen, führen Sie den
-
Alle vorhandenen NLBs im Cluster abrufen. Beachten Sie in der Ausgabe den Namespace und den Namen jedes Load Balancers.
oc get services --all-namespaces | grep LoadBalancerBeispielausgabe:
PORT(S) AGE router-default 80:31228/TCP,443:31655/TCP 4h54m LoadBalancer 172.21.71.79 169.46.17.2 -
Führen Sie unter Verwendung der Ausgabe aus dem vorherigen Schritt den folgenden Befehl für jede NLB aus. Dieser Befehl stellt die NLB auf einem Edge-Workerknoten erneut bereit.
oc get service -n <namespace> <name> -o yaml | oc apply -f -Beispielausgabe:
service "router-default" configured -
Um sicherzustellen, dass Netzwerk-Workloads auf Edge-Knoten beschränkt sind, vergewissern Sie sich, dass die Load Balancer auf den Edge-Knoten und nicht auf Nicht-Edge-Knoten eingeplant sind.
- NLB-Pods
- Vergewissern Sie sich, dass NLB-Pods auf Edge-Knoten bereitgestellt werden. Suchen Sie nach der externen IP-Adresse des Load-Balancer-Dienstes, die in der Ausgabe des vorherigen Schritts aufgeführt ist. Ersetzen Sie die Punkte (
.) mit Bindestrichen (-). Im folgenden Beispiel für diecrc81nk5l10gfhdql4i3qghat der NLB eine externe IP-Adresse von169.46.17.2.Beispielausgabe:oc describe nodes -l dedicated=edge | grep "169-46-17-2"ibm-system ibm-cloud-provider-ip-169-46-17-2-76fcb4965d-wz6dg 5m (0%) 0 (0%) 10Mi (0%) 0 (0%) ibm-system ibm-cloud-provider-ip-169-46-17-2-76fcb4965d-2z64r 5m (0%) 0 (0%) 10Mi (0%) 0 (0%) - Confirm that no NLB pods are deployed to non-edge nodes. Beispiel für den NLB „
public-crc81nk5l10gfhdql4i3qg-nlb1“, der über die externe IP-Adresse169.46.17.2verfügt:oc describe nodes -l dedicated!=edge | grep "169-46-17-2"- If the NLB pods are correctly deployed to edge nodes, no NLB pods are returned. Your NLBs are successfully rescheduled onto only edge worker nodes.
- If NLB pods are returned, continue to the next step.
- Vergewissern Sie sich, dass NLB-Pods auf Edge-Knoten bereitgestellt werden. Suchen Sie nach der externen IP-Adresse des Load-Balancer-Dienstes, die in der Ausgabe des vorherigen Schritts aufgeführt ist. Ersetzen Sie die Punkte (
- NLB-Pods
-
Wenn NLB-Pods weiterhin auf Nicht-Edge-Knoten bereitgestellt werden, können Sie die Pods löschen, sodass sie erneut auf Edge-Knoten bereitgestellt werden.
Löschen Sie jeweils nur einen Pod und vergewissern Sie sich, dass der Pod auf einen Edge-Knoten umverteilt wurde, bevor Sie weitere Pods löschen.
- Pod löschen. Wenn beispielsweise einer der NLB-Pods von „
public-crc81nk5l10gfhdql4i3qg-alb1“ keine Zuordnung zu einem Edge-Knoten vorgenommen hat:
oc delete pod ibm-cloud-provider-ip-169-46-17-2-76fcb4965d-wz6dg -n ibm-system ``` 2. Stellen Sie sicher, dass der Pod auf einem Edge-Workerknoten neu geplant wurde. Die Neuplanung erfolgt automatisch, kann aber einige Minuten dauern. Beispiel für den NLB „ `public-crc81nk5l10gfhdql4i3qg-alb1` “, der über die externe IP-Adresse `169.46.17.2` verfügt: ```sh {: pre} oc describe nodes -l dedicated=edge | grep "169-46-17-2" ``` Beispielausgabe: ```sh {: screen} ibm-system ibm-cloud-provider-ip-169-46-17-2-76fcb4965d-wz6dg 5m (0%) 0 (0%) 10Mi (0%) 0 (0%) ibm-system ibm-cloud-provider-ip-169-46-17-2-76fcb4965d-2z64r 5m (0%) 0 (0%) 10Mi (0%) 0 (0%) ``` - Pod löschen. Wenn beispielsweise einer der NLB-Pods von „
Sie haben die Worker-Knoten in einem Worker-Pool mit „ dedicated=edge “ gekennzeichnet und alle vorhandenen NLBs auf den Edge-Knoten neu bereitgestellt. Alle nachfolgenden NLBs, die dem Cluster hinzugefügt werden, werden ebenfalls
auf einem Edge-Knoten in Ihrem Edge-Worker-Pool bereitgestellt. Verhindern Sie nun als nächsten Schritt, dass andere Arbeitslasten auf Edge-Workerknoten ausgeführt werden und blockieren Sie eingehenden Datenverkehr an Knotenports auf Workerknoten.