Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

131
Vistas
Múltiples entornos con un clúster que comparte el mismo estado de terraformación

Creé un clúster EKS usando terraform-aws-modules/vpc/aws con Terraform, uso una VPC con 3 subredes privadas en cada AZ en Frankfurt. He creado dos servicios (tomcat y psql) e implementación que están expuestos a través de LoadBalancer y accesibles a través de Internet. Se ve bien hasta ahora. pero el problema es que es solo un entorno (DEV). Me gustaría crear múltiples entornos como etapa, prueba y más dentro de una VPC y dentro de un clúster, ¿cómo hacerlo usando terraform? ¿Debo crear nuevos archivos por entorno? No tendría sentido, pero no se me ocurre nada... También estaba considerando espacios de trabajo, pero el problema es que el nuevo espacio de trabajo requiere un nuevo estado, lo que significa que necesito crear una nueva VPC con un nuevo clúster por espacio de trabajo. ¿Tal vez debería dividir mis archivos de terraformación para tener algo así como un espacio de trabajo "general" y habría una configuración para VPC y clúster, y crear nuevos espacios de trabajo para cada uno de los entornos? ¿Tiene alguna idea o mejor solución?

                   VPC - 172.26.0.0/16
+--------------------------------------+-------------------------- --------+
| |
| |
| GRUPO DE KUBERNETES |
| +------------------------------------------------- + |
| | | |
| | | |
| | | |
| | +------------------+ +-----------------+ | |
| | | | | | | |
| | | PRUEBA AMBIENTE | | DEV ENV | | |
| | | +------+ +-----+ | | +-----+ +-----+ | | |
| | | |gato| |psql | | | |tomcat |psql | | | |
| | | +------+ +-----+ | | +-----+ +-----+ | | |
| | | | | | | |
| | +------------------+ +-----------------+ | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| +------------------------------------------------- + |
| |
+------------------------------------------------- --------+

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Es posible crear múltiples entornos en un solo clúster K8s. Podrías usar el espacio de nombres para esto. Para acceder a los diferentes entornos desde fuera del clúster, puede utilizar un nombre de dominio diferente para cada entorno.

Por ejemplo dev.abc.com para acceder al entorno de desarrollo y test.abc.com para acceder al entorno de prueba.

over 4 years ago · Santiago Trujillo Denunciar

0

Puede "separar la vpc" en su propio archivo de estado. Y luego tenga un espacio de trabajo para cada clúster de EKS. Para el EKS, puede extraer la información de VPC de dos maneras, ya sea desde la fuente de datos de AWS por etiqueta o desde el archivo de estado.

Su estructura de árbol se vería así:

 ├── vpc │ ├── main.tf │ └── outputs.tf └── eks └── main.tf

Agregue lo siguiente a la configuración de back-end en vpc/main.tf :

 terraform { backend "s3" { ... key = "vpc/terraform.tfstate" workspace_key_prefix = "vpc" ... } }

y eks/main.tf :

 terraform { backend "s3" { ... key = "eks/terraform.tfstate" workspace_key_prefix = "eks" ... } }

Pasando la VPC a la sección EKS:

Opción 1 (extraer de la fuente de datos de aws por nombre, ref https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/vpc ):

 data "aws_vpc" "selected" { filter { ... } }

Opción 2 (extraer del archivo de estado):

 data "terraform_remote_state" "vpc" { backend = "s3" config = { ... key = "vpc/terraform.tfstate" workspace_key_prefix = "vpc" ... } }
over 4 years ago · Santiago Trujillo Denunciar

0

No es una buena práctica administrar sus aplicaciones dentro de terraform, puede usar terraform solo para crear su clúster (infra) EC2, EKS, VPC... pero dentro del clúster, puede usar helm/kubectl... para administre sus pods, por ejemplo, puede tener dos repositorios, uno para terraform iac y el otro para proyectos, luego puede administrar sus entornos (dev, staging, prod...) por espacios de nombres...

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda