Cloud Intelligence™Cloud Intelligence™

Cloud Intelligence™

Kubernetes multi-cloud con Google Anthos y AWS (parte 2)

By Mike SparrSep 24, 20204 min read

Esta página también está disponible en English, Deutsch, Français, Italiano, 日本語 y Português.

En el primer post vimos un preview de Anthos GKE corriendo sobre AWS, junto con algunos casos de uso y funcionalidades que aporta a la plataforma de Amazon Web Services. Ahora vamos directo al grano con instrucciones paso a paso para configurarlo.

Para simplificar las instrucciones online de Google, reescribí algunos comandos para que el proceso sea menos fragmentado y eliminé varios pasos manuales de point-and-click. El equipo de producto de Anthos está trabajando para sumar más pasos al CLI y simplificar todavía más la configuración, así que con el tiempo se va a volver aún más sencillo. Ten en cuenta que algunos de estos pasos pueden cambiar.

Esta es la segunda entrega de una serie de 3 sobre Anthos GKE de Google:

Arquitectura

Fuente: Google

Requisitos previos

  • Cuenta activa de Google Cloud Platform (GCP) con Anthos (trial) habilitado
  • Cuenta activa de Amazon Web Services (AWS)
  • Una terminal en tu máquina local o acceso a una terminal remota
  • JQ instalado para parsear JSON desde la CLI
  • Terraform CLI instalado [opcional] para correr comandos de TF

TL;DR

Vamos a cubrir cuatro pasos principales con scripts separados que muestran las tareas de cada uno:

  1. Crear keys y roles IAM en AWS y GCP, y descargar e instalar el CLI de anthos-gke (actualmente Google debe aprobarte el paso de descarga, así que habla con tu account manager cuanto antes).
  2. Configurar tu management cluster (control plane), inicializar los scripts de Terraform que lo crearán y correr Terraform para configurar AWS e instalar el control plane.
  3. Apoyarte en Terraform para inicializar la configuración de tu primer clúster, abrir un tunnel a tu bastion de AWS y correr kubectl para crear tu primer clúster (cluster-0).
  4. Agregar un ClusterRoleBinding al clúster, generar el token de autenticación y conectar la GCP Cloud Console a tu nuevo clúster para centralizar el monitoreo y la administración.

1\. Configuración inicial de keys y descarga del Anthos CLI

Requisitos previos de Anthos GKE en AWS (setup)

Quizá prefieras simplemente copiar y pegar las tareas anteriores en tu terminal y correrlas una por una (recomendado en el primer intento para facilitar el debugging). Una vez que las completes, deberías poder correr los siguientes comandos y ver una salida similar a la de abajo.

2\. Crear un management cluster (control plane)

Al correr los comandos init y apply de anthos-gke, el CLI generará código de Terraform que aparecerá en tu directorio de trabajo y lo aplicará para levantar tu infraestructura en AWS. Después instala el management cluster (control plane).

El CLI de anthos-gke genera scripts de Terraform en tu máquina y los ejecuta

Nota: si tienes algún problema, puedes apoyarte directamente en los scripts de Terraform y usar el CLI de Terraform para volver a aplicar tu configuración.

3\. Crea tu primer clúster

Si llegaste hasta aquí, ¡felicitaciones! Técnicamente ya está todo configurado, y de aquí en adelante puedes apoyarte en las custom resource definitions (CRDs) de AWSCluster y AWSNodePool para crear clústers y node pools como prefieras.

El código de Terraform generado expone algunos outputs que producen un manifest que aplicas al control plane, y el management cluster de GKE se encarga de aprovisionar tu nuevo clúster.

Tip: revisa el archivo cluster-0.yaml que genera Terraform. Antes de aplicar el manifest, quizá quieras bajar los valores min/max de nodos para reducir el gasto en la nube. Puedes leer más sobre la arquitectura de Anthos GKE en el sitio de Google.

Creando tu primer clúster GKE en AWS

Pro tip: usa el comando watch y monitorea el estado hasta que aparezca "Provisioned".

CMD: watch kubectl get AWSClusters

4\. Conectar tu clúster al GKE Hub

Una vez que generes el token y lo copies al portapapeles, vuelve a la consola de GCP, haz clic en "Login" en el clúster, selecciona "Token" y pega el token.

Autenticando el admin de GKE (GKE Hub) en tu clúster de AWS

¡Felicitaciones!

Si llegaste hasta aquí, date una palmadita en la espalda. Las tareas en realidad no son tan engorrosas, y agregué algunas env vars al inicio de cada script por si los corres por separado. Si copias y pegas los comandos en una sola shell, puedes saltarte las tareas de bastion/proxy/context en cada archivo y configurar y autenticar los clústers sin complicaciones.

Próximos pasos

En el próximo artículo veremos cómo desplegar workloads en tu clúster y cómo interactuar con otros servicios de AWS.

Pásate por aquí para encontrar el link cuando esté disponible o, si prefieres, sígueme para enterarte de mis nuevos posts. También puedes visitar nuestro sitio https://blog.doit-intl.com para leer otros artículos.

Kubernetes multi-cloud con Google Anthos y AWS (parte 2)