Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

135
Views
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 answers
Answer question

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 Report

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!