Services
Сервис (Service) является объектом, который определяет логический набор подов и политику доступа к ним. Сервисы создают связь между подами, которые от них зависят. Использование сервиса позволяет делать доступными за пределами кластера уникальные IP-адреса подов. Сервисы могут быть сконфигурированы для разных режимов доступа. Для выбора режима доступа существуют следующие типы сервисов:
- LoadBalancer - автоматически предоставляет внешний балансировщик нагрузки для приложений в кластере. Используйте этот тип, когда необходимо обеспечить доступ к приложениям извне кластера;
- ExternalName - открывает доступ к сервису по содержимому поля externalName (например, foo.bar.example.com), возвращая запись CNAME с его значением. При этом не используется прокси;
- ClusterIP - предназначен для внутренних нужд кластера, обеспечивая доступ к подам внутри кластера;
- NodePort - позволяет обращаться к приложениям внутри кластера снаружи за счет открытия статического порта на каждом узле кластера и перенаправления входящего трафика с этого порта на поды, соответствующие селектору сервиса.
Сервисы можно создать, отредактировать, удалить и просмотреть информацию о них.
Создание Services
Чтобы добавить новый сервис нажмите + Добавить Service. В открывшемся окне необходимо заполнить:
- Имя сервиса;
- Лейблы и аннотации;
- Сведения о развертывании, в том числе:
- тип сервиса. Доступны: LoadBalancer, ExternalName, ClusterIP, NodePort;
- нужно ли игнорировать статус Pod (по умолчанию выбрано значение “нет”);
- добавить порты, для этого нажмите + и заполните:
- Имя порта, AppProtocol, NodePort, Port, TargetPort;
- для Protocol доступены: TCP, UDP, SCTP
- определить внешние IP-адреса;
- добавить лейблы селектора подов.
После завершения создания сервиса нажмите кнопку Сохранить.
Чтобы удалить сервис, нажмите в строке элемента или перейдите на страницу просмотра сервиса, нажмите Удалить.
Просмотр и редактирование Service
Скриншот
Для просмотра информации о конфигурации, статусе, дате создания интересующего сервиса выберите его из списка и перейдите на страницу с информацией. На странице Сервис вы можете:
- перейти к просмотру и редактированию манифеста на вкладке Манифест;
- удалить сервис по кнопке Удалить;
- изменить тип сервиса или настройку игнорирования статуса пода;
- добавить внешние IP-адреса;
- внести необходимые изменения в порты, лейблы селектора подов.
При необходимости добавьте лейблы и аннотации на вкладке Лейблы и аннотации.
После внесения изменения нажмите Сохранить.
Чтобы изменить Service с помощью YAML манифеста, перейдите на вкладку Манифест, обновите данные. После внесения изменений в манифест выполните проверку. Результат проверки будет доступен в правой части экрана. Раскройте блок результата проверки, чтобы увидеть полный манифест. Если валидация формата манифеста не пройдена, проверка манифеста не будет доступна.
Сохраните изменения, внесенные в манифест. Несохраненные данные не будут применены.
Создание Secret для сервиса
Чтобы задать новый сертификат для добавленного сервиса, в разделе “Хранилище” неймспейса создайте секрет и введите название этого секрета в Ingress. Для этого в неймспейсе, в который установлен сервис:
- Перейдите в Хранилище/Secrets.
- Создайте новый Secret + Добавить Secret.
- Задайте имя и возможность редактирования, выберите тип kubernetes.io/tls,
- Добавьте файл сертификата клиента и файл ключа клиента.
- Нажмите Сохранить.
- Перейдите в Сеть/Ingresses.
- Создайте новый Ingress, заполните поля. В SecretName выберите созданный секрет.
- В ServiceName введите название сервиса, для которого необходимо изменить сертификат.