Instala Config Connector

Config Connector es un complemento de Kubernetes que le permite administrar sus 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 automáticamente.

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.

  • Debe actualizar Anthos Config Management a v1.1.0 o 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. Establezca el valor de spec.configConnector.enabled en true en el archivo de configuración del operador:

    # config-management.yaml
    
    apiVersion: configmanagement.gke.io/v1
    kind: ConfigManagement
    metadata:
      name: config-management
      namespace: config-management-system
    spec:
      # clusterName is required and must be unique among all managed clusters
      clusterName: my-cluster
      git:
        syncRepo: git@github.com:my-github-username/csp-config-management.git
        syncBranch: 1.0.0
        secretType: ssh
        policyDir: "foo-corp"
      # Set to true to install and enable Config Connector
      configConnector:
        enabled: true
      ```
    
  2. Aplique la configuración con 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.

Configurar la cuenta de servicio cnrm-system

Antes de que Anthos Config Management pueda crear recursos de Google Cloud, Config Connector necesita autenticarse utilizando una cuenta de servicio de Cloud Identity and Access Management.

  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 automáticamente. Para obtener esta dirección de correo electrónico, use el siguiente comando:

    gcloud iam service-accounts list | grep cnrm-system
    

    Use este valor donde vea [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. Cree una clave para la cuenta de servicio, almacenada localmente como key.json:

    gcloud iam service-accounts keys create \
     --iam-account "[SERVICE_ACCOUNT_EMAIL]" \
     ./key.json
    
  5. Inyecte 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. Elimine la copia local de la clave, ya que contiene datos confidenciales:

    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.

Cómo verificar la instalación

Si Config Connector está instalado correctamente, su Pod y 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. Verifique que los CRD para cada tipo de recurso de Google Cloud compatible estén instalados en el clúster:

    kubectl get crds | grep cnrm.cloud.google.com
    

    Si Config Connector está instalado correctamente, 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?