Config Connector es un complemento de Kubernetes que te permite administrar los recursos de Google Cloud a través de la configuración de Kubernetes. Con Anthos Config Management, los usuarios de Anthos pueden instalar y desinstalar Config Connector de forma automática.
Antes de comenzar
Debe tener derecho a Anthos para instalar Config Connector mediante Anthos Config Management. Si no tiene derecho a Anthos, debe utilizar uno de los métodos de instalación alternativos de Config Connector en lugar de seguir las instrucciones de este tema.
Debes actualizar Anthos Config Management a la versión 1.1.0 o a una versión superior antes de seguir estas instrucciones.
Debe tener un clúster donde Config Connector no esté instalado.
Instalación de Config Connector con Anthos Config Management
Para instalar Config Connector usando Anthos Config Management, configura Anthos Config Management para instalar Config Connector en uno de tus clústeres, luego configura la cuenta de servicio cnrm-system
.
Configuración de Anthos Config Management
Configura el valor de
spec.configConnector.enabled
comotrue
en el archivo de configuración de Anthos Config Management:# config-management.yaml apiVersion: configmanagement.gke.io/v1 kind: ConfigManagement metadata: name: config-management spec: # Set to true to install and enable Config Connector configConnector: enabled: true # ...other fields... ```
Aplica la configuración mediante
kubectl apply
.kubectl apply -f config-management.yaml
El Pod se crea pero no se ejecuta hasta que configuras la cuenta de servicio cnrm-system
para administrar los recursos de Google Cloud en tu proyecto.
Cuando se aplica la configuración, también se crea el espacio de nombres cnrm-system
que, luego, puedes anotar.
Configura la cuenta de servicio cnrm-system
Antes de que Anthos Config Management pueda crear recursos de Google Cloud, Config Connector debe autenticarse mediante una cuenta de servicio de administración de identidades y accesos.
Crea la cuenta de servicio
cnrm-system
:gcloud iam service-accounts create cnrm-system --project [PROJECT_ID]
La cuenta de servicio tiene asociada una dirección de correo electrónico generada de forma automática. Para obtener esta dirección de correo electrónico, usa el siguiente comando:
gcloud iam service-accounts list | grep cnrm-system
Usa este valor cuando veas [SERVICE_ACCOUNT_EMAIL] en los siguientes comandos.
Otorga las funciones y los permisos de la cuenta de servicio
cnrm-system
necesarios para configurar los recursos específicos de Google Cloud que necesitas. Este ejemplo otorga la funciónroles/owner
:gcloud projects add-iam-policy-binding [PROJECT_ID] \ --member "serviceAccount:[SERVICE_ACCOUNT_EMAIL]" \ --role "roles/owner"
Crea una clave para la cuenta de servicio, que se almacena de forma local como
key.json
:gcloud iam service-accounts keys create \ --iam-account "[SERVICE_ACCOUNT_EMAIL]" \ ./key.json
Incorpora la clave en el espacio de nombres
cnrm-system
en el clúster:kubectl create secret generic gcp-key \ --from-file ./key.json \ --namespace cnrm-system
Quita la copia local de la clave, ya que contiene datos sensibles:
rm ./key.json
Config Connector ahora puede administrar los recursos de Google Cloud al sincronizar las configuraciones almacenadas en tu repositorio con los clústeres inscritos en Anthos Config Management.
Especifica en que ubicación crear tus recursos
Antes de crear recursos mediante Anthos Config Management, debes configurar en qué ubicación crearlos. Para determinar dónde crear el recurso, Config Connector usa una anotación en la configuración del recurso o en el espacio de nombres. Para obtener más información, consulta Organiza recursos.
Puedes crear recursos en un proyecto, una carpeta o una organización, que es la misma forma en que organizarías los recursos con Google Cloud.
Proyecto
Para crear recursos en un proyecto determinado, ejecuta el siguiente comando y reemplaza [NAMESPACE_NAME] por el nombre de tu espacio de nombres y [PROJECT_ID] por el ID del proyecto de Google Cloud:
kubectl annotate namespace \
[NAMESPACE_NAME] cnrm.cloud.google.com/project-id=[PROJECT_ID]
Carpeta
Para crear recursos en una carpeta determinada, ejecuta el siguiente comando y reemplaza [NAMESPACE_NAME] por el nombre de tu espacio de nombres y [FOLDER_ID] por el ID de la carpeta de Google Cloud:
kubectl annotate namespace \
[NAMESPACE_NAME] cnrm.cloud.google.com/folder-id=[FOLDER_ID]
Organización
Para crear recursos en una organización determinada, ejecuta el siguiente comando y reemplaza [NAMESPACE_NAME] por el nombre de tu espacio de nombres y [ORGANIZATION_ID] por el ID de la organización de Google Cloud:
kubectl annotate namespace \
[NAMESPACE_NAME] cnrm.cloud.google.com/organization-id=[ORGANIZATION_ID]
Cuando anotas el espacio de nombres, Config Connector crea recursos en el proyecto, la carpeta o la organización correspondiente. Para obtener más información sobre cómo Config Connector usa los espacios de nombres de Kubernetes, consulta Espacios de nombres de Kubernetes y proyectos de Google Cloud.
Revisa la instalación
Si Config Connector se instala de forma adecuada, su pod y su CRD existen en el clúster.
Verifique que el Pod de Config Connector se esté ejecutando:
kubectl wait -n cnrm-system \ --for=condition=Initialized pod \ cnrm-controller-manager-0
Si Config Connector está instalado correctamente, el resultado es similar al siguiente:
pod/cnrm-controller-manager-0 condition met
Verifica que los CRD para cada tipo de recurso compatible de Google Cloud estén instalados en el clúster:
kubectl get crds | grep cnrm.cloud.google.com
Si Config Connector se instala de forma adecuada, el comando enumera los recursos que terminan en
.cnrm.cloud.google.com
, comobigquerydatasets.bigquery.cnrm.cloud.google.com
.
Desinstalar Config Connector
Para deshabilitar y desinstalar Config Connector, edite el archivo de configuración de Anthos Config Management y establezca el valor de spec.configConnector.enabled
en falso.
El Pod de Config Connector se detiene y elimina y se quitan los CRD de cada tipo de recurso de Google Cloud. Los recursos existentes de Google Cloud no se modifican.
¿Qué sigue?
- Obtenga más información sobre Config Connector
- Obtén información sobre cómo configurar recursos de Google Cloud mediante Anthos Config Management.