En esta página se explica cómo crear un clúster alfa de Google Kubernetes Engine (GKE), que es un clúster de GKE con las APIs y las funciones alfa de Kubernetes habilitadas. En un clúster alfa, todas las puertas de funciones alfa disponibles en la versión de Kubernetes están habilitadas de forma predeterminada. También se habilitan los feature gates beta que Kubernetes habilita de forma predeterminada. Puedes modificar los valores predeterminados de GKE para habilitar las funciones que quieras. Para obtener más información sobre qué feature gates están disponibles en versiones específicas y qué funciones beta están habilitadas de forma predeterminada, consulta el artículo Feature gates para funciones alfa o beta de la documentación de Kubernetes.
Para obtener más información sobre cómo funcionan los clústeres de GKE y cómo elegir el tipo de clúster de GKE que quieres crear, consulta Arquitectura de clústeres de GKE y Acerca de las opciones de configuración de clústeres.
Antes de empezar
Antes de empezar, asegúrate de haber realizado las siguientes tareas:
- Habilita la API de Google Kubernetes Engine. Habilitar la API de Google Kubernetes Engine
- Si quieres usar Google Cloud CLI para esta tarea, instálala y, a continuación, inicialízala. Si ya has instalado la gcloud CLI, obtén la versión más reciente ejecutando
gcloud components update
.
- Verifica que tienes el permiso correcto para crear clústeres. Como mínimo, debes tener el rol Administrador de clúster de Kubernetes Engine.
- Comprueba que conoces las limitaciones de los clústeres alfa.
Configurar cuentas de servicio de IAM para GKE
GKE usa cuentas de servicio de gestión de identidades y accesos que están asociadas a tus nodos para ejecutar tareas del sistema, como el registro y la monitorización. Como mínimo, estas cuentas de servicio de nodo deben tener el rol Cuenta de servicio de nodo predeterminada 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 cuenta de servicio del nodo.
Para asignar el rol roles/container.defaultNodeServiceAccount
a la cuenta de servicio predeterminada de Compute Engine, sigue estos pasos:
consola
- Ve a la página Bienvenida:
- En el campo Número de proyecto, haz clic en Copiar en el portapapeles.
- Ve a la página Gestión de identidades y accesos:
- Haz clic en Conceder acceso.
- En el campo Nuevos principales, especifique el siguiente valor:
SustituyePROJECT_NUMBER-compute@developer.gserviceaccount.com
PROJECT_NUMBER
por el número de proyecto que has copiado. - En el menú Seleccionar un rol, elige el rol Cuenta de servicio de nodo predeterminada de Kubernetes Engine.
- Haz clic en Guardar.
gcloud
- Busca tu Google Cloud número de proyecto:
gcloud projects describe PROJECT_ID \ --format="value(projectNumber)"
Sustituye
PROJECT_ID
por el ID del proyecto.El resultado debería ser similar al siguiente:
12345678901
- Asigna 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"
Sustituye
PROJECT_NUMBER
por el número de proyecto del paso anterior.
Crear un clúster alfa
Puedes crear un clúster alfa mediante la Google Cloud consola o la CLI de gcloud. Para crear un clúster que especifique los feature gates que se van a habilitar o inhabilitar de forma diferente a los valores predeterminados, usa gcloud CLI.
Consola
En la Google Cloud consola, ve a la página Crear un clúster de Kubernetes.
En la sección Información básica de los clústeres, haz lo siguiente:
- Introduce el nombre del clúster.
- En Location type (Tipo de ubicación), selecciona Zonal (Zonal) y, a continuación, la zona de tu clúster.
- Si vas a crear un clúster multizonal, marca la casilla Especificar ubicaciones de nodos predeterminadas y, a continuación, elige las zonas adicionales en las que quieras que se ejecuten los grupos de nodos.
En la lista desplegable Canal de lanzamiento, selecciona Sin canal.
Opcional: Especifica una versión del plano de control en la lista desplegable Versión.
Opcional: Configura otros ajustes para el nuevo clúster.
Opcional (disponible con GKE Enterprise): si quieres registrar tu nuevo clúster en una flota, ve a la sección Registro de flotas y sigue las instrucciones de la consola para crear y registrar un nuevo clúster. Google Cloud
En el panel de navegación, ve a Grupos de nodos y haz clic en default-pool.
En la sección Detalles del grupo de nodos, haz lo siguiente:
- Introduce un nombre para el grupo de nodos predeterminado.
- Opcional: Elige la versión de Node.
- Introduce el Número de nodos que quieres crear en el clúster. Debes tener cuota de recursos disponible para los nodos y sus recursos (como las rutas de cortafuegos).
- Opcional: Puedes inhabilitar las actualizaciones automáticas de los nodos. Sin embargo, te recomendamos que consultes las consideraciones antes de inhabilitar las actualizaciones automáticas de los nodos antes de elegir esta opción.
- Desmarca las opciones Habilitar actualización automática y Habilitar reparación automática.
En el panel de navegación, ve a Grupos de nodos y haz clic en Nodos.
En la lista desplegable Tipo de imagen, selecciona la imagen de nodo.
Elige la configuración de máquina predeterminada que quieras usar en las instancias. Cada tipo de máquina se factura de forma diferente. El tipo de máquina predeterminado es
e2-medium
. Para obtener información sobre los precios de los tipos de máquinas, consulta la hoja de precios de los tipos de máquinas.En la lista desplegable Tipo de disco de arranque, selecciona el tipo de disco.
Introduce el tamaño del disco de arranque.
Opcional: En el panel de navegación, ve a Grupos de nodos y haz clic en Seguridad.
- También puedes especificar una cuenta de servicio de gestión de identidades y accesos personalizada para tus nodos:
- En la página Configuración avanzada, despliega la sección Seguridad.
- En el menú Cuenta de servicio, selecciona la que prefieras.
Te recomendamos que especifiques una cuenta de servicio de IAM con los privilegios mínimos que puedan usar tus nodos en lugar de la cuenta de servicio predeterminada de Compute Engine. Para obtener información sobre cómo crear una cuenta de servicio con el número mínimo de privilegios necesarios, consulta Usar una cuenta de servicio con el número mínimo de privilegios necesarios.
En el panel de navegación, ve a Clúster y haz clic en Funciones.
Haz clic en Habilitar las funciones alfa de Kubernetes en este clúster.
Lee la advertencia y acéptala seleccionando Entiendo las consecuencias.
Haz clic en Crear.
gcloud
Ejecuta el siguiente comando:
gcloud container clusters create CLUSTER_NAME \
--enable-kubernetes-alpha \
--no-enable-autorepair \
--no-enable-autoupgrade \
--location CONTROL_PLANE_LOCATION [\
--alpha-cluster-feature-gates FEATURE_GATES_LIST]
Haz los cambios siguientes:
CLUSTER_NAME
: el nombre que elijas para el clúster.CONTROL_PLANE_LOCATION
: 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-version VERSION
: (opcional) especifica la versión de GKE que se va a ejecutar en el clúster. Si se omite, el clúster ejecuta la versión de parche predeterminada para la creación de clústeres de Sin canal, tal como se muestra en la tabla Versiones actuales.FEATURE_GATES_LIST
: la lista de feature gates que se van a habilitar o inhabilitar de forma diferente a los valores predeterminados. Cada cadena representa la habilitación o inhabilitación de un gate de función. Por ejemplo,featureX=true, featureY=false
. Si omite esta marca, GKE creará el clúster con los valores predeterminados de GKE, lo que significa que se habilitarán todos los feature gates alfa disponibles con la versión de Kubernetes. También se habilitan las puertas de funciones beta que Kubernetes habilita de forma predeterminada. Para obtener más información sobre qué feature gates están disponibles en versiones específicas y qué funciones beta están habilitadas de forma predeterminada, consulta el artículo Feature gates para funciones alfa o beta de la documentación de Kubernetes. Si incluyes este flag, modificarás las feature gates que están habilitadas en comparación con las que GKE establece de forma predeterminada. Para obtener más información, consulta Feature gates y clústeres alfa.
Te recomendamos que especifiques una cuenta de servicio de IAM con los privilegios mínimos que puedan usar tus nodos en lugar de la cuenta de servicio predeterminada de Compute Engine. Para obtener información sobre cómo crear una cuenta de servicio con el número mínimo de privilegios necesarios, consulta Usar una cuenta de servicio con el número mínimo de privilegios necesarios.
Para especificar una cuenta de servicio personalizada en la CLI de gcloud, añade la siguiente marca al comando:
--service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
Sustituye SERVICE_ACCOUNT_NAME por el nombre de tu cuenta de servicio con el número mínimo de privilegios necesarios.
Se te pedirá que confirmes una advertencia que indica que el clúster alfa no se ha actualizado y se eliminará al cabo de 30 días:
This will create a cluster with Kubernetes alpha features enabled.
- This cluster will not be covered by the GKE SLA and should
not be used for production workloads.
- You will not be able to upgrade the master or nodes.
- The cluster will be deleted after 30 days.
Interactuar con un clúster mediante kubectl
Una vez que hayas creado un clúster, debes configurar kubectl
para poder interactuar con él desde la línea de comandos.
Comprobar el estado de la función de puerta de un clúster alfa
En los clústeres alfa, puedes habilitar o inhabilitar selectivamente los feature gates. Para obtener más información, consulta Feature gates y clústeres alfa.
Para comprobar el estado de la función de tu clúster, consulta Comprobar el estado de la función.
Comprobar cuándo caduca un clúster alfa
Para comprobar cuándo caducan los clústeres alfa, ejecuta el siguiente comando:
gcloud container clusters list
Solucionar problemas al crear un clúster alfa con feature gates
Si intentas crear un clúster con un feature gate no válido o con un feature gate que no sea compatible con la versión de Kubernetes de tu clúster, este se puede crear en un estado de error.
En Cloud Logging, verás un mensaje similar al siguiente:
failed to set feature gates from initial flags-based config:
unrecognized feature gate: UNRECOGNIZED_FEATURE_GATE_NAME
Si aparece este error, elimina el clúster que no se ha podido crear. Comprueba la ortografía y la compatibilidad de los feature gates con la versión de Kubernetes proporcionada. A continuación, intenta crear el clúster de nuevo.
Siguientes pasos
- Consulta más información sobre los tipos de clústeres que puedes crear.
- Consulta información sobre cómo gestionar tus clústeres.
- Aprende a eliminar clústeres.