Arquitectura de GKE on AWS

Descripción general

GKE on AWS es un software de nube híbrida que extiende Google Kubernetes Engine (GKE) a Amazon Web Services (AWS).

GKE on AWS usa recursos regulares de AWS, como Elastic Compute Cloud (EC2), Elastic Block Storage (EBS) y Elastic Load Balancer (ELB). La mayoría de los recursos de AWS que crea GKE on AWS tienen nombres que comienzan con gke-.

Arquitectura

Existen dos componentes en GKE on AWS.

  1. El servicio de administración, un entorno que puede instalar y actualizar tus clústeres de usuario, usa la API de AWS para aprovisionar recursos.
  2. Clústeres de usuarios, en los que ejecutas tus cargas de trabajo.

En este tema, se describe el propósito y la forma del servicio de administración de Anthos y los clústeres de usuarios.

Arquitectura de una instalación de GKE on AWS que muestra el servicio de administración y AWSClusters que contienen un plano de control y AWSNodePools

Servicio de administración

El servicio de administración de Anthos proporciona y administra los componentes de la instalación en GKE on AWS. Por ejemplo, puedes crear clústeres de usuarios con el servicio de administración. El servicio de administración usa la API de AWS para aprovisionar recursos.

Puede crear su servicio de administración en una VPC de AWS dedicada o una VPC de AWS existente.

Necesitas un servicio de administración en cada nube privada virtual (VPC) de AWS en la que ejecutas GKE on AWS. El servicio de administración se instala en una zona de disponibilidad de AWS. Solo necesitas un servicio de administración por VPC, un servicio de administración puede administrar varios clústeres de usuarios.

El componente principal del servicio de administración es el operador del clúster. El operador del clúster es un operador de Kubernetes que crea y administra los AWSClusters y AWSNodePools. El operador del clúster almacena la configuración en una base de datos etcd con el almacenamiento persistente en un volumen de EBS de AWS.

Instala y configura el servicio de administración

En esta sección, se describen las herramientas que puedes usar para administrar tu servicio de administración.

La herramienta de Anthos GKE

Puedes crear y administrar tus clústeres con la herramienta de línea de comandos de anthos-gke. Para obtener más información, consulte la herramienta anthos-gke.

Conectar

Con Connect, puedes ver y acceder a tus clústeres de GKE on AWS y GKE en Google Cloud desde la misma interfaz en la consola de Google Cloud. Todos los recursos se muestran en un solo panel, por lo que puedes obtener visibilidad en las cargas de trabajo en varios clústeres de Kubernetes.

Clústeres de usuarios

Un clúster de usuarios incluye dos componentes, que son recursos personalizados de Kubernetes que aloja el servicio de administración:

  1. Un plano de control.
  2. Uno o más AWSNodePools.

AWSCluster

Un AWSCluster se ejecuta en una sola VPC.

Cuando instalas un clúster de administración en una VPC dedicada, los clústeres de GKE on AWS crean réplicas del plano de control en cada zona que especifiques en dedicatedVPC.availabilityZones. Cuando instalas un clúster de administración en clústeres de infraestructura existente de GKE on AWS, se crea un AWSCluster con tres réplicas del plano de control en las mismas zonas de disponibilidad. Cada réplica pertenece a su propio grupo de ajuste de escala automático de AWS, que reinicia las instancias cuando se finalizan.

El servicio de administración coloca los planos de control en una subred privada detrás de Network Load Balancer de AWS (NLB). El servicio de administración interactúa con el plano de control mediante NLB.

Para crear planos de control en varias zonas de disponibilidad de AWS, consulta Clústeres de usuario con alta disponibilidad.

Cada plano de control almacena la configuración en una base de datos etcd local. Estas bases de datos se replican y se configuran en una topología de alta disponibilidad apilada.

Un plano de control administra uno o más grupos de AWSNodePools.

AWSNodePool

Los AWSNodePools funcionan como grupos de nodos de GKE en Google Cloud. Un grupo de nodos es un conjunto de nodos dentro de un clúster que tienen la misma configuración. Los grupos de nodos usan el recurso AWSNodePool y pueden contener uno o más nodos. Cada grupo de nodos pertenece a su propio grupo de ajuste de escala automático de AWS, que reinicia las instancias cuando se finalizan.

Soluciona problemas

Para solucionar los problemas de instalación de GKE on AWS, visualiza los eventos de Kubernetes de AWSCluster y AWSNodePools. Si deseas obtener más información, consulta la guía de solución de problemas.

¿Qué sigue?