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

  1. Erstellen Sie einen Workerpool mit dem Label dedicated=edge oder fügen Sie das Label einem Ihrer vorhandenen Worker-Pools hinzu.

    • Um einen Classic-Workerpool zu erstellen, können Sie den worker-pool create classic Befehl.
        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
        ```
    
  2. Stellen Sie sicher, dass der Worker-Pool und die Workerknoten die Bezeichnung dedicated=edge haben.

    • 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>
        ```
    
    
  3. Wenden Sie einen Taint auf die Workerknoten mit der Bezeichnung dedicated=edge an. Der Taint verhindert, dass Pods auf dem Workerknoten ausgeführt werden, und entfernt Pods, die nicht über die Bezeichnung dedicated=edge verfü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:NoExecute
    

    So wenden Sie einen Taint auf einzelne Workerknoten an:

    kubectl taint node -l dedicated=edge dedicated=edge:NoExecute
    

    Nun werden nur Pods mit der Tolerierung dedicated=edge auf Ihren Edge-Workerknoten bereitgestellt.

  4. 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