Las flotas te permiten gestionar funciones empresariales y otras funciones habilitadas para flotas en varios clústeres al mismo tiempo. Por ejemplo, puedes aplicar un conjunto común de políticas o crear una malla de un solo servicio en toda tu flota de clústeres. En esta página se ofrece una descripción general de cómo puedes gestionar las funciones de tu flota. Para obtener más información sobre cómo configurar y usar funciones concretas, consulta su documentación.
Si has habilitado Google Kubernetes Engine, puedes gestionar las funciones en la Google Cloud consola. Todos los usuarios de la flota pueden gestionar las funciones mediante la línea de comandos.
Algunas funciones te permiten crear una configuración predeterminada de funciones a nivel de flota para tus clústeres de flota. Por ejemplo, puedes asegurarte de que todos los clústeres que crees en tu flota tengan instalado y configurado Policy Controller.
En la sección Autorización de funciones, puedes consultar más información sobre cómo funciona la gestión de funciones a nivel de flota en tus clústeres.
Funciones a nivel de flota
Puede gestionar las siguientes funciones a nivel de flota:
- Cloud Service Mesh gestionado
- Postura de seguridad
- Config Sync
- Policy Controller
- Servicio de identidad de GKE
- Entrada multi-clúster
- Servicios de varios clústeres (solo clústeres de GKE)
- Validación continua para Autorización binaria
Esta lista no incluye todas las funciones que usan o requieren flotas. Por ejemplo, la federación de identidades de carga de trabajo de flotas se basa en que los clústeres sean miembros de una flota, pero no requiere configuración a nivel de flota. Por su parte, Cloud Service Mesh requiere que los clústeres sean miembros de una flota para todas las opciones de configuración y plano de control.
Puedes consultar más información sobre las funciones disponibles en cada entorno en la página Opciones de implementación.
Configurar funciones a nivel de flota
En las siguientes secciones se describe cómo habilitar y configurar las funciones a nivel de flota.
Para usar una función a nivel de flota, en la mayoría de los casos, debes habilitar la función en tu flota y configurarla para los miembros de la flota. Por lo general, se necesita alguna configuración (u otro ajuste adicional) para usar la función con tus clústeres y cargas de trabajo.
Puedes crear configuraciones de clúster predeterminadas para toda la flota en algunas funciones, lo que significa que cualquier clúster nuevo que crees en tu flota se creará con los ajustes especificados para esa función ya configurados.
Habilitar funciones con valores predeterminados a nivel de flota
Puedes crear ajustes predeterminados a nivel de flota para algunos de tus clústeres de GKE. Una vez que hayas creado estos ajustes, cualquier clúster de GKE que registres durante la creación del clúster se configurará automáticamente con tus configuraciones a nivel de flota. Por ejemplo, si configuras valores predeterminados para Policy Controller, cada nuevo clúster que crees en tu flota tendrá instalada la versión especificada de Policy Controller, con los paquetes de políticas y otros ajustes que hayas indicado. Los ajustes predeterminados de la flota no se aplican automáticamente a los clústeres ya creados de los miembros de la flota, aunque puedes sincronizar los clústeres con tus ajustes predeterminados mediante la Google Cloud consola.
El proceso general para habilitar funciones con valores predeterminados a nivel de flota es el siguiente:
Consola
En el proyecto anfitrión de tu flota, ve a la página Gestor de funciones:
Las funciones que admiten la configuración de valores predeterminados a nivel de flota mediante la consola Google Cloud se indican en Gestión de funciones a nivel de flota.
En la función que hayas elegido, haz clic en Configurar y sigue las instrucciones para habilitar y configurar los valores predeterminados de la función.
Opcional: Selecciona y sincroniza los clústeres de tu flota con la nueva configuración.
gcloud
- Crea un archivo YAML en el que se especifiquen los valores predeterminados de la flota que hayas elegido para la función.
Ejecuta el comando
enable
de la función y pásale el archivo de configuración. Cada función a nivel de flota tiene su propio comandoenable
. Por ejemplo, para habilitar Cloud Service Mesh en tu flota con la configuración predeterminada especificada enmesh.yaml
, ejecuta el siguiente comando en el proyecto host de tu flota:gcloud container fleet mesh enable --fleet-default-member-config mesh.yaml
En algunas funciones, también puedes especificar valores predeterminados de la flota mediante parámetros de los comandos fleet create
o fleet update
. Consulta la guía de la función que hayas elegido para obtener más información.
Terraform
Define un recurso google_gke_hub_feature
con un bloque fleet_default_member_config
que especifique los valores predeterminados de la flota que hayas elegido. Para obtener más información y conocer las funciones de flota admitidas, consulta la documentación de Terraform.
No todas las funciones admiten la configuración predeterminada de la flota con todas estas opciones. Para obtener instrucciones detalladas sobre cómo configurar los valores predeterminados de la flota para cada función admitida, consulta la siguiente documentación:
- Cloud Service Mesh
- Config Sync
- Policy Controller
- Postura de seguridad
- Servicio de identidad de GKE (solo en la línea de comandos)
- Validación continua para la autorización binaria (vista previa, solo línea de comandos)
Habilitar y configurar funciones de flota en clústeres concretos
Como alternativa a la configuración predeterminada de la flota, puede configurar las funciones de la flota por separado en clústeres concretos. Esta puede ser una buena opción si:
- Quieres configurar un clúster para que use una función.
- Quieres usar servicios en los que la configuración predeterminada de la flota no está disponible o no está disponible con la herramienta que has elegido.
Habilitar funciones
Ten en cuenta que este paso no es obligatorio para todas las funciones. Consulta la guía de la función que hayas elegido para obtener más información.
Consola
Puedes habilitar funciones desde la página Gestor de funciones de la Google Cloud consola.
Para habilitar una función en tu flota, sigue estos pasos:
En el proyecto anfitrión de tu flota, ve a la página Gestor de funciones:
Las funciones que se pueden habilitar, pero no configurar desde esta página, se muestran en Gestionar otras funciones aptas para empresas.
En el panel de la función que quieras habilitar, haz clic en Habilitar.
En el panel de detalles que se muestra, haz clic en el botón Habilitar....
gcloud
Cada función a nivel de flota tiene su propio comando enable
. Por ejemplo, para habilitar GKE Identity Service en tu flota, ejecuta el siguiente comando en el proyecto host de la flota:
gcloud container fleet identity-service enable
Consulta la documentación de referencia del SDK de Google Cloud (y sus equivalentes beta y alfa) para ver una lista completa de comandos o los conjuntos de documentación de funciones individuales para obtener más información.
Para saber cómo comprobar si una función ya se ha habilitado y ver el estado de otras funciones, consulta Ver el estado de las funciones de la flota.
Configurar clústeres individuales
Los pasos de configuración que sigas dependerán de la función. Consulta las siguientes guías para obtener más información:
- Cloud Service Mesh
- Postura de seguridad:
- Config Sync
- Policy Controller
- Servicio de identidad de GKE
- Entrada multi-clúster
Ver el estado de las funciones de la flota
La forma más sencilla de ver el estado de las funciones de la flota es usar el panel de control Gestor de funciones de la Google Cloud consola.
En el caso de las funciones admitidas, en esta página se muestra cuántos clústeres de tu flota tienen los siguientes estados:
- Tener esta función habilitada
- Haber habilitado esta función correctamente
- Tener una advertencia sobre esta función
- Tener un error en esta función
También puedes ver si se han configurado los ajustes predeterminados de la flota para la función y cuántos clústeres miembros de la flota tienen estos ajustes. En el caso de las funciones habilitadas, puedes hacer clic para ir a una página de detalles que muestra los clústeres que usan la función y, si está configurada, te permite seleccionar y sincronizar clústeres con la configuración predeterminada de tu flota.
En el caso de las funciones que no se pueden configurar en esta página (que se indican en Gestionar otras funciones aptas para empresas), puedes ver si se han habilitado en tu flota y consultar un panel de detalles que muestra en cuántos clústeres se ha instalado la función y otra información relevante.
Ver el estado de las funciones con gcloud
gcloud
Ejecuta el siguiente comando para enumerar todas las funciones habilitadas:
gcloud container fleet features list
Inhabilitar una función a nivel de flota
Para inhabilitar una función a nivel de flota, haz lo siguiente en tu proyecto host de la flota.
Consola
Solo se pueden inhabilitar desde la consola de Google Cloud las funciones de flota que se indican en Gestionar otras funciones aptas para empresas.
En el proyecto anfitrión de tu flota, ve a la página Gestor de funciones:
Haz clic en Detalles en el panel de la función que quieras inhabilitar.
En el panel de detalles que se muestra, haz clic en el botón Inhabilitar....
gcloud
Cada función a nivel de flota tiene su propio comando disable
. Por ejemplo, para inhabilitar Cloud Service Mesh en tu flota, ejecuta el siguiente comando en el proyecto host de la flota:
gcloud container fleet mesh disable
Consulta la documentación de referencia del SDK de Google Cloud (y sus equivalentes beta y alfa) para ver una lista completa de comandos o los conjuntos de documentación de funciones individuales para obtener más información.
Para saber qué ocurre cuando inhabilitas una función en tu flota, consulta la documentación de la función correspondiente. En muchos casos, la configuración pertinente sigue existiendo en tu clúster, pero ya no puedes gestionar la función de forma centralizada mediante comandos de flota o la consola de Google Cloud .
Autorización de funciones
Para gestionar las funciones a nivel de flota, deben autorizarse mediante el control de acceso basado en roles para que puedan realizar sus funciones en los clústeres. Google Cloudusa un servicio llamado Feature Authorizer que define y actualiza automáticamente los permisos de las funciones habilitadas en la flota, lo que le ahorra tener que definir los permisos de las funciones manualmente en cada clúster, sobre todo cuando Google lanza actualizaciones de funciones.
Cuando registras un clúster, el manifiesto aplicado al clúster contiene un ClusterRoleBinding
que otorga al autorizador de funciones el rol cluster-admin
en el clúster. Este rol se asigna a una cuenta de servicio llamada service-project-number@gcp-sa-gkehub.iam.gserviceaccount.com
.
Cuando inhabilitas una función habilitada para la flota en tu proyecto, FeatureAuthorizer elimina los ClusterRole
y ClusterRoleBinding
correspondientes a la función, lo que impide que la función opere en el clúster.
Ver Feature Authorizer en los registros de auditoría
Para ver la actividad de Feature Authorizer en los registros de auditoría de GKE, sigue estos pasos:
Abre Explorador de registros en la Google Cloud consola.
Ejecuta la siguiente consulta avanzada:
resource.type="k8s_cluster" resource.labels.cluster_name="CLUSTER_NAME" resource.labels.location="CLUSTER_LOCATION" protoPayload.authenticationInfo.principalEmail="system:serviceaccount:gke-connect:connect-agent-sa" protoPayload.authenticationInfo.authoritySelector="service-PROJECT_NUMBER@gcp-sa-gkehub.iam.gserviceaccount.com"
Haz los cambios siguientes:
CLUSTER_NAME
: el nombre del clúster del que quieras ver los registros.CLUSTER_LOCATION
: la Google Cloud ubicación en la que se creó el clúster.PROJECT_NUMBER
: el número de proyecto Google Cloud del proyecto propietario del clúster.
En el caso de los clústeres que no sean de GKE, averigua dónde se almacenan los registros de auditoría de Kubernetes y ejecuta una consulta similar.