1 - Я читаю документацию, и я немного смущен формулировкой. В нем говорится:
ClusterIP. Предоставляет службу на внутреннем IP-кластере. Выбор этого значения делает сервис доступным только внутри кластера. Это стандартный ServiceType
NodePort. Предоставляет услугу на каждом IP-адресе Node на статическом порту (NodePort). Служба ClusterIP, к которой будет направляться служба NodePort, автоматически создается. Вы можете связаться со службой NodePort из-за пределов кластера, запросив
<NodeIP>:<NodePort>
.LoadBalancer. Предоставляет внешнюю службу, используя балансировщик загрузки облачных провайдеров. Службы NodePort и ClusterIP, к которым будет маршрутизироваться внешний балансировщик нагрузки, автоматически создаются.
Использует ли тип сервиса NodePort ClusterIP
, но только на другом порту, который открыт для внешних клиентов? Таким образом, в этом случае <NodeIP>:<NodePort>
совпадает с <ClusterIP>:<NodePort>
?
Или это NodeIP
на самом деле IP-адрес, найденный при запуске kubectl get nodes
, а не виртуальный IP-адрес, используемый для типа службы ClusterIP?
2 - Также на диаграмме из приведенной ниже ссылки:
http://kubernetes.io/images/docs/services-iptables-overview.svg
Есть ли какая-то особая причина, по которой Client
находится внутри Node
? Я предположил, что он должен быть внутри Cluster
в случае типа сервиса ClusterIP.
Если для NodePort была использована одна и та же диаграмма, было бы целесообразно полностью вывести клиента за пределы Node
и Cluster
, или я полностью не пропущу точку?