Los clústeres alfa son clústeres de Google Kubernetes Engine (GKE) de corta duración que habilitan las APIs y funciones alfa de Kubernetes, y pueden ejecutar versiones alfa de las próximas versiones secundarias. En este documento, se muestra cómo crear un clúster alfa, habilitar o inhabilitar marcas de funciones específicas y ejecutar versiones de parches alfa en el canal de versiones rápido. Los clústeres alfa están dirigidos a los primeros usuarios y administradores de plataformas que desean experimentar con las próximas funciones y versiones de Kubernetes.
Para obtener más información sobre cómo funcionan los clústeres de GKE y cómo elegir qué tipo de clúster de GKE crear, consulta Arquitectura del clúster de GKE y Acerca de las opciones de configuración del clúster.
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 la gcloud CLI, ejecuta el comando
gcloud components updatepara 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 indican en este documento.
- Revisa las limitaciones de los clústeres alfa.
Roles obligatorios
Para obtener los permisos que
necesitas para crear clústeres alfa y, también, interactuar con ellos,
pídele a tu administrador que te otorgue el
rol de IAM de administrador de clústeres de Kubernetes Engine (roles/container.clusterAdmin) en tu proyecto.
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
También puedes obtener los permisos necesarios a través de roles personalizados o cualquier otro rol predefinido.
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 al portapapeles.
- Ve a la página IAM:
- Haz clic en Otorgar acceso.
- En el campo Principales nuevas, especifica el siguiente valor:
ReemplazaPROJECT_NUMBER-compute@developer.gserviceaccount.comPROJECT_NUMBERpor 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_IDcon el ID del proyecto.El resultado es similar a lo siguiente:
12345678901
- Otorga el rol
roles/container.defaultNodeServiceAccounta 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_NUMBERpor el número de proyecto del paso anterior.
Crea un clúster alfa
Puedes crear un clúster alfa con la consola de Google Cloud o gcloud CLI. Te recomendamos que uses gcloud CLI por los siguientes motivos:
- Puedes inscribir tu clúster en el canal de versiones rápido, que se recomienda para los clústeres alfa.
Puedes especificar los interruptores de función alfa o beta para habilitarlos o inhabilitarlos de manera diferente a los valores predeterminados.
Console
En la consola de Google Cloud , ve a la página Crea un clúster de Kubernetes.
En la sección Aspectos básicos del clúster, completa lo siguiente:
- Ingresa el nombre de tu clúster.
- En Tipo de ubicación, selecciona Zonal y, luego, selecciona la zona deseada para tu clúster.
- Si creas un clúster multizonal, selecciona la casilla de verificación Especificar las ubicaciones predeterminadas de nodos y, luego, elige las zonas adicionales en las que deseas que se ejecuten los grupos de nodos.
En la lista desplegable Canal de versiones, selecciona Sin canal (obsoleto).
Opcional: Especifica una versión del plano de control en la lista desplegable Versión.
Opcional: Configura otros parámetros para tu nuevo clúster.
Opcional: Si deseas registrar tu clúster nuevo en una flota, ve a la sección Configuración avanzada y sigue las instrucciones de la consola de Google Cloud para crear y registrar un clúster nuevo para completar el registro del clúster.
En el panel de navegación, en Grupos de nodos, haz clic en default-pool.
En la sección Detalles del grupo de nodos, completa lo siguiente:
- Ingresa un Nombre para el Grupo de nodos predeterminado.
- Opcional: Elige la Versión del nodo.
- Ingresa la Cantidad de nodos que deseas crear en el clúster. Debes tener una cuota de recursos disponible para los nodos y sus recursos (como las rutas de firewall).
- Opcional: Puedes elegir inhabilitar las actualizaciones automáticas de nodos, pero te recomendamos que revises las consideraciones antes de inhabilitar las actualizaciones automáticas de nodos antes de elegir esta opción.
- Borra Habilitar actualización automática y Habilitar reparación automática.
En el panel de navegación, en Grupos de nodos, haz clic en Nodos.
En la lista desplegable Tipo de imagen, selecciona la imagen de nodo.
Elige la Configuración de la máquina predeterminada para usar en las instancias. Cada tipo de máquina se factura de manera diferente. El tipo de máquina predeterminado es
e2-medium. Para obtener información sobre el precio del tipo de máquina, consulta la hoja de precios de tipos de máquinas.En la lista desplegable Tipo de disco de arranque, selecciona el tipo de disco deseado.
Ingresa el Tamaño de disco de arranque.
Opcional: En el panel de navegación, en Grupos de nodos, 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.
En el panel de navegación, haz clic en Configuración avanzada.
En la fila Funciones alfa de Kubernetes, haz clic en edit Editar configuración.
Selecciona Habilitar las funciones alfa de Kubernetes en este clúster.
Para leer y confirmar que comprendes la advertencia, selecciona Entiendo las consecuencias.
Haz clic en Guardar.
Haga clic en Crear.
gcloud
Ejecuta el siguiente comando:
gcloud container clusters create CLUSTER_NAME \
--release-channel=CHANNEL \
--enable-kubernetes-alpha \
--no-enable-autorepair \
--no-enable-autoupgrade \
--location CONTROL_PLANE_LOCATION [\
--alpha-cluster-feature-gates FEATURE_GATES_LIST]
Reemplaza lo siguiente:
CLUSTER_NAME: el nombre que eliges para el clústerCHANNEL: Es el tipo de canal de versiones. Este valor debe ser uno de los siguientes:rapid: Inscríbete en el canal de versiones de lanzamiento rápido, que es el canal recomendado para los clústeres alfa.regular: Inscribirse en el canal de versiones regularstable: Inscribirse en el canal de versiones establenone: No inscribirse en un canal de versiones. Esta opción está obsoleta y se quitará.
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: Especifica la versión de GKE que se ejecutará en el clúster (opcional). Si se omite, el clúster ejecuta la versión de parche predeterminada para la creación del clúster para el canal de versiones seleccionado, como se muestra en la tabla Versiones actuales.FEATURE_GATES_LIST: Es la lista de marcas de funciones que se habilitarán o inhabilitarán de forma diferente a los valores predeterminados. Cada cadena representa la habilitación o inhabilitación de un interruptor de función. Por ejemplo,featureX=true, featureY=false. Cuando omites esta marca, GKE crea el clúster con los valores predeterminados para GKE, lo que significa que se habilitan todos los interruptores de función alfa disponibles con la versión de Kubernetes. También se habilitan los interruptores de funciones beta que Kubernetes habilita de forma predeterminada. Para obtener más información sobre qué interruptores de funciones están disponibles con versiones específicas y qué funciones beta están habilitadas de forma predeterminada, consulta la tabla Interruptores de funciones para características alfa o beta en la documentación de Kubernetes. Cuando incluyes esta marca, modificas los interruptores de funciones que se habilitan en comparación con la configuración predeterminada de GKE. Para obtener más información, consulta Interruptores de función y clústeres alfa.
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 la gcloud CLI, agrega la siguiente marca a tu comando:
--service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.comReemplaza SERVICE_ACCOUNT_NAME por el nombre de tu cuenta de servicio con privilegios mínimos.
Se te solicitará que confirmes una advertencia de que el clúster Alfa no se actualiza y se borra después 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.
Interactúa con un clúster mediante kubectl
Después de crear un clúster, debes configurar kubectl para poder interactuar con el clúster de la línea de comandos.
Verifica el estado del interruptor de función para un clúster alfa
Con los clústeres alfa, puedes habilitar o inhabilitar selectivamente las marcas de funciones. Para obtener más información, consulta Interruptores de función y clústeres alfa.
Para verificar el estado del interruptor de función de tu clúster, consulta Verifica el estado del interruptor de función.
Ejecuta versiones de parche alfa en clústeres alfa
Los clústeres alfa que inscribas en el canal de versiones rápido pueden ejecutar versiones de parche alfa de las próximas versiones secundarias de Kubernetes. Estas versiones alfa proporcionan acceso anticipado para probar funciones y cambios en la próxima versión secundaria antes de que GKE ponga esa versión secundaria a disposición de todos los clústeres en el canal rápido.
Para identificar y ejecutar versiones de parches alfa en clústeres alfa, sigue estos pasos:
Identifica las versiones alfa disponibles en el canal rápido:
gcloud container get-server-config \ --flatten="channels" --filter="channels.channel=RAPID" \ --location=LOCATION \ --format="yaml(channels.channel,channels.previewVersions)"Reemplaza
LOCATIONpor la región en la que planeas crear el clúster alfa, comous-central1.El resultado es similar a lo siguiente:
channels: channel: RAPID previewVersions: - 1.37.0-gke.1173000+previewSi el resultado está vacío, significa que las versiones alfa no están disponibles en esa región. Prueba con otra región o consulta las notas de la versión del canal rápido para obtener información sobre la versión.
Crea el clúster alfa:
gcloud container clusters create CLUSTER_NAME \ --release-channel=rapid \ --enable-kubernetes-alpha \ --no-enable-autorepair \ --no-enable-autoupgrade \ --location=CONTROL_PLANE_LOCATION \ --cluster-version=ALPHA_VERSIONReemplaza lo siguiente:
CLUSTER_NAME: un nombre para el clúster alfa.CONTROL_PLANE_LOCATION: Es la región o la zona del plano de control del clúster. Usa la misma región en la que verificaste la disponibilidad de la versión alfa en el paso anterior o una zona de esa región.ALPHA_VERSION: Es la versión específica del parche alfa que se ejecutará en el clúster, según el resultado del paso anterior.
Verifica cuándo vence un clúster Alfa
Para verificar cuándo vencen los clústeres Alfa, ejecuta el siguiente comando:
gcloud container clusters list
Soluciona problemas relacionados con la creación de un clúster alfa con puertas de funciones
Si intentas crear un clúster con un interruptor de funciones no válido o un interruptor de funciones que no es compatible con la versión de Kubernetes de tu clúster, el clúster se puede crear en un estado de error.
Puedes encontrar un mensaje similar al siguiente en Cloud Logging:
failed to set feature gates from initial flags-based config:
unrecognized feature gate: UNRECOGNIZED_FEATURE_GATE_NAME
Si encuentras este error, borra el clúster con errores. Verifica la ortografía y la compatibilidad de los interruptores de funciones con la versión de Kubernetes proporcionada. Luego, intenta crear el clúster nuevamente.
¿Qué sigue?
- Obtén más información sobre los tipos de clústeres que puedes crear.
- Más información sobre cómo administrar tus clústeres.
- Más información sobre cómo borrar clústeres.