5.3 Services and Ingress
- Сервис это объект kubernetes, который предоставляет единую точку входа для доступа к подам представляющих одно и тоже приложение
- Сервис (Service) в Kubernetes — это абстрактный объект, который определяет логический набор подов и политику доступа к ним.
- Сервисы создают слабую связь между подами, которые от них зависят.
Note
Поды – это не постоянные сущности кластера. В любой момент времени вы можете добавить новый под или удалить не нужный. При перемещении пода между нодами кластера, под создается на новой ноде и удаляется на старой. При этом у пода меняется IP адрес. Именно поэтому не стоит обращаться к поду по ip адресу.
Info
ping до сервиса работать не будет, т.к. service асоциируется с ip и port
4 типа сервиса
- ClusterIP (по умолчанию) — открывает доступ к сервису по внутреннему IP-адресу в кластере. Этот тип делает сервис доступным только внутри кластера;
- NodePort — открывает сервис на том же порту каждого выбранного узла в кластере с помощью NAT. Делает сервис доступным вне кластера через
: . Является надмножеством ClusterIP. - LoadBalancer — создает внешний балансировщик нагрузки в текущем облаке (если это поддерживается) и назначает фиксированный внешний IP-адрес для сервиса. Является надмножеством NodePort.
- ExternalName — открывает доступ к сервису по содержимому поля externalName (например, foo.bar.example.com), возвращая запись CNAME с его значением. При этом прокси не используется.
Ingress
- Работает на OSI уровне 7
- Оперирует на уровне приложения сетевого стека
- Может предоставить функциона такой как сохранение сессии