Crea un clúster de administrador (básico)

En esta página, se muestra cómo crear un clúster de administrador.

Establece una conexión SSH a la estación de trabajo de administrador

En el tema anterior, usaste gkeadm para crear una estación de trabajo de administrador. Recuerda que gkeadm activó tu cuenta de servicio de acceso a componentes en la estación de trabajo de administrador.

Para establecer una conexión SSH a la estación, sigue las instrucciones en Obtén una conexión SSH a la estación de trabajo de administrador.

Realiza todos los pasos restantes de este tema en la estación de trabajo de administrador.

Configura direcciones IP estáticas para el clúster de administrador

Para especificar las direcciones IP estáticas que deseas usar en tu clúster de administrador, crea un archivo de bloque de IP llamado admin-cluster-ipblock.yaml. Para este ejercicio, debes especificar cinco direcciones IP que usará el clúster de administrador.

El siguiente es un ejemplo de un archivo de bloque de IP con cinco hosts:

blocks:
  - netmask: 255.255.252.0
    gateway: 172.16.23.254
    ips:
    - ip: 172.16.20.10
      hostname: admin-host1
    - ip: 172.16.20.11
      hostname: admin-host2
    - ip: 172.16.20.12
      hostname: admin-host3
    - ip: 172.16.20.13
      hostname: admin-host4
    - ip: 172.16.20.14
      hostname: admin-host5

El campo ips es un arreglo de direcciones IP y nombres de host. Son las direcciones IP y los nombres de host que GKE On-Prem asignará a los nodos del clúster de administrador.

En el archivo del bloque de IP, también debes especificar una máscara de subred y una puerta de enlace predeterminada para los nodos del clúster de administrador.

Crea un archivo de configuración de credenciales

Crea un archivo de configuración de credenciales llamado admin-creds.yaml que contenga el nombre de usuario y la contraseña de la cuenta de usuario de vCenter. La cuenta de usuario debe tener la función de administrador o privilegios equivalentes.

A continuación, se muestra un ejemplo de un archivo de configuración de credenciales:

apiVersion: v1
kind: "CredentialFile"
items:
- name: "vcenter-creds"
  username: "my-vcenter-account"
  password: "U$icUKEW#INE"

Campos propagados en tu archivo de configuración de GKE On-Prem

Recuerda que cuando creaste la estación de trabajo de administrador, completaste un archivo de configuración llamado admin-ws-config.yaml. La herramienta de línea de comandos de gkeadm usó el archivo admin-ws-config.yaml para crear la estación de trabajo de administrador.

Cuando gkeadm creó la estación de trabajo de administrador, generó otro archivo de configuración llamado admin-cluster.yaml. Este archivo de configuración, que se encuentra en tu estación de trabajo de administrador, se usa para crear tu clúster de administrador.

El archivo admin-cluster.yaml tiene varios campos que son iguales o muy relacionados con ciertos campos del archivo admin-ws-config.yaml. Los valores para esos campos ya están propagados en el archivo admin-cluster.yaml.

Estos son los campos de admin-cluster.yaml que ya se propagaron según los valores que ingresaste en tu archivo admin-ws-config.yaml:

vCenter:
  address:
  datacenter:
  cluster:
  network:
    vCenter:
      networkName:
  resourcePool:
  datastore:
  caCertPath:
proxy:
  url:
gcrKeyPath:

Otros campos de admin-cluster.yaml se propagan con valores predeterminados o generados. Por ejemplo:

bundlePath:
loadbalancer
  seesaw:
    cpus:
    memoryMB:
    enableHA:
stackdriver:
  projectID:
  serviceAccountKeyPath:

En tu archivo admin-cluster.yaml, deja todos los valores propagados sin modificar.

Completa el resto del archivo de configuración del clúster de administrador

A continuación, debes completar los campos restantes del archivo admin-cluster.yaml.

vCenter.credentials.fileRef.path

String. Es la ruta de acceso de tu archivo de configuración de credenciales. Por ejemplo:

vCenter:
  credentials:
    fileRef:
      path: "admin-creds.yaml"

vCenter.credentials.fileRef.entry

String. Es el nombre del bloque de credenciales en el archivo de configuración de credenciales, que contiene el nombre de usuario y la contraseña de tu cuenta de usuario de vCenter. Por ejemplo:

vCenter:
  credentials:
    fileRef:
      entry: "vcenter-creds"

vCenter.dataDisk

String. GKE On-Prem crea un disco de máquina virtual (VMDK) para contener los datos del objeto de Kubernetes del clúster de administrador. El instalador crea el VMDK por ti, pero debes proporcionar un nombre para él en el campo vCenter.dataDisk. Por ejemplo:

vCenter:
  dataDisk: "my-disk.vmdk"
Almacén de datos de vSAN: Crea una carpeta para el VMDK

Si usas un almacén de datos de vSAN, debes colocar el VMDK en una carpeta. Debes crear la carpeta de forma manual con anticipación. Para crear la carpeta, puedes usar govc:

govc datastore.mkdir -namespace=true my-gke-on-prem-folder

Luego, establece vCenter.dataDisk en la ruta de acceso del VMDK e incluye la carpeta. Por ejemplo:

vDenter:
dataDisk: "my-gke-on-prem-folder/my-disk.vmdk"

network.ipMode.type

String. Configura esto como "static".

network:
  ipMode:
    type: "static"

network.ipBlockFilePath

String. Debido a que usas direcciones IP estáticas, debes tener un archivo de bloque IP como se describe en Configura direcciones IP estáticas. Establece network.ipBlockFilePath en la ruta de tu archivo de bloque de IP. Por ejemplo:

network:
  ipBlockFilePath: "/my-config-directory/admin-cluster-ipblock.yaml"

network.serviceCIDR y network.podCiDR

Strings. El clúster de administrador debe tener un rango de direcciones IP que se use con los Services y uno que se use con los Pods. Estos rangos se especifican en los campos network.serviceCIDR y network.podCIDR. Estos campos se propagan con valores predeterminados. Si quieres, puedes cambiar los valores propagados por los valores que desees.

Los rangos de Services y Pods no deben superponerse. Tampoco deben superponerse en ningún clúster con las direcciones IP que se usan para los nodos.

Ejemplo:

network:
  serviceCIDR: "10.96.232.0/24"
  podCIDR: "192.168.0.0/16"

loadBalancer.vips

Strings. Establece el valor de loadBalancer.vips.controlPlaneVIP en la dirección IP que elegiste configurar en el balanceador de cargas para el servidor de la API de Kubernetes del clúster de administrador. Establece el valor de loadBalancer.vips.addonsVIP en la dirección IP que elegiste configurar en el balanceador de cargas para los complementos. Por ejemplo:

loadBalancer:
  vips:
    controlplaneVIP: "203.0.113.3"
    addonsVIP: "203.0.113.4"

loadBalancer.kind

String. Configura esto como "Seesaw". Por ejemplo:

loadBalancer:
  kind: "Seesaw"

loadBalancer.seesaw.ipBlockFilePath

String. Configura esto en la ruta del archivo de bloque de IP para tu VM de Seesaw.

Por ejemplo:

loadbalancer:
  seesaw:
    ipBlockFilePath: "admin-seesaw-ipblock.yaml"

loadBalancer.seesaw.vird

String. Es el identificador del router virtual de la VM de Seesaw. Este identificador debe ser único en una VLAN. El rango válido es de 1 a 255. Por ejemplo:

loadBalancer:
  seesaw:
    vrid: 125

loadBalancer.seesaw.masterIP

String. Una dirección IP, según tu elección, que la VM de Seesaw anunciará. Por ejemplo:

loadBalancer:
  seesaw:
    masterIP: "172.16.20.21"

loadBalancer.seesaw.enableHA

Booleano. Configura esto como false. Por ejemplo:

loadBalancer:.
  seesaw:
    enableHA: false

proxy.url

String. Si ingresaste un valor para proxyURL en el archivo de configuración de la estación de trabajo de administrador, este campo ya se propagó con ese mismo valor.

Si deseas que los clústeres de administrador y de usuario estén detrás de un proxy diferente de la estación de trabajo de administrador, establece esto en la dirección HTTP del servidor proxy que deseas que usen los clústeres. Debes incluir el número de puerto incluso si es el mismo que el puerto predeterminado del esquema. Por ejemplo:

proxy:
  url: "http://my-proxy.example.local:80"

proxy.noProxy

String. Es una lista separada por comas de direcciones IP, rangos de direcciones IP, nombres de host y nombres de dominio que no deben pasar por el servidor proxy. Cuando GKE On-Prem envía una solicitud a una de estas direcciones, hosts o dominios, esa solicitud se envía directamente. Por ejemplo:

proxy:
  noProxy: "10.151.222.0/24, my-host.example.local,10.151.2.1"

stackdriver.clusterLocation

String. Es la región de Google Cloud en la que deseas almacenar los registros. Te recomendamos que elijas una región cercana a tu centro de datos local. Por ejemplo:

stackdriver:
  clusterLocation: "us-central1"

stackdriver.enableVPC

Booleano. Establece stackdriver.enableVPC en true si tienes la red del clúster bajo el control de una VPC. Esto garantiza que toda la telemetría fluya a través de las direcciones IP restringidas de Google. De lo contrario, establécelo en false. Por ejemplo:

stackdriver:
  enableVPC: false

Campos adicionales en el archivo de configuración del clúster de administrador

El archivo de configuración del clúster de administrador tiene varios campos además de los que se muestran en este tema. Para obtener una descripción completa de los campos del archivo de configuración, consulta Archivo de configuración del clúster de administrador.

Valida el archivo de configuración de clústeres del administrador

Después de modificar el archivo de configuración del clúster de administrador, ejecuta gkectl check-config a fin de verificar que el archivo sea válido y se pueda usar para crear el clúster:

gkectl check-config --config admin-cluster.yaml

Si el comando muestra algún mensaje de FAILURE, primero debes solucionar los problemas y vuelve a validar el archivo.

Si deseas omitir las validaciones que llevan más tiempo, pasa la marca --fast. Para omitir validaciones individuales, usa las marcas --skip-validation-xxx. Para obtener más información sobre el comando check-config, consulta Ejecuta verificaciones previas.

Ejecuta gkectl prepare

Ejecuta gkectl prepare para inicializar el entorno de vSphere:

gkectl prepare --config admin-cluster.yaml

Crea un balanceador de cargas

Crea y configura la VM para tu balanceador de cargas de Seesaw:

gkectl create loadbalancer --config admin-cluster.yaml

Crea el clúster de administrador

Crea el clúster de administrador:

gkectl create admin --config admin-cluster.yaml