Instala el Sincronizador de configuración

El Sincronizador de configuración permite que los operadores de clústeres administren los recursos de Kubernetes mediante archivos, conocidos como archivos de configuración, almacenados en repositorios de Git. En esta página, se muestra cómo habilitar y configurar el Sincronizador de configuración.

El Sincronizador de configuración está disponible para usuarios de Anthos y Google Kubernetes Engine (GKE).

Antes de comenzar

Antes de instalar el Sincronizador de configuración, asegúrate de haber preparado tu entorno, tus clústeres y tus funciones, y de haber habilitado Anthos Config Management.

Prepara tu entorno local

Completa las siguientes tareas para preparar tu entorno local:

  1. Crea un repositorio de Git que pueda contener los archivos de configuración con los que se sincroniza el Sincronizador de configuración, o bien accede a un repositorio con estas características.
  2. Instala y, luego, inicializa el SDK de Cloud, que proporciona los comandos gcloud y nomos. Si usas Cloud Shell, el SDK de Cloud viene preinstalado.

Requisitos del clúster

Crear un clúster que cumpla con los siguientes requisitos o tener acceso a uno:

  • Está en una plataforma y una versión compatibles de Anthos.
  • Usa una versión de Kubernetes 1.14.x o posterior.
  • No es un clúster de Autopilot.
  • Tiene un grupo de nodos que usa un tipo de máquina con al menos 4 CPU virtuales.
  • Tiene Workload Identity habilitado. Workload Identity es la manera recomendada de acceder a los servicios de Google Cloud desde aplicaciones que se ejecutan en Google Kubernetes Engine (GKE) debido a sus propiedades de seguridad y capacidad de administración mejoradas.
  • Si deseas usar un clúster de GKE privado, se crea Cloud NAT para permitir la salida desde nodos de GKE privados. Como alternativa, puedes habilitar el Acceso privado a Google para conectarte al conjunto de direcciones IP externas que usan los servicios y las API de Google.

  • Si deseas usar una cuenta de servicio de Google para otorgar acceso al Sincronizador de configuración a tu repositorio de Git, entonces los permisos de acceso de los nodos del clúster deben incluir el permiso de solo lectura para Cloud Source Repositories.

    Puedes agregar este permiso si incluyes cloud-source-repos-ro en la lista -- scopes especificada en el momento de la creación del clúster o si usas el permiso cloud- platform en el momento de la creación del clúster. Por ejemplo:

    gcloud container clusters create CLUSTER_NAME --scopes=cloud-platform
    

Prepara tu clúster

Después de crear un clúster adecuado, completa los siguientes pasos:

  1. Si usas Anthos Config Management por primera vez, habilita Anthos Config Management.

  2. Registra tu clúster en una flota. La flota de tu proyecto proporciona una forma unificada de ver y administrar tus clústeres y sus cargas de trabajo como parte de Anthos, incluidos los clústeres fuera de Google Cloud. Los cargos de Anthos solo se aplican a tus clústeres registrados.

Prepara permisos

Una vez que se cree el clúster, otórgate la función Administrador de GKE Hub que necesitas para el Sincronizador de configuración en Google Cloud Console. La función de administrador de Hub proporciona acceso completo a una flota.

Para otorgar la función de administrador de Hub, completa los siguientes pasos:

Console

  1. En Cloud Console, ve a la página IAM.

    Ir a la página IAM

  2. Haga clic en Add.

  3. En el campo Miembros nuevos, ingresa una dirección de correo electrónico. Puedes agregar personas individuales, cuentas de servicio o Grupos de Google como miembros.

  4. En la lista desplegable Seleccionar una función, busca y selecciona Administrador de GKE Hub.

  5. Haz clic en Guardar.

gcloud

gcloud projects add-iam-policy-binding PROJECT_ID \
  --member=MEMBER \
  --role=roles/gkehub.admin

Reemplaza lo siguiente:

  • MEMBER: Un identificador para el miembro, que suele tener el siguiente formato: member-type:id. Por ejemplo, user:my-user@example.com. Si deseas obtener una lista completa de los valores que member puede tener, consulta la referencia sobre la vinculación de políticas.

  • PROJECT_ID: El ID de tu proyecto

Instala el Sincronizador de configuración

En las siguientes secciones, le otorgas acceso al Sincronizador de configuración a tu repositorio. Luego de otorgar el acceso, configura la instalación.

Otorga acceso de solo lectura al Sincronizador de configuración a Git

El Sincronizador de configuración necesita acceso de solo lectura a tu repositorio de Git para que pueda leer las configuraciones confirmadas en el repositorio y aplicarlas a tus clústeres.

Si el repositorio no requiere autenticación para el acceso de solo lectura, puedes continuar con la configuración del Sincronizador de configuración y usar none como el tipo de autenticación. Por ejemplo, si puedes explorar el repositorio mediante una interfaz web sin acceder a tu cuenta, o si puedes usar git clone para crear una clonación del repositorio de forma local sin proporcionar credenciales o usar credenciales guardadas, no es necesario que realices la autenticación. En este caso, no necesitas crear un Secret.

Sin embargo, la mayoría de los usuarios deben crear credenciales porque el acceso de lectura a su repositorio está restringido. Si se requieren credenciales, se almacenan en el Secret git-creds en cada clúster inscrito (a menos que uses una cuenta de servicio de Google).

El Sincronizador de configuración admite los siguientes mecanismos de autenticación:

  • Par de claves SSH
  • cookiefile
  • Token
  • Cuenta de servicio de Google (solo repositorios de Google Source Repository)

El mecanismo que elijas dependerá de lo que admita tu repositorio. Si todos los mecanismos están disponibles, te recomendamos usar un par de claves SSH. GitHub, Cloud Source Repositories y Bitbucket son compatibles con el uso de un par de claves SSH. Si tu organización aloja tu repositorio y no sabes qué métodos de autenticación se admiten, comunícate con tu administrador.

Par de claves SSH

Un par de claves SSH consta de dos archivos, una clave pública y una clave privada. Por lo general, la clave pública tiene una extensión .pub.

Para usar un par de claves SSH, completa los siguientes pasos:

  1. Crea un par de claves SSH para permitir que el Sincronizador de configuración se autentique en tu repositorio de Git. Este paso es necesario si necesitas autenticarte en el repositorio para clonarlo o leer de él. Omite este paso si un administrador de seguridad te proporciona un par de claves. Puedes usar un solo par de claves para todos los clústeres o un par de claves por clúster, según tus requisitos de seguridad y cumplimiento.

    El siguiente comando crea una clave RSA de 4096 bits. No se recomiendan valores más bajos:

    ssh-keygen -t rsa -b 4096 \
    -C "GIT_REPOSITORY_USERNAME" \
    -N '' \
    -f /path/to/KEYPAIR_FILENAME
    

    Reemplaza lo siguiente:

    • GIT_REPOSITORY_USERNAME: El nombre de usuario que deseas que el Sincronizador de configuración use para autenticarse en el repositorio.
    • /path/to/KEYPAIR_FILENAME: Una ruta de acceso al par de claves.

    Si usas un host del repositorio de Git de terceros, como GitHub, o deseas usar una cuenta de servicio con Cloud Source Repositories, te recomendamos que uses una cuenta distinta.

  2. Configura el repositorio para que reconozca la clave pública que acabas de crear. Consulta la documentación de tu proveedor de hosting de Git. Se incluyen instrucciones para algunos proveedores de hosting de Git populares para mayor comodidad:

  3. Agrega la clave privada a un Secret nuevo del clúster:

    kubectl create ns config-management-system && \
    kubectl create secret generic git-creds \
     --namespace=config-management-system \
     --from-file=ssh=/path/to/KEYPAIR_PRIVATE_KEY_FILENAME
    

    Reemplaza /path/to/KEYPAIR_PRIVATE_KEY_FILENAME por el nombre de la clave privada (la que no tiene el sufijo .pub).

  4. Borra la clave privada del disco local o protégela.

Archivo cookie

El proceso de adquisición de un cookiefile depende de la configuración del repositorio. Para ver un ejemplo, consulta la sección sobre cómo generar credenciales estáticas en la documentación de Cloud Source Repositories. Por lo general, las credenciales se almacenan en el archivo .gitcookies en el directorio de tu página principal, o las puede proporcionar un administrador de seguridad.

Para usar un cookiefile, completa los siguientes pasos:

  1. Después de crear y obtener el cookiefile, agrégalo a un Secret nuevo en el clúster.

    kubectl create ns config-management-system && \
    kubectl create secret generic git-creds \
     --namespace=config-management-system \
     --from-file=cookie_file=/path/to/COOKIEFILE
    

    Reemplaza /path/to/COOKIEFILE por la ruta de acceso y el nombre de archivo adecuados.

  2. Protege el contenido de cookiefile, si aún lo necesitas usar de forma local. De lo contrario, bórralo.

Token

Si tu organización no permite el uso de claves SSH, se recomienda usar un token. Con el Sincronizador de configuración, puedes usar tokens de acceso personales (PAT) de GitHub, PAT o claves de implementación de GiLab, o la contraseña de la aplicación de Bitbucket como token.

Para crear un Secret con tu token, completa estos pasos:

  1. Crea un token mediante GitHub, GitLab, o Bitbucket.

  2. Después de crear y obtener el token, agrégalo a un Secret nuevo en el clúster:

    kubectl create ns config-management-system && \
    kubectl create secret generic git-creds \
      --namespace="config-management-system" \
      --from-literal=username=USERNAME \
      --from-literal=token=TOKEN
    

    Reemplaza lo siguiente:

    • USERNAME: El nombre de usuario que deseas usar
    • TOKEN: El token que creaste en el paso anterior
  3. Protege el token si lo necesitas de forma local. De lo contrario, bórralo.

Cuenta de servicio de Google

Si tu repositorio se encuentra en un repositorio de Cloud Source Repositories, puedes otorgar al Sincronizador de configuración acceso a un repositorio en el mismo proyecto que tu clúster administrado con una cuenta de servicio de Google.

Para usar un repositorio en Cloud Source Repositories como el repositorio del Sincronizador de configuración, completa los siguientes pasos:

  1. Enumera todos los repositorios:

    gcloud source repos list
    
  2. Copia la URL del repositorio que deseas usar desde el resultado: Por ejemplo:

    REPO_NAME  PROJECT_ID  URL
    my-repo    my-project  https://source.developers.google.com/p/my-project/r/my-repo-csr
    
  3. Cuando configures el Sincronizador de configuración en la siguiente sección, agrega la URL a tu configuración. Si configuras el Sincronizador de configuración con Google Cloud Console, agrega el valor que copiaste en el campo URL. Si configuras el Sincronizador de configuración con la herramienta de línea de comandos de gcloud, agrega el valor que copiaste al campo repo de tu objeto ConfigManagement.

  4. Cuando configures el Sincronizador de configuración, selecciona el tipo de autenticación adecuado.

    Si configuras el Sincronizador de configuración con Google Cloud Console, selecciona Google Cloud Repository como tu tipo de autenticación cuando configures el Sincronizador de configuración.

    Si configuras el Sincronizador de configuración con la herramienta de línea de comandos de gcloud, selecciona gcpServiceAccount o gcenode como tu secretType:

    • gcpServiceAccount: Si Workload Identity está habilitada en tu clúster, agrega gcpServiceAccount como tu tipo de autenticación.

      Si es necesario, crea una cuenta de servicio que puedas usar cuando configures el Sincronizador de configuración. Asegúrate de que la cuenta de servicio tenga acceso de lectura a Cloud Source Repositories. Para ello, otórgale la función source.reader.

      Cuando seleccionas gcpServiceAccount como tu método de autenticación, también debes agregar un gcpServiceAccountEmail cuando configuras el Sincronizador de configuración. Además de agregar la gcpServiceAccountEmail, debes crear una vinculación de función después de configurar el Sincronizador de configuración. Para obtener más información sobre estos pasos, consulta la sección Usa Cloud Source Repositories con Workload Identity.

    • gcenode: Si Workload Identity no está habilitada en tu clúster, agrega gcenode para usar la cuenta de servicio predeterminada de Compute Engine. De forma predeterminada, la cuenta de servicio predeterminada de Compute Engine PROJECT_ID-compute@developer.gserviceaccount.com tiene acceso source.reader al repositorio del mismo proyecto. Sin embargo, si Cloud Source Repositories se encuentra en un proyecto diferente del proyecto de tu clúster, debes otorgar a la cuenta de servicio de Compute Engine predeterminada del proyecto del clúster, source.reader en el proyecto de Cloud Source Repositories.

      Si es necesario, puedes agregar la función source.reader con el siguiente comando:

      gcloud projects add-iam-policy-binding PROJECT_ID \
        --member serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com \
        --role roles/source.reader
      

      Reemplaza lo siguiente:

      • PROJECT_ID: El ID del proyecto de tu organización
      • PROJECT_NUMBER: El número de proyecto de tu organización

      No puedes modificar los permisos de acceso luego de crear un grupo de nodos. Sin embargo, puedes crear un grupo de nodos nuevo con el permiso de acceso adecuado mientras usas el mismo clúster. El permiso gke-default predeterminado no incluye cloud-source-repos-ro.

Configura el Sincronizador de configuración

Google Cloud Console te guía a través del proceso de instalación y automatiza muchos de los pasos. Los comandos de Console son un poco diferentes para los clientes de Anthos y GKE. Haz clic en la pestaña correspondiente para ver las instrucciones correspondientes. También puedes usar la herramienta de línea de comandos de gcloud para completar la instalación.

Console: Anthos

Antes de continuar, asegúrate de registrar los clústeres en una flota.

Si usas Anthos, completa los siguientes pasos para configurar el Sincronizador de configuración:

  1. En Cloud Console, ve a la página Anthos Config Management.

    Ir a Anthos Config Management

  2. Selecciona tus clústeres registrados y haz clic en Configurar.

  3. En la sección Autenticación de repositorio de Git para ACM, selecciona una de las siguientes opciones:

    • Ninguna: No usa autenticación.
    • SSH: Usa un par de claves SSH
    • Cookiefile: Usa un cookiefile
    • Token: Usa un token
    • Google Cloud Repository: Usa una cuenta de servicio de Google para acceder a un Cloud Source Repositories. Selecciona esta opción solo si Workload Identity no está habilitado en tu clúster.
  4. Si aún no lo hiciste, sigue las instrucciones en Google Cloud Console para otorgar al Sincronizador de configuración acceso de solo lectura a Git.

  5. Haga clic en Continuar.

  6. En la sección Configuración de ACM para tus clústeres, completa los siguientes pasos:

    1. En el campo Versión, selecciona la versión 1.7.0 o posterior para Anthos Config Management, que permite la sincronización desde varios repositorios de forma predeterminada.
    2. Selecciona la casilla de verificación Habilitar el Sincronizador de configuración.
      1. En el campo URL, agrega la URL del repositorio de Git para usarla como fuente de información. Puedes ingresar las URL con el protocolo HTTPS o SSH. Por ejemplo, https://github.com/GoogleCloudPlatform/csp-config-management/ usa el protocolo HTTPS. Si no ingresas un protocolo, la URL se trata como una URL HTTPS. Este campo es obligatorio.
      2. Opcional: En el campo Rama, agrega la rama del repositorio desde la que deseas realizar la sincronización. El valor predeterminado es la rama principal (instancia principal).
      3. Opcional: En el campo Etiqueta/Confirmación, agrega la revisión de Git (etiqueta o hash) que se debe pagar. El predeterminado es HEAD.
      4. Opcional: En el campo Directorio de políticas, agrega la ruta dentro del repositorio en la parte superior de la jerarquía de políticas que deseas sincronizar. La opción predeterminada es el directorio raíz del repositorio.
      5. Opcional: En el campo Tiempo de espera de la sincronización, agrega el período en segundos entre las sincronizaciones consecutivas. El tiempo predeterminado es 15 segundos.
      6. Opcional: En el campo Proxy de Git, ingresa la URL para el proxy HTTPS que se usará durante la comunicación con el repositorio de Git. Este es un campo opcional y, si se deja en blanco, no se usa ningún proxy.
      7. Opcional: En el campo Formato de origen, selecciona alguna de las siguientes opciones: jerarquía (predeterminado) o no estructurado (recomendado). Te recomendamos que selecciones no estructuradas como este formato para que puedas organizar tus configuraciones de la manera que te resulte más conveniente.
  7. Haga clic en Listo. Volverás a la página Anthos Config Management. Después de unos minutos, deberías ver Synced en la columna de estado junto a los clústeres que configuraste. Si ves Error, haz clic en la palabra Error para obtener más información.

Console: GKE

Si usas GKE, completa los siguientes pasos para configurar el Sincronizador de configuración:

Registra tus clústeres

Para usar Config Management con GKE, primero debes registrar los clústeres. Cuando registras tus clústeres, estos pueden compartir un conjunto común de opciones de configuración y políticas.

Para registrar tus clústeres, completa las siguientes tareas:

  1. En Cloud Console, ve a la página Config Management.

    Ir a Config Management

    En esta página, se muestra qué clústeres están registrados y configurados en este momento, y puedes comenzar a registrar clústeres nuevos.

  2. Para comenzar el proceso de registro, haz clic en Configurar Config Management.

  3. Para habilitar la API de Config Management, haz clic en Siguiente.

  4. En la página Selecciona clústeres registrados para Config Management, ubica la tabla Clústeres no registrados de este proyecto y busca el clúster que deseas registrar.

  5. Haz clic en Registrar junto al clúster que deseas registrar.

    Una vez que el clúster se registra de forma correcta, aparece en la tabla Selecciona clústeres registrados para Config Management.

Instala el Sincronizador de configuración

Una vez que hayas registrado tus clústeres, puedes continuar con la instalación y configuración de Config Sync.

Para configurar el Sincronizador de configuración, completa los siguientes pasos.

  1. Para instalar el Sincronizador de configuración, selecciona los clústeres que deseas configurar y selecciona Siguiente. La selección de varios clústeres te permite aplicar la misma configuración a los clústeres que configures.
  2. En la página Config Sync que aparece, selecciona la versión de Anthos Config Management que deseas usar. El valor predeterminado es la versión actual.
  3. En la sección Configuraciones, deja seleccionada la casilla de verificación Habilitar el Sincronizador de configuración.
  4. En el campo URL, agrega la URL del repositorio de Git para usarla como fuente de verdad. Puedes ingresar las URL con el protocolo HTTPS o SSH. Por ejemplo, https://github.com/GoogleCloudPlatform/csp-config-management/ usa el protocolo HTTPS. Si no ingresas un protocolo, la URL se trata como una URL HTTPS.
  5. En la lista desplegable Tipo de autenticación, selecciona una de las siguientes opciones:

    • Ninguna: No usa autenticación.
    • SSH: Usa un par de claves SSH
    • Cookiefile: Usa un cookiefile
    • Token: Usa un token
    • Google Cloud Repository: Usa una cuenta de servicio de Google para acceder a un Cloud Source Repositories. Selecciona esta opción solo si Workload Identity no está habilitado en tu clúster.
  6. Sigue las instrucciones en Google Cloud Console para otorgar acceso de solo lectura al Sincronizador de configuración a Git y haz clic en Continuar.

  7. En el campo Rama, agrega la rama del repositorio desde la que deseas realizar la sincronización. El valor predeterminado es la rama principal.

  8. Opcional: En el campo Etiqueta/Confirmación, agrega la revisión de Git (etiqueta o hash) que se debe pagar. El predeterminado es HEAD.

  9. Opcional: En el campo Directorio de políticas, agrega la ruta dentro del repositorio en la parte superior de la jerarquía de políticas que deseas sincronizar. La opción predeterminada es el directorio raíz del repositorio.

  10. Opcional: En el campo Tiempo de espera de la sincronización, agrega el período en segundos entre las sincronizaciones consecutivas. El tiempo predeterminado es 15 segundos.

  11. Opcional: En el campo Proxy de Git, ingresa la URL para el proxy HTTPS que se usará durante la comunicación con el repositorio de Git. Este es un campo opcional y, si se deja en blanco, no se usa ningún proxy.

  12. Opcional: En el campo Formato de origen, selecciona alguna de las siguientes opciones: jerarquía (predeterminado) o no estructurado (recomendado). Te recomendamos que selecciones no estructuradas como este formato para que puedas organizar tus configuraciones de la manera que te resulte más conveniente.

  13. Si no deseas instalar el controlador de políticas, haz clic en Siguiente y desmarca la casilla de verificación **Habilitar política de controladores.

  14. Haz clic en Completar para completar la instalación del Sincronizador de configuración.

gcloud

Antes de continuar, asegúrate de registrar los clústeres en una flota.

Si usas Anthos o GKE, completa los siguientes pasos para configurar el Sincronizador de configuración con la herramienta de línea de comandos de gcloud.

  1. Para preparar la configuración, crea un nuevo manifiesto apply-spec.yaml o usa un manifiesto existente. El uso de un manifiesto existente te permite configurar tu clúster con la misma configuración que usa otro clúster.

Crear manifiesto nuevo

Para configurar el Sincronizador de configuración con una configuración nueva para tu clúster, crea un archivo llamado apply-spec.yaml y copia el siguiente archivo YAML en él:

# apply-spec.yaml

applySpecVersion: 1
spec:
  configSync:
    # Set to true to install and enable Config Sync
    enabled: true
    sourceFormat: FORMAT
    syncRepo: REPO
    syncBranch: BRANCH
    secretType: TYPE
    gcpServiceAccountEmail: EMAIL
    policyDir: DIRECTORY

Reemplaza lo siguiente:

  • FORMAT: agrega unstructured para usar un repositorio no estructurado o agrega hierarchy a fin de usar un repositorio jerárquico. Estos valores distinguen entre mayúsculas y minúsculas. Este campo es opcional y el valor predeterminado es hierarchy. Te recomendamos que agregues unstructured, ya que este formato te permite organizar la configuración de la manera que te resulte más conveniente.
  • REPO: Agrega la URL del repositorio de Git que se usará como fuente de información. Puedes ingresar las URL con el protocolo HTTPS o SSH. Por ejemplo, https://github.com/GoogleCloudPlatform/csp-config-management/ usa el protocolo HTTPS. Si no ingresas un protocolo, la URL se trata como una URL HTTPS. Este campo es obligatorio.
  • BRANCH: La rama del repositorio desde la que se realiza la sincronización. El valor predeterminado es la rama principal (instancia principal).
  • TYPE: Uno de los siguientes secretTypes:

    • none: No usa autenticación
    • ssh: Usa un par de claves SSH
    • cookiefile: Usa un objeto cookiefile
    • token: Usa un token
    • gcpserviceaccount: Usa una cuenta de servicio de Google para acceder a Cloud Source Repositories.
    • gcenode: Usa una cuenta de servicio de Google para acceder a Cloud Source Repositories. Selecciona esta opción solo si Workload Identity no está habilitado en tu clúster.

    Para obtener más información sobre estos tipos de autenticación, consulta Otorga a Git acceso de solo lectura al Sincronizador de configuración.

  • EMAIL: Si agregaste gcpserviceaccount como secretType, agrega la dirección de correo electrónico de la cuenta de servicio de Google. Por ejemplo, acm@PROJECT_ID.iam.gserviceaccount.com

  • DIRECTORY: La ruta del repositorio de Git al directorio raíz que contiene la configuración con la que deseas sincronizar. La opción predeterminada es el directorio raíz del repositorio.

Para obtener una lista completa de los campos que puedes agregar al campo spec, consulta Campos de gcloud.

Usar el manifiesto existente

Para configurar tu clúster con la misma configuración que usa otro clúster, recupera la configuración de un clúster registrado:

 gcloud alpha container hub config-management fetch-for-apply \
     --membership=MEMBERSHIP_NAME \
     --project=PROJECT_ID \
     > CONFIG_YAML_PATH

Reemplaza lo siguiente:

  • MEMBERSHIP_NAME: El nombre de la membresía del clúster registrado que tiene la configuración del Sincronizador de configuración que deseas usar
  • PROJECT_ID: El ID de tu proyecto
  • CONFIG_YAML_PATH: La ruta de acceso al archivo apply-spec.yaml

2. Aplica el archivo apply-spec.yaml:

  gcloud beta container hub config-management apply \
      --membership=MEMBERSHIP_NAME \
      --config=CONFIG_YAML_PATH \
      --project=PROJECT_ID

Reemplaza lo siguiente:

  • MEMBERSHIP_NAME: El nombre de la membresía que elegiste cuando registraste tu clúster, puedes encontrar el nombre con gcloud container hub memberships list.
  • CONFIG_YAML_PATH: La ruta de acceso a tu archivo apply-spec.yaml
  • PROJECT_ID: El ID de tu proyecto

Usa Cloud Source Repositories con Workload Identity

Si Workload Identity está habilitado en el clúster y usaste una cuenta de servicio de Google como tipo de autenticación, debes completar pasos adicionales.

Después de completar los pasos anteriores, crea una vinculación de política de IAM entre la cuenta de servicio de Kubernetes y la cuenta de servicio de Google. La cuenta de servicio de Kubernetes no se creará hasta que configures el Sincronizador de configuración por primera vez.

Esta vinculación permite que la cuenta de servicio del Sincronizador de configuración de Kubernetes funcione como la cuenta de servicio de Google:

gcloud iam service-accounts add-iam-policy-binding \
   --role roles/iam.workloadIdentityUser \
   --member "serviceAccount:PROJECT_ID.svc.id.goog[config-management-system/root-reconciler]" \
   GSA_NAME@PROJECT_ID.iam.gserviceaccount.com

Reemplaza lo siguiente:

  • PROJECT_ID: El ID del proyecto de tu organización
  • GSA_NAME: Es la cuenta de servicio de Google personalizada que deseas usar para conectarte a Cloud Source Repositories. Asegúrate de que la cuenta de servicio de Google que selecciones tenga la función source.reader.

Revisa la instalación

Después de instalar y configurar el Sincronizador de configuración, puedes verificar que la instalación se haya completado correctamente.

Console: Anthos

Completa los siguientes pasos:

  1. En Cloud Console, ve a la página Anthos Config Management.

    Ir a Anthos Config Management

  2. Consulta la columna Estado. Si la instalación se realiza correctamente, tendrá el estado Sincronizado.

Para obtener una vista detallada del estado del clúster, sigue estos pasos:

  • Selecciona el clúster que deseas explorar. Aparecerá la página Detalles del clúster. En esta página, puedes ver los detalles de tu clúster y los detalles de la instalación del Sincronizador de configuración.

Console: GKE

Completa los siguientes pasos:

  1. En Cloud Console, ve a la página Config Management.

    Ir a Config Management

  2. En la tabla del clúster, consulta la columna Estado de sincronización de la configuración. Si la instalación se realiza correctamente, tendrá el estado Sincronizada.

gcloud

Ejecuta el siguiente comando:

gcloud beta container hub config-management status \
    --project=PROJECT_ID

Reemplaza PROJECT_ID por el ID del proyecto.

Si la instalación se realiza correctamente, tendrá el estado SYNCED. Si ves un error después de ejecutar el comando anterior, asegúrate de haber creado el Secret git-creds. Si creaste el Secret, vuelve a ejecutar el siguiente comando:

gcloud beta container hub config-management apply

También puedes usar el comando nomos status para verificar si el Sincronizador de configuración se instaló correctamente. Una instalación válida sin problemas tiene el estado PENDING o SYNCED. Una instalación no válida o incompleta tiene el estado NOT INSTALLED o NOT CONFIGURED. La salida también incluye cualquier error informado.

Es posible tener una configuración no válida que no se detecte de inmediato, como un Secret git-creds no especificado o no válido. Para ver los pasos de solución de problemas, consulta Objeto ConfigManagement válido pero incorrecto en la página Soluciona problemas.

Solicitudes de recursos

Resumen del total de solicitudes de recursos

En la siguiente tabla, se enumeran las cantidades combinadas de solicitudes de recursos para el Sincronizador de configuración, según las funciones que uses.

Función CPU Memoria
Modo predeterminado (varios repositorios) 710 m + 260 m * (cantidad de objetos RootSync y RepoSync) 620 Mi + 210 Mi * (cantidad de objetos RootSync y RepoSync)
Controlador de jerarquía 220 m 220 Mi
Modo de repositorio único 460 m 310 Mi

Solicitudes detalladas de recursos

En la siguiente tabla, se enumeran los requisitos de los recursos de Kubernetes para los componentes del Sincronizador de configuración. Si deseas obtener más información, consulta Administra los recursos para contenedores en la documentación de Kubernetes.

Nombre de la implementación Solicitud de CPU (m) por réplica Solicitud de memoria (Mi) por réplica Repositorios únicos o múltiples
git-importer 450 300 Única
monitor Predeterminada1 Predeterminada Única
resource-group-controller-manager 100+predeterminada 50+predeterminada Varios
admission-webhook2 100 20 Varios
otel-collector 200 400 Varios
reconciler-manager 200 120 Varios
reconciler (uno por RootSync y RepoSync) 250+predeterminada 200+predeterminada Varios
hnc-controller-manager 100+predeterminada 150+predeterminada Controlador de jerarquía
gke-hc-controller-manager 100+predeterminada 50+predeterminada Controlador de jerarquía

1 La solicitud de recurso predeterminada usa una solicitud de CPU de 10 y una solicitud de memoria de 10 Mi.

2El webhook de admisión tiene dos réplicas, por lo que, cuando se calcula el total de solicitudes de recursos, debes duplicar el valor.

¿Qué sigue?