Esta página está destinada a los administradores de la plataforma.
En esta página, se describe cómo instalar Anthos Config Management.
Anthos Config Management te permite aplicar políticas y opciones de configuración a tus clústeres de Anthos de forma declarativa mediante la implementación automática de la configuración nueva de un repositorio central de Git. Consulta la documentación de Anthos Config Management para obtener más información.
Puedes instalar Anthos Config Management mediante el centro de administración o mediante kubectl. Debes tener un repositorio de Git antes de instalar Anthos Config Management.
Instala desde el centro de administración
Para configurar Anthos Config Management en tu clúster de usuario, navega a la pestaña Administración de la configuración y haz clic en Configuración. Luego, sigue las instrucciones que se indican en la página para finalizar la configuración.
También puedes actualizar una instalación existente de Anthos Config Management. Haz clic en el vínculo debajo de la columna Versión para modificar la configuración existente.
Instala con kubectl
La instalación de Anthos Config Management con kubectl
es un proceso de dos pasos.
Primero, configura las claves SSH para que el Sincronizador de configuración se autentique con tu repositorio de Git. Luego, instala los recursos de Anthos Config Management, ConfigManagementFeatureSpec
y ConfigManagementBinding
, en el clúster.
También puedes usar kubectl
para actualizar una instalación existente de Anthos Config Management.
Configura claves SSH
Un par de claves SSH consta de dos archivos, una clave pública y una clave privada. Por lo general, la clave pública tiene una extensión .pub
.
Crea un par de claves SSH para permitir que el Sincronizador de configuración se autentique en tu repositorio de Git. Puedes usar un solo par de claves para todos los clústeres o un par de claves por clúster, según tus requisitos de seguridad y cumplimiento.
El siguiente comando crea una clave RSA de 4096 bits. No se recomiendan valores más bajos:
ssh-keygen -t rsa -b 4096 \ -C GIT_REPOSITORY_USERNAME \ -N '' \ -f /path/to/KEYPAIR_FILENAME
Reemplaza lo siguiente:
GIT_REPOSITORY_USERNAME
: El nombre de usuario que deseas que el Sincronizador de configuración use para autenticarse en el repositorio./path/to/KEYPAIR_FILENAME
: Es la ruta de acceso al resultado del par de claves.
Configura el repositorio para que reconozca la clave pública que acabas de crear. Consulta la documentación de tu proveedor de hosting de Git.
Agrega la clave privada a un objeto secreto nuevo del clúster de usuario.
kubectl create ns config-management-system --kubeconfig=USER_CLUSTER_KUBECONFIG && \ kubectl create secret generic git-creds --kubeconfig=USER_CLUSTER_KUBECONFIG \ --namespace=config-management-system \ --from-file=ssh=/path/to/KEYPAIR_PRIVATE_KEY_FILENAME
Reemplaza lo siguiente:
USER_CLUSTER_KUBECONFIG
: El archivo de configuración del clúster de usuario. Puedes obtenerla en el centro de administración./path/to/KEYPAIR_PRIVATE_KEY_FILENAME
: El nombre de la clave privada (el archivo sin el sufijo.pub
)
Borra la clave privada del disco local o protégela.
Configura ConfigManagementFeatureSpec
y ConfigManagementBinding
A continuación, crea un recurso ConfigManagementFeatureSpec
en el clúster:
kubectl apply -f CONFIG_MANAGEMENT_YAML --kubeconfig=ADMIN_OIDC_KUBECONFIG
Reemplaza lo siguiente:
- ADMIN_OIDC_KUBECONFIG: Credenciales de OIDC para el clúster de administrador. Consulta Acceder con OIDC al servidor de la API de Kubernetes del clúster de administrador para obtener instrucciones.
- CONFIG_MANAGEMENT_YAML: es la ruta de acceso al archivo de configuración para el recurso
ConfigManagementFeatureSpec
. Consulta el siguiente ejemplo:
apiVersion: managementcenter.anthos.cloud.google.com/v1
kind: ConfigManagementFeatureSpec
metadata:
name: config-management-spec-sample
namespace: anthos-management-center
spec:
version: "1.8.2"
git:
syncRepo: "git@GIT_HOST_ADDRESS:REPO_NAME.git"
policyDir: "."
secretType: "ssh"
syncBranch: "master"
syncRev: "HEAD"
syncWait: 15
policyController:
enabled: true
---
apiVersion: managementcenter.anthos.cloud.google.com/v1
kind: ConfigManagementBinding
metadata:
name: config-management-binding-sample
namespace: anthos-management-center
spec:
configs:
- configRef:
name: config-management-spec-sample
namespace: anthos-management-center
placement:
clusterIDs:
- "CLUSTER-NAME"
Reemplaza lo siguiente:
GIT_HOST_ADDRESS
: La dirección del host del repositorio de Git.REPO_NAME
: El nombre del repositorio de Git.CLUSTER-NAME
: Es el nombre del clúster.
Actualiza
Puedes actualizar Anthos Config Management si modificas el ConfigManagementFeatureSpec
correspondiente.
Por ejemplo, para habilitar la característica Repositorio no estructurado, actualiza la ConfigManagementFeatureSpec
:
apiVersion: managementcenter.anthos.cloud.google.com/v1
kind: ConfigManagementFeatureSpec
metadata:
name: config-management-spec-sample
namespace: anthos-management-center
spec:
version: "1.8.2"
sourceFormat: "unstructured"
git:
syncRepo: "git@<YOUR_GIT_HOST_ADDRESS>:<YOUR_UNSTRUCTURED_REPO>.git"
policyDir: "."
secretType: "ssh"
syncBranch: "master"
syncRev: "HEAD"
syncWait: 15
policyController:
enabled: true
Visualiza el estado de Anthos Config Management
Puedes ver el estado de Anthos Config Management si consultas el recurso ConfigManagementBinding
.
kubectl get ConfigManagementBinding -o \
jsonpath="{range .items[*].status.bindingItemStatuses[*]}{'\n'}{['clusterID', 'configRef', 'conditions']}" \
--namespace=anthos-management-center \
--kubeconfig=ADMIN_OIDC_KUBECONFIG \
| grep CLUSTER-NAME
Reemplaza lo siguiente:
ADMIN_OIDC_KUBECONFIG
: Credenciales de OIDC para el clúster de administrador. Consulta Acceder con OIDC al servidor de la API de Kubernetes del clúster de administrador para obtener instrucciones.CLUSTER-NAME
: Es el nombre del clúster.
A continuación, se muestra un resultado de ejemplo con Anthos Config Management en buen estado:
target-user-cluster-1 {"name":"new-spec-f75y8","namespace":"anthos-management-center"} [{"lastTransitionTime":"2021-05-27T18:06:27Z","message":"","observedGeneration":1,"reason":"Healthy","status":"True","type":"Ready"}]
¿Qué sigue?
- Obtén información sobre Anthos Config Management.