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 the
gcloud CLI. Si ya instalaste gcloud CLI, ejecuta el comando
gcloud components updatepara obtener la versión más reciente. Es posible que las versiones anteriores de gcloud CLI no admitan la ejecución de los comandos de este documento.
Selecciona o crea un Google Cloud proyecto para instalar Config Connector.
Si ya instalaste Config Connector de forma manual , desinstálalo antes de instalar el complemento de Config Connector:
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:
Debes usar una versión de GKE de lo siguiente:
- 1.15.11-gke.5 y posteriores
- 1.16.8-gke.8 y posteriores
- 1.17.4-gke.5 y posteriores
Debes habilitar un grupo de Workload Identity y Kubernetes Engine Monitoring en los clústeres en los que habilites Config Connector.
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 la Google Cloud consola.
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
rapidyregular. - PROJECT_ID por el ID del Google Cloud proyecto
Google Cloud Consola de
Para crear un clúster con la Google Cloud consola, sigue estos pasos:
Visita el menú Google Kubernetes Engine en la consola. Google Cloud
Haga clic en Crear. Aparecerá la página Crea un clúster de Kubernetes.
Especifica un Nombre para tu clúster.
Elige una Versión principal compatible.
Configura el resto de tu clúster como desees.
En el panel de navegación, en Clúster, haz clic en Seguridad.
Selecciona la casilla de verificación Habilitar Workload Identity.
En el panel de navegación del lado izquierdo, en Clúster, haz clic en Funciones.
Selecciona la casilla de verificación Habilitar Config Connector.
Haga 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 Google Cloud consola.
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 la federación de identidades para cargas de trabajo para GKE en el clúster en el que quieres instalar Config Connector.
Para habilitar la federación de identidades para cargas de trabajo para GKE en 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 la Google Cloud consola.
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.
Google Cloud Consola de
Visita el menú Google Kubernetes Engine en la consola. Google Cloud
Selecciona el clúster en el que deseas instalar Config Connector. Aparecerá la página Detalles del clúster.
En la sección Características, busca la fila de Config Connector y haz clic en Editar.
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 Google Cloud recursos mediante la autenticación con una cuenta de servicio de Identity and Access Management (IAM) y el uso de la federación de identidades para cargas de trabajo para GKE para vincular cuentas de servicio de IAM con cuentas de servicio de Kubernetes.
Para crear la identidad, sigue estos pasos:
Crea una cuenta de servicio de IAM. Si deseas usar una cuenta de servicio existente, puedes usarla y omitir este paso:
gcloud iam service-accounts create SERVICE_ACCOUNT_NAMEReemplaza SERVICE_ACCOUNT_NAME por un nombre para la cuenta de servicio.
Si deseas obtener más información para crear cuentas de servicio, consulta Crea y administra cuentas de servicio.
Otorga permisos elevados a la cuenta de servicio de IAM 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 PROJECT_ID con el ID del proyecto.
Crea una vinculación de política de IAM entre la cuenta de servicio de IAM y la cuenta de servicio de Kubernetes predefinida 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"
Configuración de Config Connector
A fin de completar la instalación, crea un archivo de configuración para
el ConfigConnector
CustomResource y, luego, aplícalo mediante el comando kubectl apply. El operador de Config Connector instala
Google Cloud los componentes de CRD de recursos y los componentes de Config Connector en tu clúster.
Para configurar el operador como modo de clúster, completa los siguientes pasos:
-
Copia el siguiente YAML en un archivo llamado
configconnector.yaml: Reemplaza lo siguiente:# 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" # Setting `stateIntoSpec` to `Absent` is recommended. It means setting `cnrm.cloud.google.com/state-into-spec` # annotation to `absent` for all Config Connector resources created in the cluster in the future. # It prevents Config Connector from populating unspecified fields into the spec. stateIntoSpec: Absent
SERVICE_ACCOUNT_NAMEpor el nombre de tu cuenta de servicioPROJECT_IDpor el ID del proyecto
-
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 conkubectl.
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:
NAMESPACEpor tu nombre de espacio de nombres.PROJECT_IDpor el ID del proyecto 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:
NAMESPACEpor tu nombre de espacio de nombres.FOLDER_IDpor tu Google Cloud ID de carpeta
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:
NAMESPACEpor tu nombre de espacio de nombres.ORGANIZATION_IDpor tu Google Cloud ID de organización.
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 Google Cloud proyectos.
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 correctamente, el resultado es similar al siguiente:
pod/cnrm-controller-manager-0 condition met
Actualiza Config Connector
Las actualizaciones del complemento de Config Connector de tu clúster se administran con Google Cloud.
Los recursos de tu 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 salta a cómo obtener la versión más reciente de Config Connector.
Cómo Google Cloud administra las actualizaciones del complemento de Config Connector
La versión de Config Connector que obtiene un clúster de GKE depende por completo de la versión secundaria de GKE del clúster. 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 |
A medida que las versiones califican, Google Cloud vuelve a asignar las versiones secundarias más recientes de GKE a una versión de Config Connector recién lanzada. Esto se hace para todas las versiones secundarias de GKE que son lo suficientemente nuevas como para no estar disponibles en los canales de versiones Regular o Estable.
Dado que la versión de Config Connector que obtiene un clúster depende de la versión secundaria de GKE del clúster, hay dos casos en los queactualiza automáticamente el complemento de Config Connector de un clúster Google Cloud:
El clúster se actualiza a una nueva versión secundaria de GKE que se asigna a una versión más reciente de Config Connector.
El clúster está en una versión secundaria de GKE que es lo suficientemente nueva como para no estar disponible en los canales de versiones Regular o Estable, y Google Cloud vuelve a asignar esa versión secundaria de GKE a una versión nueva de Config Connector.
Cuandovuelve a asignar una versión secundaria de GKE y actualiza los clústeres existentes a una versión nueva de Config Connector, se dice que está "implementando una versión nueva de Config Connector" en esa versión secundaria de GKE. Google Cloud
Google Cloud no implementa versiones nuevas de Config Connector en versiones secundarias de GKE que son lo suficientemente antiguas como para estar disponibles en los canales de versiones Regular o Estable por motivos 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 de Config Connector instalada a través del complemento de Config Connector suele tener una antigüedad de hasta 12 meses o más. Si necesitas la versión más reciente de Config Connector versión, te recomendamos que cambies a Config Controller o que instales Config Connector de forma manual y realices las actualizaciones por tu cuenta. Las instrucciones de migración para cada opción son las siguientes:
Para cambiar a Config Controller, sigue las instrucciones de migración de Config Controller para migrar tus recursos existentes de Config Connector a una instancia de Config Controller.
Para instalar Config Connector de forma manual, sigue las instrucciones para cambiar del complemento de Config Connector a la instalación manual.
Desinstalar Config Connector
Para desinstalar Config Connector, completa los siguientes pasos:
Usa
kubectl deletepara quitar las CRD de Config Connector junto con los componentes del controlador:kubectl delete ConfigConnector configconnector.core.cnrm.cloud.google.com --wait=trueInhabilita el complemento de Config Connector en tu clúster con gcloud CLI o la Google Cloud consola:
gcloud
Para inhabilitar el complemento Config Connector con
gcloud, ejecuta el siguiente comando:gcloud container clusters update CLUSTER_NAME --update-addons ConfigConnector=DISABLEDReemplaza CLUSTER_NAME por el nombre del clúster que tiene instalado el complemento Config Connector.
Consola de Cloud
Para inhabilitar el complemento Config Connector de la Google Cloud consola, realiza los siguientes pasos.
Ve a la página de clústeres de Google Kubernetes Engine en la Google Cloud consola y selecciona el clúster que deseas actualizar.
Haz clic en Editar. Aparecerá la pantalla Editar clústeres.
Haz clic en Complementos.
Selecciona Config Connector y elige Inhabilitado.
Haz clic en Guardar para actualizar tu clúster.
¿Qué sigue?
- Comienza con Config Connector.
- Obtén información para solucionar problemas de Config Connector.