#kubernetes #kubernetes-ingress #nginx-ingress
#kubernetes #kubernetes-вход #nginx-ingress
Вопрос:
Я пытаюсь выяснить, как порт 1234
и 1235
отображается, когда я добавляю его в ConfigMap. Это работает, но я не вижу конфигурации для чтения этих конфигурационных карт и предоставления доступа к службе.
apiVersion: v1
kind: ConfigMap
metadata:
name: tcp-services
namespace: ingress-nginx
data:
1234: "test-web-dev/httpd:1234"
1235: "test-web-dev/tomcat7:1235"
---
kind: Service
apiVersion: v1
metadata:
name: ingress-nginx
namespace: ingress-nginx
labels:
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
spec:
externalTrafficPolicy: Local
type: LoadBalancer
selector:
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
ports:
- name: http
port: 80
protocol: TCP
targetPort: http
- name: https
port: 443
protocol: TCP
targetPort: https
---
Ответ №1:
Конфигурационная карта используется входом Nginx, как можно найти здесь: https://kubernetes.github.io/ingress-nginx/user-guide/exposing-tcp-udp-services /
Обычно вам нужно было бы самостоятельно определить, как используются данные ConfigMap, но разработчики Nginx Ingress уже сделали это за вас, поэтому вам просто нужно предоставить ConfigMap.
Комментарии:
1. Должно ли имя метаданных быть
tcp-services
или может быть любым?2. Никогда не проверял это, но, поскольку в документах они используют tcp-сервисы и udp-сервисы для различия между портами TCP и UDP, я предполагаю, что имя метаданных должно быть tcp-services.