Introducción
En el último año, lanzamos el Cloud Foundation Toolkit, un conjunto de plantillas de código abierto que facilitan la construcción rápida de una sólida base en la nube siguiendo las mejores prácticas. Estos módulos están disponibles tanto para el marco de infraestructura como código Terraform como para nuestro propio Cloud Deployment Manager. En esta publicación de blog, detallaremos cómo construir una base en la nube segura utilizando el ejemplo de fundación de Terraform del Cloud Foundation Toolkit. Luego, exploraremos cómo implementar una aplicación de demostración de microservicios en la base utilizando Terraform.
Reduciendo el Tiempo de Construcción
Después de leer este contenido, esperamos que aprendas a reducir el tiempo necesario para construir una base en la nube empresarial a menos de un día, siguiendo las mejores prácticas de Google. Además, aprenderás a utilizar tu base en la nube desplegando una carga de trabajo de demostración en Google Kubernetes Engine (GKE) utilizando Terraform y configurando un clúster GKE con el más alto nivel de seguridad según las recomendaciones de los expertos de Google.
Comenzando
Para empezar con el Cloud Foundation Toolkit, es fundamental comprender los conceptos básicos de Terraform y la línea de comandos de Linux. Asegúrate de tener los siguientes requisitos previos:
- Una Organización de Google Cloud (GCP).
- Una Cuenta de Facturación de GCP.
- Capacidad para crear grupos de Identidad en la Nube / G Suite.
- Acceso a la línea de comandos de Linux con Google Cloud SDK, Terraform y Git instalados y configurados.
Construyendo la Fundación en la Nube
-
Clonar el Repositorio de Terraform:
git clone https://github.com/terraform-google-modules/terraform-example-foundation.git
Este repositorio contiene varios proyectos Terraform distintos que deben aplicarse por separado y en secuencia.
-
Pasos Secuenciales:
- 0-bootstrap: Configura la organización GCP y los recursos necesarios.
- 1-org: Establece carpetas compartidas, proyectos de monitoreo y redes.
- 2-environments: Configura entornos como desarrollo y producción.
- 3-networks: Establece VPCs compartidas con reglas de firewall.
- 4-projects: Configura la estructura de carpetas y proyectos de aplicaciones.
Sigue las instrucciones en los archivos README.md del repositorio para aplicar cada directorio en secuencia.
Validación de la Estructura de la Organización
Después de completar con éxito todos los pasos fundamentales, la estructura de tu organización debería asemejarse al diagrama proporcionado en la publicación original.
Implementando una Aplicación de Microservicios
Ahora que tienes una base en la nube sólida, puedes implementar tu primera carga de trabajo. Esta publicación proporcionará instrucciones sobre cómo implementar la aplicación de demostración de microservicios "Online Boutique" en un clúster GKE privado.
Creando un Clúster Privado Seguro con Terraform
Para un acceso restringido al plano de control de tu clúster GKE, se recomienda utilizar IAP con reenvío TCP a un host bastión (GCE Virtual Machine) dentro de un rango de IP privado autorizado.
Sigue los pasos proporcionados para automatizar la creación de un clúster privado seguro a través de un host bastión utilizando IAP sin una dirección IP externa. Esto incluye la selección de un proyecto creado en la fundación y la habilitación de reglas de firewall opcionales en la VPC compartida.
Desplegando la Aplicación de Microservicios
-
SSH al Host Bastión:
gcloud beta compute ssh $NOMBRE_VM_BASTION --tunnel-through-iap --project $ID_PROYECTO --zone $ZONA -- -L8888:127.0.0.1:8888
Asegúrate de que esto se esté ejecutando en segundo plano para los siguientes pasos.
-
Clonar el Repositorio de Demostración:
git clone https://github.com/GoogleCloudPlatform/microservices-demo.git
Cambia al directorio /microservices-demo/release/.
-
Generar el Archivo kubeconfig:
terraform output get_credentials_command
Utiliza este comando para acceder al clúster GKE.
-
Desplegar la Aplicación:
HTTPS_PROXY=localhost:8888 kubectl apply -f ./release/kubernetes-manifests.yaml
-
Verificar el Estado de los Pods:
HTTPS_PROXY=localhost:8888 kubectl get pods
-
Encontrar la Dirección IP de la Aplicación:
HTTPS_PROXY=localhost:8888 kubectl get service/frontend-external
Si has seguido correctamente estos pasos, deberías poder acceder a la aplicación "Online Boutique" mediante la dirección IP externa.
Conclusiones
En resumen, hemos detallado cómo construir una base en la nube sólida con el Cloud Foundation Toolkit y Terraform, seguido de la implementación de una aplicación de microservicios en un clúster GKE privado. Estos pasos proporcionan una base segura y eficiente para desplegar tus propias cargas de trabajo en Google Cloud.
Recuerda seguir de cerca los repositorios de Cloud Foundation Toolkit y proporcionar comentarios mediante la creación de problemas en sus respectivos repositorios. ¡Desarrolla tu presencia en la nube con confianza y eficacia!