Campos RootSync y RepoSync
En esta página, se proporciona una referencia para los recursos RootSync, RepoSync y ResourceGroup.
Puedes usar recursos RootSync y RepoSync para configurar el Sincronizador de configuración.
Los objetos RootSync configuran el Sincronizador de configuración para observar la fuente especificada y aplicar objetos de esa fuente al clúster. RootSyncs se puede usar para administrar cualquier recurso en el clúster con permisos de administrador de clúster.
Los objetos de RepoSync configuran el Sincronizador de configuración para observar la fuente especificada y aplicar objetos de esa fuente a un espacio de nombres específico en el clúster. Los objetos de RepoSync se usan para administrar cualquier recurso con permiso de espacio de nombres en ese espacio de nombres con permisos personalizados especificados por el usuario.
El Sincronizador de configuración usa el recurso ResourceGroup para conservar el inventario de objetos que aplicó y administra actualmente. El Sincronizador de configuración crea un objeto ResourceGroup para cada RootSync y RepoSync en el clúster. Esto permite que el Sincronizador de configuración reduzca los objetos que se quitaron de la fuente y el estado de la conciliación y sincronización de objetos agregados. No necesitas crear tus propios objetos ResourceGroup, ni tampoco debes modificar los que administra el Sincronizador de configuración.
Uso de objetos RootSync y RepoSync
Si instalaste el Sincronizador de configuración con Google Cloud Console o la CLI de Google Cloud, el servicio de Hub creará de forma automática un objeto RootSync llamado root-sync
. Consulta cómo controlar los repositorios raíz en un repositorio raíz para obtener información sobre cómo crear objetos RootSync adicionales.
Si instalaste el Sincronizador de configuración con kubectl
, consulta Controla los repositorios raíz en un repositorio raíz para obtener información sobre cómo crear objetos RootSync.
Para crear objetos RepoSync, consulta cómo controlar los repositorios de espacios de nombres en un repositorio raíz o cómo controlar los repositorios de espacios de nombres en un repositorio de espacios de nombres.
Además de sincronizar los objetos de Kubernetes completamente procesados, también puedes configurar el Sincronizador de configuración para usar un repositorio con configuraciones de Kustomize o gráficos de Helm.
Ciclo de vida de los objetos RootSync, RepoSync y ResourceGroup
Las definiciones de recursos personalizados RootSync, RepoSync y ResourceGroup se instalan cuando instalas el Sincronizador de configuración.
En el siguiente diagrama, se muestra una descripción general de cómo el Sincronizador de configuración crea los recursos RootSync, RepoSync y ResourceGroup:
Una vez creado, el administrador de conciliador se encarga de controlar el ciclo de vida del conciliador raíz y cada proceso del conciliador de espacio de nombres:
Campos RootSync y RepoSync
Las CRD de RootSync y RepoSync usan los mismos campos, excepto spec.sourceFormat
.
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.
|
Configuración del tipo de fuente
A partir de la versión 1.12.0 de Anthos Config Management, el Sincronizador de configuración admite la sincronización desde imágenes de OCI (vista previa). A partir de la versión 1.13.0 de Anthos Config Management, el Sincronizador de configuración admite la sincronización desde repositorios de Helm (Vista previa).
spec.sourceType
está configurado para especificar el 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.Configúralo como git si no se especifica. La validación de este campo distingue mayúsculas de minúsculas.Solo se pueden especificar spec.git y spec.oci según el tipo de fuente.
|
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. Valor predeterminado: master . |
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 (etiqueta, confirmación o hash) que puedes consultar. Valor predeterminado: HEAD . |
spec.git.secretRef.name |
El nombre del secreto que se usó para conectarse a la fuente de información de Git. |
spec.git.noSSLVerify 1 |
noSSLVerify especifica si se habilita o inhabilita la verificación del certificado SSL. Valor predeterminado: false. Si noSSLVerify se configura como verdadero, le indica a Git que omita la verificación del certificado SSL. Este campo es compatible con la versión 1.8.2 y versiones posteriores de Anthos Config Management. |
spec.git.caCertSecretRef.name 1 |
El nombre del secreto que contiene el certificado de la autoridad certificada (CA). Si se proporciona este campo, el servidor de Git debe usar un certificado emitido por esta CA. El certificado de CA debe almacenarse en el secreto con una clave denominada "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 URL sin adornos, pero http no se recomienda por 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
).
Si cambias de un REPO válido a una imagen de OCI con un formato no compatible, los recursos administrados se reducirán sin error.
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 , 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. |
Configuración del repositorio de Helm
Clave | Descripción |
---|---|
spec.helm.auth |
El tipo de autenticación configurado para el acceso al repositorio de Helm.
Debe ser token , gcenode , gcpserviceaccount o none . La validación de este campo distingue mayúsculas de 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 |
El nombre del [Secret](doc-path/how-to/installing-kubectl#helm-access) que se usa para acceder al repositorio de Helm. Este campo se usa solo cuando spec.helm.auth es token . |
spec.helm.repo |
La URL del repositorio de Helm desde la que se realiza la sincronización. 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. Predeterminado: la última versión. |
spec.helm.releaseName |
El nombre de la versión de Helm. |
spec.helm.namespace |
El espacio de nombres establece el espacio de nombres de destino para una versión. Este campo se usa solo 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.
Para los recursos que no tienen namespace: {{ .Release.Namespace }} en sus plantillas, se usará el espacio de nombres default . Configuración predeterminada: default |
spec.helm.values |
Valores para usar en lugar de valores predeterminados que acompañan al gráfico. Aplica a los valores el mismo formato que los valores predeterminados.yaml. Por ejemplo:
values: foo: bar: val1 quz: - val2 - val3Este campo es compatible con Anthos Config Management 1.13.1 y versiones posteriores. Consulta el manifiesto de ejemplo de Helm para obtener más información. |
spec.helm.includeCRDs |
Especifica si la plantilla de Helm debe generar CustomResourceDefinitions.
Valor predeterminado: false . |
spec.helm.period |
Duración entre sincronizaciones consecutivas. Valor predeterminado: 15s .
Los gráficos no se vuelven a extraer si se especifica un número de versión. No se puede volver a sincronizar gráficos con la versión más reciente en Vista previa. |
Configuración para anular las solicitudes y límites de recursos de un conciliador raíz o de espacio de nombres
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.resources 1 |
La lista de solicitudes de recursos de contenedor y anulaciones de límites. Opcional. Cada elemento de la lista contiene tres campos:
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 de la cantidad de confirmaciones de Git que se recuperarán
Clave | Descripción |
---|---|
spec.override.gitSyncDepth 1 |
gitSyncDepth te permite anular la cantidad de confirmaciones de Git que se recuperarán. 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.statusMode 1 |
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.reconcileTimeout 1 |
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 del acceso de shell en el proceso de procesamiento
Clave | Descripción |
---|---|
spec.override.enableShellInRendering 1 |
enableShellInRendering especifica si se habilita o se inhabilita el acceso al 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 . |
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 |
Se está recuperando la URL del repositorio de Helm. |
status.source.helmStatus.version |
Se está recuperando la versión de gráfico de Helm. |
status.source.helmStatus.chart |
El nombre del gráfico de Helm que se está recuperando. |
status.source.commit |
El hash de la confirmación o el resumen más reciente recuperado de la URL de origen. |
status.source.errors |
Una lista de los errores que se produjeron durante la lectura del repositorio. |
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 |
Se está procesando la URL del repositorio de Helm. |
status.rendering.helmStatus.version |
Se está procesando la versión de gráfico de Helm. |
status.rendering.helmStatus.chart |
El nombre del gráfico de Helm. |
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 que se produjeron cuando se renderizaron los recursos del cambio que indicó status.rendering.commit . |
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 |
Se está sincronizando la URL del repositorio de Helm. |
status.sync.helmStatus.version |
Se está sincronizando la versión de gráfico de Helm. |
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 cuando se aplicaron los recursos del cambio que indicó status.sync.commit . |
status.conditions |
Las últimas observaciones disponibles del estado actual del RootSync. |
1 Si creaste un archivo de configuración de RootSync después de instalar la consola de Google Cloud o Google Cloud CLI, puedes reemplazar este campo. Para obtener una lista completa, consulta Campos editables.
Campos de ResourceGroup
Campos de especificaciones y estados
Clave | Descripción |
---|---|
spec.resources |
La lista de identificadores (grupo, tipo, espacio de nombres, nombre) para los recursos que se aplican al clúster desde el repositorio de Git que se especifica en un CR de RepoSync o CR 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 se adoptó por última vez y que el controlador de ResourceGroup realizó acciones. 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 editables
Si instalaste el Sincronizador de configuración con Google Cloud Console o Google Cloud CLI, puedes Crear y editar un archivo de configuración de RootSync.
Si creas este archivo, puedes agregar los campos de la siguiente tabla al objeto RootSync. El Sincronizador de configuración revierte automáticamente los cambios a cualquier otro campo a los valores que estableciste cuando configuraste el Sincronizador de configuración por última vez en Google Cloud Console o Google Cloud CLI.
Clave | Descripción |
---|---|
spec.git.noSSLVerify |
noSSLVerify especifica si se habilita o se inhabilita la verificación del certificado SSL. Predeterminado: false .Si noSSLVerify está configurado en true , le indica a Git que omita la verificación del certificado SSL. |
spec.git.caCertSecretRef.name |
El nombre del secreto que contiene el certificado de autoridad certificada (CA). Si se proporciona este campo, el servidor Git debe usar un certificado emitido por esta CA. El certificado de CA debe almacenarse en el secreto con una clave denominada “cert”. |
spec.override.resources |
La lista de solicitudes de recursos de contenedores y anulaciones de límites. Opcional. Cada elemento de la lista contiene tres campos:
Cuando no se proporciona un valor de anulación para una solicitud o un límite de recursos, se usa el valor predeterminado del recurso de la solicitud o el límite. |
spec.override.gitSyncDepth |
gitSyncDepth te permite anular la cantidad de confirmaciones de Git que se recuperarán.No debe ser inferior a 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 de forma automática. |
spec.override.statusMode |
statusMode te permite habilitar o inhabilitar la captura del estado a nivel de recurso.El valor predeterminado es enabled .Para inhabilitar la captura del estado a nivel de recurso, establece este campo en disabled .
|
spec.override.reconcileTimeout |
reconcileTimeout te permite anular el límite de tiempo durante el que se debe esperar a que se concilien los recursos en un grupo de aplicaciones antes de abandonar. Todos los recursos de una confirmación pueden estar en varios grupos de aplicación según las dependencias.El tiempo de espera predeterminado es 5m .Usa una string para especificar este valor de campo, por ejemplo, 30s , 5m .
|
spec.override.enableShellInRendering |
enableShellInRendering especifica si se habilita o se inhabilita el acceso al shell en el proceso de procesamiento. Las bases remotas de Kustomize requieren acceso al shell. Configurar este campo en true habilita el acceso al shell en el proceso de procesamiento y admite la extracción de bases remotas de repositorios públicos.El valor predeterminado es false . |
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?
- Obtén más información para supervisar tus objetos de RootSync y RepoSync.