Usa nodos de usuario único de Compute Engine en GKE

En esta página, se muestra cómo usar nodos de usuario único de Compute Engine en Google Kubernetes Engine (GKE).

Los nodos de usuario único son servidores físicos dedicados que ejecutan las VM de un proyecto específico. Puedes usar nodos de usuario único a fin de mantener tus VM separadas de forma física de las VM en otros proyectos o para agruparlas en el mismo hardware del host.

Antes de comenzar

Antes de comenzar, asegúrate de haber realizado las siguientes tareas:

Establece la configuración de gcloud predeterminada mediante uno de los siguientes métodos:

  • Usa gcloud init si deseas ver una explicación sobre cómo configurar parámetros predeterminados.
  • Usa gcloud config para establecer el ID, la zona y la región del proyecto de manera individual.

Usa gcloud init

Si recibes el error One of [--zone, --region] must be supplied: Please specify location, completa esta sección.

  1. Ejecuta gcloud init y sigue las instrucciones:

    gcloud init

    Si usas SSH en un servidor remoto, usa la marca --console-only para evitar que el comando abra un navegador:

    gcloud init --console-only
  2. Sigue las instrucciones a fin de autorizar a gcloud para que use tu cuenta de Google Cloud.
  3. Crea una configuración nueva o selecciona una existente.
  4. Elige un proyecto de Google Cloud.
  5. Elige una zona predeterminada de Compute Engine.

Usa gcloud config

  • Establece tu ID del proyecto predeterminado:
    gcloud config set project PROJECT_ID
  • Si trabajas con clústeres zonales, establece tu zona de procesamiento predeterminada:
    gcloud config set compute/zone COMPUTE_ZONE
  • Si trabajas con clústeres regionales, establece tu región de procesamiento predeterminada:
    gcloud config set compute/region COMPUTE_REGION
  • Actualiza gcloud a la versión más reciente:
    gcloud components update

Solicita cuota adicional

Los nodos de usuario único son grandes (por ejemplo, 96 CPU virtuales y 624 GB de memoria) y las cuotas predeterminadas del proyecto son demasiado bajas para controlarlas.

Debes solicitar un aumento de cuota para las CPU de la API de Compute Engine en la página de cuotas a fin de crear nodos de usuario único. Para obtener más información sobre cómo solicitar el aumento, consulta la página Cuotas.

La cantidad de CPU que necesitas depende de los siguiente factores:

  • El uso actual de la cuota de CPU
  • El tamaño del grupo de nodos
  • La plantilla de nodos

Examina la cantidad de núcleos de tu tipo de nodo de usuario único y solicita un límite de CPU de al menos esa cantidad, de preferencia con un margen de 10 CPU adicionales.

Crea una plantilla de nodo de usuario único

Una plantilla de nodo de usuario único es un recurso regional que define y aplica propiedades a cada nodo cuando se crea un grupo de nodos. Para obtener más información, consulta los tipos de nodos.

Console

  1. Ve a la página Nodos de usuario único.

    Ir a la página Nodos de usuario único

  2. Haz clic en Crear plantilla de nodo.

  3. Especifica un Nombre y una Región para tu plantilla de nodo.

  4. Selecciona un Tipo de nodo.

  5. De forma opcional, agrega una o más etiquetas de afinidad de nodo.

  6. Haz clic en Crear para crear la plantilla de nodo.

gcloud

Usa el comando gcloud compute sole-tenancy node-templates create para crear una plantilla de nodo:

gcloud compute sole-tenancy node-templates create TEMPLATE_NAME \
  --node-type=NODE_TYPE \
  --node-affinity-labels=AFFINITY_LABELS \
  --region=REGION

Reemplaza los siguientes elementos:

  • TEMPLATE_NAME: el nombre de la nueva plantilla de nodo

  • NODE_TYPE: Es el tipo de nodo para los nodos de usuario único que se crearon según esta plantilla. Usa el comando gcloud compute sole-tenancy node-types list para obtener una lista de los tipos de nodos disponibles en cada zona.

  • AFFINITY_LABELS: Son las claves y los valores, [KEY=VALUE,...], de las etiquetas de afinidad. Las etiquetas de afinidad te permiten agrupar nodos y grupos de nodos de forma lógica y, luego, cuando aprovisionas VM, puedes especificar etiquetas de afinidad en las VM para programarlas en un conjunto específico de nodos o grupos de nodos. Para obtener más información, consulta Afinidad y antiafinidad de nodos.

  • REGION: Es la región en la que se creará la plantilla de nodo. Puedes usar esta plantilla para crear grupos de nodos en cualquier zona de esta región.

El resultado es similar al siguiente ejemplo:

Created [https://www.googleapis.com/compute/v1/projects/my-project/regions/us-central1/nodeTemplates/template-name].

Crea un grupo de nodos de usuario único

Un grupo de nodos es un conjunto de nodos de usuario único en una zona específica de la misma plantilla de nodo de usuario único. En el caso de los clústeres regionales y los grupos de nodos disponibles en varias zonas, debes crear un grupo de nodos con el mismo nombre en cada zona.

Console

Para crear un grupo de nodos de usuario único, realiza los siguientes pasos:

  1. Ve a la página Nodos de usuario único.

    Ir a la página Nodos de usuario único

  2. Haz clic en Crear grupo de nodos.

  3. Especifica un nombre para la plantilla de nodo.

  4. Selecciona la misma región en la que creaste la plantilla de nodo y, luego, selecciona una zona en esa región.

  5. Selecciona tu Plantilla de nodo.

  6. De manera opcional, habilita el modo de ajuste de escala automático.

  7. Especifica la cantidad de nodos que deseas incluir en el grupo.

  8. De manera opcional, cambia la política de mantenimiento.

  9. Haz clic en Crear para crear el nuevo grupo de nodos.

gcloud

Crea un grupo de nodos a partir de la plantilla:

gcloud compute sole-tenancy node-groups create group-name --zone compute-zone \
  --node-template template-name --target-size target-size

Reemplaza lo siguiente:

  • group-name: El nombre que quieres que tenga el grupo de nodos nuevo.
  • compute-zone es la zona en la que se encuentra este grupo de nodos. Esta zona debe estar en la misma región que la plantilla de nodos que usas.
  • template-name: El nombre de la plantilla de nodo que usas.
  • target-size: La cantidad de nodos que quieres crear en el grupo.

El resultado es similar al siguiente ejemplo:

Created [https://www.googleapis.com/compute/beta/projects/my-project/zones/us-central1-a/nodeGroups/group-name].

Crea un grupo de nodos de usuario único de GKE

Ahora que creaste un grupo de nodos de usuario único en Compute Engine, puedes crear un grupo de nodos de usuario único.

Si ya tienes un clúster de GKE, puedes agregarle un grupo de nodos de usuario único. De lo contrario, crea un clúster con gcloud container clusters create.

Si usas un clúster regional o si tu grupo de nodos está disponible en varias zonas, debes crear un grupo de nodos con el mismo nombre en cada una de esas zonas. Si no puedes volver a usar el nombre en cada zona, crea grupos de nodos separados para cada zona.

  1. Crea un grupo de nodos nuevo con un grupo de nodos específico mediante el siguiente comando:

    Para grupos de nodos zonales:

     gcloud container node-pools create node-pool-name \
       --node-group group-name --cluster cluster-name \
       --zone compute-zone --machine-type=node-group-machine-type \
       --node-locations=node-group-zone
    

    Para grupos de nodos regionales:

      gcloud container node-pools create node-pool-name \
        --node-group group-name --cluster cluster-name \
        --region compute-region --machine-type=node-group-machine-type \
        --node-locations=node-group-zone,[node-group-zone,…]
    

    Reemplaza lo siguiente:

    • node-pool-name: Un nombre para el grupo de nodos nuevo.
    • group-name: El nombre del grupo de nodos de usuario único existente que deseas usar.
    • cluster-name: El nombre del clúster en el que creas el grupo de nodos.
    • compute-zone: Es la misma zona que tu clúster.
    • compute-region: La misma región que tu clúster.
    • machine-type: El tipo de máquina del grupo de nodos.
    • node-group-zone: Las zonas del grupo de nodos de usuario único.

  2. Verifica que se haya creado el grupo de nodos:

      kubectl get nodes
    

Deberías ver una lista de nodos en el estado Ready en el grupo de nodos que acabas de crear. También puedes ver los nodos de usuario único en la página de usuarios únicos.

Limpieza

Para quitar los recursos creados en los ejemplos anteriores, sigue estos pasos:

  1. Borra el grupo de nodos de usuario único:

    gcloud  container node-pools delete node-pool-name
    
  2. Borra el grupo de nodos de usuario único:

    gcloud beta compute sole-tenant node-groups delete group-name --zone compute-zone
    
  3. Borra la plantilla de nodo de usuario único:

    gcloud beta compute sole-tenancy node-templates delete template-name \
        --region compute-region
    

¿Qué sigue?