Kubernetes traefik через определенный c внутренний IP - PullRequest
0 голосов
/ 27 мая 2020

Я настраиваю Kubernetes на сервере RedHat в моем учреждении, внутренний IP-адрес сервера 10.2.3.4 . Я могу просматривать модуль только с помощью kubectl port-forward. например,

Моя служба traefik имеет следующее:

#minikube service list
| kube-system | traefik    | web/80        | http://172.17.0.3:31909 |
|             |            | websecure/443 | http://172.17.0.3:30584 |
|             |            | admin/9001    | http://172.17.0.3:32316 |
|-------------|------------|---------------|-------------------------|

Теперь я могу только свернуть эту ссылку

 $curl http://172.17.0.3:32316/dashboard/
<!DOCTYPE html><html><head><title>Traefik</title><meta charset=utf-8> ........

Однако, если я хочу предварительно просмотреть панель администратора на мой браузер на порту 9001, единственный способ, который я нашел, - это переадресация порта:

kubectl port-forward -n kube-system $(kubectl get pods  --output=name -n kube-system | grep 'traefik') --address 10.2.3.4 9001:9001

Я пытался установить externalIPs в настройках службы YAML, но это не работает:

# Service
---
apiVersion: v1
kind: Service
metadata:
  labels:
    app: traefik
    release: traefik
  name: traefik
  namespace: kube-system
spec:
  externalIPs:
    - 10.2.3.4
  externalTrafficPolicy: Local
  ports:
    - name: web
      nodePort: 31909
      port: 3838
      protocol: TCP
      targetPort: 3838
    - name: admin
      nodePort: 32316
      port: 9001
      protocol: TCP
      targetPort: 9001
  selector:
    app: traefik
    release: traefik
  sessionAffinity: None
  type: LoadBalancer
status:
  loadBalancer: {}

Я знаю, что переадресация портов должна использоваться в режиме отладки, я не могу добавить свой собственный домен, поскольку он ограничен в моем учреждении, мне интересно, есть ли настройки, которые я должен сделать доступными для служб kubernete 10.2 .3,4 ?

1 Ответ

1 голос
/ 27 мая 2020

Простой способ раскрыть вашу службу:

kubectl expose deployment *name* --type=LoadBalancer --name=trafik

name - говорит имя развертывания, которое вы должны были указать в deployment.yaml

Я предполагаю, что вы используйте traefik как Gateway / LoadBalancer здесь. Вы можете использовать одно и то же выполнение для любых служб, чтобы раскрыть внутренний IP-адрес.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...