En esta página, se explica cómo crear una estación de trabajo de administrador que use el protocolo de configuración dinámica de host (DHCP) para obtener la dirección IP.
Si deseas crear una estación de trabajo de administrador que tenga una dirección IP estática, consulta Crea una estación de trabajo de administrador.
Descripción general
La estación de trabajo de administrador es una VM de vSphere que contiene todas las herramientas que necesitas para crear y administrar clústeres de GKE On-Prem. Para crear la estación de trabajo de administrador, realiza los siguientes pasos que se describen en este tema:
- Descarga el archivo Open Virtual Appliance (OVA) de la estación de trabajo de administrador, una imagen comprimida de la VM de la estación de trabajo de administrador.
- Usa
govc
, la interfaz de línea de comandos para vSphere, a fin de importar el OVA a vSphere como una plantilla de VM. - Copia y propaga los archivos de configuración de HashiCorp Terraform.
- Usa la versión 0.11 de Terraform para crear la VM de la estación de trabajo de administrador.
Crea una clave para tu cuenta de servicio incluida en la lista de anunciantes permitidos.
Si aún no tienes un archivo de claves JSON para la cuenta de servicio incluida en la lista de anunciantes permitidos, crea uno ahora:
gcloud auth login
-
gcloud iam service-accounts keys create whitelisted-key.json \ --iam-account [ALLOWLISTED_SERVICE_ACCOUNT_EMAIL]
En el ejemplo anterior, [ALLOWLISTED_SERVICE_ACCOUNT_EMAIL] es la dirección de correo electrónico de la cuenta de servicio incluida en la lista de anunciantes permitidos.
Descarga el OVA de la estación de trabajo de administrador
El OVA de la estación de trabajo de administrador incluye todos los componentes del clúster, las herramientas de línea de comandos y otras entidades necesarias para instalar y administrar clústeres de GKE On-Prem.
Activa tu cuenta de servicio incluida en la lista de anunciantes permitidos:
gcloud auth activate-service-account --key-file [KEY_ALLOWLISTED_ACCOUNT]
En el ejemplo anterior, [KEY_ALLOWLISTED_ACCOUNT] es la ruta de acceso del archivo de claves JSON de la cuenta de servicio incluida en la lista de anunciantes permitidos.
Descarga la versión más reciente del OVA de la estación de trabajo de administrador y su archivo de firma:
gsutil cp gs://gke-on-prem-release/admin-appliance/1.3.2-gke.1/gke-on-prem-admin-appliance-vsphere-1.3.2-gke.1.{ova,ova.1.sig} ./
Verifica el OVA mediante openssl
Verifica el archivo OVA que descargaste con la clave pública mediante openssl
:
openssl dgst -verify - -signature gke-on-prem-admin-appliance-vsphere-1.3.2-gke.1.ova.1.sig gke-on-prem-admin-appliance-vsphere-1.3.2-gke.1.ova <<'EOF' -----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF
El resultado de este comando debería ser Verified OK
.
Usa govc
para importar el OVA a vSphere y marcarlo como una plantilla de VM
En las siguientes secciones, harás lo siguiente:
- Crear algunas variables que declaren elementos de vCenter Server y del entorno de vSphere
- Importar el OVA de la estación de trabajo de administrador a vSphere y marcarlo como una plantilla de VM
Crea variables para govc
Antes de importar el OVA de la estación de trabajo de administrador a vSphere, debes proporcionar a govc
algunas variables que declaren los elementos de vCenter Server y el entorno de vSphere:
export GOVC_URL=https://[VCENTER_SERVER_ADDRESS]/sdk export GOVC_USERNAME=[VCENTER_SERVER_USERNAME] export GOVC_PASSWORD=[VCENTER_SERVER_PASSWORD] export GOVC_DATASTORE=[VSPHERE_DATASTORE] export GOVC_DATACENTER=[VSPHERE_DATACENTER] export GOVC_INSECURE=true
Puedes elegir usar el grupo de recursos predeterminado de vSphere o crear el tuyo:
# If you want to use a resource pool you've configured yourself, export this variable: export GOVC_RESOURCE_POOL=[VSPHERE_CLUSTER]/Resources/[VSPHERE_RESOURCE_POOL]
# If you want to use vSphere's default resource pool, export this variable instead: export GOVC_RESOURCE_POOL=[VSPHERE_CLUSTER]/Resources
Donde:
- [VCENTER_SERVER_ADDRESS] es la dirección IP o el nombre de host de vCenter Server.
- [VCENTER_SERVER_USERNAME] es el nombre de usuario de una cuenta que contiene la función de administrador o privilegios equivalentes en vCenter Server.
- [VCENTER_SERVER_PASSWORD] es la contraseña de la cuenta de vCenter Server.
- [VSPHERE_DATASTORE] es el nombre del almacén de datos que configuraste en el entorno de vSphere.
- [VSPHERE_DATACENTER] es el nombre del centro de datos que configuraste en el entorno de vSphere.
- [VSPHERE_CLUSTER] es el nombre del clúster que configuraste en el entorno de vSphere. Para usar un grupo de recursos no predeterminado
- [VSPHERE_RESOURCE_POOL] es el nombre del grupo de recursos que configuraste en el entorno de vSphere.
Crea variables para el proxy
Si usas un proxy, exporta las variables de la dirección HTTP y HTTPS, en las que [PROXY_ADDRESS] es la dirección IP o el nombre de host del proxy:
export HTTP_PROXY=http://[PROXY_ADDRESS] export HTTPS_PROXY=https://[PROXY_ADDRESS]
Importa el OVA a vSphere: Interruptor estándar
Si usas un interruptor estándar vSphere, importa el archivo OVA a vSphere mediante este comando:
govc import.ova -options - gke-on-prem-admin-appliance-vsphere-1.3.2-gke.1.ova <<EOF { "DiskProvisioning": "thin", "MarkAsTemplate": true } EOF
Importa el archivo OVA a vSphere: Interruptor distribuido
Si usas un interruptor distribuido vSphere, importa el OVA a vSphere mediante este comando, en el que [YOUR_DISTRIBUTED_PORT_GROUP_NAME] es el nombre del grupo de puertos distribuido:
govc import.ova -options - gke-on-prem-admin-appliance-vsphere-1.3.2-gke.1.ova <<EOF { "DiskProvisioning": "thin", "MarkAsTemplate": true, "NetworkMapping": [ { "Name": "VM Network", "Network": "[YOUR_DISTRIBUTED_PORT_GROUP_NAME]" } ] } EOF
Copia los archivos de configuración de Terraform
Crea un directorio para los archivos de Terraform:
mkdir [TERRAFORM_DIR]
En el ejemplo anterior, [TERRAFORM_DIR] es la ruta de acceso del directorio en el que quieres almacenar los archivos de Terraform.
Copia los siguientes archivos TF y TFVARS y, luego, guárdalos en [TERRAFORM_DIR]/terraform.tf
y [TERRAFORM_DIR]/terraform.tfvars
, respectivamente.
El archivo TF es el archivo de configuración de HCL de Terraform que realiza la creación de la VM.
Crea una clave SSH
Crea una clave SSH para que puedas establecer una conexión SSH a la estación de trabajo de administrador desde tu laptop o estación de trabajo local. En los sistemas operativos basados en Linux, puedes usar ssh-keygen
:
ssh-keygen -t rsa -f ~/.ssh/vsphere_workstation -N ""
Modifica el archivo TFVARS
Abre terraform.tfvars
en un editor de texto y proporciona valores para las siguientes variables. Puedes acceder a vCenter Client para encontrar muchos de estos valores:
vcenter_user
Proporciona una cuenta de usuario de vCenter Server como una string. La cuenta de usuario debe tener la función de administrador o privilegios equivalentes (consulta los requisitos de vSphere).
Por ejemplo:
vcenter_user = "administrator@vsphere.local"
vcenter_password
Proporciona la contraseña de la cuenta de usuario de vCenter Server como una string. Por ejemplo:
vcenter_password = "#STyZ2T#Ko2o"
vcenter_server
Proporciona la dirección de vCenter Server (IP o nombre de host) como una string. Por ejemplo:
vcenter_server = "198.51.100.2"
ssh_public_key_path
Proporciona la ruta de acceso a la clave pública SSH. La creaste en un paso anterior:
ssh_public_key_path = "~/.ssh/vsphere_workstation.pub"
vm_name
Proporciona un nombre de tu elección para la estación de trabajo de administrador. Por ejemplo:
vm_name = "my-admin-workstation"
datastore
Proporciona el nombre del almacén de datos de vSphere como una string. Por ejemplo:
datastore = "MY-DATASTORE"
datacenter
Proporciona el nombre del centro de datos de vSphere como una string. Por ejemplo:
datacenter = "MY-DATACENTER"
cluster
Proporciona el nombre del clúster de vSphere como una string. Por ejemplo:
cluster = "MY-CLUSTER"
resource_pool
Si usas un grupo de recursos que no sea el predeterminado, proporciona el nombre del grupo de recursos de vSphere como una string. Por ejemplo:
resource_pool = "MY-POOL"
Si usas el grupo de recursos predeterminado, proporciona el siguiente valor:
resource_pool = "[MY_CLUSTER]/Resources"
En el ejemplo anterior, [MY_CLUSTER] es el nombre de tu clúster de vSphere.
Consulta Specifying the root resource pool for a standalone host (Especifica el grupo de recursos raíz de un host independiente).
network
Proporciona la red de vSphere en la que deseas crear la estación de trabajo de administrador como una string. Por ejemplo:
network = "MY-VM-NETWORK"
vm_template
Proporciona el nombre de la plantilla de VM como una string. Creaste e importaste el OVA y lo marcaste como una plantilla en un paso anterior. Ten en cuenta que el nombre de la plantilla no tiene la extensión .ova
.
vm_template = "gke-on-prem-admin-appliance-vsphere-1.3.2-gke.1"
Crea la estación de trabajo de administrador
Ahora estás listo para crear la VM de la estación de trabajo de administrador. Usa la versión 0.11 de Terraform para los pasos de esta sección.
Ve al directorio que contiene los archivos de configuración de Terraform (TF y TFVARS):
Inicializa Terraform en el directorio y aplica la configuración. Esto puede tomar algunos minutos:
terraform init && terraform apply -auto-approve -input=false
Establece una conexión SSH en la estación de trabajo de administrador
Ve al directorio que contiene los archivos de configuración de Terraform.
Recupera la dirección IP de la estación de trabajo de administrador:
terraform output ip_address
Toma nota de la dirección IP de la estación de trabajo de administrador.
Establece una conexión SSH a la estación de trabajo de administrador mediante la clave SSH y la dirección IP:
ssh -i ~/.ssh/vsphere_workstation ubuntu@[ADMIN_WORKSTATION_IP_ADDRESS]
Verifica que la estación de trabajo de administrador esté configurada de manera correcta
Verifica que gkectl
y docker
estén instalados en la estación de trabajo de administrador:
gkectl version docker version
Configura el servidor de NTP en la estación de trabajo de administrador
De forma predeterminada, la estación de trabajo de administrador usa ntp.ubuntu.com como su servidor de protocolo NTP. Si la organización usa un servidor de hora diferente, configura la estación de trabajo de administrador para que use el mismo servidor de NTP que el resto de la organización.
Ingresa los siguientes comandos para configurar el servidor de NTP en la estación de trabajo de administrador:
sudo mkdir -p /etc/systemd/timesyncd.conf.d/ sudo bash -c "cat >> /etc/systemd/timesyncd.conf.d/cloud-init.conf" << EOF [Time] NTP=[NTP_SERVER] EOF sudo systemctl restart systemd-timesyncd timedatectl status
En el ejemplo anterior, [NTP_SERVER] es el nombre de host o la dirección IP del servidor de NTP.
Para verificar que el servidor de NTP esté funcionando, ingresa el siguiente comando:
timedatectl
El resultado es similar al siguiente ejemplo:
Local time: Tue 2019-12-17 00:21:50 UTC Universal time: Tue 2019-12-17 00:21:50 UTC RTC time: Tue 2019-12-17 00:21:50 Time zone: Etc/UTC (UTC, +0000) System clock synchronized: yes systemd-timesyncd.service active: yes RTC in local TZ: no
Soluciona problemas
Se muestra el error AccessDeniedException
mientras se descarga el OVA
- Síntomas
Si intentas descargar el OVA y la firma de la estación de trabajo de administrador, se muestra el siguiente error:
AccessDeniedException: 403 whitelisted-service-account@project.iam.gserviceaccount.com does not have storage.objects.list access to gke-on-prem-release
- Causas posibles
Tu cuenta de servicio incluida en la lista de anunciantes permitidos no está activada.
- Solución
Asegúrate de haber activado tu cuenta de servicio incluida en la lista de anunciantes permitidos. Si el problema persiste, comunícate con Google para obtener asistencia.
openssl
no puede validar el OVA de la estación de trabajo de administrador
- Síntomas
Si ejecutas
openssl dgst
en el archivo OVA de la estación de trabajo de administrador, no se muestra el mensajeVerified OK
.- Causas posibles
Hay un problema en el archivo OVA que impide que la validación se realice con éxito.
- Solución
Vuelve a descargar y a implementar el OVA de la estación de trabajo de administrador, como se indica en Descarga el OVA de la estación de trabajo de administrador. Si el problema persiste, comunícate con Google para obtener asistencia.
Para obtener más información, consulta Soluciona problemas.