Blocco dell'esecuzione dei carichi di lavoro dell'applicazione sui nodi di lavoro edge
Virtual Private Cloud Infrastruttura classica
Uno dei vantaggi dei nodi di lavoro edge è che possono essere specificati per eseguire solo i servizi di rete.
Puoi impedire che i carichi di lavoro vengano eseguiti sui nodi di lavoro edge e consumino le risorse del nodo di lavoro utilizzando Kubernetes contaminazioni.
Prima di iniziare
- Assicurati di disporre dei seguenti ruoli IAM:
- Qualsiasi ruolo di accesso alla piattaforma per il cluster
- Manager ruolo di accesso al servizio per tutti gli spazi dei nomi
- Accedi al tuo account. Se applicabile, specifica il gruppo di risorse appropriato. Imposta il contesto per il tuo cluster.
-
Crea un pool di lavoratori con l'etichetta
dedicated=edgeoppure aggiungi l'etichetta a uno dei tuoi pool di lavoratori esistenti.- Per creare un pool di lavoratori classico, puoi utilizzare il file
worker-pool create classiccomando.
ibmcloud oc worker-pool create classic --name POOL_NAME --cluster CLUSTER --flavor FLAVOR --size-per-zone WORKERS_PER_ZONE --hardware ISOLATION --label dedicated=edge ``` * Per creare un pool di nodi di lavoro VPC, puoi utilizzare il file `worker-pool create vpc-gen2` [comando](/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 ``` * Per etichettare un pool di nodi di lavoro esistente, puoi utilizzare il file `worker-pool label set` [comando](/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 ``` - Per creare un pool di lavoratori classico, puoi utilizzare il file
-
Verifica che il pool di nodi di lavoro e i nodi di lavoro abbiano l'etichetta
dedicated=edge.- Per verificare il pool di lavoratori, utilizzare il comando
get.
ibmcloud ks worker-pool get --cluster CLUSTER_NAME_OR_ID --worker-pool WORKER_POOL_NAME_OR_ID ``` * Per controllare i singoli nodi di lavoro, esamina il campo **Labels** dell'output del seguente comando. ```sh {: pre} kubectl describe node <worker_node_private_IP> ``` - Per verificare il pool di lavoratori, utilizzare il comando
-
Applica un taint ai nodi di lavoro con l'etichetta
dedicated=edge. Il "taint" impedisce l'esecuzione dei pod sul nodo di lavoro e rimuove dal nodo di lavoro i pod che non presentano l'etichetta "dedicated=edge". I pod che vengono rimossi vengono ridistribuiti ad altri nodi di lavoro con capacità.Per applicare un taint a tutti i nodi di lavoro esistenti e futuri in un pool di nodi di lavoro:
ibmcloud ks worker-pool taint set -c CLUSTER_NAME_OR_ID --worker-pool WORKER_POOL_NAME_OR_ID --taint dedicated=edge:NoExecutePer applicare un taint ai singoli nodi di lavoro:
kubectl taint node -l dedicated=edge dedicated=edge:NoExecuteAdesso, solo i pod con la tolleranza
dedicated=edgevengono distribuiti ai tuoi nodi di lavoro edge. -
Verifica che i tuoi nodi edge siano con taint.
kubectl describe nodes -l dedicated=edge | egrep "Taints|Hostname"Output di esempio:
Taints: dedicated=edge:NoExecute Hostname: 10.176.48.83 Taints: dedicated=edge:NoExecute Hostname: 10.184.58.7