Ausführung von App-Workloads auf Edge-Workerknoten verhindern
Virtuelle Private Cloud Klassische Infrastruktur
Ein Vorteil von Edge-Workerknoten besteht darin, dass sie so konfiguriert werden können, dass sie nur Netzbetriebsservices (Networking Services) ausführen.
Sie können verhindern, dass Workloads auf Edge-Workerknoten ausgeführt werden und Workerknotenressourcen verbrauchen, indem Sie Kubernetes Makel.
Vorbereitende Schritte
- Stellen Sie sicher, dass Sie über die folgenden IAM-Rollen verfügen:
- Beliebige Plattformzugriffsrolle für den Cluster
- Rolle Manager für den Servicezugriff in allen Namespaces
- Melden Sie sich an Ihrem Konto an. If applicable, target the appropriate resource group. Legen Sie den Kontext für den Cluster fest.
-
Erstellen Sie einen Workerpool mit dem Label
dedicated=edgeoder fügen Sie das Label einem Ihrer vorhandenen Worker-Pools hinzu.- Um einen Classic-Workerpool 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 VPC-Workerpool zu erstellen, können Sie den `worker-pool create vpc-gen2` [Befehl](/docs/containers?topic=containers-kubernetes-service-cli#worker-pool-create-vpc-gen2-cli). ```sh {: pre} ibmcloud oc worker-pool create vpc-gen2 --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/containers?topic=containers-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 Classic-Workerpool zu erstellen, können Sie den
-
Stellen Sie sicher, dass der Worker-Pool und die Workerknoten die Bezeichnung
dedicated=edgehaben.- Um den Worker-Pool zu überprüfen, verwenden Sie den Befehl
get.
ibmcloud ks 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} kubectl describe node <worker_node_private_IP> ``` - Um den Worker-Pool zu überprüfen, verwenden Sie den Befehl
-
Wenden Sie einen Taint auf die Workerknoten mit der Bezeichnung
dedicated=edgean. Der Taint verhindert, dass Pods auf dem Workerknoten ausgeführt werden, und entfernt Pods, die nicht über die Bezeichnungdedicated=edgeverfügen, aus dem Workerknoten. Die entfernten Pods werden auf anderen Workerknoten mit entsprechender Kapazität erneut bereitgestellt.So wenden Sie einen Taint auf alle vorhandenen und zukünftigen Workerknoten in einem Worker-Pool an:
ibmcloud ks worker-pool taint set -c CLUSTER_NAME_OR_ID --worker-pool WORKER_POOL_NAME_OR_ID --taint dedicated=edge:NoExecuteSo wenden Sie einen Taint auf einzelne Workerknoten an:
kubectl taint node -l dedicated=edge dedicated=edge:NoExecuteNun werden nur Pods mit der Tolerierung
dedicated=edgeauf Ihren Edge-Workerknoten bereitgestellt. -
Stellen Sie sicher, dass Ihre Edge-Knoten mit Taints versehen wurden.
kubectl describe nodes -l dedicated=edge | egrep "Taints|Hostname"Beispielausgabe:
Taints: dedicated=edge:NoExecute Hostname: 10.176.48.83 Taints: dedicated=edge:NoExecute Hostname: 10.184.58.7