Instalar con el complemento de GKE


En esta página, se describe cómo instalar Config Connector en un clúster de Google Kubernetes Engine (GKE) mediante el complemento de Config Connector.

Para obtener detalles sobre cada opción de instalación con sus ventajas y desventajas, consulta Elige un tipo de instalación.

Antes de comenzar

Antes de comenzar, asegúrate de haber realizado las siguientes tareas:

  • Habilita la API de Google Kubernetes Engine.
  • Habilitar la API de Google Kubernetes Engine
  • Si deseas usar Google Cloud CLI para esta tarea, instala y, luego, inicializa la CLI de gcloud.

Instala el complemento de Config Connector

Para usar el complemento de Config Connector, crea un clúster de GKE nuevo o habilítalo en un clúster existente. Después de instalar el complemento de Config Connector, debes configurar la instalación de Config Connector con las Cuentas de servicio de Google y los espacios de nombres.

Requisitos

El complemento Config Connector tiene los siguientes requisitos:

Configura un clúster de GKE

Puedes usar el complemento de Config Connector en un clúster nuevo o existente.

Crea un clúster nuevo con el complemento de Config Connector habilitado

Puedes crear un clúster de GKE con gcloud CLI o Google Cloud Console.

gcloud

Para crear un clúster con Google Cloud CLI, ejecuta el siguiente comando:

gcloud container clusters create CLUSTER_NAME \
    --release-channel CHANNEL \
    --addons ConfigConnector \
    --workload-pool=PROJECT_ID.svc.id.goog \
    --logging=SYSTEM \
    --monitoring=SYSTEM

Reemplaza lo siguiente:

  • CLUSTER_NAME por el nombre de tu clúster de GKE.
  • CHANNEL por un canal de versiones de GKE, se admiten rapid y regular.
  • PROJECT_ID por el ID del proyecto de Google Cloud.

Consola de Google Cloud

Para crear un clúster con la consola de Google Cloud, sigue estos pasos:

  1. Dirígete al menú de Google Kubernetes Engine en la consola de Google Cloud.

    Ir al menú Google Kubernetes Engine

  2. Haz clic en Crear. Aparecerá la página Crea un clúster de Kubernetes.

  3. Especifica un Nombre para tu clúster.

  4. Elige una Versión principal compatible.

  5. Configura el resto de tu clúster como desees.

  6. En el panel de navegación, en Clúster, haz clic en Seguridad.

  7. Selecciona la casilla de verificación Habilitar Workload Identity.

  8. En el panel de navegación del lado izquierdo, en Clúster, haz clic en Funciones.

  9. Selecciona la casilla de verificación Habilitar Config Connector.

  10. Haz clic en Crear.

Después de crear el clúster, ve a Crea una identidad.

Habilitar el complemento de Config Connector en un clúster existente

Puedes habilitar el complemento de Config Connector en un clúster de GKE existente con gcloud o la consola de Google Cloud.

Requisitos previos

Habilitar el complemento de Config Connector en un clúster existente tiene los siguientes requisitos:

  • Necesitas un clúster que cumpla con los requisitos para el complemento de Config Connector.
  • Configura Workload Identity en el clúster en el que quieres instalar Config Connector.

Si quieres habilitar Workload Identity para un grupo de nodos, usa la herramienta de línea de comandos de gcloud:

gcloud container node-pools update NODE_POOL \
    --workload-metadata=GKE_METADATA \
    --cluster CLUSTER_NAME

Reemplaza lo siguiente:

  • NODE_POOL con el nombre de tu grupo de nodos
  • Reemplaza CLUSTER_NAME por el nombre del clúster.
Habilita el complemento de Config Connector

Puedes habilitar el complemento de Config Connector en un clúster de GKE existente con Google Cloud CLI o Google Cloud Console.

gcloud

Para habilitar el complemento de Config Connector en un clúster de GKE existente, usa Google Cloud CLI:

gcloud container clusters update CLUSTER_NAME \
    --update-addons ConfigConnector=ENABLED

Reemplaza CLUSTER_NAME por el nombre de tu clúster de GKE.

Consola de Google Cloud

  1. Dirígete al menú de Google Kubernetes Engine en la consola de Google Cloud.

    Ir al menú Google Kubernetes Engine

  2. Selecciona el clúster en el que deseas instalar Config Connector. Aparecerá la página Detalles del clúster.

  3. En la sección Características, busca la fila de Config Connector y haz clic en Editar.

  4. Selecciona la casilla de verificación Habilitar Config Connector y haz clic en Guardar cambios para actualizar tu clúster.

Crea una identidad

Config Connector crea y administra recursos de Google Cloud mediante la autenticación con una cuenta de servicio de administración de identidades y accesos (IAM) y mediante Workload Identity de GKE para vincular cuentas de servicio de IAM con cuentas de servicio de Kubernetes.

Para crear la identidad, sigue estos pasos:

  1. Crea una cuenta de servicio de IAM. Si deseas usar una cuenta de servicio existente, puedes usarla y omitir este paso.

    Para crear la cuenta de servicio, usa el siguiente comando:
      gcloud iam service-accounts create SERVICE_ACCOUNT_NAME
    Reemplaza SERVICE_ACCOUNT_NAME por un nombre para tu cuenta de servicio.
  2. Para obtener más información sobre cómo crear cuentas de servicio, consulta Crea y administra cuentas de servicio.

  3. Otorga a la cuenta de servicio de IAM permisos elevados en tu proyecto:
    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" \
        --role="roles/editor"
    Reemplaza lo siguiente:
    • PROJECT_ID por el ID del proyecto
    • SERVICE_ACCOUNT_NAME por el nombre de tu cuenta de servicio
  4. Crea una vinculación de política de IAM entre la cuenta de servicio de IAM y la cuenta de servicio predefinida de Kubernetes que ejecuta Config Connector:
    gcloud iam service-accounts add-iam-policy-binding \
    SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com \
        --member="serviceAccount:PROJECT_ID.svc.id.goog[cnrm-system/cnrm-controller-manager]" \
        --role="roles/iam.workloadIdentityUser"
    Reemplaza lo siguiente:
    • SERVICE_ACCOUNT_NAME por el nombre de tu cuenta de servicio
    • PROJECT_ID por el ID del proyecto

Configuración de Config Connector

A fin de completar la instalación, crea un archivo de configuración para el CustomResource de ConfigConnector y, luego, aplícalo mediante el comando kubectl apply. El operador de Config Connector instala CRD de recursos de Google Cloud y componentes de Config Connector en tu clúster.

Para configurar el operador, completa los siguientes pasos:

  1. Copia el siguiente archivo YAML en un archivo llamado configconnector.yaml:
    # configconnector.yaml
    apiVersion: core.cnrm.cloud.google.com/v1beta1
    kind: ConfigConnector
    metadata:
      # the name is restricted to ensure that there is only one
      # ConfigConnector resource installed in your cluster
      name: configconnector.core.cnrm.cloud.google.com
    spec:
     mode: cluster
     googleServiceAccount: "SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com"
    
    Reemplaza lo siguiente:
    • SERVICE_ACCOUNT_NAME por el nombre de tu cuenta de servicio
    • PROJECT_ID por el ID del proyecto
  2. Aplica la configuración a tu clúster con kubectl apply:
      kubectl apply -f configconnector.yaml

Especifica en que ubicación crear tus recursos

Config Connector puede organizar los recursos por proyecto, carpeta u organización, de la misma manera que organizarías los recursos con Google Cloud.

Antes de crear recursos con Config Connector, debes configurar dónde crear los recursos. 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.

Si no tienes un espacio de nombres para este fin, crea uno con kubectl.
kubectl create namespace NAMESPACE

Reemplaza NAMESPACE por el nombre de tu espacio de nombres. Por ejemplo config-connector.

Selecciona una pestaña para elegir dónde deseas que Config Connector cree recursos.

Proyecto

Para crear recursos en un proyecto determinado, ejecuta el siguiente comando:

    kubectl annotate namespace \
    NAMESPACE cnrm.cloud.google.com/project-id=PROJECT_ID

Reemplaza lo siguiente:

  • NAMESPACE por tu nombre de espacio de nombres.
  • PROJECT_ID por el ID del proyecto de Google Cloud

Carpeta

Para crear recursos en una carpeta determinada, ejecuta el siguiente comando:

    kubectl annotate namespace \
    NAMESPACE cnrm.cloud.google.com/folder-id=FOLDER_ID

Reemplaza lo siguiente:

  • NAMESPACE por tu nombre de espacio de nombres.
  • FOLDER_ID por tu ID de carpeta de Google Cloud.

Organización

Para crear recursos en una organización determinada, ejecuta el siguiente comando:

    kubectl annotate namespace \
    NAMESPACE cnrm.cloud.google.com/organization-id=ORGANIZATION_ID

Reemplaza lo siguiente:

  • NAMESPACE por tu nombre de espacio de nombres.
  • ORGANIZATION_ID por el ID de la organización de Google Cloud.

Cuando anotas el espacio de nombres, Config Connector crea recursos en el proyecto, la carpeta o la organización correspondiente. Si deseas obtener más información para Config Connector usa los espacios de nombres de Kubernetes, consulta Espacios de nombres de Kubernetes y proyectos de Google Cloud.

Verifica tu instalación

Config Connector ejecuta todos sus componentes en un espacio de nombres llamado cnrm-system. Puedes verificar que los Pods estén listos si ejecutas el siguiente comando:

kubectl wait -n cnrm-system \
      --for=condition=Ready pod --all

Si Config Connector está instalado de forma correcta, el resultado es similar al siguiente:

pod/cnrm-controller-manager-0 condition met

Actualiza Config Connector

Google Cloud administra las actualizaciones del complemento de Config Connector del clúster.

Los recursos del clúster se conservan cada vez que se produce una actualización.

Lee sobre cómo Google Cloud administra las actualizaciones del complemento de Config Connector, o bien consulta cómo obtener la versión más reciente del Config Connector.

Cómo administra Google Cloud las actualizaciones de complementos de Config Connector

La versión de Config Connector que obtiene un clúster de GKE depende completamente de la versión menor de GKE. Por ejemplo:

Versión secundaria de GKE Versión de Config Connector
1.20 1,69,0
1.21 1,69,0
1.22 1,71,0
1.23 1,82,0
1.24 1,89,0

Cada dos semanas, Google Cloud vuelve a asignar las versiones secundarias de GKE más recientes a una versión más reciente del Config Connector. Esto se hace para todas las versiones secundarias de GKE que son lo suficientemente nuevas para que no estén disponibles en los canales de versiones regular o estable.

Dado que la versión del Config Connector que obtiene un clúster depende de la versión secundaria de GKE del clúster, hay dos casos en los que Google Cloud actualiza de forma automática el complemento de Config Connector:

  1. El clúster se actualiza a una nueva versión secundaria de GKE que se asigna a una versión más reciente del Config Connector.

  2. El clúster se encuentra en una versión secundaria de GKE que es lo suficientemente nueva para que no esté disponible en los canales de versiones estándar o estable, y Google Cloud vuelve a asignar esa versión secundaria de GKE a una nueva versión de Config Connector.

Cuando Google Cloud vuelve a asignar una versión secundaria de GKE y actualiza los clústeres existentes a una nueva versión de Config Connector, se dice que “lanza una versión nueva de Config Connector” a esa versión secundaria de GKE.

Google Cloud no lanza versiones nuevas de Config Connector en versiones secundarias de GKE que son lo suficientemente antiguas como para estar disponibles en las versiones de canales de versiones regular o estable por razones de estabilidad, excepto en situaciones de emergencia en las que se detectó un problema generalizado.

Cómo obtener la versión más reciente de Config Connector

La versión del Config Connector instalada a través del complemento de Config Connector puede ser considerablemente mayor hasta por 12 meses si no siempre usas la última versión de GKE secundaria. Si necesitas la versión más reciente del Config Connector, te recomendamos cambiar a Config Controller o instalar Config Connector de forma manual. Las instrucciones para la migración de cada opción son las siguientes:

Si deseas permanecer en el complemento de Config Connector y tratar de obtener la última versión de Config Connector, debes asegurarte de que tu clúster esté en una versión secundaria de GKE que sea lo suficientemente nueva como para no estar disponible en los canales de versiones regulares o estables.

Existen dos maneras de hacerlo:

  1. Inscribe el clúster en el canal de versiones rápido.

    Esta opción tiene una desventaja: es posible que el clúster se actualice a una versión secundaria de GKE que esté disponible en ambos canales: el rápido y el normal. Cuando esto suceda, Config Connector no se actualizará a la versión más reciente hasta que el clúster se actualice a una versión secundaria de GKE más reciente que solo esté disponible en Rapid.

  2. Actualiza tu clúster de forma manual.

Puedes determinar la versión de GKE de tu clúster mediante los siguientes comandos:

  • Para clústeres regionales:

    gcloud container clusters describe NAME \
        --region REGION --format "value(currentMasterVersion)"
    

    Reemplaza lo siguiente:

    • NAME por el nombre del clúster
    • REGION por la región de tu clúster
  • Para clústeres zonales:

    gcloud container clusters describe NAME \
        --zone ZONE --format "value(currentMasterVersion)"
    

    Reemplaza lo siguiente:

    • NAME por el nombre del clúster
    • ZONE por la zona de tu clúster

Para determinar qué versiones de GKE están disponibles en qué canales de versiones, consulta Cómo visualizar las versiones predeterminadas y disponibles para los canales de versiones.

Desinstalar Config Connector

Para desinstalar Config Connector, completa los siguientes pasos:

  1. Usa kubectl delete para quitar las CRD de Config Connector junto con los componentes del controlador:

    kubectl delete ConfigConnector configconnector.core.cnrm.cloud.google.com --wait=true
    
  2. Inhabilita el complemento Config Connector en tu clúster mediante la CLI de gcloud o la consola de Google Cloud:

    gcloud

    Para inhabilitar el complemento Config Connector con gcloud, ejecuta el siguiente comando:

    gcloud container clusters update CLUSTER_NAME --update-addons ConfigConnector=DISABLED
    

    Reemplaza CLUSTER_NAME por el nombre del clúster que tiene instalado el complemento Config Connector.

    consola de Cloud

    Para inhabilitar el complemento de Config Connector desde la consola de Google Cloud, sigue estos pasos.

    1. Ve a la página Clústeres de Google Kubernetes Engine en Google Cloud Console y selecciona el clúster que deseas actualizar.

      Ir al menú Google Kubernetes Engine

    2. Haga clic en Editar. Aparecerá la pantalla Editar clústeres.

    3. Haz clic en Complementos.

    4. Selecciona Config Connector y elige Inhabilitado.

    5. Haz clic en Guardar para actualizar tu clúster.

¿Qué sigue?