En esta página, se explica cómo configurar el Sincronizador de configuración con los comandos kubectl
después de
instalar el Sincronizador de configuración con la consola de Google Cloud o Google Cloud CLI.
Si bien puedes realizar muchos cambios de configuración con la consola o la CLI, debes usar los comandos kubectl
para anular algunos valores predeterminados del Sincronizador de configuración, controlar la verificación de certificados SSL y usar una autoridad certificadora.
Crea y edita el archivo de configuración de RootSync
Para configurar el Sincronizador de configuración con comandos kubectl
, debes editar un objeto RootSync creando un archivo YAML.
Cuando instalas el Sincronizador de configuración con la consola de Google Cloud o Google Cloud CLI, el Sincronizador de configuración crea de forma automática un objeto RootSync llamado root-sync
. Este objeto contiene la información de configuración más reciente del Sincronizador de configuración. Cada vez que realices un cambio en la consola de Google Cloud o
Google Cloud CLI, se actualizará root-sync
.
Obtén información sobre los campos que puedes editar con kubectl
Puedes realizar cambios avanzados en root-sync
con los comandos kubectl
para los campos que no son compatibles con la consola de Google Cloud o Google Cloud CLI. Si deseas crear y, luego, actualizar objetos RootSync o RepoSync directamente con comandos kubectl
, consulta Campos RootSync y RepoSync.
Antes de realizar cambios en el archivo YAML que crees en la siguiente sección, familiarízate con la siguiente tabla. En esta tabla, se enumeran los campos que puedes editar y agregar. Si editas campos que no aparecen en esta tabla, el Sincronizador de configuración revertirá automáticamente los cambios a los valores que estableciste la última vez que lo configuraste en la consola de Google Cloud o Google Cloud CLI.
Clave | Descripción |
---|---|
spec.git.noSSLVerify |
noSSLVerify especifica si se habilita o inhabilita la verificación del certificado SSL. Predeterminado: false .Si noSSLVerify se establece en true , le indica a Git que omita la verificación del certificado SSL. |
spec.git.caCertSecretRef.name |
Es el nombre del Secret que contiene el certificado de la autoridad certificadora (AC). Si se proporciona este campo, el servidor de Git debe usar un certificado emitido por esta AC. El certificado de la AC se debe almacenar en el secreto con 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:
Cuando no se proporciona un valor de anulación para una solicitud o un límite de recursos, se usa el valor del recurso predeterminado para 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 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 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 .
|
spec.override.reconcileTimeout |
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 cadena para especificar este valor de campo, por ejemplo, 30s ,
5m .
|
spec.override.enableShellInRendering |
enableShellInRendering especifica si se debe habilitar o inhabilitar el acceso a 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 renderización y admite la extracción de bases remotas desde repositorios públicos.El valor predeterminado es false . |
Crea el archivo
Para crear y editar un archivo de configuración para root-sync
, completa los siguientes pasos:
Para asegurarte de recuperar la información de configuración del clúster correcto, configura el acceso a la línea de comandos de
kubectl
:gcloud container clusters get-credentials CLUSTER_NAME \ --zone ZONE \ --project PROJECT_ID
Reemplaza lo siguiente:
CLUSTER_NAME
: El nombre del clúster que tiene la configuración del Sincronizador de configuración que deseas cambiar.ZONE
: Es la zona en la que creaste el clúster.PROJECT_ID
: El ID de tu proyecto
Copia la información de configuración del objeto RootSync que el Sincronizador de configuración creó en un archivo YAML:
kubectl get rootsync root-sync -n config-management-system -o yaml > FILE_NAME.yaml
Reemplaza
FILE_NAME
por un nombre para tu archivo de configuración.Abre el archivo YAML que creaste y realiza los cambios de configuración necesarios. Por ejemplo, para anular el límite de memoria del contenedor
git-sync
, agrega los siguientes campos en negrita:apiVersion: v1 items: - apiVersion: configsync.gke.io/v1beta1 kind: RootSync metadata: annotations: configmanagement.gke.io/managed-by-hub: "true" configmanagement.gke.io/update-time: "1644945169" creationTimestamp: "2022-02-15T17:12:52Z" generation: 1 name: root-sync namespace: config-management-system resourceVersion: "211980457" uid: aa30a94b-2825-4590-ad30-5af848403502 spec: git: auth: none branch: main dir: /quickstart/config-sync period: 15s repo: https://github.com/GoogleCloudPlatform/anthos-config-management-samples revision: HEAD secretRef: {} override: resources: - containerName: "git-sync" memoryLimit: "400Mi" sourceFormat: unstructured # Remainder of RootSync omitted
Aplica los cambios al archivo YAML:
kubectl apply -f FILE_NAME.yaml
Para verificar que el Sincronizador de configuración aplicó los cambios, consulta el objeto RootSync:
kubectl describe rootsync root-sync -n config-management-system
Para verificar que tus cambios no hayan introducido ningún error, usa el comando
nomos status
:nomos status
Configura la autoridad certificadora
En el caso de los servidores configurados con certificados de una autoridad certificadora (AC) que aún no es de confianza, el Sincronizador de configuración se puede configurar para usar un certificado de AC para verificar las conexiones HTTPS al servidor. Esto es compatible con los servidores de Git, Helm o OCI. El certificado de la AC debe incluir certificados SSL completos (raíz, intermedio o final).
Si tu servidor ya usa una AC de confianza o no te conectas a través de HTTPS, puedes omitir este paso y dejar caCertSecretRef
sin definir.
RootSync
Recupera el certificado de la AC que se usó para emitir el certificado de tu servidor de GitHub y guárdalo en un archivo.
En el caso de los objetos
RootSync
, el Secret debe crearse en el espacio de nombresconfig-management-system
. Por ejemplo:kubectl create secret generic ROOT_CA_CERT_SECRET_NAME
--namespace=config-management-system
--from-file=cert=/path/to/CA_CERT_FILECuando configures el objeto
RootSync
, establece el valor del campocaCertSecretRef.name
en el objetoRootSync
en ROOT_CA_CERT_SECRET_NAME.
RepoSync
Recupera el certificado de la AC que se usó para emitir el certificado de tu servidor de GitHub y guárdalo en un archivo.
En el caso de los objetos
RepoSync
, el Secret debe crearse en el mismo espacio de nombres que RepoSync. Por ejemplo:kubectl create secret generic NAMESPACE_CA_CERT_SECRET_NAME
--namespace=REPO_SYNC_NAMESPACE
--from-file=cert=/path/to/CA_CERT_FILECuando configures
RepoSync
, establece el valor del campocaCertSecretRef.name
en el objetoRepoSync
en NAMESPACE_CA_CERT_SECRET_NAME.
Quita el objeto RootSync
Para borrar root-sync
, ejecuta el siguiente comando:
kubectl delete -f FILE_NAME
Reemplaza FILE_NAME
por el nombre de tu archivo de configuración de RootSync. Por ejemplo, root-sync.yaml
Borrar un objeto RootSync o RepoSync no borra las anotaciones ni las etiquetas del Sincronizador de configuración. Para limpiar los recursos administrados, sincroniza desde un directorio de Git vacío.
¿Qué sigue?
- Obtén más información sobre los campos RootSync y RepoSync.
- Descubre cómo supervisar objetos RootSync y RepoSync.