Empêcher l'exécution de charges de travail d'application sur des noeuds worker de périphérie
Cloud privé virtuel Infrastructure classique
Un avantage des noeuds worker de périphérie est le fait qu'ils peuvent être définis pour n'exécuter que des services de mise en réseau.
Vous pouvez empêcher les charges de travail de s'exécuter sur les nœuds de travail Edge et de consommer les ressources des nœuds de travail en utilisant Kubernetes souillures.
Avant de commencer
- Assurez-vous de disposer des rôles IAM suivants :
- N'importe quel rôle d'accès à la plateforme pour le cluster
- Rôle d'accès au service de gestion pour tous les espaces de noms
- Connectez-vous à votre compte. Le cas échéant, ciblez le groupe de ressources approprié. Définissez le contexte de votre cluster.
-
Créez un pool de travailleurs avec le libellé
dedicated=edgeou ajoutez l'étiquette à l'un de vos pools de travailleurs existants.- Pour créer un pool de nœuds de calcul Classic, vous pouvez utiliser l'outil
worker-pool create classiccommande.
ibmcloud oc worker-pool create classic --name POOL_NAME --cluster CLUSTER --flavor FLAVOR --size-per-zone WORKERS_PER_ZONE --hardware ISOLATION --label dedicated=edge ``` * Pour créer un pool de nœuds de calcul VPC, vous pouvez utiliser l'outil `worker-pool create vpc-gen2` [commande](/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 ``` * Pour étiqueter un pool de nœuds de calcul existant, vous pouvez utiliser l'outil `worker-pool label set` [commande](/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 ``` - Pour créer un pool de nœuds de calcul Classic, vous pouvez utiliser l'outil
-
Vérifiez que le pool de noeuds worker et les noeuds worker comportent le libellé
dedicated=edge.- Pour vérifier le pool de travailleurs, utilisez la commande
get.
ibmcloud ks worker-pool get --cluster CLUSTER_NAME_OR_ID --worker-pool WORKER_POOL_NAME_OR_ID ``` * Pour vérifier les noeuds worker individuels, examinez la zone **Labels** de la sortie de la commande suivante : ```sh {: pre} kubectl describe node <worker_node_private_IP> ``` - Pour vérifier le pool de travailleurs, utilisez la commande
-
Appliquez une teinte aux noeuds worker ayant le libellé
dedicated=edge. La tache empêche les pods de s'exécuter sur le nœud worker et supprime les pods qui n'ont pas le libellédedicated=edgedu nœud worker. Les pods retirés sont redéployés sur d'autres noeuds worker dont la capacité le permet.Pour appliquer une tache à tous les noeuds worker existants et futurs dans un pool de noeuds worker :
ibmcloud ks worker-pool taint set -c CLUSTER_NAME_OR_ID --worker-pool WORKER_POOL_NAME_OR_ID --taint dedicated=edge:NoExecutePour appliquer une tache de manière individuelle à certains noeuds worker :
kubectl taint node -l dedicated=edge dedicated=edge:NoExecuteMaintenant, seuls les pods ayant la tolérance
dedicated=edgesont déployés sur vos noeuds worker de périphérie. -
Vérifiez qu'une tache est appliquée à vos noeuds de périphérie.
kubectl describe nodes -l dedicated=edge | egrep "Taints|Hostname"Exemple de sortie :
Taints: dedicated=edge:NoExecute Hostname: 10.176.48.83 Taints: dedicated=edge:NoExecute Hostname: 10.184.58.7