Campos de gcloud apply spec

En esta página, se explican los diferentes campos que puedes usar para configurar el Sincronizador de configuración con la marca --config en el comando apply de Google Cloud CLI y la marca --fleet-default-member-config en el comando enable en el segmento de lanzamiento beta. Ahora, este esquema de campo no se recomienda en el alpha segmento de lanzamiento del comando enable y se reemplazó por el nuevo esquema de la API .

El formato de archivo que se usa con estas marcas de gcloud CLI es similar al formato del objeto ConfigManagement. Sin embargo, los formatos son diferentes y los dos no son intercambiables.

Configuración común para Config Management

Clave Descripción
spec.version La versión de Config Management. Si configuras Config Management para un clúster, la versión predeterminada es la versión actual de la instalación de Config Management en ese clúster. De lo contrario, para la configuración en toda la flota o en ausencia de una instalación existente en el clúster de destino, la configuración predeterminada es la versión más reciente.

Configuración del Sincronizador de configuración

Clave Descripción
spec.cluster El nombre del clúster que usa el Sincronizador de configuración cluster-name-selector anotación o ClusterSelector, para aplicar archivos de configuración solo a un subconjunto de clústeres. Configura este campo si la anotación cluster-name-selector del Sincronizador de configuración o ClusterSelector usan un nombre diferente al nombre de la membresía de la flota del clúster.
spec.upgrades (Vista previa) El parámetro de configuración de actualización para el Sincronizador de configuración, que no se usa después de la versión 1.21.0 del Sincronizador de configuración. El único valor admitido es manual, que es equivalente a no configurar este campo.
spec.configSync.enabled Si es true, se instala y administra el Sincronizador de configuración. Si es false, se desinstala cualquier Sincronizador de configuración administrado anteriormente y se ignora el resto de la configuración .spec.configSync. Obligatorio para la versión 429.0.0 y anteriores de gcloud CLI. Opcional para la versión 430.0.0 y posteriores de gcloud CLI. Valor predeterminado: true
spec.configSync.sourceType El tipo de fuente desde la que se debe sincronizar el Sincronizador de configuración. Se acepta git o oci. El valor predeterminado es git.
spec.configSync.syncRepo La URL del repositorio de Git o la imagen de OCI que se usará como fuente de información. Puedes omitir este campo si no tienes un repositorio preparado.
spec.configSync.syncBranch La rama del repositorio de Git desde la que se realiza la sincronización. Este campo se ignora si .spec.configSync.sourceType se establece en oci. Este campo es opcional y el valor predeterminado es master. Te recomendamos que uses el spec.configSync.syncRev campo para especificar un nombre de rama. Si se usan ambos campos, el spec.configSync.syncRev campo tiene prioridad sobre spec.configSync.syncBranch.
spec.configSync.policyDir La ruta de acceso en el repositorio de Git o en la imagen de OCI al directorio raíz que contiene la configuración que deseas sincronizar. Configuración predeterminada: El directorio raíz del repositorio
spec.configSync.syncWait Período en segundos entre sincronizaciones consecutivas. Valor predeterminado: 15.
spec.configSync.syncRev Revisión de Git (etiqueta o hash) o rama desde la que se realiza la sincronización. Este campo se ignora si .spec.configSync.sourceType se establece en oci. Este campo es opcional y el valor predeterminado es HEAD. Cuando se usa un hash, debe ser un hash completo y no una forma abreviada.
spec.configSync.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. El valor predeterminado es false. El Sincronizador de configuración siempre soluciona los desvíos, sin importar el valor de este campo.
spec.configSync.stopSyncing Si es true, se detiene la sincronización de las configuraciones para un solo clúster. La configuración predeterminada es false.
spec.configSync.secretType Es el tipo de Secret configurado para acceder a .spec.configSync.syncRepo. Si seleccionastegit como el tipo de fuente, el valor debe serssh,cookiefile, gcenode, gcpserviceaccount, token onone. Si seleccionaste oci como el tipo de fuente, el valor debe ser gcenode, gcpserviceaccount o none. La validación de este campo distingue entre mayúsculas y minúsculas. Obligatorio.
spec.configSync.gcpServiceAccountEmail La Google Cloud cuenta de servicio que se usa para anotar la cuenta de servicio de Kubernetes del controlador RootSync o RepoSync. Este campo solo se usa cuando spec.configSync.secretType es gcpserviceaccount.
spec.configSync.metricsGcpServiceAccountEmail Obsoleto: Si la federación de identidades para cargas de trabajo para GKE está habilitada, Google Cloud no se requiere una cuenta de servicio para exportar las métricas del Sincronizador de configuración. En su lugar, usa la cuenta de servicio de Kubernetes Service Account.
spec.configSync.sourceFormat Cuando se establece en unstructured, configura un repositorio no jerárquico. Valor predeterminado: hierarchy.
spec.configSync.deploymentOverrides Una lista de configuraciones de anulación de recursos para las implementaciones del Sincronizador de configuración. El campo solo se aplica a las implementaciones del Sincronizador de configuración con contenedores que no son un reconciliador raíz o de espacio de nombres, como reconciler-manager. Si debes anular un reconciliador raíz o de espacio de nombres usa los campos rootsync o reposync en su lugar. Es opcional.
spec.configSync.deploymentOverrides.name El nombre de la implementación del Sincronizador de configuración que se anulará. El valor no puede estar vacío.
spec.configSync.deploymentOverrides.namespace El espacio de nombres de la implementación del Sincronizador de configuración que se anulará. El valor no puede estar vacío.
spec.configSync.deploymentOverrides.containers Una lista de configuraciones de anulación para las solicitudes y los límites de los contenedores del Sincronizador de configuración. Es opcional.
spec.configSync.deploymentOverrides.containers.name El nombre del contenedor del Sincronizador de configuración que se anulará. El valor no puede estar vacío.
spec.configSync.deploymentOverrides.containers.cpuRequest La solicitud de CPU para el contenedor. Usa unidades de recursos de CPU en Kubernetes. Es opcional.
spec.configSync.deploymentOverrides.containers.cpuLimit El límite de CPU para el contenedor. Usa unidades de recursos de CPU en Kubernetes. Es opcional.
spec.configSync.deploymentOverrides.containers.memoryRequest La solicitud de memoria para el contenedor. Usa unidades de recursos de memoria en Kubernetes. Es opcional.
spec.configSync.deploymentOverrides.containers.memoryLimit El límite de memoria para el contenedor. Usa unidades de recursos de memoria en Kubernetes. Es opcional.

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.configSync.httpsProxy Define una variable de entorno HTTPS_PROXY que se usa para acceder al repositorio de Git. Por ejemplo, https://proxy.internal.business.co:443.
El proxy HTTPS solo acepta https o URLs sin adornos. Se rechazan las URLs que contienen http://.
Si usas una URL sin adornos, asegúrate de que la comunicación entre el servidor proxy y el host de Git sea segura.

Ejemplo de gcloud apply spec

applySpecVersion: 1
spec:
  configSync:
    enabled: true
    sourceFormat: unstructured
    syncRepo: https://github.com/GoogleCloudPlatform/anthos-config-management-samples
    syncBranch: main
    secretType: none
    policyDir: config-sync-quickstart/multirepo/root

Ejemplo de gcloud apply spec con anulaciones de recursos de implementación

Si deseas personalizar las solicitudes y los límites de recursos del Sincronizador de configuración, agrega el campo deploymentOverrides en tu especificación de aplicación. Por ejemplo, el siguiente YAML anula los límites de CPU y memoria para el contenedor reconciler-manager:

applySpecVersion: 1
spec:
  configSync:
    enabled: true
    deploymentOverrides:
    - name: reconciler-manager
      namespace: config-management-system
      containers:
      - name: reconciler-manager
        cpuRequest: 50m
        cpuLimit: 100m
        memoryRequest: 256Mi
        memoryLimit: 512Mi