Evitando que cargas de trabalho do app sejam executadas em nós do trabalhador de borda
Nuvem privada virtual Infraestrutura clássica
Um benefício de nós do trabalhador de borda é que eles podem ser especificados para executar somente serviços de rede.
É possível evitar que cargas de trabalho sejam executadas em nós do trabalhador de borda e consumam recursos do nó do trabalhador usando Kubernetes contaminações.
Antes de Iniciar
- Certifique-se de que possui as seguintes funções do IAM:
- Qualquer função de acesso de plataforma para o cluster
- Função de acesso ao serviço de gerenciamento para todos os namespaces
- Efetue login na sua conta. If applicable, target the appropriate resource group. Configure o contexto para o seu cluster.
-
Crie um pool de trabalhadores com o rótulo
dedicated=edgeou adicione o rótulo a um dos seus pools de trabalhadores existentes.- Para criar um pool de trabalhadores clássico, você pode usar o
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 ``` * Para criar um pool de trabalhadores da VPC, você pode usar o `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 ``` * Para rotular um pool de trabalhadores existente, você pode usar o `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 ``` - Para criar um pool de trabalhadores clássico, você pode usar o
-
Verifique se o conjunto de trabalhadores e os nós do trabalhador têm o rótulo
dedicated=edge.- Para verificar o pool de trabalho, use o comando
get.
ibmcloud ks worker-pool get --cluster CLUSTER_NAME_OR_ID --worker-pool WORKER_POOL_NAME_OR_ID ``` * Para verificar os nós do trabalhador individuais, revise o campo **Rótulos** da saída do comando a seguir. ```sh {: pre} kubectl describe node <worker_node_private_IP> ``` - Para verificar o pool de trabalho, use o comando
-
Aplique uma contaminação nos nós do trabalhador com o rótulo
dedicated=edge. A contaminação evita que os pods sejam executados no nó do trabalhador e remove pods que não têm o rótulodedicated=edgedo nó do trabalhador. Os pods removidos são reimplementados em outros nós do trabalhador com capacidade.Para aplicar uma contaminação a todos os nós de trabalhadores existentes e futuros em um conjunto de trabalhadores:
ibmcloud ks worker-pool taint set -c CLUSTER_NAME_OR_ID --worker-pool WORKER_POOL_NAME_OR_ID --taint dedicated=edge:NoExecutePara aplicar uma contaminação em nós do trabalhador individuais:
kubectl taint node -l dedicated=edge dedicated=edge:NoExecuteAgora, somente pods com a tolerância
dedicated=edgesão implementados em nós do trabalhador de borda. -
Verifique se os nós de borda estão contaminados.
kubectl describe nodes -l dedicated=edge | egrep "Taints|Hostname"Saída de exemplo:
Taints: dedicated=edge:NoExecute Hostname: 10.176.48.83 Taints: dedicated=edge:NoExecute Hostname: 10.184.58.7