En esta página, se explica cómo crear un clúster o grupo de nodos de GKE Standard con nodos Arm para que puedas ejecutar cargas de trabajo Arm en Google Kubernetes Engine (GKE). Para aprender a implementar cargas de trabajo de Arm en clústeres de Autopilot, consulta Implementa cargas de trabajo de Autopilot en la arquitectura de Arm.
Puedes crear clústeres con nodos Arm usando la serie de máquinas C4A o la serie de máquinas Tau T2A. Si deseas obtener más información sobre los beneficios de Arm y elegir la mejor serie de máquinas para tus cargas de trabajo, consulta VMs de Arm en Compute.
Con GKE, puedes crear un clúster que tenga grupos de nodos con un tipo de arquitectura (por ejemplo, Arm) o varios tipos de arquitectura (por ejemplo, Arm y x86). Cuando ejecutas nodos con varios tipos de arquitectura, puedes implementar cargas de trabajo en diferentes arquitecturas del mismo clúster.
Esta página está dirigida a operadores y desarrolladores que aprovisionan y configuran recursos de la nube que implementan cargas de trabajo. Para obtener más información sobre los roles comunes, consulta Roles y tareas comunes de los usuarios de GKE.
Antes de leer esta página, familiarízate con las cargas de trabajo de Arm en GKE.
Antes de comenzar
Antes de comenzar, asegúrate de haber realizado las siguientes tareas:
- Habilita la API de Google Kubernetes Engine. Habilitar la API de Google Kubernetes Engine
- Si deseas usar Google Cloud CLI para esta tarea, instala y, luego, inicializa gcloud CLI. Si ya instalaste gcloud CLI, ejecuta el comando
gcloud components update
para obtener la versión más reciente. Es posible que las versiones anteriores de gcloud CLI no admitan la ejecución de los comandos que se describen en este documento.
- Revisa los requisitos y las limitaciones de los nodos C4A y T2A.
- Asegúrate de tener los permisos correctos para crear clústeres. Como mínimo, debes ser un administrador de clústeres de Kubernetes Engine.
Configura cuentas de servicio de IAM para GKE
GKE usa cuentas de servicio de IAM que se adjuntan a tus nodos para ejecutar tareas del sistema, como el registro y la supervisión. Como mínimo, estas cuentas de servicio de nodo deben tener el rol de cuenta de servicio de nodo predeterminado de Kubernetes Engine (roles/container.defaultNodeServiceAccount
) en tu proyecto. De forma predeterminada, GKE usa la cuenta de servicio predeterminada de Compute Engine, que se crea automáticamente en tu proyecto, como la cuenta de servicio del nodo.
Para otorgar el rol roles/container.defaultNodeServiceAccount
a la cuenta de servicio predeterminada de Compute Engine, completa los siguientes pasos:
Console
- Ve a la página Bienvenido:
- En el campo Número del proyecto, haz clic en Copiar en el portapapeles.
- Ve a la página IAM:
- Haz clic en Grant access.
- En el campo Principales nuevas, especifica el siguiente valor:
ReemplazaPROJECT_NUMBER-compute@developer.gserviceaccount.com
PROJECT_NUMBER
por el número de proyecto que copiaste. - En el menú Selecciona un rol, selecciona el rol de Cuenta de servicio de nodo predeterminado de Kubernetes Engine.
- Haz clic en Guardar.
gcloud
- Busca tu Google Cloud número de proyecto:
gcloud projects describe PROJECT_ID \ --format="value(projectNumber)"
Reemplaza
PROJECT_ID
con el ID del proyecto.El resultado es similar a este:
12345678901
- Otorga el rol
roles/container.defaultNodeServiceAccount
a la cuenta de servicio predeterminada de Compute Engine:gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com" \ --role="roles/container.defaultNodeServiceAccount"
Reemplaza
PROJECT_NUMBER
por el número de proyecto del paso anterior.
Crea un clúster con un grupo de nodos Arm
En las siguientes instrucciones, se explica cómo crear un clúster nuevo con un grupo de nodos que ejecuta nodos Arm de la serie de máquinas C4A o la serie de máquinas Tau T2A.
Puedes usar gcloud CLI, la consola de Google Cloud o Terraform para crear el clúster.
gcloud
Crea un clúster zonal nuevo con el grupo de nodos predeterminado mediante el uso de los nodos Arm:
gcloud container clusters create CLUSTER_NAME \
--location CONTROL_PLANE_LOCATION \
--node-locations NODE_LOCATIONS \
--machine-type ARM_MACHINE_TYPE \
--num-nodes NUM_NODES
Reemplaza lo siguiente:
CLUSTER_NAME
: es el nombre del clúster nuevo con un grupo de nodos ARM.CONTROL_PLANE_LOCATION
: Es la ubicación de Compute Engine del plano de control de tu clúster. Proporciona una región para los clústeres regionales o una zona para los clústeres zonales. La región o zona seleccionada debe ser una de las ubicaciones disponibles para la serie de máquinas Arm que elijas.NODE_LOCATIONS
: las zonas del grupo de nodos, comous-central1-a
. Debes elegir entre las zonas disponibles para la serie de máquinas Arm o la creación de grupos de nodos podría fallar.ARM_MACHINE_TYPE
: Una de las formas de máquina C4A o formas de máquina T2A disponibles, comoc4a-standard-8
ot2a-standard-16
.NUM_NODES
: la cantidad de nodos para el grupo de nodos Arm.
Te recomendamos que especifiques una cuenta de servicio de IAM con privilegios mínimos que tus nodos puedan usar en lugar de la cuenta de servicio predeterminada de Compute Engine. Para obtener información sobre cómo crear una cuenta de servicio con privilegios mínimos, consulta Usa una cuenta de servicio privilegio mínimo mínimos.
Para especificar una cuenta de servicio personalizada en gcloud CLI, agrega la siguiente marca a tu comando:
--service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
Reemplaza SERVICE_ACCOUNT_NAME por el nombre de tu cuenta de servicio con privilegios mínimos.
Si deseas establecer una configuración adicional para el clúster, consulta la referencia de gcloud container clusters create
a fin de obtener una lista completa de la configuración disponible cuando se crea el clúster.
Console
En la consola de Google Cloud , ve a la página Crea un clúster de Kubernetes.
Configurar el clúster. Para obtener más información, consulta las instrucciones para crear un clúster zonal o crear un clúster regional.
Elige una ubicación en la que los nodos Arm estén disponibles.
- En la sección Conceptos básicos del clúster, en Tipo de ubicación, elige Zonal o Regional:
- En el menú desplegable, elige una zona o región en la que los nodos Arm estén disponibles.
- Marca la casilla Especificar ubicaciones predeterminadas de nodos. Selecciona las zonas donde los nodos Arm estén disponibles.
Para seleccionar un tipo de máquina Arm, en la subsección Nodos, en Establecer la configuración del nodo > Configuración de máquina > Familia de máquinas, seleccionaDE USO GENERAL. En el menú desplegable Serie, selecciona C4A o T2A. En el menú desplegable Tipo de máquina, elige entre las opciones disponibles.
- De manera opcional, especifica una cuenta de servicio de IAM personalizada para tus nodos:
- En la página Configuración avanzada, expande la sección Seguridad.
- En el menú Cuenta de servicio, selecciona la cuenta de servicio que prefieras.
Te recomendamos que especifiques una cuenta de servicio de IAM con privilegios mínimos que tus nodos puedan usar en lugar de la cuenta de servicio predeterminada de Compute Engine. Para obtener información sobre cómo crear una cuenta de servicio con privilegios mínimos, consulta Usa una cuenta de servicio privilegio mínimo mínimos.
Haz clic en Crear.
Terraform
Para crear un clúster zonal con el grupo de nodos predeterminado utilizando nodos Arm a través de Terraform, consulta el siguiente ejemplo:
Si deseas obtener más información sobre el uso de Terraform, consulta Compatibilidad con Terraform para GKE.
Agrega un grupo de nodos Arm a un clúster de GKE
Puedes agregar un grupo de nodos nuevo a un clúster de GKE Standard a través de gcloud CLI, la consola de Google Cloud o Terraform.
Como práctica recomendada para crear un clúster de GKE con cualquier tipo de nodo, te recomendamos que crees y uses una cuenta de servicio de Identity and Access Management (IAM) con privilegios mínimos para que la usen tus grupos de nodos en lugar de la cuenta de servicio predeterminada de Compute Engine.
Para obtener instrucciones sobre cómo crear una cuenta de servicio con privilegios mínimos, consulta Endurece la seguridad del clúster.
gcloud
Agrega un grupo de nodos Arm a un clúster existente:
gcloud container node-pools create NODE_POOL_NAME \
--cluster CLUSTER_NAME \
--location CONTROL_PLANE_LOCATION \
--node-locations NODE_LOCATIONS \
--machine-type ARM_MACHINE_TYPE \
--num-nodes NUM_NODES \
--service-account SERVICE_ACCOUNT
Reemplaza lo siguiente:
NODE_POOL_NAME
: el nombre del grupo de nodos Arm nuevo para el clúster existente.CONTROL_PLANE_LOCATION
: Es la ubicación de Compute Engine del plano de control de tu clúster. Proporciona una región para los clústeres regionales o una zona para los clústeres zonales.CLUSTER_NAME
: el nombre del clúster en el que deseas agregar un grupo de nodos Arm.NODE_LOCATIONS
: las zonas del grupo de nodos, comous-central1-a
. Debes elegir entre las zonas disponibles para la serie de máquinas Arm o la creación de grupos de nodos podría fallar.ARM_MACHINE_TYPE
: Una de las formas de máquina C4A o formas de máquina T2A disponibles, comoc4a-standard-8
ot2a-standard-16
.NUM_NODES
: la cantidad de nodos para el grupo de nodos Arm.
Te recomendamos que especifiques una cuenta de servicio de IAM con privilegios mínimos que tus nodos puedan usar en lugar de la cuenta de servicio predeterminada de Compute Engine. Para obtener información sobre cómo crear una cuenta de servicio con privilegios mínimos, consulta Usa una cuenta de servicio privilegio mínimo mínimos.
Para especificar una cuenta de servicio personalizada en gcloud CLI, agrega la siguiente marca a tu comando:
--service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
Reemplaza SERVICE_ACCOUNT_NAME por el nombre de tu cuenta de servicio con privilegios mínimos.
Si deseas establecer una configuración adicional para el grupo de nodos, consulta la referencia de gcloud container node-pools create
a fin de obtener una lista completa de las opciones de configuración disponibles para la creación de grupos de nodos.
Console
Para agregar un grupo de nodos Arm a un clúster existente, realiza los siguientes pasos:
Ve a la página de Google Kubernetes Engine en la consola de Google Cloud .
En la lista de clústeres, haz clic en el nombre del clúster que deseas modificar.
Haz clic en add_box Agregar grupo de nodos.
Configura tu grupo de nodos.
Elige las ubicaciones de los nodos en los que los nodos Arm están disponibles.
- En la sección Detalles del grupo de nodos, marca la casilla Especificar las ubicaciones de los nodos.
- Selecciona las zonas donde los nodos Arm estén disponibles.
Para seleccionar un tipo de máquina Arm, en la subsección Nodos, en Establecer la configuración del nodo > Configuración de máquina > Familia de máquinas, seleccionaDE USO GENERAL. En el menú desplegable Serie, selecciona C4A o T2A. En el menú desplegable Tipo de máquina, elige entre las opciones disponibles.
En el menú de navegación, haz clic en Seguridad.
- De manera opcional, especifica una cuenta de servicio de IAM personalizada para tus nodos:
- En la página Configuración avanzada, expande la sección Seguridad.
- En el menú Cuenta de servicio, selecciona la cuenta de servicio que prefieras.
Te recomendamos que especifiques una cuenta de servicio de IAM con privilegios mínimos que tus nodos puedan usar en lugar de la cuenta de servicio predeterminada de Compute Engine. Para obtener información sobre cómo crear una cuenta de servicio con privilegios mínimos, consulta Usa una cuenta de servicio privilegio mínimo mínimos.
Haz clic en Crear para agregar el grupo de nodos.
Terraform
Para agregar un grupo de nodos que use nodos Arm a un clúster existente a través de Terraform, consulta el siguiente ejemplo:
Reemplaza google_container_cluster.default.id
por el nombre del clúster.
Si deseas obtener más información sobre el uso de Terraform, consulta Compatibilidad con Terraform para GKE.
¿Qué sigue?
- Compila imágenes de varias arquitecturas para cargas de trabajo de Arm
- Prepara una carga de trabajo de Arm para la implementación
- Migra la aplicación de x86 en GKE a multiarquitectura con Arm