Instalar Config Connector

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

  1. Configura el valor de spec.configConnector.enabled como true 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...
      ```
    
  2. 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.

  1. Crea la cuenta de servicio cnrm-system:

    gcloud iam service-accounts create cnrm-system --project [PROJECT_ID]
    
  2. 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.

  3. 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ón roles/owner:

    gcloud projects add-iam-policy-binding [PROJECT_ID] \
     --member "serviceAccount:[SERVICE_ACCOUNT_EMAIL]" \
     --role "roles/owner"
    
  4. 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
    
  5. 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
    
  6. 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.

  1. 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

  2. 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, como bigquerydatasets.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?