Campos de ConfigManagement

En esta página, se explican los diferentes campos que puedes configurar en el objeto ConfigManagement. Puedes usar este objeto cuando configures el Sincronizador de configuración con los comandos de kubectl. También puedes usar estos campos si administras el controlador de políticas con un objeto ConfigManagement en lugar de los comandos gcloud del controlador de políticas.

Configuración de las funciones del Sincronizador de configuración

Clave Descripción
spec.enableMultiRepo Si es true, se habilitan las API de RootSync y RepoSync. Estas APIs te proporcionan funciones del Sincronizador de configuración adicionales, como la sincronización de varios repositorios. y sincronización de configuraciones de Kustomize y Helm. La configuración predeterminada es false.
spec.enableLegacyFields Si el valor es true, habilita el uso de campos spec.git obsoletos en ConfigManagement mientras se usa el modo de repositorios múltiples. Cuando configuras este campo, se genera automáticamente un recurso RootSync en el clúster.
spec.preventDrift Si es true, habilita el webhook de admisión del Sincronizador de configuración para evitar los desvíos mediante el rechazo de los cambios conflictivos que se envían a los clústeres activos. La configuración predeterminada es false. El Sincronizador de configuración siempre soluciona los desvíos, sin importar el valor de este campo.

Configuración del controlador de políticas

Clave Descripción
spec.policyController.enabled Si es true, se habilita Policy Controller. La configuración predeterminada es false.
spec.policyController.templateLibraryInstalled Si es true, se instala una biblioteca de plantillas de restricciones para tipos de políticas comunes. La configuración predeterminada es true.
spec.policyController.referentialRulesEnabled Si es true, se habilita la compatibilidad con restricciones referenciales. Asegúrate de comprender las advertencias sobre la coherencia eventual. La configuración predeterminada es false.
spec.policyController.auditIntervalSeconds Período en segundos entre auditorías consecutivas de incumplimientos de restricción. Configúralo en 0 para inhabilitar la auditoría. Predeterminado: 60.
spec.policyController.logDeniesEnabled Si es true, registra todos los rechazos y las fallas de ejecución de prueba. La configuración predeterminada es false.
spec.policyController.mutation.enabled Si es true, habilita la compatibilidad con mutaciones. La configuración predeterminada es false.
spec.policyController.exemptableNamespaces Una lista de espacios de nombres para quitar de la aplicación del webhook de admisión del controlador de políticas. Cualquier incumplimiento aún se informa en la auditoría. La configuración predeterminada es una lista vacía.
spec.policyController.monitoring.backends Una lista de backends de supervisión para el controlador de políticas a los que se exportarán las métricas. Valor predeterminado: [cloudmonitoring, prometheus].

Configuración del comportamiento del objeto ConfigManagement

Clave Descripción
spec.clusterName El nombre definido por el usuario para el clúster que ClusterSelectors usa a fin de agrupar clústeres. Es único dentro de la instalación del Sincronizador de configuración. No puedes configurar este campo en la consola de Google Cloud.

Objeto ConfigManagement de ejemplo

apiVersion: configmanagement.gke.io/v1
kind: ConfigManagement
metadata:
  name: config-management
spec:
  clusterName: my-cluster
  enableMultiRepo: true

Configuración de repositorios de Git (obsoleto)

Clave Descripción
spec.git.gcpServiceAccountEmail La cuenta de servicio de Google Cloud que se usa para anotar la cuenta de servicio de Kubernetes del controlador RootSync o RepoSync. Este campo solo se usa cuando spec.git.secretType es gcpserviceaccount.
spec.git.syncRepo URL del repositorio de Git que se usará como fuente de información. Obligatorio.
spec.git.syncBranch La rama del repositorio desde la que se realiza la sincronización. Valor predeterminado: master.
spec.git.policyDir La ruta en el repositorio de Git al directorio raíz que contiene la configuración que deseas sincronizar. Configuración predeterminada: El directorio raíz del repositorio
spec.git.syncWait Duración entre sincronizaciones consecutivas. Configuración predeterminada: 15 s.
spec.git.syncRev Revisión de Git (etiqueta o hash) que se extraerá. Opción predeterminada: HEAD.
spec.git.secretType El tipo de secreto configurado para acceder al repositorio de Git: Es uno de los siguientes: ssh, cookiefile, token, gcenode, gcpserviceaccount o none. Obligatorio.
spec.sourceFormat El formato de tu repositorio de Git. Puede ser unstructured o hierarchy. Valor predeterminado: hierarchy.

Configuración del proxy para el repositorio de Git

Si las políticas de seguridad de tu organización requieren que enrutes el tráfico a través de un proxy HTTP(S), puedes usar el URI del proxy para configurar el Sincronizador de configuración a fin de que se comunique con tu host de Git. El proxy solo se admite cuando se usa un tipo de autorización de cookiefile, none o token.

Clave Descripción
spec.git.proxy.httpProxy Define una variable de entorno HTTP_PROXY que se usa para acceder al repositorio de Git.
spec.git.proxy.httpsProxy Define una variable de entorno HTTPS_PROXY que se usa para acceder al repositorio de Git.

Si se especifican los campos httpProxy y httpsProxy, se ignora httpProxy.