Услуга Kubernetes не доступна из вне сети - PullRequest
0 голосов
/ 19 февраля 2019

я запускаю кластер kub в моей виртуальной машине с главным узлом и 4 работниками.все отлично работает кроме моего сервиса.я запускаю nginx RS с 4 экземплярами (по одному на каждого работника) и создаю сервис NodePort.я могу получить доступ к своему nginx на каждом рабочем IP-адресе, но я хочу запросить IP-адрес моей службы, и моя служба перенаправит трафик одному из моих работников (например, RoundRobin).но он не может этого сделать.Информация о моей услуге:

service/nginx        NodePort    10.99.101.86   <none>        80:30590/TCP   11d

Name:                     nginx
Namespace:                default
Labels:                   app=nginx
Annotations:              <none>
Selector:                 app=nginx
Type:                     NodePort
IP:                       10.99.101.86
Port:                     80-80  80/TCP
TargetPort:               80/TCP
NodePort:                 80-80  30590/TCP
Endpoints:                10.40.0.16:80,10.40.0.20:80,10.40.0.21:80
Session Affinity:         None
External Traffic Policy:  Cluster
Events:                   <none>

1 Ответ

0 голосов
/ 19 февраля 2019

Как правило, type: NodePort может не предоставлять такое распределение портов вне кластерной сети самостоятельно , но использование type: LoadBalancer выделит этот порт (в вашем случае 30590) и пропустит трафик черезкакой бы вход вы ни настраивали (например, плавающий IP для вашего кластерного мастера, например, http://:30590) через один вход. Что касается того, как порт этого узла распределяет запросы, вы можете посмотреть различные шаблоны для externalTrafficPolicy ресурсов, которые наилучшим образом соответствуют вашему желаемому распределению, однако в настоящее время политика по умолчанию Cluster будет распределять запросы в равной степени, что может быть ближе всего к описываемому вами циклическому алгоритму.

...