Crea clústeres de demostración en máquinas virtuales (VMs) de Compute Engine para aprender sobre Google Distributed Cloud. La creación de un clúster de administrador y un clúster de usuario con esta guía puede llevar entre 40 minutos y una hora. Los clústeres de demostración que creas en esta guía te ayudan a evaluar el proceso de aprovisionamiento y operación de los clústeres de Google Distributed Cloud, pero no están diseñados para usarse en producción.
En el documento, se explica el proceso para ejecutar una secuencia de comandos que hace lo siguiente:
- Aprovisiona cinco VMs de Compute Engine para instalar tus clústeres de demostración
- Configura una red de VPC para proporcionar conectividad al clúster
Una vez que la secuencia de comandos aprovisione los recursos necesarios, usa uno de los siguientes
clientes para crear un clúster de administrador y un clúster de usuario complementario que pueda
alojar cargas de trabajo: bmctl
, la consola de Google Cloud, Google Cloud CLI o Terraform.
Descripción general del procedimiento
Esta guía contiene los siguientes pasos principales:
Prepara tu entorno local para que la secuencia de comandos tenga las variables de entorno requeridas y hayas recopilado la información básica necesaria para ejecutar comandos.
Crea las VMs y la red con la secuencia de comandos descargada.
Crea el clúster de administrador con uno de los clientes admitidos.
Crea el clúster de usuario con uno de los clientes compatibles.
Realiza una limpieza para quitar los clústeres y las VMs que creaste con esta guía.
1. Prepara el entorno local
Debido a que esta guía usa una secuencia de comandos que configura la red por ti, no necesitas recopilar mucha información ni hacer ninguna planificación. En los siguientes pasos, se configura tu entorno local y se recopila la información básica que necesitas en las secciones posteriores de la guía:
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
- Anota el ID del proyecto, ya que lo necesitarás para configurar una variable de entorno que se usa en la secuencia de comandos y los comandos de esta página. Si elegiste un proyecto existente, asegúrate de ser propietario o editor del proyecto.
-
Puedes ejecutar la secuencia de comandos en Cloud Shell o en tu máquina local que ejecuta Linux o macOS. Si no usas
Cloud Shell, haz lo siguiente:
- Asegúrate de haber instalado la versión más reciente de Google Cloud CLI, la herramienta de línea de comandos para interactuar con Google Cloud. Actualiza los componentes de gcloud CLI, si es necesario:
gcloud components update
Según cómo se haya instalado gcloud CLI, es posible que veas el siguiente mensaje:
You cannot perform this action because the Google Cloud CLI component manager is disabled for this installation. You can run the following command to achieve the same result for this installation:
Sigue las instrucciones para copiar y pegar el comando para actualizar los componentes.
- Asegúrate de tener
kubectl
instalado. Si necesitas instalarkubectl
, ejecuta el siguiente comando:gcloud components install kubectl
- Asegúrate de haber instalado la versión más reciente de Google Cloud CLI, la herramienta de línea de comandos para interactuar con Google Cloud. Actualiza los componentes de gcloud CLI, si es necesario:
- Configura variables de entorno:
export PROJECT_ID=PROJECT_ID export ADMIN_CLUSTER_NAME=ADMIN_CLUSTER_NAME export ON_PREM_API_REGION=ON_PREM_API_REGION export ZONE=ZONE
ADMIN_CLUSTER_NAME
: el nombre que eliges para el clúster de administradorON_PREM_API_REGION
: Es la región de Google Cloud en la que se ejecuta la API de GKE On-Prem y se almacenan sus metadatos. Especificaus-central1
o alguna otra región compatible.ZONE
: Es la zona de Google Cloud en la que se crean las VMs de Compute Engine. Puedes usarus-central1-a
o cualquiera de las otras zonas de Compute Engine.
- Ejecuta los siguientes comandos para establecer el proyecto y la zona predeterminados.
gcloud config set project $PROJECT_ID gcloud config set compute/zone $ZONE
Si recibes un error
PERMISSION_DENIED
, verifica el ID del proyecto que ingresaste. Si el ID del proyecto es correcto, ejecutagcloud auth login
para acceder a la gcloud CLI con la cuenta que tiene acceso al proyecto. - Obtén una lista de las versiones compatibles que puedes instalar:
gcloud container bare-metal admin-clusters query-version-config \ --location=ON_PREM_API_REGION
- Selecciona una versión del resultado del comando anterior y configúrala en una variable de entorno:
export BMCTL_VERSION=BMCTL_VERSION
Te recomendamos que selecciones la versión compatible más reciente para obtener las funciones y correcciones más recientes de Google Distributed Cloud.
2. Crea las VMs y la red
En esta sección, descargarás y ejecutarás la secuencia de comandos install_admin_cluster.sh
.
Clona el repositorio de
anthos-samples
y cambia al directorio en el que se encuentra la secuencia de comandos:git clone https://github.com/GoogleCloudPlatform/anthos-samples cd anthos-samples/anthos-bm-gcp-bash
Ejecuta la secuencia de comandos:
bash install_admin_cluster.sh
En el mensaje, ingresa
2
para configurar solo la infraestructura de Compute Engine y confirma tu selección cuando se te solicite.La secuencia de comandos crea VMs de Compute Engine, crea una red VXLAN y configura la estación de trabajo del administrador y los nodos del clúster. Esta infraestructura tarda alrededor de 5 minutos en configurarse.
Para obtener más información sobre la secuencia de comandos, haz clic en el siguiente vínculo:
Información acerca de la secuencia de comandos
Puedes ver la secuencia de comandos en la carpeta
anthos-bm-gcp-bash
del repositorio de GitHub anthos-samples. La secuencia de comandos automatiza los siguientes pasos manuales:-
Habilita las siguientes APIs de Google Cloud:
anthos.googleapis.com anthosaudit.googleapis.com anthosgke.googleapis.com cloudresourcemanager.googleapis.com connectgateway.googleapis.com container.googleapis.com compute.googleapis.com gkeconnect.googleapis.com gkehub.googleapis.com gkeonprem.googleapis.com serviceusage.googleapis.com stackdriver.googleapis.com monitoring.googleapis.com logging.googleapis.com kubernetesmetadata.googleapis.com iam.googleapis.com opsconfigmonitoring.googleapis.com
-
En lugar de crear varias cuentas de servicio para diferentes APIs y
servicios, la secuencia de comandos crea una sola cuenta de servicio llamada
baremetal-gcr
y le otorga los siguientes roles de IAM:roles/gkehub.admin
roles/gkehub.connect
roles/logging.logWriter
roles/monitoring.dashboardEditor
roles/monitoring.metricWriter
roles/monitoring.viewer
roles/opsconfigmonitoring.resourceMetadata.writer
roles/serviceusage.serviceUsageViewer
roles/stackdriver.resourceMetadata.writer
-
Crea las siguientes VMs:
- Una VM para la estación de trabajo de administrador
- Una VM para el nodo del plano de control del clúster de administrador
- Dos VMs para los nodos trabajadores del clúster de usuario
- Una VM para el nodo del plano de control del clúster de usuario
- Verifica que SSH esté habilitado en todas las VMs y que la estación de trabajo del administrador tenga acceso SSH a todas las otras VMs que se crearon para los nodos del clúster.
-
Crea una red superpuesta de LAN extensible virtual (VXLAN) para la conectividad de capa 2 entre las VMs. La VXLAN no es persistente, por lo que, si reinicias una instancia de VM, se destruye la red. La red está configurada para estar en la subred
10.200.0.0/24
. La conectividad de la capa 2 es un requisito para el balanceador de cargas empaquetado. -
Instala las siguientes herramientas en la estación de trabajo de administrador:
bmctl
kubectl
- Docker
La secuencia de comandos también descarga la clave de la cuenta de servicio de la cuenta de servicio
baremetal-gcr
en la estación de trabajo del administrador. -
Se asegura de que
root@10.200.0.x
de la estación de trabajo del administrador funcione realizando las siguientes tareas:- Generar una clave SSH nueva en la estación de trabajo de administrador.
- Agregar la clave pública a todas las otras VM de la implementación.
La secuencia de comandos muestra cada comando que ejecuta y el estado. Cuando finaliza, la secuencia de comandos muestra lo siguiente:
✅ Successfully set up SSH access from admin workstation to cluster node VMs. ✅ GCE Infrastructure setup complete. Please check the logs for any errors!!! ✅ If you do not see any errors in the output log, then you now have the following setup: |---------------------------------------------------------------------------------------------------------| | VM Name | L2 Network IP (VxLAN) | INFO | |---------------------------------------------------------------------------------------------------------| | abm-admin-cluster-cp | 10.200.0.3 | 🌟 Ready for use as control plane for the admin cluster | | abm-user-cluster-cp | 10.200.0.4 | 🌟 Ready for use as control plane for the user cluster | | abm-user-cluster-w1 | 10.200.0.5 | 🌟 Ready for use as worker for the user cluster | | abm-user-cluster-w2 | 10.200.0.6 | 🌟 Ready for use as worker for the user cluster | |---------------------------------------------------------------------------------------------------------|
-
Habilita las siguientes APIs de Google Cloud:
3. Crea el clúster de administrador:
bmctl
Para crear un clúster de administrador con bmctl
, accede a la VM de la estación de trabajo de administrador en una ventana de terminal y ejecuta los siguientes comandos desde allí:
Usa SSH para acceder a la VM de la estación de trabajo de administrador,
abm-ws
, como raíz:gcloud compute ssh root@abm-ws --zone ZONE
Configura tus credenciales de usuario como credenciales predeterminadas de la aplicación (ADC):
gcloud auth application-default login
Sigue las indicaciones para seleccionar tu Cuenta de Google para ADC.
Genera un archivo de configuración del clúster:
bmctl create config -c ADMIN_CLUSTER_NAME --project-id=PROJECT_ID
Verifica el archivo de configuración del clúster de administrador:
El siguiente archivo de configuración del clúster se completa con los valores que proporcionaste antes. Además de los valores que ingresaste, ten en cuenta las siguientes diferencias con el archivo de configuración generado:
- Se quitaron los comentarios de este ejemplo para mejorar la legibilidad.
- La secuencia de comandos crea una sola cuenta de servicio con todos los permisos necesarios y descarga la clave
bm-gcr.json
a la que se hace referencia en el archivo de configuración.
gcrKeyPath: /root/bm-gcr.json sshPrivateKeyPath: /root/.ssh/id_rsa gkeConnectAgentServiceAccountKeyPath: /root/bm-gcr.json gkeConnectRegisterServiceAccountKeyPath: /root/bm-gcr.json cloudOperationsServiceAccountKeyPath: /root/bm-gcr.json --- apiVersion: v1 kind: Namespace metadata: name: cluster-ADMIN_CLUSTER_NAME --- apiVersion: baremetal.cluster.gke.io/v1 kind: Cluster metadata: name: ADMIN_CLUSTER_NAME namespace: cluster-ADMIN_CLUSTER_NAME spec: type: admin profile: default anthosBareMetalVersion: BMCTL_VERSION gkeConnect: projectID: PROJECT_ID controlPlane: nodePoolSpec: nodes: - address: 10.200.0.3 clusterNetwork: pods: cidrBlocks: - 192.168.0.0/16 services: cidrBlocks: - 10.96.0.0/20 loadBalancer: mode: bundled ports: controlPlaneLBPort: 443 vips: controlPlaneVIP: 10.200.0.48 clusterOperations: projectID: PROJECT_ID location: us-central1 storage: lvpNodeMounts: path: /mnt/localpv-disk storageClassName: local-disks lvpShare: path: /mnt/localpv-share storageClassName: local-shared numPVUnderSharedPath: 5 nodeConfig: podDensity: maxPodsPerNode: 110
Reemplaza el contenido del archivo de configuración generado en tu estación de trabajo de administrador por el contenido del ejemplo anterior.
Abre el archivo generado,
bmctl-workspace/ADMIN_CLUSTER_NAME/ADMIN_CLUSTER_NAME.yaml
, y reemplaza su contenido por el del ejemplo que verificaste en el paso anterior.Crea el clúster de administrador:
bmctl create cluster -c ADMIN_CLUSTER_NAME
El comando
bmctl
muestra el resultado en la pantalla a medida que ejecuta las verificaciones previas y crea el clúster. La información detallada se escribe en los registros de la carpetabaremetal/bmctl-workspace/abm-user-cluster-metallb/log
en la estación de trabajo de administrador.La creación del clúster puede tomar varios minutos en completarse.
En la consola, ve a la página Clústeres de GKE.
Asegúrate de que esté seleccionado el proyecto en el que creaste el clúster de usuarios. Deberías ver el clúster de administrador en la lista.
Accede al clúster de administrador:
Haz clic en el vínculo del nombre del clúster y, en el panel lateral, haz clic en Acceder.
Selecciona Usa tu identidad de Google para acceder
Haga clic en Acceder.
Verifica el clúster de administrador
Puedes encontrar el archivo kubeconfig de tu clúster de administrador en la estación de trabajo de administrador en el directorio bmctl-workspace
de la cuenta raíz. Para verificar tu implementación, completa los siguientes pasos.
Usa SSH para acceder a la estación de trabajo de administrador como raíz:
gcloud compute ssh root@abm-ws --zone ZONE
Verifica que se haya creado el clúster de administrador y que esté en ejecución:
kubectl --kubeconfig bmctl-workspace/ADMIN_CLUSTER_NAME/ADMIN_CLUSTER_NAME-kubeconfig get nodes
El resultado es similar a este:
NAME STATUS ROLES AGE VERSION abm-admin-cluster-cp Ready control-plane 94m v1.27.4-gke.1600
Cuando termines de explorar, ingresa
exit
para desconectarte de la estación de trabajo del administrador.
Console
Para crear un clúster de administrador en la consola, debes ejecutar bmctl
register bootstrap
desde la VM de la estación de trabajo de administrador para crear un clúster de arranque.
Mientras se ejecuta el comando bmctl register bootstrap
, debes realizar pasos en la consola para crear el clúster de administrador.
Ingresa los conceptos básicos del entorno de arranque
En la consola de Google Cloud, ve a la página de clústeres de GKE.
Haz clic en Crear.
En el diálogo Create a cluster, selecciona Local y haz clic en Configure para Bare Metal:
Asegúrate de seleccionar
PROJECT_ID
en la lista de proyectos.En la barra de navegación izquierda, haz clic en Install bootstrap environment.
Ingresa
ADMIN_CLUSTER_NAME
como el nombre del clúster de administrador.Selecciona
BMCTL_VERSION
como la versión de tu clúster de administrador. La secuencia de comandos descargó esta versión de la herramienta de línea de comandos debmctl
en la estación de trabajo de administrador. La versión de Google Distributed Cloud que instales debe coincidir con la versión debmctl
.En el campo Ubicación de la API de Google Cloud, selecciona ON_PREM_API_REGION en la lista. Este parámetro de configuración especifica la región en la que se ejecuta la API de GKE On-Prem y 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 nombre, el proyecto y la ubicación del clúster juntos identifican de forma única el clúster en Google Cloud.
Usa los pasos de la siguiente sección en lugar de los que se muestran en la consola para crear el clúster de inicialización. Deja la página de la consola visible porque continuarás allí para crear el clúster de administrador.
Crea el clúster de arranque
Cuando usas un cliente de API de GKE On-Prem, como la consola, para crear un clúster de administrador, debes crear un clúster de arranque en la estación de trabajo del administrador. El clúster de arranque aloja los controladores de Kubernetes necesarios para crear el clúster de administrador.
Desde la línea de comandos, usa SSH para acceder a la VM de la estación de trabajo de administrador como raíz:
gcloud compute ssh root@abm-ws --zone ZONE
Puedes ignorar cualquier mensaje sobre la actualización de la VM y completar este instructivo. Si planeas mantener las VMs como entorno de pruebas, te recomendamos que actualices el SO o que cambies a la siguiente versión, como se describe en la documentación de Ubuntu.
Configura tus credenciales de usuario como credenciales predeterminadas de la aplicación (ADC):
gcloud auth application-default login
Sigue las indicaciones para seleccionar tu Cuenta de Google para ADC.
Cambia al directorio
baremetal/
y ejecuta el siguiente comando para crear el clúster de arranque.Para obtener el nombre del clúster de arranque, se antepone
bootstrap-
al nombre del clúster de administrador.bmctl register bootstrap \ --ssh-key=/root/.ssh/id_rsa \ --name=bootstrap-ADMIN_CLUSTER_NAME \ --project-id=PROJECT_ID
Después de que
bmctl
cree correctamente el clúster de arranque, verás un resultado similar al siguiente:[2023-03-22 17:35:24+0000] Waiting for the temporary cluster to be registered... OK [2023-03-22 17:35:37+0000] Please go to https://console.cloud.google.com/home/dashboard?project=example-project-12345 to create the cluster [2023-03-22 17:35:37+0000] Waiting for preflight checks and cluster to run..
Crea el clúster de administrador:
En la página Install bootstrap environment, en la sección Bootstrap environment from admin workstation, haz clic en Check Connection.
Si se realiza de forma correcta, la consola mostrará
Connection established.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
bmctl register bootstrap
:Asegúrate de que el valor de
--name
coincida con el nombre de arranque derivado que se muestra en la sección Conceptos básicos del entorno de arranque.Asegúrate de que el valor de
--project-id
coincida con el ID del proyecto que seleccionaste en la consola.
Si necesitas cambiar el nombre del clúster de inicialización o el ID del proyecto, ingresa
Ctrl-C
para salir debmctl register bootstrap
y vuelve a ejecutar el comando.
Herramientas de redes
Haz clic en Herramientas de redes en la barra de navegación izquierda.
En la sección Plano de control, ingresa lo siguiente en el campo IP del nodo de plano de control 1:
10.200.0.3
Esta es la dirección IP de la VM abm-admin-cluster-cp en la VXLAN que creó la secuencia de comandos.
En la sección Balanceador de cargas, asegúrate de que esté seleccionada la opción Paquetes.
En la sección IPs virtuales (VIP), ingresa lo siguiente en el campo VIP del plano de control:
10.200.0.48
El siguiente paso depende de la disponibilidad del clúster de arranque. El comando
bmctl register bootstrap
en la ventana de terminal debe ejecutarse durante algunos minutos antes de que el clúster de arranque se muestre como miembro registrado. Si, después de unos minutos, aún no está disponible, verifica el nombre del clúster de arranque y el ID del proyecto que usaste. Si necesitas cambiar el nombre del clúster de inicialización o el ID del proyecto, ingresaCtrl-C
en la otra ventana de terminal para salir debmctl register bootstrap
y volver a ejecutar el comando.Haz clic en Verificar y crear.
La consola muestra mensajes de estado a medida que verifica la configuración y crea el clúster.
Cuando se crea el clúster de administrador, se borra el clúster de arranque en la estación de trabajo de administrador. El resultado del comando
bmctl register bootstrap
en la otra ventana de terminal es similar al siguiente:... [2024-04-15 23:10:48+0000] Waiting for cluster to become ready OK [2024-04-15 23:16:38+0000] Please run [2024-04-15 23:16:38+0000] kubectl --kubeconfig bmctl-workspace/gce-admin-gcloud-001/gce-admin-gcloud-001-kubeconfig get nodes [2024-04-15 23:16:38+0000] to get cluster nodes status. [2024-04-15 23:16:38+0000] Waiting for node pools to become ready OK [2024-04-15 23:16:58+0000] Waiting for metrics to become ready in GCP OK [2024-04-15 23:21:58+0000] Waiting for cluster API provider to install in the created admin cluster OK [2024-04-15 23:22:08+0000] Moving admin cluster resources to the created admin cluster [2024-04-15 23:22:10+0000] Waiting for node update jobs to finish OK [2024-04-15 23:24:30+0000] Flushing logs... OK [2024-04-15 23:24:30+0000] Unregistering bootstrap cluster. [2024-04-15 23:24:30+0000] Deleting membership... OK [2024-04-15 23:24:32+0000] Deleting bootstrap cluster.
Verifica el clúster de administrador
Puedes encontrar el archivo kubeconfig de tu clúster de administrador en la estación de trabajo de administrador en el directorio bmctl-workspace
de la cuenta raíz. Para verificar tu implementación, completa los siguientes pasos.
Usa SSH para acceder a la estación de trabajo de administrador como raíz:
gcloud compute ssh root@abm-ws --zone ZONE
Verifica que se haya creado el clúster de administrador y que esté en ejecución:
kubectl --kubeconfig bmctl-workspace/ADMIN_CLUSTER_NAME/ADMIN_CLUSTER_NAME-kubeconfig get nodes
El resultado es similar a este:
NAME STATUS ROLES AGE VERSION abm-admin-cluster-cp Ready control-plane 94m v1.27.4-gke.1600
Cuando termines de explorar, ingresa
exit
para desconectarte de la estación de trabajo del administrador.
gcloud CLI
Las siguientes instrucciones requieren dos ventanas de terminal. En una ventana de terminal, ejecuta bmctl register bootstrap
para crear un clúster de arranque. Mientras se ejecuta el comando bmctl register bootstrap
, ejecuta gcloud container
bare-metal admin-clusters create
en otra ventana de terminal para crear el clúster de administrador.
Crea el clúster de arranque
Cuando usas un cliente de API de GKE On-Prem, como gcloud CLI, para crear un clúster de administrador, debes crear un clúster de arranque en la estación de trabajo del administrador. El clúster de arranque aloja los controladores de Kubernetes necesarios para crear el clúster de administrador.
Desde la línea de comandos, usa SSH para acceder a la VM de la estación de trabajo de administrador como raíz:
gcloud compute ssh root@abm-ws --zone ZONE
Puedes ignorar cualquier mensaje sobre la actualización de la VM y completar este instructivo. Si planeas mantener las VMs como entorno de pruebas, te recomendamos que actualices el SO o que cambies a la siguiente versión, como se describe en la documentación de Ubuntu.
Configura tus credenciales de usuario como credenciales predeterminadas de la aplicación (ADC):
gcloud auth application-default login
Sigue las indicaciones para seleccionar tu Cuenta de Google para ADC.
Cambia al directorio
baremetal/
y ejecuta el siguiente comando para crear el clúster de arranque.Para obtener el nombre del clúster de arranque, se antepone
bootstrap-
al nombre del clúster de administrador.bmctl register bootstrap \ --ssh-key=/root/.ssh/id_rsa \ --name=bootstrap-ADMIN_CLUSTER_NAME \ --project-id=PROJECT_ID
Después de que
bmctl
cree correctamente el clúster de arranque, verás un resultado similar al siguiente:[2023-03-22 17:35:24+0000] Waiting for the temporary cluster to be registered... OK [2023-03-22 17:35:37+0000] Please go to https://console.cloud.google.com/home/dashboard?project=example-project-12345 to create the cluster [2023-03-22 17:35:37+0000] Waiting for preflight checks and cluster to run..
Crea el clúster de administrador:
En una ventana de terminal nueva, confirma que el clúster de arranque se haya registrado como miembro de la flota:
gcloud container fleet memberships list \ --project=PROJECT_ID
El comando
gcloud container bare-metal admin-clusters create
en el siguiente paso depende de la disponibilidad del clúster de arranque. El comandobmctl register bootstrap
en la otra ventana de terminal debe ejecutarse durante unos minutos antes de que el clúster de arranque se muestre como miembro registrado. Si, después de unos minutos, aún no aparece, verifica el nombre del clúster de arranque y el ID del proyecto que usaste. Si necesitas cambiar el nombre del clúster de inicialización o el ID del proyecto, ingresaCtrl-C
en la otra ventana de terminal para salir debmctl register bootstrap
y volver a ejecutar el comando.Crea el clúster de administrador con el balanceador de cargas incluido:
Asegúrate de que los valores que especifiques coincidan con las variables de entorno que especificaste antes para la secuencia de comandos.
gcloud container bare-metal admin-clusters create ADMIN_CLUSTER_NAME \ --project=PROJECT_ID \ --location=ON_PREM_API_REGION \ --version=BMCTL_VERSION \ --max-pods-per-node=110 \ --control-plane-vip=10.200.0.48 \ --control-plane-load-balancer-port=443 \ --control-plane-node-configs node-ip=10.200.0.3 \ --island-mode-service-address-cidr-blocks=10.96.0.0/20 \ --island-mode-pod-address-cidr-blocks=192.168.0.0/16 \ --lvp-share-path=/mnt/localpv-share \ --lvp-share-storage-class=local-shared \ --lvp-node-mounts-config-path=/mnt/localpv-disk \ --lvp-node-mounts-config-storage-class=local-disks
Con este comando, tendrá que hacer lo siguiente:
--control-plane-vip
se configura como10.200.0.48
. Esta es la IP virtual (VIP) en el balanceador de cargas para el servidor de la API de Kubernetes del clúster.--control-plane-node-configs
: Elnode-ip
se configura como10.200.0.3
Esta es la dirección IP de la VMabm-admin-cluster-cp
en la VXLAN que creó la secuencia de comandos.
Para obtener una lista completa de las marcas y sus descripciones, consulta la referencia de la gcloud CLI.
El resultado del comando es similar al siguiente:
Waiting for operation [projects/example-project-12345/locations/us-west1/operations/operation-1679543737105-5f7893fd5bae9-942b3f97-75e59179] to complete.
En el resultado de ejemplo, la cadena
operation-1679543737105-5f7893fd5bae9-942b3f97-75e59179
es elOPERATION_ID
de la operación de larga duración. Para averiguar el estado de la operación, ejecuta el siguiente comando en otra ventana de terminal:gcloud container bare-metal operations describe OPERATION_ID \ --project=PROJECT_ID \ --location=ON_PREM_API_REGION
Cuando
gcloud container bare-metal admin-clusters create
se completa de forma correcta, el resultado es similar al siguiente:Created Anthos on bare metal Admin Cluster [https://gkeonprem.googleapis.com/v1/projects/anonuser-anonproject/locations/us-central1/bareMetalAdminClusters/gce-admin-gcloud-001]. NAME LOCATION VERSION MEMBERSHIP STATE abm-cluster-1 us-central1 1.28.300-gke.131 abm-cluster-1 RUNNING
Cuando se crea el clúster de administrador, se borra el clúster de arranque en la estación de trabajo de administrador. El resultado del comando
bmctl register bootstrap
en la otra ventana de terminal es similar al siguiente:... [2024-04-15 23:10:48+0000] Waiting for cluster to become ready OK [2024-04-15 23:16:38+0000] Please run [2024-04-15 23:16:38+0000] kubectl --kubeconfig bmctl-workspace/gce-admin-gcloud-001/gce-admin-gcloud-001-kubeconfig get nodes [2024-04-15 23:16:38+0000] to get cluster nodes status. [2024-04-15 23:16:38+0000] Waiting for node pools to become ready OK [2024-04-15 23:16:58+0000] Waiting for metrics to become ready in GCP OK [2024-04-15 23:21:58+0000] Waiting for cluster API provider to install in the created admin cluster OK [2024-04-15 23:22:08+0000] Moving admin cluster resources to the created admin cluster [2024-04-15 23:22:10+0000] Waiting for node update jobs to finish OK [2024-04-15 23:24:30+0000] Flushing logs... OK [2024-04-15 23:24:30+0000] Unregistering bootstrap cluster. [2024-04-15 23:24:30+0000] Deleting membership... OK [2024-04-15 23:24:32+0000] Deleting bootstrap cluster.
Verifica el clúster de administrador
Puedes encontrar el archivo kubeconfig de tu clúster de administrador en la estación de trabajo de administrador en el directorio bmctl-workspace
de la cuenta raíz. Para verificar tu implementación, completa los siguientes pasos.
Usa SSH para acceder a la estación de trabajo de administrador como raíz:
gcloud compute ssh root@abm-ws --zone ZONE
Verifica que se haya creado el clúster de administrador y que esté en ejecución:
kubectl --kubeconfig bmctl-workspace/ADMIN_CLUSTER_NAME/ADMIN_CLUSTER_NAME-kubeconfig get nodes
El resultado es similar a este:
NAME STATUS ROLES AGE VERSION abm-admin-cluster-cp Ready control-plane 94m v1.27.4-gke.1600
Cuando termines de explorar, ingresa
exit
para desconectarte de la estación de trabajo del administrador.
Terraform
Las siguientes instrucciones requieren dos ventanas de terminal. En una ventana de terminal, ejecuta bmctl register bootstrap
para crear un clúster de arranque. Mientras se ejecuta el comando bmctl register bootstrap
, ejecutas los comandos de Terraform en otra ventana de terminal para crear el clúster de administrador.
Modifica los archivos de muestra del clúster de usuario para que funcionen en un clúster de administrador
El repositorio de anthos-samples
no incluye una muestra específica para crear un clúster de administrador de Google Distributed Cloud. En los siguientes pasos, se muestra cómo
crear un clúster de administrador modificando una muestra de Terraform
existente de clúster de usuario.
En el directorio en el que clonaste
anthos-samples
, ejecuta el siguiente comando para copiar los archivos de muestra del clúster de usuario de MetalLB en una carpeta nueva para tu clúster de administración:cp -r anthos-samples/anthos-onprem-terraform/abm_user_cluster_metallb \ anthos-samples/anthos-onprem-terraform/abm_admin_cluster_basic
Cambia al directorio
abm_admin_cluster_basic
:cd anthos-samples/anthos-onprem-terraform/abm_admin_cluster_basic
Edita los archivos de Terraform:
variables.tf
:Define una variable para las direcciones IP del nodo del plano de control (aunque solo usemos una para esta demostración). Esta variable debe ser similar a la entrada
variable "control_plane_ips" { ... }
.Define una variable para la dirección VIP del plano de control. Esta variable debería ser similar a la entrada
variable "control_plane_vip" { ... }
.
terraform.tfvars
:Asigna valores de variables para la siguiente configuración del clúster de administrador:
Direcciones IP del nodo de plano de control:
10.200.0.3
Dirección VIP del plano de control:
10.200.0.48
main.tf
:Reemplaza el recurso
google_gkeonprem_bare_metal_cluster
por el recursogoogle_gkeonprem_bare_metal_admin_cluster
.Borra el recurso
google_gkeonprem_bare_metal_node_pool
y la secciónlifecycle
relacionada.Actualiza el recurso para usar las variables recién definidas.
Este es un ejemplo de cómo se vería el archivo
main.tf
cuando se edita para crear un clúster de administrador:/** * Copyright 2023 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #[START anthos_onprem_terraform_bare_metal_admin_cluster_basic_main] module "enable_google_apis_primary" { source = "terraform-google-modules/project-factory/google//modules/project_services" version = "~> 14.0" project_id = var.project_id activate_apis = [ "anthos.googleapis.com", "anthosaudit.googleapis.com", "anthosgke.googleapis.com", "cloudresourcemanager.googleapis.com", "compute.googleapis.com", "connectgateway.googleapis.com", "container.googleapis.com", "file.googleapis.com", "gkehub.googleapis.com", "iam.googleapis.com", "kubernetesmetadata.googleapis.com", "logging.googleapis.com", "monitoring.googleapis.com", "opsconfigmonitoring.googleapis.com", "serviceusage.googleapis.com", "stackdriver.googleapis.com" ] disable_services_on_destroy = false } # Enable GKE OnPrem API resource "google_project_service" "default" { project = var.project_id service = "gkeonprem.googleapis.com" disable_on_destroy = false } # Create an anthos baremetal admin cluster and enroll it with the gkeonprem API resource "google_gkeonprem_bare_metal_admin_cluster" "admin-cluster-basic" { name = var.admin_cluster_name description = "Anthos bare metal admin cluster" provider = google depends_on = [google_project_service.default] location = var.region bare_metal_version = var.bare_metal_version network_config { island_mode_cidr { service_address_cidr_blocks = ["0.96.0.0/20"] pod_address_cidr_blocks = ["192.168.0.0/16"] } } node_config { max_pods_per_node = 250 } control_plane { control_plane_node_pool_config { node_pool_config { operating_system = "LINUX" dynamic "node_configs" { for_each = var.admin_cp_ips content { node_ip = node_configs.value } } } } } load_balancer { port_config { control_plane_load_balancer_port = 443 } vip_config { control_plane_vip = var.admin_cp_vip } } storage { lvp_share_config { lvp_config { path = "/mnt/localpv-share" storage_class = "local-shared" } shared_path_pv_count = 5 } lvp_node_mounts_config { path = "/mnt/localpv-disk" storage_class = "local-disks" } } dynamic "security_config" { for_each = length(var.admin_user_emails) == 0 ? [] : [1] content { authorization { dynamic "admin_users" { for_each = var.admin_user_emails content { username = admin_users.value } } } } } lifecycle { ignore_changes = [ annotations["onprem.cluster.gke.io/user-cluster-resource-link"], annotations["alpha.baremetal.cluster.gke.io/cluster-metrics-webhook"], annotations["baremetal.cluster.gke.io/operation"], annotations["baremetal.cluster.gke.io/operation-id"], annotations["baremetal.cluster.gke.io/start-time"], annotations["baremetal.cluster.gke.io/upgrade-from-version"] ] } } #[END anthos_onprem_terraform_bare_metal_admin_cluster_basic_main]
Para obtener más información sobre el recurso de Terraform para clústeres de administrador, consulta google_gkeonprem_bare_metal_admin_cluster en el registro de Terraform.
Crea el clúster de arranque
Cuando usas un cliente de API de GKE On-Prem, como Terraform, para crear un clúster de administrador, debes crear un clúster de arranque en la estación de trabajo del administrador. El clúster de arranque aloja los controladores de Kubernetes necesarios para crear el clúster de administrador.
Desde la línea de comandos, usa SSH para acceder a la VM de la estación de trabajo de administrador como raíz:
gcloud compute ssh root@abm-ws --zone ZONE
Puedes ignorar cualquier mensaje sobre la actualización de la VM y completar este instructivo. Si planeas mantener las VMs como entorno de pruebas, te recomendamos que actualices el SO o que cambies a la siguiente versión, como se describe en la documentación de Ubuntu.
Configura tus credenciales de usuario como credenciales predeterminadas de la aplicación (ADC):
gcloud auth application-default login
Sigue las indicaciones para seleccionar tu Cuenta de Google para ADC.
Cambia al directorio
baremetal/
y ejecuta el siguiente comando para crear el clúster de arranque.Para obtener el nombre del clúster de arranque, se antepone
bootstrap-
al nombre del clúster de administrador.bmctl register bootstrap \ --ssh-key=/root/.ssh/id_rsa \ --name=bootstrap-ADMIN_CLUSTER_NAME \ --project-id=PROJECT_ID
Después de que
bmctl
cree correctamente el clúster de arranque, verás un resultado similar al siguiente:[2023-03-22 17:35:24+0000] Waiting for the temporary cluster to be registered... OK [2023-03-22 17:35:37+0000] Please go to https://console.cloud.google.com/home/dashboard?project=example-project-12345 to create the cluster [2023-03-22 17:35:37+0000] Waiting for preflight checks and cluster to run..
Crea el clúster de administrador:
Inicializa y crea Terraform plan:
terraform init
Terraform instala las bibliotecas necesarias, como el proveedor de Google Cloud.
Revisa la configuración y realiza cambios si es necesario:
terraform plan
Aplica el plan de Terraform para crear el clúster de administrador:
terraform apply
La creación del clúster de administrador toma 15 minutos o más. Cuando se complete la creación del clúster, verás un mensaje similar al siguiente:
... google_gkeonprem_bare_metal_admin_cluster.admin-cluster-basic: Still creating... [20m10s elapsed] google_gkeonprem_bare_metal_admin_cluster.admin-cluster-basic: Creation complete after 20m11s [id=projects/anonuser-anonproject/locations/us-central1/bareMetalAdminClusters/gce-admin-terra002] Apply complete! Resources: 1 added, 0 changed, 0 destroyed.
Cuando se crea el clúster de administrador, se borra el clúster de arranque en la estación de trabajo de administrador. El resultado del comando
bmctl register bootstrap
en la otra ventana de terminal es similar al siguiente:... [2024-04-15 23:10:48+0000] Waiting for cluster to become ready OK [2024-04-15 23:16:38+0000] Please run [2024-04-15 23:16:38+0000] kubectl --kubeconfig bmctl-workspace/gce-admin-gcloud-001/gce-admin-gcloud-001-kubeconfig get nodes [2024-04-15 23:16:38+0000] to get cluster nodes status. [2024-04-15 23:16:38+0000] Waiting for node pools to become ready OK [2024-04-15 23:16:58+0000] Waiting for metrics to become ready in GCP OK [2024-04-15 23:21:58+0000] Waiting for cluster API provider to install in the created admin cluster OK [2024-04-15 23:22:08+0000] Moving admin cluster resources to the created admin cluster [2024-04-15 23:22:10+0000] Waiting for node update jobs to finish OK [2024-04-15 23:24:30+0000] Flushing logs... OK [2024-04-15 23:24:30+0000] Unregistering bootstrap cluster. [2024-04-15 23:24:30+0000] Deleting membership... OK [2024-04-15 23:24:32+0000] Deleting bootstrap cluster.
En la consola, ve a la página Clústeres de GKE.
Asegúrate de que esté seleccionado el proyecto en el que creaste el clúster de usuarios. Deberías ver el clúster de administrador en la lista.
Accede al clúster de administrador:
Haz clic en el vínculo del nombre del clúster y, en el panel lateral, haz clic en Acceder.
Selecciona Usa tu identidad de Google para acceder
Haga clic en Acceder.
Verifica el clúster de administrador
Puedes encontrar el archivo kubeconfig de tu clúster de administrador en la estación de trabajo de administrador en el directorio bmctl-workspace
de la cuenta raíz. Para verificar tu implementación, completa los siguientes pasos.
Usa SSH para acceder a la estación de trabajo de administrador como raíz:
gcloud compute ssh root@abm-ws --zone ZONE
Verifica que se haya creado el clúster de administrador y que esté en ejecución:
kubectl --kubeconfig bmctl-workspace/ADMIN_CLUSTER_NAME/ADMIN_CLUSTER_NAME-kubeconfig get nodes
El resultado es similar a este:
NAME STATUS ROLES AGE VERSION abm-admin-cluster-cp Ready control-plane 94m v1.27.4-gke.1600
Cuando termines de explorar, ingresa
exit
para desconectarte de la estación de trabajo del administrador.
4. Crea el clúster de usuario
Puedes usar la consola de Google Cloud, Google Cloud CLI o Terraform para crear
el clúster de usuarios. Para simplificar, usa abm-user-cluster-metallb
para el nombre del clúster del usuario, de modo que coincida con el nombre hard-coded en las secuencias de comandos de Terraform.
bmctl
Usa SSH para acceder a la VM de la estación de trabajo de administrador,
abm-ws
, como raíz:gcloud compute ssh root@abm-ws --zone ZONE
Genera un archivo de configuración del clúster:
bmctl create config -c abm-user-cluster-metallb \ --project-id=PROJECT_ID
En el siguiente archivo de configuración del clúster de usuario, configura tu dirección de correo electrónico en la sección
clusterSecurity
y verifica el resto de la configuración:En el siguiente archivo de configuración del clúster, se completan los valores que ingresaste en la tabla de planificación antes. Además de los valores que ingresaste, ten en cuenta las siguientes diferencias con el archivo de configuración generado:
- Se quitaron los comentarios de este ejemplo para mejorar la legibilidad.
- Se quitó la sección Credenciales, como es habitual en los clústeres de usuarios.
- El tipo de clúster,
spec.type
, se estableció enuser
. - Se agregó el campo
spec.clusterSecurity.authorization.clusterAdmin.gcpAccounts
para otorgar elclusterrole/cluster-admin
a tu cuenta. Entre otros aspectos, este campo te permite acceder a tu clúster en la consola de Google Cloud para ver más detalles del clúster.
--- apiVersion: v1 kind: Namespace metadata: name: cluster-abm-user-cluster-metallb --- apiVersion: baremetal.cluster.gke.io/v1 kind: Cluster metadata: name: abm-user-cluster-metallb namespace: cluster-abm-user-cluster-metallb spec: type: user profile: default anthosBareMetalVersion: BMCTL_VERSION gkeConnect: projectID: PROJECT_ID controlPlane: nodePoolSpec: nodes: - address: 10.200.0.4 clusterNetwork: pods: cidrBlocks: - 192.168.0.0/16 services: cidrBlocks: - 10.96.0.0/20 loadBalancer: mode: bundled ports: controlPlaneLBPort: 443 vips: controlPlaneVIP: 10.200.0.50 ingressVIP: 10.200.0.51 addressPools: - name: pool1 addresses: - 10.200.0.51-10.200.0.70 clusterOperations: projectID: PROJECT_ID location: us-central1 clusterSecurity: authorization: clusterAdmin: gcpAccounts: - YOUR_EMAIL_ADDRESS storage: lvpNodeMounts: path: /mnt/localpv-disk storageClassName: local-disks lvpShare: path: /mnt/localpv-share storageClassName: local-shared numPVUnderSharedPath: 5 nodeConfig: podDensity: maxPodsPerNode: 250 --- apiVersion: baremetal.cluster.gke.io/v1 kind: NodePool metadata: name: node-pool-1 namespace: cluster-abm-user-cluster-metallb spec: clusterName: abm-user-cluster-metallb nodes: - address: 10.200.0.5
Reemplaza el contenido del archivo de configuración generado en tu estación de trabajo de administrador por el contenido del ejemplo anterior.
Abre el archivo generado,
bmctl-workspace/abm-user-cluster-metallb/abm-user-cluster-metallb.yaml
, y reemplaza su contenido por el del ejemplo que verificaste en el paso anterior.Crea el clúster de usuario:
bmctl create cluster -c abm-user-cluster-metallb \ --kubeconfig bmctl-workspace/ADMIN_CLUSTER_NAME/ADMIN_CLUSTER_NAME-kubeconfig
El comando
bmctl
muestra el resultado en la pantalla a medida que ejecuta las verificaciones previas y crea el clúster. La información detallada se escribe en los registros de la carpetabaremetal/bmctl-workspace/abm-user-cluster-metallb/log
en la estación de trabajo de administrador.La creación del clúster puede tomar varios minutos en completarse.
En la consola de Google Cloud, ve a la página de clústeres de GKE.
Asegúrate de que esté seleccionado el proyecto en el que creaste el clúster de usuarios. Deberías ver el clúster de administrador y el de usuario en la lista.
Accede al clúster de usuarios:
Haz clic en el vínculo del nombre del clúster y, en el panel lateral, haz clic en Acceder.
Selecciona Usa tu identidad de Google para acceder
Haga clic en Acceder.
Repite los mismos pasos para acceder al clúster de administrador.
Console
Sigue estos pasos para crear un clúster de usuarios en la consola:
En la consola, ve a la página Crea un clúster de Bare Metal.
Asegúrate de que esté seleccionado el proyecto de Google Cloud en el que creaste el clúster de administrador.
Haz clic en Crear clúster.
En el cuadro de diálogo, haz clic en Local.
Junto a Bare metal, haz clic en Configurar. Se mostrará la página Requisitos previos.
En Elige el tipo de clúster, selecciona Crear un clúster de usuario para un clúster de administrador existente.
Haz clic en Siguiente.
Aspectos básicos del clúster
Ingresa un nombre para el clúster de usuarios o usa el predeterminado.
Asegúrate de que esté seleccionado el clúster de administrador recién creado. Puedes usar los valores predeterminados para el resto de la configuración en esta página.
Haz clic en Herramientas de redes en la barra de navegación izquierda.
Herramientas de redes
La secuencia de comandos que ejecutaste para crear VMs y el clúster de administración también creó una VXLAN de capa 2 con direcciones IP en la subred 10.200.0.0/24
.
En la sección Plano de control, ingresa lo siguiente en el campo IP del nodo del plano de control 1:
10.200.0.4
Esta es la dirección IP de la VM
abm-user-cluster-cp1
en la VXLAN que creó la secuencia de comandos.En la sección Balanceador de cargas, usa el balanceador de cargas predeterminado, Bundled with MetalLB.
En la sección New address pool, ingresa el siguiente rango de direcciones IP en el campo IP address range 1:
10.200.0.51-10.200.0.70
Haz clic en Listo.
En la sección IP virtuales, ingresa la siguiente dirección IP en el campo VIP del plano de control:
10.200.0.50
Ingresa la siguiente dirección IP para el VIP de entrada:
10.200.0.51
Usa las direcciones IP predeterminadas en la sección CIDR de servicios y Pods.
Haz clic en grupo predeterminado en la barra de navegación de la izquierda.
Crea un grupo de nodos
Tu clúster de usuarios debe tener, al menos, un grupo de nodos para los nodos trabajadores.
Ingresa la siguiente dirección IP en el campo Nodes address 1:
10.200.0.5
Esta es la dirección IP de la VM abm-user-cluster-w1 en la VXLAN que creó la secuencia de comandos.
Crea el clúster
Haz clic en Verify and Create para crear el clúster de usuario.
La creación del clúster de usuario toma 15 minutos o más. La consola muestra mensajes de estado a medida que verifica la configuración y crea el clúster.
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.
Para ver información adicional sobre el proceso de creación, haz clic en Mostrar detalles para que se muestre un panel lateral. Haz clic en
para cerrar el panel de detalles.Cuando se crea el clúster, se muestra Estado del clúster: en ejecución.
Después de crear el clúster, haz clic en
Clústeres para volver a la página Clústeres.Accede al clúster de usuarios:
Haz clic en el vínculo del nombre del clúster y, en el panel lateral, haz clic en Acceder.
Selecciona Usa tu identidad de Google para acceder
Haga clic en Acceder.
Repite los mismos pasos para acceder al clúster de administrador.
gcloud CLI
Para crear el clúster de usuario, sigue estos pasos:
Ejecuta el siguiente comando para crear el clúster de usuarios:
gcloud container bare-metal clusters create abm-user-cluster-metallb \ --project=PROJECT_ID \ --admin-cluster-membership=projects/PROJECT_ID/locations/ON_PREM_API_REGION/memberships/ADMIN_CLUSTER_NAME \ --location=ON_PREM_API_REGION \ --version=BMCTL_VERSION \ --admin-users=YOUR_EMAIL_ADDRESS \ --metal-lb-address-pools='pool=lb-pool-1,manual-assign=True,addresses=10.200.0.51-10.200.0.70' \ --control-plane-node-configs='node-ip=10.200.0.4' \ --control-plane-vip=10.200.0.50 \ --control-plane-load-balancer-port=443 \ --ingress-vip=10.200.0.51 \ --island-mode-service-address-cidr-blocks=10.96.0.0/20 \ --island-mode-pod-address-cidr-blocks=192.168.0.0/16 \ --lvp-share-path=/mnt/localpv-share \ --lvp-share-storage-class=local-shared \ --lvp-node-mounts-config-path=/mnt/localpv-disk \ --lvp-node-mounts-config-storage-class=local-disks
Después de ejecutar el comando, verás un resultado como el siguiente:
Waiting for operation [projects/PROJECT_ID/locations/ON_PREM_API_REGION/operations/operation-1678304606537-5f668bde5c57e-341effde-b612ff8a] to complete...
En el resultado de ejemplo, la cadena
operation-1678304606537-5f668bde5c57e-341effde-b612ff8a
es elOPERATION_ID
de la operación de larga duración.Para averiguar el estado de la operación, abre otra ventana de terminal y ejecuta el comando.
gcloud container bare-metal operations describe OPERATION_ID \ --project=PROJECT_ID \ --location=ON_PREM_API_REGION
Reemplaza
OPERATION_ID
por la cadena correspondiente del resultado del paso anterior.La creación del clúster tarda unos 15 minutos o más. A medida que se crea el clúster, puedes ejecutar el comando anterior de vez en cuando para obtener el estado actual.
Cuando se crea el clúster, verás un resultado similar al siguiente:
Created Anthos cluster on bare metal [https://gkeonprem.googleapis.com/v1/projects/PROJECT_ID/locations/ON_PREM_API_REGION/bareMetalClusters/abm-user-cluster-metallb].
Para obtener más información sobre el comando
gcloud container bare-metal clusters create
, incluidas las descripciones de cada marca, consulta la página container bare-metal clusters create del recurso de clústeres en la referencia de la gcloud CLI.
Crea un grupo de nodos
Después de crear el clúster de forma correcta, puedes crear un grupo de nodos para él.
Para crear un grupo de nodos, haz lo siguiente:
Ejecuta el siguiente comando para crear un grupo de nodos:
gcloud container bare-metal node-pools create NODE_POOL_NAME \ --cluster=abm-user-cluster-metallb \ --project=PROJECT_ID \ --location=ON_PREM_API_REGION \ --node-configs='node-ip=10.200.0.5'
Reemplaza
NODE_POOL_NAME
por un nombre para el grupo de nodos.Después de ejecutar el comando, verás un resultado como el siguiente:
Waiting for operation [projects/PROJECT_ID/locations/ON_PREM_API_REGION/operations/operation-1678308682052-5f669b0d132cb-6ebd1c2c-816287a7] to complete...
La creación del grupo de nodos tarda alrededor de 5 minutos o menos. Cuando se crea el grupo de nodos, verás un resultado como el siguiente:
Created node pool in Anthos cluster on bare metal [https://gkeonprem.googleapis.com/v1/projects/PROJECT_ID/locations/ON_PREM_API_REGION/bareMetalClusters/abm-user-cluster-metallb/bareMetalNodePools/NODE_POOL_NAME].
Ve a la página Crear un clúster de bare metal en la consola:
Ir a la página Crear un clúster de Bare Metal
Asegúrate de que esté seleccionado el proyecto en el que creaste el clúster de usuarios. Deberías ver el clúster de administrador y el de usuario en la lista.
Accede al clúster de usuarios:
Haz clic en el vínculo del nombre del clúster y, en el panel lateral, haz clic en Acceder.
Selecciona Usa tu identidad de Google para acceder
Haga clic en Acceder.
Repite los mismos pasos para acceder al clúster de administrador.
Terraform
Puedes usar el siguiente ejemplo de configuración básica para crear un clúster de usuario con el balanceador de cargas MetalLB incluido. Para obtener más información, consulta la documentación de referencia de google_gkeonprem_bare_metal_cluster
.
En el directorio en el que clonaste
anthos-samples
, ve al directorio en el que se encuentra la muestra de Terraform:cd anthos-samples/anthos-onprem-terraform/abm_user_cluster_metallb
La muestra proporciona un archivo de variables de ejemplo para pasar a
main.tf
.Crea una copia del archivo
terraform.tfvars.sample
.cp terraform.tfvars.sample terraform.tfvars
Verifica los valores en la siguiente muestra:
El siguiente archivo de variables de Terraform,
terraform.tfvars.sample
, está prellenado con direcciones IP y con los valores que ingresaste en las secciones anteriores de esta guía.Reemplaza
ADMIN_2_EMAIL_ADDRESS
por una dirección de correo electrónico asociada con tu cuenta de Google Cloud o quítala cuando edites el archivo de variables.Para obtener más información sobre los argumentos de esta muestra para los que configuras variables, consulta la Referencia de argumentos en la documentación de Terraform para los clústeres de usuarios de Google Distributed Cloud.
Reemplaza el contenido de tu copia del archivo de variables por el contenido del ejemplo anterior.
Inicializa y crea Terraform plan:
terraform init
Terraform instala las bibliotecas necesarias, como el proveedor de Google Cloud.
Revisa la configuración y realiza cambios si es necesario:
terraform plan
Aplica el plan de Terraform para crear el clúster de usuario:
terraform apply
La creación del clúster de usuario toma 15 minutos o más. Puedes ver el clúster en la consola de Google Cloud, en la página Clústeres de GKE.
En la consola de Google Cloud, ve a la página de clústeres de GKE.
Asegúrate de que esté seleccionado el proyecto en el que creaste el clúster de usuarios. Deberías ver el clúster de administrador y el de usuario en la lista.
Accede al clúster de usuarios:
Haz clic en el vínculo del nombre del clúster y, en el panel lateral, haz clic en Acceder.
Selecciona Usa tu identidad de Google para acceder
Haga clic en Acceder.
Repite los mismos pasos para acceder al clúster de administrador.
5. Realiza una limpieza
Usa las siguientes instrucciones para quitar los clústeres y las VMs que creaste con esta guía.
Borra el clúster de usuarios
bmctl
Para borrar el clúster de usuarios con
bmctl
, ejecuta el siguiente comando desde la VM de la estación de trabajo de administrador,abm-ws
:bmctl reset \ --cluster abm-user-cluster-metallb \ --admin-kubeconfig bmctl-workspace/ADMIN_CLUSTER_NAME/ADMIN_CLUSTER_NAME-kubeconfig
Console
En la consola, ve a la página Clústeres de GKE.
En la lista de clústeres, haz clic en el clúster de usuarios.
En el panel Detalles, haz clic en Ver más detalles.
Cerca de la parte superior de la ventana, haz clic en
Borrar.Cuando se te solicite confirmación, ingresa el nombre del clúster y haz clic en Borrar.
Haz clic en
en la esquina superior derecha para ver el estado de la eliminación. Es posible que debas actualizar la página para actualizar la lista de clústeres.
gcloud CLI
Para borrar el clúster, ejecuta el siguiente comando:
gcloud container bare-metal clusters delete abm-user-cluster-metallb \ --project=PROJECT_ID \ --location=ON_PREM_API_REGION \ --force
La marca
--force
te permite borrar un clúster que tenga grupos de nodos. Sin la marca--force
, primero debes borrar los grupos de nodos y, luego, el clúster.
Para obtener información sobre otras marcas, consulta gcloud container bare-metal clusters delete.
Terraform
El comando terraform destroy
finaliza los recursos que se crearon cuando ejecutaste terraform apply
para crear el clúster de usuarios.
Ejecuta el siguiente comando desde el directorio en el que se encuentran los archivos de muestra del clúster de usuarios de Terraform, como
main.tf
:terraform destroy
Espera a que se borre el clúster de usuarios antes de borrar el clúster de administrador y las VMs.
Borra el clúster de administrador y las VMs
Da de baja la inscripción del clúster de administrador desde la API de GKE On-Prem:
gcloud container bare-metal admin-clusters unenroll ADMIN_CLUSTER_NAME \ --project=PROJECT_ID \ --location=ON_PREM_API_REGION
Conéctate a la estación de trabajo de administrador:
gcloud compute ssh root@abm-ws --zone ZONE
Borra el clúster de administrador:
bmctl reset -c ADMIN_CLUSTER_NAME
bmctl
cancela el registro del clúster de la flota y, luego, lo borra. Espera a que se borre el clúster antes de borrar las VMs.Sal de la estación de trabajo del administrador:
exit
Enumera todas las VM que tienen
abm
en su nombre:gcloud compute instances list | grep 'abm'
Verifica que sea seguro borrar todas las VM que contienen
abm
en el nombre.Después de verificar, puedes borrar las VM de
abm
mediante la ejecución del siguiente comando:gcloud compute instances list --format="value(name)" | \ grep 'abm' | \ xargs gcloud compute instances delete --quiet --zone ZONE
Ejecuta el siguiente comando para borrar la cuenta de servicio y, cuando se te solicite, ingresa
y
:gcloud iam service-accounts delete baremetal-gcr@PROJECT_ID.iam.gserviceaccount.com
¿Qué sigue?
Para comenzar a crear clústeres en tu propio hardware, consulta Planifica una instalación básica en tu hardware y Crea clústeres básicos en tu hardware.
Para conocer los requisitos de instalación detallados, consulta la descripción general de los requisitos previos de instalación.
Para obtener más información sobre la instalación, consulta Descripción general de la creación de clústeres.
Para obtener instrucciones sobre cómo realizar la implementación en tu clúster, consulta Implementa una aplicación.