En esta página, se explica cómo configurar el Sincronizador de configuración con los comandos de kubectldespués de que hayas
instalado el Sincronizador de configuración con la Cloud de Confiance consola o Google Cloud CLI.
Si bien puedes realizar muchos cambios de configuración con la consola o la CLI, debes usar los comandos de kubectl para anular algunos valores predeterminados del Sincronizador de configuración, controlar la verificación del certificado SSL y usar una autoridad certificadora.
Crea y edita el archivo de configuración de RootSync
Para configurar el Sincronizador de configuración con los comandos de kubectl, edita un
objeto RootSync mediante la creación
de un archivo YAML.
Cuando instalas el Sincronizador de configuración con la Cloud de Confiance consola o
Google Cloud CLI, el Sincronizador de configuración crea automáticamente un objeto RootSync llamado
root-sync. Este objeto contiene la información de configuración más reciente para el Sincronizador de configuración. Cada vez que realizas un cambio en la Cloud de Confiance consola o
Google Cloud CLI, root-sync se actualiza.
Obtén información sobre los campos que puedes editar con kubectl
Puedes realizar cambios avanzados en root-sync con los comandos de kubectl para los campos que no son compatibles con la Cloud de Confiance consola o Google Cloud CLI. Si deseas
crear y, luego, actualizar objetos RootSync o RepoSync directamente con los kubectl
comandos, consulta
Campos RootSync y RepoSync.
Antes de realizar cualquier cambio 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 revierte automáticamente los cambios a los valores que estableciste la última vez que configuraste el Sincronizador de configuración en la Cloud de Confiance consola o Google Cloud CLI.
| Clave | Descripción |
|---|---|
spec.helm |
Todos los campos para la configuración del repositorio de Helm. |
spec.override |
Todos los campos para anular las configuraciones predeterminadas. |
spec.git.noSSLVerify |
Especifica si se habilita o inhabilita la verificación del certificado SSL para Git. El valor predeterminado es false.
|
spec.git.caCertSecretRef.name |
El nombre del Secret que contiene el certificado de la autoridad certificadora (AC) para un repositorio de Git. |
spec.oci.caCertSecretRef.name |
El nombre del Secret que contiene el certificado de la autoridad certificadora (AC) para un repositorio de OCI. |
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_IDReemplaza lo siguiente:
CLUSTER_NAME: El nombre del clúster que tiene la configuración del Sincronizador de configuración que deseas cambiarZONE: Es la zona en la que creaste el clúster.PROJECT_ID: Es el ID del proyecto.
Copia la información de configuración del objeto RootSync que creó el Sincronizador de configuración en un archivo YAML:
kubectl get rootsync root-sync -n config-management-system -o yaml > FILE_NAME.yamlReemplaza
FILE_NAMEpor 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 omittedAplica los cambios al archivo YAML:
kubectl apply -f FILE_NAME.yamlPara verificar que el Sincronizador de configuración haya aplicado los cambios, consulta el objeto RootSync:
kubectl describe rootsync root-sync -n config-management-systemPara verificar que los cambios no hayan introducido ningún error, usa el
nomos statuscomando: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 y hoja).
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 configurar.
RootSync
Recupera el certificado de la AC que se usó para emitir el certificado de tu servidor de Git y guárdalo en un archivo.
Para 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.nameen el objetoRootSynccomo ROOT_CA_CERT_SECRET_NAME.
RepoSync
Recupera el certificado de la AC que se usó para emitir el certificado de tu servidor de Git y guárdalo en un archivo.
Para 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 el
RepoSync, establece el valor del campocaCertSecretRef.nameen el objetoRepoSynccomo 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 y 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.