Campos RootSync y RepoSync

En esta página, se proporciona una referencia para los campos de los objetos RootSync, RepoSync y ResourceGroup. Para obtener más información sobre cómo funcionan estos objetos, consulta Arquitectura del Sincronizador de configuración.

Campos RootSync y RepoSync

Los objetos de recursos RootSync y RepoSync tienen los mismos campos, excepto los siguientes campos solo para RootSync:

  • spec.sourceFormat
  • spec.helm.namespace
  • spec.helm.deployNamespace
  • spec.override.roleRefs

Configuración del formato de origen

Clave Descripción
spec.sourceFormat sourceFormat especifica cómo se da formato al repositorio. Opcional.
La validación de este campo distingue entre mayúsculas y minúsculas.
  • En el caso de los objetos RootSync, el valor debe ser hierarchy o unstructured. El valor predeterminado es hierarchy si no se especifica, pero se recomienda unstructured.
Consulta las guías de formato no estructurado y jerárquico para obtener más información.

Configuración del tipo de fuente

Clave Descripción
spec.sourceType sourceType especifica el tipo de la fuente de información. Debe ser git, oci o helm. Opcional.
Se establece en git si no se especifica. La validación de este campo distingue mayúsculas de minúsculas.

Configuración del repositorio de Git

Clave Descripción
spec.git.auth El tipo de secreto configurado para acceder al repositorio de Git. Debe ser ssh, cookiefile, gcenode, gcpserviceaccount, token o none. La validación de este campo distingue entre mayúsculas y minúsculas. Obligatorio.
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.auth es gcpserviceaccount.
spec.git.branch La rama Git del repositorio desde la que se realiza la sincronización. Este campo es opcional, y el valor predeterminado es master. A partir de la versión 1.17.0 del Sincronizador de configuración, se recomienda usar el campo spec.git.revision para especificar el nombre de la rama y, así, simplificar el proceso. Si se especifican los campos spec.git.revision y spec.git.branch, spec.git.revision tiene prioridad sobre spec.git.branch.
spec.git.dir La ruta de acceso en el repositorio de Git al directorio raíz que contiene la configuración con la que deseas sincronizar. Valor predeterminado: el directorio raíz (/) del repositorio.
spec.git.period Duración entre sincronizaciones consecutivas. Predeterminado: 15s
spec.git.repo La URL del repositorio de Git desde la que se realiza la sincronización. Obligatorio.
spec.git.revision La revisión de Git (rama, etiqueta o confirmación) desde la que se sincroniza. Este campo es opcional, y el valor predeterminado es HEAD. A partir de la versión 1.17.0 del Sincronizador de configuración, también puedes especificar el nombre de una rama en el campo spec.git.revision. Cuando se usa un hash en la versión 1.17.0 o posterior, debe ser un hash completo y no una forma abreviada.
spec.git.secretRef.name El nombre del secreto que se usó para conectarse a la fuente de información de Git.
spec.git.noSSLVerify1 noSSLVerify especifica si se habilita o inhabilita la verificación del certificado SSL. Valor predeterminado: false.
Si el valor noSSLVerify se establece en verdadero, le indica a Git que omita la verificación del certificado SSL.
spec.git.caCertSecretRef.name1 El nombre del Secret que contiene el certificado de autoridad certificadora (AC). Si se proporciona este campo, el servidor Git debe usar un certificado emitido por esta AC. El certificado de la AC se debe almacenar en el Secret con una clave llamada "cert".

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.

Clave Descripción
spec.git.proxy La URL del proxy con esquema para configurar el acceso al repositorio de Git mediante un proxy. Por ejemplo, https://proxy.internal.business.co:443.
El proxy de Git acepta https, http y URLs sin adornos, pero no se recomienda http para los problemas de seguridad.
Si usas un http o una URL sin adornos, asegúrate de que la comunicación entre tu servidor proxy y el host de Git sea segura.
Este campo solo tiene efecto cuando spec.git.auth es cookiefile, none o token.

Configuración para la imagen de OCI

El Sincronizador de configuración requiere que la capa de OCI esté comprimida en el formato tar o tar+gzip.

El Sincronizador de configuración no reconocerá otros formatos (por ejemplo, tar+bz2). Cambiar de una imagen REPO válida a una imagen OCI con un formato no compatible hará que los recursos administrados se reduzcan sin errores.

Clave Descripción
spec.oci.auth Es el tipo de autenticación que se configura para acceder a la imagen de OCI. Debe ser gcenode, k8sserviceaccount, gcpserviceaccount o none. La validación de este campo distingue entre mayúsculas y minúsculas. Obligatorio.
spec.oci.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.oci.auth es gcpserviceaccount.
spec.oci.dir La ruta de acceso en la imagen de OCI al directorio raíz que contiene la configuración con la que deseas sincronizar. Configuración predeterminada: El directorio raíz del repositorio (/)
spec.oci.period Duración entre sincronizaciones consecutivas. Predeterminado: 15s
spec.oci.image La URL de la imagen de OCI desde la que se realiza la sincronización. Obligatorio.
spec.oci.caCertSecretRef.name1

El nombre del Secret que contiene el certificado de autoridad certificadora (AC). Si se proporciona este campo, el servidor OCI debe usar un certificado emitido por esta AC. El certificado de la AC se debe almacenar en el Secret con una clave llamada "cert".

Este campo es compatible con la versión 1.18.0 y posteriores.

Configuración del repositorio de Helm

Clave Descripción
spec.helm.auth El tipo de autenticación configurado para acceder al repositorio de Helm. Debe ser token, gcenode, k8sserviceaccount, gcpserviceaccount o none. La validación de este campo distingue entre mayúsculas y minúsculas. Obligatorio.
spec.helm.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.helm.auth es gcpserviceaccount.
spec.helm.secretRef.name Es el nombre del Secret que se usó para acceder al repositorio de Helm. Este campo solo se usa cuando spec.helm.auth es token.
spec.helm.repo La URL del repositorio de Helm desde la que se sincronizará. Obligatorio.
spec.helm.chart El nombre del gráfico de Helm. Obligatorio.
spec.helm.version

El número de versión del gráfico de Helm. Configuración predeterminada: la versión más reciente.

En las versiones del Sincronizador de configuración anteriores a la 1.16.0, el campo de versión está disponible, pero solo se admiten versiones estáticas y no se vuelven a extraer los gráficos. En el Sincronizador de configuración 1.16.0 y versiones posteriores, el campo de versión se puede especificar como un valor estático, como un rango de versiones de las que el Sincronizador de configuración extrae la última o se puede dejar en blanco para indicar que el Sincronizador de configuración debe mostrar el gráfico más reciente según semver. Si se especifica como un rango o se deja en blanco para indicar la versión más reciente, el Sincronizador de configuración vuelve a extraer el gráfico cada 1 hora de forma predeterminada. En el Sincronizador de configuración 1.16.1 y versiones posteriores, el período para volver a extraer se puede configurar con el campo spec.helm.period. Si la versión se especifica como la string literal “más reciente”, el gráfico se vuelve a extraer según spec.helm.period, al igual que ocurre con los rangos de versiones o las versiones en blanco.

La sintaxis del rango de versiones es idéntica a la sintaxis del rango de versión compatible con la CLI de Helm.

Especificar la versión como un rango o dejar el valor vacío puede generar un alto uso de la CPU para gráficos grandes con muchas versiones. Puedes usar spec.override a fin de aumentar la solicitud de CPU para el contenedor de helm-sync, como en el siguiente ejemplo:

    spec:
      override:
        resources:
        - containerName: helm-sync
          cpuRequest: "200m"
    
spec.helm.period

En la versión 1.16.1 y posteriores del Sincronizador de configuración, spec.helm.period es el tiempo que espera el Sincronizador de configuración antes de volver a extraer el gráfico.

El valor predeterminado es 1 hora. El campo acepta valores de cadena, por ejemplo, "30s" o "5m". Consulta la documentación de Go sobre entradas válidas para obtener más información.

Si la versión del gráfico es un rango, usa la etiqueta literal “más reciente” o se deja vacía para indicar que el Sincronizador de configuración debe extraer la última versión, el gráfico se vuelve a extraer según spec.helm.period. Si la versión del gráfico se especifica como una sola versión estática, el gráfico no se vuelve a extraer.

spec.helm.releaseName Es el nombre de la versión de Helm.
spec.helm.namespace Esto es mutuamente excluyente con spec.helm.deployNamespace.
namespace establece el espacio de nombres de destino para una versión. Este campo solo se usa con objetos RootSync. Solo establece el espacio de nombres para los recursos que contienen namespace: {{ .Release.Namespace }} en sus plantillas. El valor especificado en spec.helm.namespace solo se usa como el valor de Release.Namespace declarado en tus plantillas de Helm. En el caso de los recursos que no tienen namespace: {{ .Release.Namespace }} en sus plantillas, se usará el espacio de nombres default. Valor predeterminado: default
spec.helm.deployNamespace Esto es mutuamente excluyente con spec.helm.namespace.
deployNamespace especifica qué espacio de nombres se debe implementar el gráfico. La configuración de este campo aprovecha la función kpt set-namespace, que hace que el Sincronizador de configuración reemplace los campos namespace de recursos en el gráfico, incluidos metadata.namespace de recursos con permiso de espacio de nombres, metadata.name de objetos de espacio de nombres y referencias de espacios de nombres en algunos tipos de recursos especiales.
Si no se configura deployNamespace, los recursos en los que metadata.namespace no esté configurado se implementarán en el espacio de nombres predeterminado.
spec.helm.values

Son los valores que se deben usar en lugar de los valores predeterminados que acompañan al gráfico. Aplica formato a los valores de la misma manera con el archivo values.yaml predeterminado. Por ejemplo:

values:
  foo:
    bar: val1
  quz:
  - val2
  - val3

Si también se especifica valuesFileRefs, los campos de values anulan los campos de valuesFileRefs.

Para obtener más información, consulta el manifiesto de ejemplo de Helm.

spec.helm.includeCRDs Especifica si la plantilla de Helm debe generar CustomResourceDefinitions. Valor predeterminado: false.
spec.helm.valuesFileRefs

Una lista de referencias a objetos en el clúster que representan valores que se usarán en lugar de los valores predeterminados que acompañan al gráfico. Solo se admiten ConfigMaps. El ConfigMap debe ser inmutable y estar en el mismo espacio de nombres que RootSync o RepoSync.

Los ConfigMaps son inmutables. Para cambiar el valuesFile después de la sincronización, debes crear un ConfigMap con un nombre diferente y actualizar spec.valuesFileRefs.name RootSync o RepoSync.

Cuando se especifican varios archivos de valores, las claves duplicadas en los archivos posteriores anulan el valor de los archivos anteriores. Esto equivale a pasar varios archivos de valores a la CLI de Helm. Si también se especifica spec.helm.values, los campos de values anulan los campos de valuesFileRefs.

Cada elemento de la lista debe contener lo siguiente:

  • name (obligatorio): Es el nombre del objeto de ConfigMap.
  • dataKey (opcional): Es la clave de datos del objeto del que se leerán los valores. Predeterminada: values.yaml

Este campo es compatible con la versión 1.16.0 y posteriores.

Para ver un ejemplo de cómo cambiar los valores, consulta Sincroniza gráficos de Helm.

spec.helm.caCertSecretRef.name1

El nombre del Secret que contiene el certificado de autoridad certificadora (AC). Si se proporciona este campo, el servidor Helm debe usar un certificado emitido por esta AC. El certificado de la AC se debe almacenar en el Secret con una clave llamada "cert".

Este campo es compatible con la versión 1.18.0 y posteriores.

Configuración para anular las solicitudes y límites de recursos de un conciliador raíz o de espacio de nombres

Puedes anular los contenedores git-sync, oci-sync, helm-sync, hydration-controller y reconciler. Se permite la anulación parcial: cuando no se proporciona un valor de anulación para una solicitud o un límite de recursos, se usa el valor de recurso predeterminado de la solicitud o el límite.

En Clústeres de Autopilot, el Sincronizador de configuración ignora las anulaciones de límites de recursos. Las anulaciones de solicitudes de recursos se aplican solo cuando existe una o más solicitudes de recursos superiores al resultado ajustado correspondiente que se declara en la anotación o cuando hay una o más solicitudes de recursos inferiores a la entrada correspondiente declarada en el anotación. A fin de obtener más información, consulta Requisitos del clúster para el Sincronizador de configuración.

Clave Descripción
spec.override.resources1 La lista de solicitudes de recursos de contenedor y anulaciones de límites. Opcional.
Cada elemento de la lista contiene tres campos:
  • containerName: Este campo puede ser git-sync, oci-sync, helm-sync, hydration-controller o reconciler.
  • cpuRequest (opcional)
  • cpuLimit (opcional)
  • memoryRequest (opcional)
  • memoryLimit (opcional)

Cuando no se proporciona un valor de anulación para una solicitud o un límite de recurso, se usa el valor del recurso predeterminado para la solicitud o el límite.

Configuración para anular el nivel de registro de un contenedor en el conciliador de espacios de nombres o raíz

Cuando no se establece el valor de anulación a nivel de registro, el nivel de registro se configura para que sea el valor predeterminado. El nivel de registro predeterminado para todos los contenedores en un conciliador RootSync o RepoSync es 0, excepto para el contenedor de git-sync, en el que el valor predeterminado es 5. El valor de anulación a nivel de registro aceptado está entre 0 y 10 inclusive.

Clave Descripción
spec.override.logLevels La lista de valores de anulación a nivel de registro de contenedor. Opcional.
Cada elemento de la lista contiene dos campos:
  • containerName: Este campo puede ser git-sync, oci-sync, helm-sync, hydration-controller o reconciler.
  • logLevel

Cuando no se proporciona un valor de anulación para el nivel de registro de un contenedor, se usa el valor predeterminado a nivel de registro.

Configuración de la cantidad de confirmaciones de Git que se recuperarán

Clave Descripción
spec.override.gitSyncDepth1 gitSyncDepth te permite anular la cantidad de confirmaciones de Git que quieres recuperar.
No debe ser menor que 0.
El Sincronizador de configuración realiza una clonación completo si este campo es 0 y una clonación superficial si este campo es mayor que 0.
Si no se proporciona este campo, el Sincronizador de configuración lo configura de forma automática.

Configuración para capturar el estado del nivel de recursos

Clave Descripción
spec.override.statusMode1 statusMode te permite habilitar o inhabilitar la captura de estado a nivel de recurso.
El valor predeterminado es enabled.
Para inhabilitar la captura de estado a nivel de recursos, establece este campo en disabled.

Configuración para anular el tiempo de espera de conciliación

Clave Descripción
spec.override.reconcileTimeout1 reconcileTimeout te permite anular el límite de tiempo de espera para que los recursos de un grupo de aplicación se concilien antes de renunciar. Todos los recursos de una confirmación pueden estar en varios grupos de aplicación basados en las dependencias.
El tiempo de espera predeterminado es 5m.
Usa una string para especificar este valor de campo, como 30s, 5m.

Configuración para anular el tiempo de espera de las solicitudes al servidor de la API

Clave Descripción
spec.override.apiServerTimeout1 apiServerTimeout te permite anular el tiempo de espera de las solicitudes al servidor de la API. El tiempo de espera predeterminado es 5s en las versiones anteriores a la 1.16.0 y 15s en las versiones 1.16.0 y posteriores.
Usa una cadena para especificar el valor de este campo, como 30s, 5m.

Configuración del acceso de shell en el proceso de procesamiento

Clave Descripción
spec.override.enableShellInRendering1 enableShellInRendering especifica si se habilita o inhabilita el acceso a la shell en el proceso de renderización. Las bases remotas de Kustomize requieren acceso a shell. Establecer este campo en true habilita el acceso de shell en el proceso de procesamiento y admite la extracción de bases remotas desde repositorios públicos.
El valor predeterminado es false.

Configuración de la estrategia de espacio de nombres (solo RootSync)

Clave Descripción
spec.override.namespaceStrategy1 namespaceStrategy controla cómo el conciliador maneja los parámetros de configuración del espacio de nombres faltantes de los objetos con permisos de espacio de nombres declarados en la fuente. Solo se aplica cuando se usa el sourceFormat unstructured.
  • implicit: El conciliador creará espacios de nombres de forma implícita si no existen, incluso si no están declarados en la fuente. Los espacios de nombres implícitos se crean con la anotación de prevención de eliminación y los administra el Sincronizador de configuración.
  • explicit: El conciliador solo creará espacios de nombres que se declaren de forma explícita en la fuente.

El valor predeterminado es implicit.

Configuración para las vinculaciones de RBAC (solo RootSync)

Clave Descripción
spec.override.roleRefs1 roleRefs es una lista de Roles o ClusterRoles para crear vinculaciones. Cada elemento de la lista incluye los siguientes campos:
  • kind (obligatorio): Hace referencia al tipo de recurso de RBAC. Los valores aceptados son Role y ClusterRole..
  • name (obligatorio): Es el nombre del recurso Role o ClusterRole.
  • namespace (opcional): Indica el espacio de nombres en el que se debe crear un objeto RoleBinding. Para los objetos ClusterRole, determinará si se crea un RoleBinding o ClusterRoleBinding. En los objetos de rol, se debe configurar con el mismo espacio de nombres que el rol.

Si no se establece, se creará un ClusterRoleBinding a cluster-admin.

El estado de los objetos

Clave Descripción
status.observedGeneration La generación (metadata.generation) de la especificación de un recurso RootSync o RepoSync que se observó por última vez y que realizó acciones en el Sincronizador de configuración. Este valor se puede comparar con metadata.generation, que es un número entero, y se actualiza en la mutación de las especificaciones del servidor de la API.
status.reconciler El nombre del proceso de conciliación que corresponde al recurso de sincronización.
status.source.gitStatus.repo La URL del repositorio de Git que se está recuperando.
status.source.gitStatus.revision La revisión de Git (etiqueta, confirmación o hash) que se recupera.
status.source.gitStatus.branch La rama de Git del repositorio que se recupera.
status.source.gitStatus.dir La ruta de acceso absoluta en el repositorio de Git al directorio raíz que contiene la configuración que sincronizas.
status.source.ociStatus.image La URL de la imagen de OCI que se recupera.
status.source.ociStatus.dir La ruta de acceso absoluta en la imagen de OCI al directorio raíz que contiene la configuración que sincronizas.
status.source.helmStatus.repo La URL del repositorio de Helm que se recupera.
status.source.helmStatus.version Se está recuperando la versión del gráfico de Helm.
status.source.helmStatus.chart El nombre del gráfico de Helm que se recupera.
status.source.commit El hash de la confirmación o el resumen más reciente recuperado de la URL de origen.
status.source.errors Los errores que se encontraron durante la lectura y el análisis de los archivos de configuración de la fuente de información. Es posible que esto no incluya todos los errores encontrados, ya que el Sincronizador de configuración trunca los errores si hay demasiados.
status.source.errorSummary.totalCount Es un número entero que realiza un seguimiento de la cantidad total de errores encontrados mientras se leen y analizan los archivos de configuración de la fuente de información.
status.source.errorSummary.truncated Es un valor booleano que indica si el campo status.source.errors incluye todos los errores que se encontraron durante la lectura y el análisis de los archivos de configuración de la fuente de confianza.
status.source.errorSummary.errorCountAfterTruncation Es un número entero que realiza un seguimiento de la cantidad de errores en el campo status.source.errors.
status.rendering.gitStatus.repo La URL del repositorio de Git que se procesa.
status.rendering.gitStatus.revision La revisión de Git (etiqueta, confirmación o hash) que se renderiza.
status.rendering.gitStatus.branch La rama de Git del repositorio que se renderiza.
status.rendering.gitStatus.dir La ruta de acceso absoluta en el repositorio de Git al directorio raíz que contiene la configuración que se renderiza.
status.rendering.ociStatus.image La URL de imagen de OCI que se renderiza.
status.rendering.ociStatus.dir La ruta de acceso absoluta en la imagen de OCI al directorio raíz que contiene la configuración que se renderiza.
status.rendering.helmStatus.repo La URL del repositorio de Helm que se renderiza.
status.rendering.helmStatus.version La versión del gráfico de Helm que se renderiza.
status.rendering.helmStatus.chart El nombre del gráfico de Helm que se renderiza.
status.rendering.commit El hash de la confirmación o el resumen más reciente que se renderizó. Este valor se actualiza incluso cuando una confirmación o un resumen solo se sincroniza de forma parcial debido a un error.
status.rendering.errors Una lista de los errores encontrados durante el proceso de renderización de los recursos a partir del cambio indicado por status.rendering.commit. Es posible que esto no incluya todos los errores encontrados, ya que el Sincronizador de configuración trunca los errores si hay demasiados.
status.rendering.errorSummary.totalCount Es un número entero que realiza un seguimiento de la cantidad total de errores que se encontraron durante el proceso de renderización de los archivos de configuración a partir de la fuente de información.
status.rendering.errorSummary.truncated Es un valor booleano que indica si el campo status.rendering.errors incluye todos los errores que se encontraron durante el proceso de renderización de los parámetros de configuración desde la fuente de confianza.
status.rendering.errorSummary.errorCountAfterTruncation Es un número entero que realiza un seguimiento de la cantidad de errores en el campo status.rendering.errors.
status.sync.gitStatus.repo La URL del repositorio de Git que se sincroniza.
status.sync.gitStatus.revision La revisión de Git (etiqueta, confirmación o hash) que se sincroniza.
status.sync.gitStatus.branch La rama de Git del repositorio que se sincroniza.
status.sync.gitStatus.dir La ruta de acceso absoluta en el repositorio de Git al directorio raíz que contiene la configuración que sincronizas.
status.sync.ociStatus.image La URL de la imagen de OCI que se sincroniza.
status.sync.ociStatus.dir La ruta de acceso absoluta en la imagen de OCI al directorio raíz que contiene la configuración que sincronizas.
status.sync.helmStatus.repo La URL del repositorio de Helm que se está sincronizando.
status.sync.helmStatus.version La versión del gráfico de Helm que se está sincronizando.
status.sync.helmStatus.chart El nombre del gráfico de Helm que se está sincronizando.
status.sync.commit El hash de la confirmación o el resumen más reciente que se sincronizó en el clúster. Este valor se actualiza incluso cuando una confirmación o un resumen solo se sincroniza de forma parcial debido a un error.
status.sync.errors Una lista de los errores que se produjeron mientras se aplicaban los recursos del cambio que indica status.sync.commit. Es posible que esto no incluya todos los errores encontrados, ya que el Sincronizador de configuración trunca los errores si hay demasiados.
status.sync.errorSummary.totalCount Un número entero que realiza un seguimiento de la cantidad total de errores que se encontraron mientras se aplica la configuración desde la fuente de información.
status.sync.errorSummary.truncated Un valor booleano que indica si el campo status.sync.errors incluye todos los errores que se encontraron cuando se aplicó la configuración de la fuente de confianza.
status.sync.errorSummary.errorCountAfterTruncation Es un número entero que realiza un seguimiento de la cantidad de errores en el campo status.sync.errors.
status.conditions Una lista de condiciones que realizan un seguimiento del estado actual de un objeto RootSync o RepoSync.
Cuando el campo type de una condición es Reconciling o Stalled, ocurre lo siguiente:
  • El campo errors de la condición realiza un seguimiento de los errores encontrados durante la conciliación del objeto RootSync o RepoSync
  • El campo errorSummary de la condición resume los errores del campo errors de la condición.
  • El campo errorsSourceRefs de la condición está vacío
Cuando el tipo de una condición es Syncing:
  • El campo errors de la condición está vacío
  • El campo errorsSourceRefs de la condición realiza un seguimiento de los orígenes de los errores. El origen de los errores puede ser status.rendering.errors, status.source.errors o status.sync.errors.
  • El campo errorSummary de la condición resume los errores a los que se hace referencia en el campo errorsSourceRefs.

1 Si creaste un archivo de configuración de RootSync después de instalarlo con la consola de Google Cloud o Google Cloud CLI, puedes reemplazar este campo.

Campos de ResourceGroup

Campos de especificaciones y estados

Clave Descripción
spec.resources La lista de identificadores (grupo, tipo, espacio de nombres y nombre) de los recursos que se aplican al clúster desde el repositorio de Git que se especifica en una CR de RepoSync o de RootSync. Opcional.
Cada elemento de la lista contiene cuatro campos: group, kind, namespace y name.

Campos de estado

Clave Descripción
status.observedGeneration La generación (metadata.generation) de la especificación de un recurso RootSync o RepoSync que el controlador de ResourceGroup observó por última vez y actuó en función de ello. Este valor se puede comparar con metadata.generation, que es un número entero, y el servidor de la API lo actualiza cuando se cambia la especificación.
status.conditions Las últimas condiciones observadas para el ResourceGroup actual. Las condiciones tienen dos tipos diferentes: Reconciling y Stalled. Cuando la condición de tipo Reconciling es verdadera, significa que el ResourceGroup actual está en la conciliación. Si la condición de tipo Stalled es verdadera, significa que la conciliación se detiene. Cuando ambos son falsos, significa que se concilia el ResourceGroup actual y el estado está actualizado.
status.resourceStatuses La lista de estados de los recursos que se incluyen en .spec.resources. Cada elemento contiene el identificador (grupo, tipo, espacio de nombres o nombre) y el estado de un recurso. El estado es uno de los siguientes: InProgress, Current, Failed, Terminating, NotFound o Unknown.

Campos de sincronización raíz no administrados

El servicio de flota (hub) no administra los siguientes campos del RootSync denominado root-sync, por lo que se pueden editar con cualquier cliente de Kubernetes:

Clave Descripción
spec.git.noSSLVerify noSSLVerify especifica si se habilita o inhabilita la verificación del certificado SSL. Predeterminado: false.
Si noSSLVerify se configura como true, le indica a Git que omita la verificación del certificado SSL.
spec.git.caCertSecretRef.name El nombre del Secret que contiene el certificado de autoridad certificadora (AC). Si se proporciona este campo, el servidor Git debe usar un certificado emitido por esta AC. El certificado de la AC debe almacenarse en el Secret bajo una clave llamada `cert`.
spec.override.resources La lista de solicitudes de recursos de contenedor y anulaciones de límites. Opcional.
Cada elemento de la lista contiene tres campos:
  • containerName: Este campo puede ser git-sync, oci-sync, hydration-controller o reconciler.
  • cpuRequest (opcional)
  • cpuLimit (opcional)
  • memoryRequest (opcional)
  • memoryLimit (opcional)

Cuando no se proporciona un valor de anulación para una solicitud o un límite de recursos, se usa el valor de recurso predeterminado de la solicitud o el límite.
spec.override.gitSyncDepth gitSyncDepth te permite anular la cantidad de confirmaciones de Git que deseas recuperar.
No debe ser menor que 0.
El Sincronizador de configuración realiza una clonación completa si este campo es 0 y una clonación superficial si este campo es mayor que 0.
Si no se proporciona este campo, el Sincronizador de configuración lo configura automáticamente.
spec.override.statusMode statusMode te permite habilitar o inhabilitar la captura del estado en el nivel de los recursos.
El valor predeterminado es enabled.
Para inhabilitar la captura del estado a nivel de recursos, establece este campo en disabled.
spec.override.reconcileTimeout reconcileTimeout te permite anular el umbral de tiempo que se debe esperar a que se concilien los recursos de un grupo de aplicación para darse por vencido. Todos los recursos de una confirmación pueden estar en varios grupos de aplicación basados en las dependencias.
El tiempo de espera predeterminado es 5m.
Usa una cadena para especificar este valor de campo, por ejemplo, 30s, 5m.
spec.override.enableShellInRendering enableShellInRendering especifica si se habilita o inhabilita el acceso al shell en el proceso de renderización. Las bases remotas de Kustomize requieren acceso de shell. Configurar este campo en true habilita el acceso a shell en el proceso de renderización y admite la extracción de bases remotas de repositorios públicos.
El valor predeterminado es false.

Para obtener más información sobre los campos administrados y no administrados en los objetos RootSync, consulta Cómo el servicio de flota administra los objetos RootSync.

CR de ejemplo

En las siguientes secciones, se muestran ejemplos de CR de RootSync y RepoSync.

CR de RootSync

En el siguiente ejemplo, se muestra un objeto RootSync.

# root-sync.yaml
apiVersion: configsync.gke.io/v1beta1
kind: RootSync
metadata:
  name: root-sync
  namespace: config-management-system
spec:
  sourceType: git
  sourceFormat: unstructured
  git:
    repo: https://github.com/GoogleCloudPlatform/anthos-config-management-samples
    branch: init
    dir: config-sync-quickstart/multirepo/root
    auth: none
    period: 30s

CR de RepoSync

En el siguiente ejemplo, se muestra un objeto RepoSync.

# repo-sync.yaml
apiVersion: configsync.gke.io/v1beta1
kind: RepoSync
metadata:
  name: repo-sync
  namespace: gamestore
spec:
  sourceType: git
  sourceFormat: unstructured
  git:
    repo: https://github.com/GoogleCloudPlatform/anthos-config-management-samples
    branch: init
    dir: config-sync-quickstart/multirepo/root
    auth: none
    period: 30s

¿Qué sigue?