Descripción general de GKE On-Prem

GKE On-Prem es un software de nube híbrida que lleva a Google Kubernetes Engine (GKE) a los centros de datos locales. Con GKE On-Prem, puedes crear, administrar y actualizar clústeres de Kubernetes en tu entorno local y conectarlos a la consola de Google Cloud.

Este tema es una descripción general técnica de GKE On-Prem. Cuando termines este tema, asegúrate de leer Requisitos del sistema.

Información sobre Kubernetes

GKE On-Prem y GKE se basan en Kubernetes, una plataforma extensible y de código abierto para administrar aplicaciones en contenedores. Kubernetes organiza los clústeres, que son conjuntos de nodos (también llamados “máquinas”) que ejecutan aplicaciones en contenedores.

Obtén GKE On-Prem

GKE On-Prem es un componente central de Anthos. Para usar GKE On-Prem, primero debes comunicarte con el equipo de ventas de Google y adquirir una suscripción a Anthos.

Prepárate para usar GKE On-Prem

Instalar GKE On-Prem implica completar algunas tareas de configuración de requisitos. En las siguientes secciones, se describen estas tareas.

Entorno de virtualización de VMware vSphere

Instala GKE On-Prem en un clúster de VMware vSphere 6.5 que se ejecute en tu entorno local. vSphere es el software de virtualización de servidores de VMware.

También puedes adquirir VMware vCenter y VMware ESXi. ESXi es un hipervisor tipo 1 que instalas en un conjunto de servidores o hosts físicos en tu centro de datos. vCenter es la interfaz de usuario basada en la Web de vSphere que se usa para administrar los servicios de centros de datos. Además, proporciona una vista central entre los hosts de ESXi.

En particular, necesitas los siguientes productos de VMware con licencia:

  • VMware ESXI 6.5, con una edición de licencia de Enterprise Plus, instalado en un conjunto de hosts en tu centro de datos
  • VMware vCenter 6.5, con una edición de licencia Standard, instalado en un host en tu centro de datos

Para obtener más información, consulta los siguientes recursos de VMware:

Balanceo de cargas

Para el balanceo de cargas de la capa 4, puedes elegir entre dos modos de balanceo de cargas: integrado o manual. El modo integrado es compatible con F5 BIG-IP (el balanceador de cargas integrado de GKE On-Prem). Con el modo manual, puedes elegir el balanceador de cargas que desees. En este momento, GKE On-Prem ofrece instrucciones documentadas para los siguientes balanceadores de cargas:

Configura un balanceador de cargas en tu centro de datos antes de instalar GKE On-Prem. Durante la instalación, elige si deseas habilitar el modo integrado de balanceo de cargas (F5 BIG-IP) o el manual (un balanceador de cargas que elijas). El modo de balanceo de cargas manual requiere que asignes IP estáticas para tus nodos; no puedes usar un servidor de protocolo de configuración dinámica de host (DHCP) con el modo de balanceo de cargas manual.

Authentication

Si tienes clientes que necesitan autenticarse en tus clústeres y acceder a las cargas de trabajo en contenedores, puedes usar OpenID Connect (OIDC) con el proveedor que desees o con Active Directory Federated Services (ADFS).

Prepara tu proyecto de Google Cloud

El proceso de preparación de tu proyecto de Google Cloud consta de estos pasos:

  • Crea un proyecto de Google Cloud y habilita las API necesarias.
  • Vincula las funciones de administración de identidades y accesos a las cuentas de servicio.
  • Descarga las herramientas necesarias de la interfaz de línea de comandos (CLI), incluida la versión 11 de HashiCorp Terraform.

Consulta los siguientes temas para obtener más información:

Crea la estación de trabajo de administrador

La creación de la estación de trabajo de administrador consta de estos pasos:

  • Descarga el archivo OVA de la estación de trabajo de administrador, que incluye un archivo de paquete de GKE On-Prem.
  • Copia un archivo de configuración de Terraform (TF) y un archivo de variables de Terraform (TFVARS) y modifícalos para que reflejen tu configuración de vCenter y vSphere.
  • Usar Terraform para crear una máquina virtual (VM) de la estación de trabajo de administrador en vSphere

Consulta los siguientes temas para obtener más información:

Cómo funciona la instalación de GKE On-Prem

A continuación, se muestra un resumen de alto nivel de los pasos que se tomaron durante una instalación (consulta también la Descripción general de la instalación).

  1. Establece una conexión SSH a tu estación de trabajo de administrador.
  2. Ejecuta gkectl create-config para generar un archivo de configuración de GKE On-Prem. El archivo de configuración declara una especificación para instalar GKE On-Prem.
  3. Debes modificar el archivo de configuración con valores apropiados para tus necesidades y tu entorno, como las especificaciones de los clústeres, la autenticación de OIDC, el balanceo de cargas, el registro de Stackdriver, el proyecto de Google Cloud con el que deseas registrarte y otros aspectos.

  4. Debes ejecutar gkectl check-config para verificar que el archivo de configuración modificado se pueda usar en una instalación.

  5. Ejecuta gkectl prepare a fin de mover la imagen de SO de GKE On-Prem a vSphere y marcarla como una plantilla para las VM. Si configuras un registro de Docker privado, este comando también envía las imágenes de contenedor de GKE On-Prem al registro.

  6. Ejecuta gkectl create cluster --config con el archivo de configuración para crear los clústeres de GKE On-Prem en tu centro de datos.

Al final de una instalación exitosa, deberías tener los siguientes elementos en vSphere:

Arquitectura

Diagrama en el que se describe la arquitectura de GKE On-Prem cuando se implementa un plano de control de usuario
Figura: Arquitectura de GKE On-Prem con un plano de control de usuario. (Haz clic para agrandar)

En GKE On-Prem, hay un clúster de administrador y, de forma predeterminada, tres clústeres de usuario. También hay dos VM de complementos y una VM de estación de trabajo de administrador. Todas estas VM se ejecutan en un solo clúster de vSphere.

Estación de trabajo de administrador

La estación de trabajo de administrador es la VM en vSphere desde la que los administradores del clúster instalan GKE On-Prem e interactúan con él. Es la primera VM que creas antes de crear cualquier otro elemento.

Si eres un administrador de clústeres, usa Terraform para crear la estación de trabajo de administrador en vSphere. La estación de trabajo de administrador incluye lo siguiente:

Para crear la estación de trabajo de administrador, descarga tres archivos:

  • El archivo Open Virtual Appliance (OVA) de la estación de trabajo de administrador. Esta es una imagen de VM con versión de la estación de trabajo de administrador. Importa este archivo a vSphere y márcalo como una plantilla de VM. Luego, Terraform usa la plantilla para implementar la estación de trabajo de administrador en tu clúster de vSphere.
  • El archivo de configuración de Terraform (TF) Estas son instrucciones que Terraform usa para crear la estación de trabajo de administrador en tu clúster. Copia este archivo en tu laptop o estación de trabajo local.
  • El archivo de variables de configuración de Terraform (TFVARS) Propaga las variables de este archivo con los valores de tu entorno. El archivo de configuración de TF hace referencia a las variables del archivo TFVARS. Copia este archivo en tu laptop o estación de trabajo local.

Clúster de administrador

El clúster de administrador es la capa base de GKE On-Prem. En él se ejecutan los siguientes componentes de GKE On-Prem:

  • Plano de control de administrador: El plano de control de administrador controla todas las llamadas a la API de gkectl y Kubernetes desde y hacia GKE On-Prem. El plano de control del administrador realiza algunas llamadas desde y hacia las API de vCenter.
  • Planos de control de usuario: Es el plano de control de un clúster de usuario. Enruta las solicitudes a la API a los nodos del clúster. Cada clúster tiene su propio plano de control que se ejecuta en el clúster de administrador. Los planos de control de usuario también realizan algunas llamadas a las API de vCenter y desde ellas.
  • VM de complementos: Son las VM que ejecutan los complementos del clúster de administrador, como Grafana, Prometheus, los componentes de Istio y Stackdriver.

Ten en cuenta que el administrador del clúster administra los planos de control de usuario. Se ejecutan en nodos en clústeres de administrador, no en los clústeres de usuario. Para administrar los planos de control de usuario, los clústeres de administrador deben realizar estas acciones:

  • Administrar las máquinas que ejecutan los planos de control del clúster de usuario
  • Crear, actualizar y borrar los componentes del plano de control
  • Exponer el servidor de la API de Kubernetes al clúster de usuario
  • Administrar los certificados del clúster

Clúster de usuario

En los clústeres de usuario implementas y ejecutas tus cargas de trabajo y servicios en contenedores.

VM de complementos

GKE On-Prem crea dos VM para ejecutar los complementos del clúster de administrador, como Grafana, Prometheus, los componentes de Istio y Stackdriver.

Información sobre el paquete

El paquete de GKE On-Prem es un archivo TGZ con versión que contiene todos los componentes necesarios para crear y actualizar clústeres de GKE On-Prem.

Existen dos tipos de paquetes:

Paquete completo

El paquete completo, gke-onprem-vsphere-[VERSION]-full.tgz, se incluye en la estación de trabajo de administrador. Puedes encontrarlo en /var/lib/gke/bundles. El paquete completo se usa para instalar GKE On-Prem por primera vez. Es un archivo grande que incluye lo siguiente:

  • Un archivo TAR con imágenes de contenedor de todos los componentes del clúster
  • Archivos YAML de esos componentes del clúster
  • Una imagen de nodo de GKE On-Prem

Paquete de actualización

El paquete de actualización, gke-onprem-vsphere-[VERSION].tgz, se proporciona para actualizar clústeres. Cada vez que actualices los clústeres, descarga el paquete de la versión desde Descargas. El paquete de actualización solo tiene archivos de configuración YAML, que se usan para actualizar los componentes de tu clúster.

Herramientas de la CLI

Cuando instalas GKE On-Prem, debes descargar las siguientes herramientas de la CLI en tu laptop o estación de trabajo local:

  • govc
  • terraform
  • gkectl
  • kubectl (incluida en Google Cloud CLI)
  • gcloud (incluida en la CLI de gcloud)

govc

govc es la CLI de vSphere. Usa govc cuando crees la estación de trabajo de administrador. También puedes usarla para administrar tu clúster de vSphere.

terraform

terraform es la CLI de HashiCorp Terraform. Usa terraform para crear y actualizar la estación de trabajo de administrador.

gkectl

gkectl es la CLI de GKE On-Prem. Consulta su guía de referencia.

Usa gkectl para realizar muchas tareas de administración de clústeres, incluidas las siguientes:

  • Creación y administración de clústeres
  • Diagnóstico y solución de problemas
  • Captura y exportación de registros de clústeres

kubectl

kubectl es la CLI de Kubernetes. Usa kubectl para interactuar con Kubernetes y sus clústeres, y en tareas como las siguientes:

  • Implementar, administrar y borrar cargas de trabajo en contenedores que se ejecutan en clústeres
  • Administrar, editar y borrar recursos de Kubernetes

gcloud

Google Cloud CLI es la CLI de Google Cloud. Puedes usar la CLI de gcloud para varios propósitos, incluidos los siguientes:

  • Autenticar en tu proyecto de Google Cloud
  • Crear cuentas de servicio y las claves privadas
  • Vincular las funciones de administración de identidades y accesos a las cuentas

Registra clústeres con la consola de Google Cloud

Cuando creas clústeres de usuario de GKE On-Prem, puedes habilitar Connect para registrarlos de forma automática en la consola de Google Cloud. Connect te permite ver los clústeres de Kubernetes locales y en la nube y acceder a ellos desde la misma interfaz de usuario de Google Cloud.

Cuando se habilita Connect, se crea un agente de Connect en cada clúster de usuario. El agente de Connect es un objeto Deployment que establece una conexión encriptada de larga duración a Google Cloud desde el clúster de usuario en el que se ejecuta.

La imagen de contenedor del agente de Connect se extrae de un repositorio de Container Registry que se encuentra en gcr.io. Si tu clúster de usuario no tiene gcr.io o no se puede conectar a él, debes usar un registro privado de Docker para conectarlo a la consola de Google Cloud.

Control de versiones

Para obtener más información sobre cómo funciona el control de versiones, consulta Versiones.

Soluciona y diagnostica problemas

Consulta los siguientes temas para solucionar problemas:

Valores de marcadores de posición en la documentación de GKE On-Prem

A medida que usas la documentación de GKE On-Prem, puedes hacer clic en los placeholder values en los bloques de código para cambiarlos. En el siguiente bloque, haz clic en [YOUR_NAME] y observa que se puede editar:

Enter your name: [YOUR_NAME]

Puede resultarte útil si deseas completar los valores de marcadores de posición antes de copiar comandos y ejecutarlos en tu entorno.

¿Qué sigue?

A continuación, lee Requisitos del sistema para obtener más información sobre cómo preparar tu entorno local.