Google Distributed Cloud (GDC) air-gapped proporciona un servicio de Kubernetes gestionado con la edición Enterprise de Google Kubernetes Engine (GKE), lo que te permite desplegar y ejecutar cargas de trabajo de contenedores mediante metodologías de Kubernetes estándar del sector. GKE en GDC ofrece las funciones y características principales de GKE Enterprise en un entorno desconectado. Con el tiempo, se añadirán más funciones de GKE Enterprise a GKE en GDC.
GKE en GDC ofrece funciones empresariales como las siguientes:
- Gestión del ciclo de vida de varios clústeres
- Distribución de Kubernetes totalmente compatible
- Visibilidad de los costes
- Gestión de varios equipos
- Gestión de configuraciones basada en GitOps
- Malla de servicios gestionada
- Control de política
Todas estas funciones se incluyen de forma estándar en GKE en GDC y se pueden usar con clústeres creados por el servicio de Kubernetes gestionado.
A efectos de la documentación, los clústeres de GKE en GDC se denominan clústeres de Kubernetes o clústeres.
Arquitectura de clúster de GDC
Los clústeres de Kubernetes están separados lógicamente entre sí para proporcionar diferentes dominios de errores y garantías de aislamiento. En algunos casos, incluso están separados físicamente. Cada organización de GDC tiene un conjunto específico de clústeres de Kubernetes. Los siguientes tipos de clúster están disponibles específicamente para tus cargas de trabajo y servicios de cada organización:
- Clúster de infraestructura de la organización: ejecuta los componentes del plano de control y del plano de datos de la organización. También aloja el servidor de la API de gestión, donde se despliegan todas las cargas de trabajo y los servicios que no son contenedores.
- Clúster de Kubernetes: ejecuta cargas de trabajo basadas en contenedores para la organización. El número de nodos de trabajo depende de la utilización del clúster. Puedes escalarlos a medida que cambien tus necesidades. A veces, un clúster de Kubernetes se denomina clúster de usuario en Distributed Cloud.
Cuando tu operador de infraestructura crea una organización, GDC genera automáticamente el clúster de infraestructura de la organización. La configuración inicial del clúster de infraestructura de la organización se define durante la creación de la organización.
Como administrador, puedes crear y gestionar clústeres de Kubernetes. En esta sección se trata la gestión de clústeres de Kubernetes. Tus cargas de trabajo de Kubernetes en contenedores se ejecutan en un clúster de Kubernetes. Para obtener más información sobre cómo crear y gestionar contenedores en un clúster de Kubernetes, consulta la sección Desplegar cargas de trabajo de contenedores.
Un clúster de Kubernetes consta de un plano de control y máquinas de trabajador llamadas nodos. El plano de control y los nodos forman el sistema de orquestación del clúster de Kubernetes. GKE en GDC gestiona toda la infraestructura subyacente de los clústeres, incluido el plano de control y todos los componentes del sistema. Eres responsable de gestionar los nodos de trabajador que ejecutan tus cargas de trabajo en contenedores.
En el siguiente diagrama se muestra la arquitectura de un clúster de Kubernetes:
Acerca del plano de control
El plano de control ejecuta procesos como el servidor de la API de Kubernetes, el programador y los controladores de recursos principales. GKE en GDC gestiona el ciclo de vida del plano de control desde la creación hasta la eliminación del clúster. Esto incluye las actualizaciones a la versión de Kubernetes que se ejecuta en el plano de control, que GDC realiza automáticamente, o manualmente si lo solicitas, en caso de que prefieras actualizar antes de la programación automática.
Plano de control y API de Kubernetes
El plano de control es el endpoint unificado de tu clúster. Interactúas con el plano de control mediante llamadas a la API de Kubernetes. El plano de control ejecuta el proceso del servidor de la API de Kubernetes, o kube-apiserver
, para gestionar las solicitudes de la API. Puedes hacer llamadas a la API de Kubernetes de las siguientes formas:
- Llamadas directas: KRM
- Llamadas indirectas: clientes de línea de comandos de Kubernetes, como
kubectl
, o la consola de GDC.
El proceso del servidor de la API es el centro de todas las comunicaciones del clúster. Todos los componentes internos del clúster, como los nodos, los procesos del sistema y los controladores de aplicaciones, actúan como clientes del servidor de la API.
Tus solicitudes a la API indican a Kubernetes el estado que has elegido para los objetos de tu clúster. Kubernetes intenta mantener ese estado constantemente. Kubernetes te permite configurar objetos en la API de forma imperativa o declarativa.
Gestión de nodos de trabajador
El plano de control gestiona lo que se ejecuta en todos los nodos del clúster. El plano de control programa las cargas de trabajo y gestiona su ciclo de vida, su escalado y sus actualizaciones. El plano de control también gestiona los recursos de red y almacenamiento de esas cargas de trabajo. El plano de control y los nodos se comunican entre sí mediante las APIs de Kubernetes.
Acerca de los nodos
Los nodos son las máquinas de trabajador que ejecutan tus aplicaciones en contenedores y otras cargas de trabajo. Las máquinas individuales son máquinas virtuales (VMs) que crea GKE en GDC. El plano de control gestiona y recibe actualizaciones sobre el estado autoinformado de cada nodo.
Un nodo ejecuta los servicios necesarios para poder usar los contenedores que conforman las cargas de trabajo de tu clúster. Entre ellos, se incluyen el tiempo de ejecución y el agente de nodo de Kubernetes, o kubelet, que se comunica con el plano de control y se encarga de iniciar y ejecutar los contenedores programados en el nodo.
GKE en GDC también ejecuta varios contenedores del sistema que se ejecutan como agentes por nodo, llamados DaemonSets, que proporcionan funciones como la recogida de registros y la conectividad de red dentro del clúster.
Limitaciones de GKE en GDC
Las siguientes funciones de GKE son limitaciones que no están disponibles en GKE en GDC:
- Pasarela de conexión
- Vincular clústeres multicloud
- Autorización binaria
- Transferencia de datos de varios clústeres