#docker #kubernetes #service-node-port-range
Вопрос:
- У меня есть 5 микросервисов в 5 блоках, и я развернул каждую службу, используя определенный порт, используя службу ПОРТОВ УЗЛА.
- У меня есть приложение пользовательского интерфейса в качестве одной службы внутри другого модуля, которое также доступно с помощью службы портов узла.
Поскольку я не могу использовать pod IP для доступа к URL-адресам в приложении пользовательского интерфейса, поскольку модули живут и умирают, развернутые как служба nodeport, и могу ли я беспрепятственно получить доступ ко всем 5 службам внутри приложения пользовательского интерфейса, используя соответствующий порт узла?
Пожалуйста, посоветуйте — будет ли этот подход надежным?
Ответ №1:
- Да, вы можете легко подключиться к этим службам портов узлов.
Но помните, что вам может потребоваться более высокая пропускная способность сети и подключение (к основным узлам), если вы получаете слишком много трафика на эти службы.
Кроме того, если у вас есть несколько главных узлов, вы можете попробовать выделенный главный узел-ip и порт узла для службы.(Если у вас 5 главных узлов, доступ к каждой службе осуществляется с IP-адреса одного главного узла и т. Д. Это не обязательно, вы можете подключиться к каждой службе с помощью любого masterIP:nodeport
)
Настоятельно рекомендую использовать для этого службу балансировки нагрузки. Если у вас есть кластер из чистого металла, попробуйте использовать MetalLB.
Редактировать : (после комментария Нагаппы ЛМ)
- Если это для контроля качества, то не нужно беспокоиться, но если они выполняют нагрузочный тест для всех служб одновременно, это может быть проблематично.
- Изменение вашего кода означает, что изменяется только ваше развертывание k8, а не служба Kubernetes. служба k8-это то, где вы определяете
nodeport
Комментарии:
1. У меня есть один главный узел,2 рабочих узла, и в рабочих узлах, которые я развертываю, на самом деле мы подвергаемся QAs, а не внешнему миру. Спасибо. Мы можем повторять развертывание столько раз, сколько захотим,не меняя никаких портов, только изменение кода, больше ничего не нужно менять в кластере k8?