La consola de Google Cloud te permite crear un clúster de administrador para el software de Distributed Cloud solo para VMware
a través de un flujo de trabajo guiado. Durante el flujo de trabajo, ejecutas
gkectl register bootstrap en tu estación de trabajo de administrador para crear un clúster de arranque
temporal que aprovisione el clúster de administrador. Como alternativa, puedes
crear un clúster de administrador con
gkectl
o
Terraform.
Antes de comenzar
Asegúrate de haber configurado tu estación de trabajo de administrador y de poder acceder a ella como se describe en Crea una estación de trabajo de administrador.
Asegúrate de que los archivos de claves JSON para las cuentas de servicio estén en tu estación de trabajo de administrador.
Revisa el documento de planificación de direcciones IP. Asegúrate de tener suficientes direcciones IP disponibles para los tres nodos del plano de control y una VIP del plano de control. Si planeas crear clústeres de usuario de kubeception, debes tener suficientes direcciones IP disponibles para los nodos del plano de control de esos clústeres de usuario.
Revisa la descripción general del balanceo de cargas y revisa la decisión sobre el tipo de balanceador de cargas que deseas usar. Para los balanceadores de cargas manuales, debes configurar el balanceador de cargas antes de crear el clúster de administrador.
Si usas
gkectlpara crear el clúster de administrador, decide si deseas usar un registro público o privado para los componentes de Google Distributed Cloud. Para obtener información sobre cómo usar un registro privado de Docker, consultaprivateRegistry. Ni Terraform ni la consola de Google Cloud admiten el uso de un registro privado de Docker para los componentes del sistema.Decide qué tipo de sistema operativo deseas ejecutar en los nodos del clúster de administrador.
Si tu organización requiere que el tráfico saliente pase por un servidor proxy, asegúrate de incluir en la lista de entidades permitidas las APIs requeridas y la dirección de Artifact Registry.
En la versión 1.29 y posteriores, las verificaciones previas del servidor están habilitadas de forma predeterminada. Las verificaciones previas del servidor requieren reglas de firewall adicionales. En Reglas de firewall para clústeres de administrador, busca "Verificaciones previas" y asegúrate de que todas las reglas de firewall necesarias estén configuradas. Las comprobaciones previas del servidor se ejecutan en el clúster de arranque en lugar de forma local en la estación de trabajo de administrador.
Descripción general del procedimiento
Antes de crear el clúster de administrador, debes ejecutar el comando gkectl register bootstrap en la estación de trabajo de administrador. Este comando
implementa un clúster de Kubernetes en Docker
(kind) en la estación de trabajo de administrador. Este clúster de arranque aloja los
controladores de Kubernetes necesarios para crear el clúster de administrador. Cuando crees el clúster de administrador, los controladores del clúster de arranque aprovisionarán nodos, ejecutarán verificaciones previas y registrarán el clúster de administrador en la flota. El clúster de arranque
se borra automáticamente después de que se crea correctamente
el clúster de administrador.
A continuación, se indican los pasos de alto nivel para crear un clúster de administrador con la consola:
En la consola, ingresas la información que requiere el
gkectl register bootstrap. La consola muestra el comandogkectl register bootstrapcon la información que ingresaste. El comando que se muestra también incluye marcas para las rutas de acceso que deberás especificar antes de ejecutar el comando.En tu estación de trabajo de administrador, ejecuta
gkectl register bootstrappara crear el clúster de arranque. Cuando el comando termine de crear el clúster de arranque, el resultado te indicará que finalices la configuración del clúster de administrador. El proceso se sigue ejecutando hasta que se crea el clúster de administrador.Regresarás a la consola para terminar de ingresar la información necesaria para crear el clúster. Durante la creación del clúster, el comando
gkectl register bootstrapgenera información de progreso y escribe registros en tu estación de trabajo de administrador. Cuando se crea el clúster de administrador, el clúster de arranque se borra automáticamente.
Comienza a configurar el clúster
En la consola, ve a la página Crea un clúster en VMware.
Selecciona el proyecto de Google Cloud en el que deseas crear el clúster.
Cuando creas el clúster de arranque en una sección siguiente, el ID del proyecto seleccionado se muestra en el comando
gkectl register bootstrapen la marca--project-id.Asegúrate de que esté seleccionada la opción Crear un clúster de administrador.
Haz clic en Siguiente: Instala el entorno de arranque.
Instala el entorno de arranque
En esta sección, ingresa la información que requiere el comando gkectl register bootstrap. A medida que ingresas valores en los campos de la IU, la
consola copia los valores en las marcas correspondientes para el
comando gkectl register bootstrap que se muestra en la sección
Entorno de arranque desde la estación de trabajo de administrador en la parte inferior de
la página.
Conceptos básicos del entorno de arranque
Ingresa un Nombre para el clúster de administrador. La consola usa el nombre del clúster como el valor de la marca
--target-cluster-nameen el comandogkectl register bootstrapque se muestra en la parte inferior de la página. La longitud máxima del nombre es de 20 caracteres.En el campo Ubicación de la API deGoogle Cloud , selecciona una región de Google Cloud la lista. Este parámetro de configuración especifica la región donde se ejecutan las siguientes APIs y servicios:
- API de GKE On-Prem (
gkeonprem.googleapis.com) - Servicio de flota (
gkehub.googleapis.com) - Servicio de Connect (
gkeconnect.googleapis.com)
Este parámetro de configuración también controla la región en la que se almacena lo siguiente:
- Los metadatos del clúster que la API de GKE On-Prem necesita para administrar el ciclo de vida del clúster
- Los datos de Cloud Logging y Cloud Monitoring de los componentes del sistema
- El registro de auditoría de administrador creado por los registros de auditoría de Cloud
El campo Ubicación de la API deGoogle Cloud corresponde a la marca
--locationen el comandogkectl register bootstrap.- API de GKE On-Prem (
En el campo Versión del clúster de administrador, ingresa la versión que se usará para crear el clúster. La versión que selecciones aquí debe coincidir con la versión del paquete que especifiques en la marca
--bundle-pathen el comandogkectl register bootstrap.
Configuración de vCenter
Si usaste gkeadm para crear tu estación de trabajo de administrador, abre el archivo de configuración de la estación de trabajo de administrador para poder copiar los valores de la sección vCenter en los campos de la consola. Ten en cuenta que el archivo de configuración del clúster de administrador generado también contiene esta información.
La mayoría de los campos de esta sección son inmutables. Consulta la
sección vCenter
en la referencia del archivo de configuración del clúster de administrador si necesitas saber si un campo
es mutable o inmutable.
En el campo Dirección, ingresa la dirección de vCenter Server.
Archivo de configuración de la estación de trabajo de administrador: Usa el valor del campo
vCenter.credentials.address.El campo Dirección corresponde a la marca
--vcenter-addressen el comandogkectl register bootstrap.
En el campo Centro de datos, ingresa el nombre de tu centro de datos de vCenter.
Archivo de configuración de la estación de trabajo de administrador: Usa el valor del campo
vCenter.datacenter.El campo Centro de datos corresponde a la marca
--vcenter-datacenteren el comandogkectl register bootstrap.
En el campo Nombre del clúster, ingresa el nombre de tu clúster de vCenter.
Archivo de configuración de la estación de trabajo de administrador: Usa el valor del campo
vCenter.cluster.El campo Nombre del clúster corresponde a la marca
--vcenter-clusteren el comandogkectl register bootstrap.
En el campo Grupo de recursos, ingresa el nombre o la ruta de acceso de tu grupo de recursos de vCenter.
Archivo de configuración de la estación de trabajo de administrador: Usa el valor del campo
vCenter.resourcePool.El campo Grupo de recursos corresponde a la marca
--vcenter-resource-poolen el comandogkectl register bootstrap.
Para configurar una opción de almacenamiento, ingresa una de las siguientes opciones:
Campo Almacén de datos: Ingresa el nombre de tu almacén de datos de vCenter. El valor que especifiques debe ser un nombre, no una ruta. Si necesitas ingresar una ruta, hazlo en el campo Carpeta.
Archivo de configuración de la estación de trabajo de administrador: Usa el valor del campo
vCenter.datastore.El campo Datastore corresponde a la marca
--vcenter-datastoreen el comandogkectl register bootstrap.
Campo Nombre de la política de almacenamiento: Ingresa el nombre de la política de almacenamiento de VM para los nodos del clúster. Para obtener más información, consulta Configura una política de almacenamiento.
Archivo de configuración de la estación de trabajo de administrador: Usa el valor del campo
vCenter.storagePolicyName.El campo Nombre de la política de almacenamiento corresponde a la marca
--vcenter-storage-policyen el comandogkectl register bootstrap.
Debes ingresar un valor en el campo Almacén de datos o en el campo Nombre de la política de almacenamiento, pero no en ambos.
De manera opcional, en el campo Carpeta, ingresa el nombre de la carpeta de vCenter en la que se ubicarán las VMs del clúster.
Archivo de configuración de la estación de trabajo de administrador: Usa el valor del campo
vCenter.folder.El campo Carpeta corresponde a la marca
--vcenter-folderen el comandogkectl register bootstrap.
En el campo Red, ingresa el nombre de tu red de vCenter.
Archivo de configuración de la estación de trabajo de administrador: Usa el valor del campo
vCenter.network.El campo Red corresponde a la marca
--vcenter-networken el comandogkectl register bootstrap.
En el campo Ruta de acceso del certificado de la AC, ingresa la ruta de acceso al certificado de la AC raíz de tu vCenter Server.
Si usaste
gkeadmpara crear tu estación de trabajo de administrador,gkeadmcopió el archivo del certificado de la AC que tenías de forma local en tu estación de trabajo de administrador.El campo Ruta del certificado de la AC corresponde a
--vcenter-ca-cert-pathen el comandogkectl register bootstrap.
Obtén el certificado de la AC
Después de crear el clúster de arranque, deberás proporcionar el certificado de la AC de vCenter en formato PEM en el campo Datos del certificado de la AC en la página Conceptos básicos del clúster. Ejecuta el siguiente comando para mostrar el certificado:
cat CA_CERT_PATH
Reemplaza CA_CERT_PATH por la ruta de acceso al
certificado de la AC raíz de vCenter Server. Si ejecutas este comando
de forma local, usa la ruta de acceso en vCenter.caCertPath en el archivo de configuración de la estación de trabajo de administrador.
Copia todo el certificado en un editor de texto para que puedas pegarlo en el campo Datos del certificado de la AC en la página Conceptos básicos del clúster después de crear el clúster de arranque.
Inicia el entorno desde la estación de trabajo de administrador
Cuando ejecutas el comando gkectl register bootstrap, se te solicita el
nombre de usuario y la contraseña de la cuenta de vCenter. Asegúrate de tener las credenciales
disponibles. Si usaste gkeadm para crear la estación de trabajo de administrador, el nombre de usuario
y la contraseña se encuentran en el archivo credential.yaml.
Desplázate hasta la sección Inicia el entorno desde la estación de trabajo de administrador para mostrar el comando
gkectl register bootstrap.Deja esta página abierta mientras vas a tu estación de trabajo de administrador para crear el clúster de arranque.
Copia y pega el comando
gkectl register bootstrapen un editor de texto para que puedas especificar valores para las siguientes marcas:./gkectl register bootstrap \ ... --bundle-path=BUNDLE_PATH \ ... --component-access-service-account-key-path=COMPONENT_ACCESS_SA_PATH \ --register-service-account-key-path=CONNECT_REGISTER_SA_PATH \ --stackdriver-service-account-key-path=LOG_MON_SA_PATH \ --cloud-audit-logging-service-account-key-path=CLOUD_AUDIT_SA_PATH \ --admin-kubeconfig-out=KUBECONFIG_NAMEReemplaza lo siguiente por las rutas de acceso de la estación de trabajo de administrador:
BUNDLE_PATH: Es la ruta de acceso al archivo del paquete. Si usastegkeadmpara crear la estación de trabajo de administrador, el archivo de paquete se encuentra en/var/lib/gke/bundles/. El nombre del archivo depende de la versión de Google Distributed Cloud, por ejemplo,gke-onprem-vsphere-1.31.0-gke.889-full.tgz.COMPONENT_ACCESS_SA_PATH: Es la ruta de acceso al archivo de claves de la cuenta de servicio de acceso a los componentes.CONNECT_REGISTER_SA_PATH: Es la ruta de acceso al archivo de claves de la cuenta de servicio de connect-register.LOG_MON_SA_PATH: Es la ruta de acceso al archivo de claves de la cuenta de servicio de registro y supervisión.CLOUD_AUDIT_SA_PATH: Es la ruta de acceso a la cuenta de servicio de registro de auditoría. Si no creaste una cuenta de servicio de registro de auditoría, especifica la ruta de acceso al archivo de claves de la cuenta de servicio de registro y supervisión.KUBECONFIG_NAME: Es el nombre del archivo kubeconfig que crea el comandogkectl register bootstrap. Si no especificas esta marca, el comando crea el archivo con el nombrekubeconfigen el directorio de trabajo actual. Si ya existe un archivo llamadokubeconfig, el comando lo reemplaza.
Además, si usaste
gkeadmpara crear tu estación de trabajo de administrador,gkectlse descargó en el directorio/usr/bin/. En este caso, quita./del principio del comando, ya quegkectlno está en el directorio de trabajo actual.Usa SSH para conectarte a tu estación de trabajo de administrador.
Copia el comando y pégalo en una ventana de terminal en tu estación de trabajo de administrador.
Cuando se te solicite, ingresa (o copia y pega) el nombre de usuario de vCenter. El nombre de usuario no se muestra en la pantalla.
Cuando se te solicite, ingresa (o copia y pega) la contraseña de vCenter. La contraseña no se muestra en la pantalla.
El comando ejecuta varias validaciones. Después de que gkectl cree correctamente el
clúster de arranque, verás un resultado similar al siguiente, que se
trunca para facilitar la lectura:
Running workstation validations
- Validation Category: Workstation
- [SUCCESS] Workstation OS
- [SUCCESS] Workstation Hardware
- [SUCCESS] Workstation Package
- [SUCCESS] Workstation NTP
- [SUCCESS] Workstation Docker
...
All validation results were SUCCESS.
Unpacking GKE on-prem bundle: /var/lib/gke/bundles/gke-onprem-vsphere-1.31.0-gke.889-full.tgz
...
Successfully created and registered the bootstrap cluster
...
Waiting for preflight checks to run or OnPremAdminCluster to be applied...... -
El proceso se sigue ejecutando hasta que se crea el clúster de administrador.
Si sales del comando gkectl register bootstrap antes de que se cree el clúster de administrador,
la creación fallará y deberás borrar el clúster de arranque con el siguiente comando:
gkectl delete bootstrap \
--target-cluster-name=ADMIN_CLUSTER_NAME \
--project-id=PROJECT_ID \
--location=REGION \
--register-service-account-key-path=CONNECT_REGISTER_SA_PATH
Termina de configurar el clúster de administrador
Regresa a la consola y sigue estos pasos:
En la página Instaar el entorno de arranque, haz clic en Revisar conexión.
Si se realiza de forma correcta, la consola mostrará Se estableció la conexión.
Debes establecer la conexión con el clúster de arranque antes de continuar. Si no se establece la conexión, verifica los argumentos que especificaste para el comando
gkectl register bootstrap:Asegúrate de que el valor de
--target-cluster-namecoincida con el nombre del clúster de administrador que se muestra en la sección Aspectos básicos del entorno de arranque.Asegúrate de que el valor de
--project-idcoincida con el ID del proyecto que seleccionaste en la consola.
Si necesitas cambiar el nombre del clúster de arranque, el ID del proyecto o otros valores de marca, haz lo siguiente:
- Ingresa
Ctrl-Cpara salir degkectl register bootstrap. Borra el clúster de arranque:
gkectl delete bootstrap \ --target-cluster-name=ADMIN_CLUSTER_NAME \ --project-id=PROJECT_ID \ --location=REGION \ --register-service-account-key-path=CONNECT_REGISTER_SA_PATH
Vuelve a ejecutar el comando
gkectl register bootstrap.
Haz clic en Siguiente: Conceptos básicos del clúster para comenzar a configurar el clúster de administrador.
Aspectos básicos del clúster
En el campo Datos del certificado de la AC, copia y pega todo el certificado de la AC de vCenter en formato PEM, como se describió antes en la sección Obtén el certificado de la AC.
En la sección Autorización, ingresa las direcciones de correo electrónico de los usuarios a los que deseas otorgar el rol
clusterrole/viewde Kubernetes de solo lectura. Observa que tu dirección de correo electrónico se agrega automáticamente. Las políticas de control de acceso basado en roles (RBAC) que se aplican permiten que los usuarios ejecuten comandos de solo lectura a través de la puerta de enlace de Connect.Haz clic en Siguiente plano de control.
Plano de control
Revisa la configuración predeterminada en la sección Plano de control y cámbiala según sea necesario.
En la sección IPs de los nodos del plano de control, ingresa las direcciones IP en los siguientes campos:
Puerta de enlace: Es la dirección IP de la puerta de enlace predeterminada para la subred que tiene los nodos del clúster.
Máscara de red: Es la máscara de red de la subred que tiene los nodos del clúster.
Direcciones IP: Ingresa la dirección IP y, de forma opcional, el nombre de host para los tres nodos del plano de control.
Haz clic en Siguiente: Herramientas de redes.
Redes
En esta sección, debes especificar la información de herramientas de redes necesaria para crear el clúster de administrador.
En la sección CIDR de Service y Pod, acepta los valores predeterminados para los rangos de direcciones IP de Service y Pod de Kubernetes, o ingresa diferentes rangos de direcciones CIDR.
CIDR de Service: El rango más pequeño posible es
/24. Rango más amplio posible:/12.CIDR de Pods: El rango más pequeño posible es
/18. Rango más grande posible: /8`.
En la sección Configuración del host, especifica los servidores NTP, los servidores DNS y, de manera opcional, los dominios de búsqueda de DNS que usan las VMs que son los nodos del clúster. Después de que se crea el clúster, no puedes modificar estos valores.
Haz clic en Siguiente: Balanceador de cargas.
Balanceador de cargas
En esta sección, seleccionarás el tipo de balanceador de cargas que usarás. Para obtener más información, consulta Descripción general del balanceo de cargas.
En la lista Tipo de balanceador de cargas, selecciona un balanceador de cargas:
Incluido con MetalLB: El balanceador de cargas de MetalLB se incluye con y requiere menos configuración que el balanceo de cargas manual. Los componentes de MetalLB se ejecutan en los nodos del clúster, por lo que no tienes que crear VMs diferentes para tu balanceador de cargas.
Manual: Puedes usar cualquier balanceador de cargas que elijas, siempre y cuando lo configures antes de crear el clúster. Con cualquier balanceador de cargas que configures de forma manual, debes configurar las asignaciones entre las IP virtuales (VIP), las direcciones de nodos y los valores de nodePort.
En el campo VIP del plano de control, ingresa la VIP que se usará para el tráfico enviado al servidor de la API de Kubernetes.
Haz clic en Verificar y crear.
La consola muestra mensajes de estado a medida que verifica la configuración y crea el clúster en tu centro de datos.
Si hay un problema con la configuración, la consola mostrará un mensaje de error que debe ser lo suficientemente claro como para solucionar el problema de configuración y volver a crear el clúster.
Los detalles sobre el proceso de creación del clúster se muestran en tu estación de trabajo de administrador. Si las verificaciones previas se aprueban, verás algo similar a lo siguiente:
[2023-03-22 23:12:47+0000] Waiting for cluster kubeconfig to become ready OK [2023-03-22 23:15:47+0000] Writing kubeconfig file [2023-03-22 23:15:47+0000] kubeconfig of cluster being created is present at gkectl-workspace/abm-cluster-1/abm-cluster-1-kubeconfig [2023-03-22 23:15:47+0000] Please restrict access to this file as it contains authentication credentials of your cluster. [2023-03-22 23:15:47+0000] Waiting for cluster to become ready OK [2023-03-22 23:20:17+0000] Please run [2023-03-22 23:20:17+0000] kubectl --kubeconfig gkectl-workspace/abm-cluster-1/abm-cluster-1-kubeconfig get nodes [2023-03-22 23:20:17+0000] to get cluster nodes status. [2023-03-22 23:20:17+0000] Waiting for node pools to become ready OK [2023-03-22 23:20:37+0000] Waiting for metrics to become ready in GCP OK [2023-03-22 23:25:38+0000] Waiting for cluster API provider to install in the created admin cluster OK [2023-03-22 23:25:48+0000] Moving admin cluster resources to the created admin cluster [2023-03-22 23:25:51+0000] Waiting for node update jobs to finish OK [2023-03-22 23:27:41+0000] Flushing logs... OK [2023-03-22 23:27:41+0000] Deleting membership... OK [2023-03-22 23:27:42+0000] Deleting bootstrap cluster.
Conéctate al clúster de administrador
El comando gkectl register bootstrap crea un archivo kubeconfig para el
clúster de administrador en tu estación de trabajo de administrador. Si no especificaste la
marca --admin-kubeconfig-out cuando ejecutaste gkectl register bootstrap, el
comando crea un archivo kubeconfig llamado kubeconfig en el directorio en
el que ejecutaste el comando.
Debes restringir el acceso a este kubeconfig porque contiene credenciales de autenticación para el clúster.
Además, puedes ejecutar comandos de kubectl de solo lectura a través de la
puerta de enlace de Connect.
Ejecuta el siguiente comando en una computadora que tenga gcloud CLI para obtener una entrada
kubeconfigque pueda acceder al clúster a través de la puerta de enlace de Connect.gcloud container fleet memberships get-credentials ADMIN_CLUSTER_NAME \ --project=PROJECT_IDEl resultado es similar a lo siguiente:
Starting to build Gateway kubeconfig... Current project_id: PROJECT_ID A new kubeconfig entry "connectgateway_PROJECT_ID_global_ADMIN_CLUSTER_NAME" has been generated and set as the current context.Ahora puedes ejecutar comandos de
kubectlde solo lectura a través de la puerta de enlace de Connect, como los siguientes:kubectl get pods -ASi necesitas privilegios de administrador completos para el clúster de administrador, consulta Configura la puerta de enlace de Connect.