Два способа выполнить обнаружение служб в K8S
Существует два способа выполнить обмен данными (обнаружение служб) в кластере Kubernetes.
DNS - это самый простой способ обнаружения служб в кластере. И это не требует каких-либо дополнительных настроек переменной ENV для каждого модуля. Проще всего, служба в том же пространстве имен доступна через имя службы. например, http://my-api-dev: ПОРТ доступен для всех модулей в пространстве имен, dev
.
Стандартное имя приложения и имя службы K8s
На практике вы можете дать каждому приложению стандартное имя, например. my-ui
, my-backend
, my-api
и др. c. И используйте то же имя для подключения к приложению. Эта практика может быть даже применена для локального тестирования из среды разработчика с записью в /etc/host
как
127.0.0.1 my-ui my-backend my-api
(Выше не имеет ничего общего с k8s, просто практика общения приложений с их именами в локальные среды)
Кроме того, на k8s вы можете назначить имя службы как одно и то же имя приложения (старайтесь избегать суффиксов, подобных -dev
для имени службы, которые отражают среды (dev, test, prod, et c), вместо этого используйте пространство имен или отдельный кластер). Таким образом, конечные точки целевого приложения могут быть настроены с использованием их имени службы в файле конфигурации каждого приложения.
Вход для служб с внешним доступом
Вход должен быть включен только для службы, требующие внешнего доступа.
Настраиваемые конечные точки проверки работоспособности
Кроме того, рекомендуется использовать некоторые проверки работоспособности, которые проверяют, что все зависимые приложения работают нормально. , который также проверит, что приложение работает нормально.