У меня есть служба в Kubernetes, которую я должен выставить на нескольких портах по HTTP.Я использую Nginx-Ingress и смог успешно выставить свой сервис через порт 80. (http://serviceA.example.com --> service-a:80
)
Однако я не могу использовать другой порт для Http, а затем порт 80. Как я могу сказать nginx-вход для прослушивания порта 7049.
Я уже пытался выставить порт 7049 в службе nginx и добавил аннотацию nginx.org/listen-ports: "80,7049"
к контроллеру nginx.Ни один из них не работал для меня.
Я ожидаю следующий вывод:
http://serviceA.example.com --> service-a:80
http://serviceA.example.com:7049 --> service-a:7049
ingress-service.yml
apiVersion: v1
kind: Service
metadata:
name: nginx-ingress
namespace: nginx-ingress
spec:
externalTrafficPolicy: Local
type: LoadBalancer
ports:
- port: 80
targetPort: 80
protocol: TCP
name: http
- port: 443
targetPort: 443
protocol: TCP
name: https
selector:
app: nginx-ingress
my-service.yml
apiVersion: v1
kind: Service
metadata:
name: my-service
labels:
app: my-service
spec:
ports:
- port: 80
targetPort: 80
protocol: TCP
name: http
- port: 443
targetPort: 443
protocol: TCP
name: https
- port: 7049
targetPort: 7049
name: symbols
selector:
app: my-service
my-service-ingress.yml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: my-service
spec:
rules:
- host: myservice.example.com
http:
paths:
- path: /
backend:
serviceName: my-service
servicePort: 80