Kubernetes — кластерный IP против Node-Port
Опубликовано: 15 Сентября, 2022
ClusterIP предоставляет IP-адрес с балансировкой нагрузки. Один или несколько модулей, соответствующих селектору меток, могут перенаправлять трафик на IP-адрес. Служба ClusterIP должна определить один или несколько портов для прослушивания с целевыми портами для пересылки трафика TCP/UDP в контейнеры.
IP-адрес кластера:
- Это тип службы по умолчанию, который предоставляет службу на внутреннем IP-адресе кластера, делая службу доступной только внутри кластера.
- Служба кластеров — это служба Kubernetes по умолчанию. Это дает вам службу внутри вашего кластера, к которой могут получить доступ другие приложения внутри вашего кластера.
- Нет внешнего процесса.
Когда использовать Cluster IP?
- Есть несколько сценариев, в которых вы можете использовать прокси-сервер Kubernetes для доступа к своим службам.
- отладка ваших сервисов или подключение к ним напрямую с вашего ноутбука по какой-то причине
- Разрешение внутреннего трафика, отображение внутренних информационных панелей и т. д.
Порт узла:
Это предоставляет услугу на IP-адресе каждого узла на статическом порту. Так как служба ClusterIP, на которую будет маршрутизироваться служба NodePort, создается автоматически. Мы можем связаться со службой NodePort за пределами кластера.
- Служба Nodeport — это самый примитивный способ получить внешний трафик непосредственно к вашей службе.
- NodePort, как подразумевается, открывает определенный порт на всех узлах (виртуальных машинах), и любой трафик, отправляемый на этот порт, перенаправляется в службу.
Когда использовать Node Port?
- У этого метода много минусов
- Вы можете иметь только одну службу на порт
- Вы можете использовать только порты 30 000–32 767.
- Если IP-адрес вашего узла/VM изменится, вам нужно будет с этим справиться.
- По этим причинам я не рекомендую использовать этот метод в производственной среде для прямого доступа к вашему сервису. Если вы используете службу, которая не всегда должна быть доступна, или вы очень чувствительны к затратам, этот метод подойдет вам. Хорошим примером такого приложения является демонстрационное приложение или что-то временное.