Restricción de la ejecución de cargas de trabajo de app en los nodos trabajadores de extremo

Nube privada virtual Infraestructura clásica

Una ventaja de los nodos trabajadores extremos es que se puede especificar que solo ejecuten servicios de red.

Puede evitar que las cargas de trabajo se ejecuten en nodos trabajadores perimetrales y consuman recursos del nodo trabajador mediante el uso Kubernetes contaminaciones.

Antes de empezar

  1. Crea un grupo de trabajadores con la etiqueta.dedicated=edge o agregue la etiqueta a uno de sus grupos de trabajadores existentes.

    • Para crear un grupo de trabajadores clásico, puede utilizar el worker-pool create classic dominio.
        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 crear un grupo de trabajadores de VPC, puede utilizar el `worker-pool create vpc-gen2` [dominio](/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 etiquetar un grupo de trabajadores existente, puede utilizar el `worker-pool label set` [dominio](/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. Verifique que la agrupación de nodos trabajadores y los nodos trabajadores tengan la etiqueta dedicated=edge.

    • Para comprobar el pool de trabajadores, utilice el comando get.
        ibmcloud ks worker-pool get --cluster CLUSTER_NAME_OR_ID --worker-pool WORKER_POOL_NAME_OR_ID
        ```
    * Para comprobar los nodos trabajadores individuales, revise el campo **Labels** de la salida del mandato siguiente.
    ```sh {: pre}
        kubectl describe node <worker_node_private_IP>
        ```
    
    
  3. Aplique una marca a los nodos trabajadores con la etiqueta dedicated=edge. La marca impide que los pods se ejecuten en el nodo de trabajador y elimina los pods que no tienen la etiqueta dedicated=edge del nodo de trabajador. Los pods que se eliminen se volverán a desplegar en otros nodos trabajadores con capacidad.

    Para aplicar una marca a todos los nodos trabajadores existentes y futuros de una agrupación de nodos trabajadores:

    ibmcloud ks worker-pool taint set -c CLUSTER_NAME_OR_ID --worker-pool WORKER_POOL_NAME_OR_ID --taint dedicated=edge:NoExecute
    

    Para aplicar una marca a nodos trabajadores individuales:

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

    Ahora, solo se desplegarán en los nodos trabajadores de extremo los pods con la tolerancia dedicated=edge.

  4. Verifique que los nodos de extremo tienen aplicada una marca.

    kubectl describe nodes -l dedicated=edge | egrep "Taints|Hostname"
    

    Salida de ejemplo:

    Taints:             dedicated=edge:NoExecute
        Hostname:    10.176.48.83
      Taints:             dedicated=edge:NoExecute
    Hostname:    10.184.58.7