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

724
Vistas
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 Respuestas
Responde la pregunta

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 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