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.
Si usas GKE en Google Cloud, te recomendamos instalar Config Connector mediante este complemento. Para obtener detalles sobre otras opciones de instalación, consulta Elige un tipo de instalación.
Antes de comenzar
Antes de comenzar, asegúrate de haber realizado las siguientes tareas:
- Asegúrate de que habilitaste la API de Google Kubernetes Engine. Habilitar la API de Google Kubernetes Engine
- Asegúrate de que instalaste Google Cloud CLI.
- Establece la configuración predeterminada de Google Cloud CLI para tu proyecto mediante uno de los siguientes métodos:
- Usa
gcloud init
si deseas ver una explicación sobre cómo configurar los valores predeterminados del proyecto. - Usa
gcloud config
para configurar el ID, la zona y la región del proyecto de manera individual. -
Ejecuta
gcloud init
y sigue las instrucciones:gcloud init
Si usas SSH en un servidor remoto, usa la marca
--console-only
para evitar que el comando abra un navegador:gcloud init --console-only
- Sigue las instrucciones para autorizar a la CLI de gcloud a usar tu cuenta de Google Cloud.
- Crea una configuración nueva o selecciona una existente.
- Elige un proyecto de Google Cloud.
- Elige una zona de Compute Engine predeterminada.
- Elige una región de Compute Engine predeterminada.
- Establece tu ID del proyecto predeterminado:
gcloud config set project PROJECT_ID
- Configura la región de Compute Engine predeterminada (por ejemplo,
us-central1
):gcloud config set compute/region COMPUTE_REGION
- Configura la zona de Compute Engine predeterminada (por ejemplo,
us-central1-c
):gcloud config set compute/zone COMPUTE_ZONE
- Actualiza
gcloud
a la versión más reciente:gcloud components update
gcloud init
gcloud config
Cuando configuras las ubicaciones predeterminadas, puedes evitar errores en la CLI de gcloud como el siguiente: One of [--zone, --region] must be supplied: Please specify location
.
- Selecciona o crea un proyecto de Google Cloud para instalar 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 la CLI de gcloud o Google Cloud Console.
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
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
yregular
. - PROJECT_ID por el ID del proyecto de Google Cloud
Console
Para crear un clúster con Google Cloud Console, sigue estos pasos:
Visita el menú de Google Kubernetes Engine en la consola.
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 Google Cloud Console.
Prerequisites
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 la CLI de Google Cloud:
gcloud container clusters update CLUSTER_NAME \
--update-addons ConfigConnector=ENABLED
Reemplaza CLUSTER_NAME por el nombre de tu clúster de GKE.
Console
Visita el menú de Google Kubernetes Engine en la consola.
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 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:
-
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
ReemplazaSERVICE_ACCOUNT_NAME
por un nombre para la cuenta 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 los siguientes elementos:PROJECT_ID
por el ID del proyectoSERVICE_ACCOUNT_NAME
por el nombre de tu cuenta de servicio
-
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 los siguientes elementos:SERVICE_ACCOUNT_NAME
por el nombre de tu cuenta de servicioPROJECT_ID
por el ID del proyecto
Para obtener más información sobre cómo crear cuentas de servicio, consulta Crea y administra cuentas de servicio.
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 los componentes de CRD de Google Cloud y los componentes de Config Connector en tu clúster.
Para configurar el operador, completa los siguientes pasos:
-
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 los siguientes elementos:SERVICE_ACCOUNT_NAME
por el nombre de tu cuenta de servicioPROJECT_ID
por 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:
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 el conector de configuración 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 al complemento Config Connector del clúster.
Si deseas que Config Connector se actualice a la versión más reciente de forma rutinaria, inscribe tus clústeres en el canal rápido. Si quieres obtener actualizaciones aún más rápidas, considera usar el Controlador de configuración.
Google Cloud asigna versiones secundarias específicas de GKE a versiones específicas de Config Connector. Cuando el clúster se actualiza a una versión secundaria de GKE nueva, el complemento Config Connector del clúster se actualiza de forma automática.
Cada 1 o 2 semanas, las versiones secundarias de GKE que están disponibles en el canal rápido solo (es decir, las versiones secundarias de GKE que no están disponibles en los canales regulares o estables) se actualizan a la versión más reciente del Config Connector. Los clústeres de esas versiones secundarias de GKE se actualizan de forma automática según corresponda. Para saber cómo determinar qué versiones están disponibles en qué canales de versiones, consulta Cómo ver las versiones predeterminadas y disponibles para los canales de versiones.
Google Cloud no actualiza las versiones secundarias de GKE que ya están disponibles en los canales regulares o estables a versiones más recientes del conector de configuración por motivos de estabilidad, excepto en situaciones de emergencia en las que se haya detectado un problema generalizado.
Desinstalar Config Connector
Para desinstalar Config Connector, completa los siguientes pasos:
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
Inhabilita el complemento de Config Connector en tu clúster con la CLI de gcloud o Google Cloud Console:
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 Google Cloud Console, realiza los siguientes pasos.
Vaya a la página de clústeres de Google Kubernetes Engine en Google Cloud Console y seleccione el clúster que desea actualizar.
Haga 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 más información para solucionar problemas de Config Connector.