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

502
Views
¿Cómo puedo configurar un Ingress para conectarme a un servicio ClusterIP?

Objetivo

Implementé Apache Airflow en el servicio Elastic Kubernetes de AWS utilizando el gráfico Stable Helm de Airflow. Mi objetivo es crear un Ingress para permitir que otros accedan a la interfaz de usuario del servidor web Airflow a través de su navegador. Vale la pena mencionar que estoy implementando en EKS usando AWS Fargate. Mi experiencia con Kubernetes es algo limitada, y nunca antes había establecido un Ingress.

lo que he tratado de hacer

Actualmente, puedo conectarme al pod del servidor web Airflow a través del reenvío de puertos (como kubectl port-forward airflow-web-pod 8080:8080 ). He intentado configurar el ingreso a través del gráfico de Helm (documentadoaquí ). Después de lo cual:

Ejecutando kubectl get ingress -n dp-airflow obtuve:

 NAME CLASS HOSTS ADDRESS PORTS AGE airflow-flower <none> foo.bar.com 80 3m46s airflow-web <none> foo.bar.com 80 3m46s

Luego, al ejecutar kubectl describe ingress airflow-web -n dp-airflow obtengo:

 Name: airflow-web Namespace: dp-airflow Address: Default backend: default-http-backend:80 (<error: endpoints "default-http-backend" not found>) Rules: Host Path Backends ---- ---- -------- foo.bar.com /airflow airflow-web:web (<redacted_ip>:8080) Annotations: meta.helm.sh/release-name: airflow meta.helm.sh/release-namespace: dp-airflow

No estoy seguro de qué necesitaba poner en el navegador, así que intenté usar http://foo.bar.com/airflow , así como el punto de conexión/ip del clúster sin éxito.

Así es como se ve el servicio web airflow: Al ejecutar kubectl get services -n dp-airflow , obtengo:

 NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE airflow-web ClusterIP <redacted_ip> <none> 8080/TCP 28m

Otras cosas que he probado

He intentado crear un Ingress sin el gráfico de Helm (estoy usando Terraform), como:

 resource "kubernetes_ingress" "airflow_ingress" { metadata { name = "ingress" } spec { backend { service_name = "airflow-web" service_port = 8080 } rule { http { path { backend { service_name = "airflow-web" service_port = 8080 } path = "/airflow" } } } } }

Sin embargo, todavía no pude conectarme a la interfaz de usuario web. ¿Cuáles son los pasos que debo seguir para configurar un Ingress? ¿Qué dirección necesito usar en mi navegador para conectarme a la interfaz de usuario web?

Estoy feliz de proporcionar más detalles si es necesario.

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Parece que ha creado recursos de Ingress . Ese es un buen paso. Pero para que esos recursos de Ingress tengan algún efecto, también necesita un controlador de Ingress que pueda realizar su Ingress en un balanceador de carga real.

En un entorno de AWS, debe consultar el controlador del balanceador de carga de AWS que crea un balanceador de carga de aplicaciones de AWS que se configura de acuerdo con sus recursos de ingreso.

¿Ingreso para conectarse a un servicio ClusterIP?

En primer lugar, el balanceador de carga predeterminado es el balanceador de carga clásico , pero probablemente desee usar el Balanceador de carga de aplicaciones más nuevo para sus recursos de Ingress, por lo que en sus recursos de Ingress agregue esta anotación:

 annotations: kubernetes.io/ingress.class: alb

De manera predeterminada, sus servicios deben ser del tipo NodePort , pero si lo solicita, también es posible usar los servicios de ClusterIP , cuando en su recurso de Ingress también agregue esta anotación (para el modo de tráfico):

 alb.ingress.kubernetes.io/target-type: ip

Consulte la documentación de ALB Ingress para obtener más información al respecto.

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!