Назад | Перейти на главную страницу

Сервис доступа на поддомене в Kubernetes

У меня следующая настройка:

Когда я читаю такие расширения, как Web UI (kube-ui), их можно добавить как Add-On, которые я добавил (только kube-ui).

Теперь, если я запускаю такой тест, как simple-nginx, я получаю следующий результат:

создание подов:

$ kubectl run my-nginx --image=nginx --replicas=2 --port=80

создание службы:

$ kubectl expose rc my-nginx --port=80 --type=LoadBalancer          
NAME       LABELS         SELECTOR       IP(S)     PORT(S)
my-nginx   run=my-nginx   run=my-nginx             80/TCP

получить информацию об услуге:

$ kubectl describe service my-nginx                                                                                                
Name:           my-nginx
Namespace:      default
Labels:         run=my-nginx
Selector:       run=my-nginx
Type:           LoadBalancer
IP:             10.100.161.90
Port:           <unnamed>   80/TCP
NodePort:       <unnamed>   31170/TCP
Endpoints:      10.244.19.2:80,10.244.44.3:80
Session Affinity:   None
No events.

Я могу получить доступ к своему сервису с любого (!) Внешнего IP-адреса узлов.

Мой вопрос сейчас таков:

Как получить доступ к любому запущенному эфиру службы с поддоменом и, следовательно, как я могу установить эту конфигурацию (например, у меня есть domain.com в качестве примера) или можно распечатать, на каком IP-адресе узла мне нужно получить доступ к моей службе (хотя у меня есть всего две реплики (?!))?

Чтобы описать свои мысли более понятно, я имею в виду следующее:

Вам нужно сделать две вещи:

  • Запустите kube-proxy на всех узлах, на которых вы хотите получить доступ к VIP-адресам (виртуальным IP-адресам) для служб.
  • Укажите DNS узла в /etc/resolv.conf, чтобы указать на DNS-сервер, который работает в кластере kubernetes.