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 Config Connector.
Para obtener información sobre cada opción de instalación, así como sus ventajas y desventajas, consulta el artículo Elegir un tipo de instalación.
Antes de empezar
Antes de empezar, asegúrate de que has realizado las siguientes tareas:
- Habilita la API de Google Kubernetes Engine. Habilitar la API de Google Kubernetes Engine
- Si quieres usar Google Cloud CLI para esta tarea, instálala y, a continuación, inicialízala. Si ya has instalado la gcloud CLI, obtén la versión más reciente ejecutando
gcloud components update
.
Selecciona o crea un proyecto Google Cloud en el que instalar Config Connector.
Si ya has instalado Config Connector manualmente, desinstálalo antes de instalar el complemento Config Connector:
Instalar el complemento Config Connector
Para usar el complemento Config Connector, puedes crear un clúster de GKE o habilitarlo en un clúster que ya tengas. Después de instalar el complemento Config Connector, debe configurar la instalación con sus cuentas de servicio de Google y sus espacios de nombres.
Requisitos
El complemento Config Connector tiene los siguientes requisitos:
Debes usar una versión de GKE:
- 1.15.11-gke.5 y versiones posteriores
- 1.16.8-gke.8 y versiones posteriores
- 1.17.4-gke.5 y versiones posteriores
Debes habilitar un grupo de identidades de carga de trabajo y Kubernetes Engine Monitoring en los clústeres en los que habilites Config Connector.
Configurar un clúster de GKE
Puedes usar el complemento Config Connector en un clúster nuevo o en uno que ya tengas.
Crear un clúster con el complemento Config Connector habilitado
Puedes crear un clúster de GKE con la CLI de gcloud o laGoogle Cloud consola.
gcloud
Para crear un clúster con la CLI de Google Cloud, 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
Haz los cambios siguientes:
- CLUSTER_NAME con el nombre de tu clúster de GKE.
- CHANNEL con un canal de lanzamiento de GKE,
rapid
yregular
. - PROJECT_ID por el ID de tu proyecto. Google Cloud
Google Cloud consola
Para crear un clúster con la consola de Google Cloud , sigue estos pasos:
Ve al menú de Google Kubernetes Engine en la Google Cloud consola.
Haz clic en Crear. Se mostrará la página Crear un clúster de Kubernetes.
Especifica un nombre para el clúster.
Elige una versión principal compatible.
Configura el resto del clúster como quieras.
En el panel de navegación, ve a Clúster y haz clic en Seguridad.
Selecciona la casilla Habilitar Workload Identity.
En el panel de navegación de la izquierda, vaya a Clúster y haga clic en Funciones.
Marca la casilla Habilitar Config Connector.
Haz clic en Crear.
Una vez que hayas creado el clúster, ve a la sección Crear una identidad.
Habilitar el complemento Config Connector en un clúster
Puedes habilitar el complemento Config Connector en un clúster de GKE con gcloud
o con la consola de Google Cloud .
Requisitos previos
Para habilitar el complemento Config Connector en un clúster, se deben cumplir los siguientes requisitos previos:
- Necesitas un clúster que cumpla los requisitos del complemento Config Connector.
Configura Workload Identity Federation para GKE en el clúster en el que quieras instalar Config Connector.
Para habilitar Workload Identity Federation for GKE en un grupo de nodos, usa la herramienta de línea de comandos gcloud
:
gcloud container node-pools update NODE_POOL \
--workload-metadata=GKE_METADATA \
--cluster CLUSTER_NAME
Haz los cambios siguientes:
- NODE_POOL con el nombre de tu grupo de nodos
- CLUSTER_NAME con el nombre de tu clúster
Habilitar el complemento Config Connector
Puedes habilitar el complemento Config Connector en un clúster de GKE con la CLI de Google Cloud o la Google Cloud consola.
gcloud
Para habilitar el complemento Config Connector en un clúster de GKE, usa la CLI de Google Cloud:
gcloud container clusters update CLUSTER_NAME \
--update-addons ConfigConnector=ENABLED
Sustituye CLUSTER_NAME por el nombre de tu clúster de GKE.
Google Cloud consola
Ve al menú de Google Kubernetes Engine en la Google Cloud consola.
Selecciona el clúster en el que quieras 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 Habilitar Config Connector y haz clic en Guardar cambios para actualizar el clúster.
Crear una identidad
Config Connector crea y gestiona Google Cloud recursos autenticándose con una cuenta de servicio de gestión de identidades y accesos (IAM) y usando la federación de identidades de carga de trabajo para GKE con el fin de 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 quieres usar una cuenta de servicio que ya tengas, puedes usarla y saltarte este paso:
gcloud iam service-accounts create SERVICE_ACCOUNT_NAME
Sustituye SERVICE_ACCOUNT_NAME por el nombre que quieras darle a la cuenta de servicio.
Para obtener más información sobre cómo crear cuentas de servicio, consulta el artículo Crear y gestionar cuentas de servicio.
Concede permisos elevados a la cuenta de servicio de gestión de identidades y accesos en tu proyecto:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/editor"
Sustituye PROJECT_ID por el ID del proyecto.
Crea un enlace de política de gestión de identidades y accesos entre la cuenta de servicio de gestión de identidades y accesos y la cuenta de servicio de Kubernetes predefinida en la que se 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"
Configurar Config Connector
Para completar la instalación, crea un archivo de configuración para ConfigConnector
CustomResource
y aplícalo con el comando kubectl apply
. El operador de Config Connector instalaGoogle Cloud CRDs de recursos y componentes de Config Connector en tu clúster.
Para configurar el operador como modo de clúster, sigue estos pasos:
-
Copia el siguiente archivo YAML en un archivo llamado
configconnector.yaml
: Sustituye 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_NAME
con el nombre de tu cuenta de servicio.PROJECT_ID
por el ID del proyecto.
-
Aplica la configuración al clúster con
kubectl apply
:kubectl apply -f configconnector.yaml
Especificar dónde crear los recursos
Config Connector puede organizar los recursos por proyecto, carpeta u organización, de la misma forma que lo harías con Google Cloud.
Antes de crear recursos con Config Connector, debes configurar dónde quieres crearlos. Para determinar dónde crear el recurso, Config Connector usa una anotación en la configuración del recurso o en un espacio de nombres. Para obtener más información, consulta el artículo sobre cómo organizar recursos.
Si no tienes un espacio de nombres para este fin, crea uno conkubectl
.
kubectl create namespace NAMESPACE
Sustituye NAMESPACE
por el nombre de tu espacio de nombres. Por ejemplo, config-connector
.
Selecciona una pestaña para elegir dónde quieres que Config Connector cree los recursos.
Proyecto
Para crear recursos en un proyecto concreto, ejecuta el siguiente comando:
kubectl annotate namespace \ NAMESPACE cnrm.cloud.google.com/project-id=PROJECT_ID
Haz los cambios siguientes:
NAMESPACE
con el nombre de tu espacio de nombres.PROJECT_ID
por el ID de tu 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
Haz los cambios siguientes:
NAMESPACE
con el nombre de tu espacio de nombres.FOLDER_ID
con el Google Cloud ID de tu carpeta.
Organización
Para crear recursos en una organización concreta, ejecuta el siguiente comando:
kubectl annotate namespace \ NAMESPACE cnrm.cloud.google.com/organization-id=ORGANIZATION_ID
Haz los cambios siguientes:
NAMESPACE
con el nombre de tu espacio de nombres.ORGANIZATION_ID
con el ID de tu organización. Google Cloud
Cuando anotas tu espacio de nombres, Config Connector crea recursos en el proyecto, la carpeta o la organización correspondientes. Para obtener más información sobre cómo usa Config Connector los espacios de nombres de Kubernetes, consulta Espacios de nombres de Kubernetes y proyectos Google Cloud .
Verificar la instalación
Config Connector ejecuta todos sus componentes en un espacio de nombres llamado cnrm-system
.
Para comprobar que los pods están listos, ejecuta el siguiente comando:
kubectl wait -n cnrm-system \
--for=condition=Ready pod --all
Si Config Connector se ha instalado correctamente, el resultado será similar al siguiente:
pod/cnrm-controller-manager-0 condition met
Actualizar Config Connector
Google Cloudgestiona las actualizaciones del complemento Config Connector de tu clúster.
Los recursos de tu clúster se conservan cada vez que se produce una actualización.
Consulta cómo gestiona Google Cloud las actualizaciones del complemento Config Connector o ve directamente a cómo obtener la versión más reciente de Config Connector.
Cómo gestiona Google Cloud las actualizaciones del complemento Config Connector
La versión de Config Connector que obtiene un clúster de GKE depende por completo de la versión menor 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 cumplen los requisitos, Google Cloud reasigna las versiones secundarias más recientes de GKE a una versión de Config Connector recién lanzada. Esto se hace con todas las versiones secundarias de GKE que sean lo suficientemente recientes como para no estar disponibles en los canales de lanzamiento Estándar o Estable.
Como 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 que Google Cloudactualiza automáticamente el complemento Config Connector de un clúster:
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 lo suficientemente nueva como para no estar disponible en los canales de lanzamiento Regular o Estable, yGoogle Cloud reasigna esa versión secundaria de GKE a una nueva versión de Config Connector.
Cuando Google Cloud reasigna una versión secundaria de GKE y actualiza los clústeres a una nueva versión de Config Connector, se dice que está "implementando una nueva versión de Config Connector" en esa versión secundaria de GKE.
Google Cloud no lanza nuevas versiones de Config Connector a versiones secundarias de GKE que sean lo suficientemente antiguas como para estar disponibles en las versiones de los canales de lanzamiento Regular o Stable por motivos de estabilidad, excepto en situaciones de emergencia en las que se haya detectado 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 Config Connector suele tener un retraso de hasta 12 meses o más. Si necesitas la versión más reciente de Config Connector, te recomendamos que cambies a Config Controller o que instales Config Connector manualmente y realices las actualizaciones tú mismo. Las instrucciones de migración de cada opción son las siguientes:
Para cambiar a Config Controller, sigue las instrucciones de migración a Config Controller para migrar tus recursos de Config Connector a una instancia de Config Controller.
Para instalar Config Connector manualmente, sigue las instrucciones para cambiar del complemento Config Connector a la instalación manual.
Desinstalar Config Connector
Para desinstalar Config Connector, sigue estos pasos:
Usa
kubectl delete
para quitar los CRDs de Config Connector junto con los componentes del controlador:kubectl delete ConfigConnector configconnector.core.cnrm.cloud.google.com --wait=true
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
Sustituye CLUSTER_NAME por el nombre del clúster que tenga instalado el complemento Config Connector.
consola de Cloud
Para inhabilitar el complemento Config Connector desde la consola Google Cloud , sigue estos pasos.
Ve a la página Clústeres de Google Kubernetes Engine en la Google Cloud consola y selecciona el clúster que quieras actualizar.
Haz clic en Editar. Aparecerá la pantalla Editar clústeres.
Haz clic en Complementos.
Selecciona Config Connector y elige Disabled (Inhabilitado).
Haz clic en Guardar para actualizar el clúster.
Siguientes pasos
- Empieza a usar Config Connector.
- Consulta cómo solucionar problemas de Config Connector.