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 la edición empresarial de Google Kubernetes Engine (GKE), 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. La configuración predeterminada a nivel de la flota solo está disponible para los usuarios que habilitaron GKE Enterprise.

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.

Si habilitaste GKE Enterprise, puedes usar todas estas funciones sin incurrir en cargos adicionales. Si usas el nivel Standard de GKE, puedes pagar y usar un subconjunto de estas funciones por separado. Puedes obtener más información sobre qué funciones están disponibles en qué entornos en la página Opciones de implementación.

Configura características 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.

Si habilitaste GKE Enterprise, 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. Para otras funciones, o si no usas el nivel Enterprise, debes configurar la función en cada clúster individual.

Habilita funciones con los valores predeterminados a nivel de la flota

Con GKE Enterprise, puedes crear una configuración predeterminada a nivel de flota para tus clústeres de GKE para algunas funciones. Después de crear esta configuración, cualquier clúster de GKE que registres durante la creación del clúster se establece automáticamente con los parámetros de configuración a nivel de la flota. Por ejemplo, si configuras valores predeterminados para el controlador de políticas, cada clúster nuevo que crees en la flota tendrá instalada la versión especificada del controlador de políticas, con los paquetes de políticas especificados y otras opciones de configuración. La configuración predeterminada de la flota no se aplica de forma automática a los clústeres miembros existentes de la flota, aunque puedes sincronizar los clústeres existentes con la configuración predeterminada mediante 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 los valores predeterminados a nivel de la flota con la consola de Google Cloud se enumeran en Administración de atributos a nivel de la flota.

  2. En la función elegida, haz clic en Configurar y sigue las instrucciones para habilitar y establecer la configuración predeterminada de la función.

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

gcloud

  1. Crea un archivo YAML que especifique los valores predeterminados de la flota que elegiste para la característica.
  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 mediante los parámetros del comando fleet create o fleet update. Para obtener más detalles, consulta la guía de la función elegida.

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 funciones de flota compatibles, consulta la documentación de Terraform.

No todas las funciones admiten la configuración predeterminada de la flota a través de 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 optar por configurar las funciones de la flota por separado en clústeres individuales. Esta puede ser una buena opción cuando:

  • No tienes GKE Enterprise habilitado.
  • Deseas configurar un clúster existente para usar una característica.
  • Deseas 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. Para obtener más detalles, consulta la guía de la función elegida.

Console

Si habilitaste GKE Enterprise, puedes habilitar las 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 que no se pueden configurar desde esta página, se enumeran en Administra otras funciones listas 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 se habilitó y ver el estado de otras funciones, consulta Cómo ver el estado de las funciones de 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

Si habilitaste GKE Enterprise, 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

Para las funciones compatibles, en esta página se 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 para esta función

También puedes ver si se estableció la configuración predeterminada de la flota para la función y cuántos clústeres miembros de la flota tienen esta configuración. En el caso de las funciones habilitadas, puedes hacer clic en una página de detalles que muestra los clústeres mediante 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 Administra otras funciones listas 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 Cloud usa 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 consola de Google Cloud.

    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 ubicación de Google Cloud en la que se creó el clúster.
    • PROJECT_NUMBER: Es el número del proyecto de Google Cloud 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.