Administra características a nivel de la flota

Las flotas te permiten administrar funciones empresariales y otras funciones habilitadas para la flota en varios clústeres al mismo tiempo. Esto te permite, por ejemplo, aplicar un conjunto común de políticas o crear una malla de un solo servicio en tu flota de clústeres. En esta página, se proporciona una descripción general de cómo puedes administrar las funciones de tu flota. Para obtener más información sobre la configuración y el uso de funciones individuales, consulta su documentación.

Si habilitaste Google Kubernetes Engine, puedes administrar las funciones en la consola de Google Cloud . Todos los usuarios de la flota pueden administrar funciones con la línea de comandos.

Algunas funciones te permiten crear una configuración de funciones predeterminada a nivel de la flota para tus clústeres de flota. Por ejemplo, puedes asegurarte de que cada clúster que crees en la flota tenga instalado y configurado el controlador de políticas.

Puedes obtener más información sobre cómo funciona la administración de funciones a nivel de flota en tus clústeres “de forma interna” en la sección Autorización de funciones.

Características a nivel de la flota

Puedes administrar las siguientes características a nivel de la flota:

En esta lista, no se incluyen todas las funciones que usan o requieren flotas. Por ejemplo, la federación de identidades para cargas de trabajo de la flota depende de que los clústeres sean miembros de una flota, pero no requiere una configuración a nivel de la flota y Cloud Service Mesh requiere la membresía de la flota para todas las opciones de plano de control y configuración.

Puedes obtener más información sobre qué funciones están disponibles en qué entornos en la página Opciones de implementación.

Configura las funciones a nivel de la flota

En las siguientes secciones, se describe cómo puedes habilitar y configurar funciones a nivel de la flota.

Para usar una función a nivel de la flota, en la mayoría de los casos, debes habilitar la función y configurarla para los miembros de la flota. Por lo general, se requiere alguna preparación o configuración adicional para en efecto usar la función con tus clústeres y cargas de trabajo.

Puedes crear parámetros de configuración de clústeres predeterminados de la flota para algunas funciones, lo que significa que cualquier clúster nuevo que crees en tu flota se creará con la configuración especificada para esa función.

Habilita funciones con valores predeterminados a nivel de la flota

Puedes crear parámetros de configuración predeterminados a nivel de la flota para tus clústeres de GKE en algunas funciones. Después de crear estos parámetros de configuración, cualquier clúster de GKE que registres durante la creación del clúster se configurará automáticamente con los parámetros de configuración a nivel de la flota. Por ejemplo, si configuras valores predeterminados para Policy Controller, cada clúster nuevo que crees en tu flota tendrá instalada la versión especificada de Policy Controller, con los paquetes de políticas y otros parámetros de configuración que hayas especificado. La configuración predeterminada de la flota no se aplica automáticamente a los clústeres miembros de la flota existentes, aunque puedes sincronizar los clústeres existentes con la configuración predeterminada usando la consola de Google Cloud .

El proceso general para habilitar funciones con valores predeterminados a nivel de la flota es el siguiente:

Console

  1. En el proyecto host de la flota, ve a la página Administrador de funciones.

    Ir a Administrador de funciones

    Las funciones que admiten la configuración de valores predeterminados a nivel de la flota con la consola de Google Cloud se enumeran en Administración de funciones a nivel de la flota.

  2. Para la función que elegiste, haz clic en Configurar y sigue las instrucciones para habilitar y configurar los valores predeterminados de la función.

  3. Opcional: Selecciona y sincroniza los clústeres existentes en tu flota con la nueva configuración.

gcloud

  1. Crea un archivo YAML que especifique los valores predeterminados de la flota que elegiste para la función.
  2. Ejecuta el comando enable para la función y pásale tu archivo de configuración. Cada función a nivel de flota tiene su propio comando enable. Por ejemplo, para habilitar Cloud Service Mesh en tu flota con la configuración predeterminada especificada en mesh.yaml, ejecuta el siguiente comando en tu proyecto host de la flota:

    gcloud container fleet mesh enable --fleet-default-member-config mesh.yaml
    

Como alternativa, para algunas funciones, puedes especificar los valores predeterminados de la flota con parámetros para el comando fleet create o fleet update. Consulta la guía de la función que elegiste para obtener más detalles.

Terraform

Define un recurso google_gke_hub_feature con un bloque fleet_default_member_config que especifique los valores predeterminados de la flota que elegiste. Para obtener detalles y conocer las funciones de la flota compatibles, 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 compatible, consulta la siguiente documentación:

Habilita y configura las funciones de la flota en clústeres individuales

Como alternativa a la configuración predeterminada de la flota, puedes configurar las funciones de la flota por separado en clústeres individuales. Esta podría ser una buena opción en los siguientes casos:

  • Quieres configurar un clúster existente para usar 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 elegiste.

Habilita funciones

Ten en cuenta que este paso no es obligatorio para todas las funciones. Consulta la guía de la función que elegiste para obtener más detalles.

Console

Puedes habilitar funciones desde la página Administrador de funciones en la consola de Google Cloud .

Si deseas habilitar una característica para tu flota, haz lo siguiente:

  1. En el proyecto host de la flota, ve a la página Administrador de funciones.

    Ir a Administrador de funciones

    Las funciones que se pueden habilitar, pero no configurar desde esta página, se enumeran en Administrar otras funciones preparadas para empresas.

  2. Haz clic en Habilitar en el panel de la característica que deseas habilitar.

  3. Haz clic en el botón Habilitar… en el panel de detalles que aparece.

gcloud

Cada función a nivel de flota tiene su propio comando enable. Por ejemplo, a fin de habilitar el servicio de identidad de GKE para tu flota, ejecuta el siguiente comando en el proyecto host de tu flota:

gcloud container fleet identity-service enable

Consulta la documentación de referencia del SDK de Google Cloud (y sus equivalentes beta y alfa) y poder obtener una lista completa de comandos o los conjuntos de documentación de funciones individuales para más detalles.

Para obtener información sobre cómo verificar si una función ya está habilitada y ver el estado de otras funciones, consulta Visualiza el estado de las funciones de la flota.

Configura clústeres individuales

Los pasos de configuración que sigas dependerán de la característica. Consulta las siguientes guías para obtener más información:

Visualiza el estado de las características de la flota

La forma más fácil de ver el estado de las funciones de la flota es a través del panel Administrador de funciones en la consola de Google Cloud .

Ir a Administrador de funciones

En el caso de las funciones compatibles, esta página muestra cuántos de tus clústeres de flota tienen el siguiente estado:

  • Tiene esta función habilitada.
  • Tiene esta función habilitada correctamente.
  • Tienen una advertencia sobre esta función
  • Tienen un error en esta función

También puedes ver si se configuraron los parámetros de configuración predeterminados de la flota para la función y cuántos clústeres miembros de la flota tienen estos parámetros de configuración. En el caso de las funciones habilitadas, puedes hacer clic para acceder a una página de detalles que enumera 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 con esta página (que aparecen en Administra otras funciones listas para empresas), puedes ver si la función se habilitó en tu flota y ver un panel de detalles que muestra cómo muchos clústeres tienen la función instalada y otra información relevante.

Visualiza el estado de las funciones con gcloud

gcloud

Ejecuta el siguiente comando para mostrar todas las características habilitadas:

gcloud container fleet features list

Inhabilita una característica a nivel de flota

Para inhabilitar una característica a nivel de la flota, haz lo siguiente en el proyecto host de tu flota:

Console

Solo las funciones de la flota que se enumeran en Administrar otras funciones preparadas para empresas se pueden inhabilitar desde la consola de Google Cloud .

  1. En el proyecto host de la flota, ve a la página Administrador de funciones.

    Ir a Administrador de funciones

  2. Haz clic en Detalles en el panel de la función que deseas inhabilitar.

  3. Haz clic en el botón Inhabilitar… en el panel de detalles que se muestra.

gcloud

Cada función a nivel de flota tiene su propio comando disable. Por ejemplo, si quieres inhabilitar Cloud Service Mesh para tu flota, ejecuta el siguiente comando en el proyecto host de tu flota:

gcloud container fleet mesh disable

Consulta la documentación de referencia del SDK de Google Cloud (y sus equivalentes beta y alfa) y poder obtener una lista completa de comandos o los conjuntos de documentación de funciones individuales para más detalles.

Para conocer el comportamiento esperado después de inhabilitar una función en tu flota, consulta la documentación de función relevantes. En muchos casos, la configuración relevante todavía existe en tu clúster, pero ya no puedes administrar de forma centralizada la función con los comandos de la flota ni con la consola de Google Cloud .

Autorización de características

Para administrar las funciones a nivel de la flota, deben estar autorizadas a través del control de acceso basado en roles para llevar a cabo sus funciones en los clústeres. Google Cloudusa un servicio llamado Autorizador de funciones que establece y actualiza automáticamente los permisos para las funciones habilitadas para la flota, lo que evita que tengas que configurar permisos de funciones de forma manual en cada clúster, en especial cuando Google lanza actualizaciones de funciones.

Cuando registras un clúster, el manifiesto aplicado al clúster contiene una ClusterRoleBinding que le da al Autorizador de características la características cluster-admin en el clúster, y la características se adjunta a una cuenta de servicio llamada service-project-number@gcp-sa-gkehub.iam.gserviceaccount.com.

Cuando inhabilitas una característica habilitada para la flota de tu proyecto, el Autorizador de características borra las ClusterRole y ClusterRoleBinding correspondientes para esa característica, lo que quita la capacidad de la característica de operar en el clúster.

Visualiza al autorizador de características en los registros de auditoría

Para ver la actividad del Autorizador de Funciones en los registros de auditoría de GKE, haz lo siguiente:

  1. Abre el Explorador de registros en la Google Cloud consola.

    Ir a la página Registros

  2. Ejecuta la siguiente búsqueda 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"
    

    Reemplaza lo siguiente:

    • CLUSTER_NAME: el nombre del clúster del que deseas ver los registros.
    • CLUSTER_LOCATION: Es la Google Cloud ubicación en la que se creó el clúster.
    • PROJECT_NUMBER: Es el Google Cloud número del proyecto del proyecto al que pertenece el clúster.

Para los clústeres que no sean de GKE, descubre dónde se almacenan los registros de auditoría de Kubernetes y ejecuta una búsqueda similar.