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:

  • Asegúrate de que habilitaste la API de Google Kubernetes Engine.
  • Habilitar la API de Google Kubernetes Engine
  • Asegúrate de que instalaste el SDK de Cloud.
  • Establece la configuración predeterminada de la herramienta de línea de comandos de gcloud para tu proyecto mediante uno de los siguientes métodos:
    • Usa gcloud init si deseas ver una explicación sobre cómo configurar los valores predeterminados del proyecto.
    • Usa gcloud config para configurar el ID, la zona y la región del proyecto de manera individual.

    gcloud init

    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 para autorizar a la herramienta de gcloud a usar 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 de Compute Engine predeterminada.
    6. Elige una región de Compute Engine predeterminada.

    gcloud config

    1. Establece tu ID del proyecto predeterminado:
      gcloud config set project PROJECT_ID
    2. Configura la región de Compute Engine predeterminada (por ejemplo, us-central1):
      gcloud config set compute/region COMPUTE_REGION
    3. Configura la zona de Compute Engine predeterminada (por ejemplo, us-central1-c):
      gcloud config set compute/zone COMPUTE_ZONE
    4. Actualiza gcloud a la versión más reciente:
      gcloud components update

    Cuando configuras las ubicaciones predeterminadas, puedes evitar errores en la herramienta gcloud como el siguiente: One of [--zone, --region] must be supplied: Please specify location.

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 en Cloud Console.

    Ir a 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. También puedes agregar una o más etiquetas de afinidad de nodos.

  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=COMPUTE_REGION

Reemplaza lo siguiente:

  • TEMPLATE_NAME: Es el nombre de la plantilla de nodo nueva.
  • 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.
  • COMPUTE_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:

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 en Cloud Console.

    Ir a 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: es el nombre que deseas para tu nuevo grupo de nodos.
  • 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: es el nombre de la plantilla de nodo que usas.
  • TARGET_SIZE: es la cantidad de nodos que quieres crear en el grupo.

El resultado es similar al siguiente:

Created [https://www.googleapis.com/compute/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 con 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=MACHINE_TYPE \
        --node-locations=COMPUTE_ZONE,COMPUTE_ZONE1
    

    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=MACHINE_TYPE \
        --node-locations=COMPUTE_ZONE,COMPUTE_ZONE1
    

    Reemplaza lo siguiente:

    • NODE_POOL_NAME: Un nombre para el grupo de nodos nuevo.
    • GROUP_NAME: es el nombre del grupo de nodos de usuario único existente que deseas usar.
    • CLUSTER_NAME: es el nombre del clúster en el que creas el grupo de nodos.
    • COMPUTE_REGION: La misma región que tu clúster.
    • MACHINE_TYPE: El tipo de máquina del grupo de nodos.
    • COMPUTE_ZONE y COMPUTE_ZONE1,[...]: son las zonas de los grupos de nodos de usuario único.
  2. Verifica que se creó 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 usuario único.

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 compute sole-tenancy node-groups delete GROUP_NAME \
        --zone COMPUTE_ZONE
    
  3. Borra la plantilla de nodo de usuario único:

    gcloud compute sole-tenancy node-templates delete TEMPLATE_NAME \
        --region COMPUTE_REGION
    

¿Qué sigue?