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

735
Views
Configure el puerto TCP en Nginx Ingress en Azure Kubernetes Cluster (AKS)

Necesito configurar un puerto TCP en mi clúster de AKS para permitir que RabbitMQ funcione

Instalé nginx-ingress con helm de la siguiente manera:

 kubectl create namespace ingress-basic helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx helm install nginx-ingress ingress-nginx/ingress-nginx \ --namespace ingress-basic \ --set controller.replicaCount=2 \ --set controller.nodeSelector."beta\.kubernetes\.io/os"=linux \ --set defaultBackend.nodeSelector."beta\.kubernetes\.io/os"=linux \ --set controller.admissionWebhooks.patch.nodeSelector."beta\.kubernetes\.io/os"=linux

Configuré un registro A con nuestro proveedor de DNS para apuntar a la IP pública del controlador de ingreso.

He creado un secreto TLS (para habilitar https)

He creado una ruta de ingreso con:

 apiVersion: networking.k8s.io/v1beta1 kind: Ingress metadata: name: rabbit-ingress namespace: default annotations: kubernetes.io/ingress.class: nginx nginx.ingress.kubernetes.io/use-regex: "true" nginx.ingress.kubernetes.io/rewrite-target: /$1 spec: tls: - hosts: - my.domain.com secretName: tls-secret rules: - http: paths: - backend: serviceName: rabbitmq-cluster servicePort: 15672 path: /(.*)

Puedo navegar a mi clúster a través del nombre de dominio desde el exterior y ver el panel de control (internamente en 15672) con https válido. Entonces, el ingreso está en funcionamiento, y puedo crear colas, etc., por lo que rabbitmq funciona correctamente.

Sin embargo, no puedo hacer que la parte TCP funcione para publicar en las colas desde fuera del clúster.

Edité el yaml de lo que creo que es el mapa de configuración (azure - clúster - configuración - nginx-ingress-ingress-nginx-controller) para el controlador (nginx-ingress-ingress-nginx-controller) a través de la interfaz del portal azul y agregué esto al final

 data: '5672': 'default/rabbitmq-cluster:5672'

Luego edité ellos yaml para el servicio en sí a través del portal azul y agregué esto al final

 - name: amqp protocol: TCP port: 5672

Sin embargo, cuando trato de acceder a mi dominio usando un cliente de prueba, la solicitud simplemente se agota. (El cliente funcionó cuando usé un LoadBalancer y simplemente presioné la IP externa del clúster, por lo que sé que el código del cliente debería funcionar)

¿Hay otro paso que debería estar haciendo?

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Creo que el problema aquí era que helm estaba configurando muchas de mis propias cosas que no podía personalizar demasiado.

Desinstalé el ingreso con helm y cambié el script de creación de ingreso a esto:

 helm install nginx-ingress ingress-nginx/ingress-nginx \ --namespace ingress-basic \ --set controller.replicaCount=2 \ --set controller.nodeSelector."beta\.kubernetes\.io/os"=linux \ --set defaultBackend.nodeSelector."beta\.kubernetes\.io/os"=linux \ --set controller.admissionWebhooks.patch.nodeSelector."beta\.kubernetes\.io/os"=linux \ --set tcp.5672="default/rabbitmq-cluster:5672"

Lo cual preconfigura el reenvío de puertos TCP y no tengo que hacer nada más. No sé si lo afectó, pero esto pareció 'romper' mi implementación de SSL, así que actualicé el script de creación de ruta de ingreso de v1beta a v1 y https volvió a funcionar perfectamente.

 apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: rabbit-ingress namespace: default annotations: kubernetes.io/ingress.class: nginx nginx.ingress.kubernetes.io/use-regex: "true" nginx.ingress.kubernetes.io/rewrite-target: /$1 spec: tls: - hosts: - my.domain.com secretName: tls-secret rules: - host: my.domain.com http: paths: - path: /(.*) pathType: Prefix backend: service: name: rabbitmq-cluster port: number: 15672
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!