[Документация Yandex Cloud](../../index.md) > [Yandex Managed Service for Kubernetes](../index.md) > [Концепции](index.md) > Использование объектов API Kubernetes > Сервис

# Сервис

В кластере Kubernetes каждый под имеет внутренний IP-адрес. Поды создаются и удаляются, и их IP-адреса меняются, поэтому использование IP-адресов подов напрямую не имеет смысла. Чтобы получить постоянный доступ к подам и отказаться от использования их внутренних IP-адресов, используйте _сервис_.

_Сервис_ — это [объект API Kubernetes (Service)](https://kubernetes.io/docs/reference/kubernetes-api/service-resources/service-v1), предназначенный для предоставления доступа к приложению, запущенному в виде набора подов в кластере Kubernetes.

С помощью сервиса вы получаете постоянный IP-адрес, который будет существовать на протяжении всего жизненного цикла сервиса, даже при изменении IP-адресов подов. Сервис также обеспечивает балансировку нагрузки. Клиенты отправляют запросы на один IP-адрес, и их запросы балансируются между подами, которые принадлежат сервису.

Набор подов, принадлежащих сервису, определяется селектором. Селектор задается пользователем при создании пода и позволяет фильтровать список ресурсов на основе меток — пар ключ-значение, прикрепленных к ресурсу. Под принадлежит сервису, если имеет все Kubernetes-метки, указанные в селекторе.

В зависимости от задачи вы можете использовать сервисы [различных типов](#type).

## Типы сервисов {#type}

В кластерах Kubernetes можно использовать различные типы сервисов, в том числе:
* `ClusterIP`
  * Доступ к сервису существует только внутри сети кластера Kubernetes по внутреннему IP-адресу.
  * Не требует использования дополнительных облачных ресурсов.
* `NodePort` — расширение типа `ClusterIP`.
  * Обеспечивает доступ к сервису по внутренним или публичным IP-адресам узлов кластера Kubernetes.
  * Не требует использования дополнительных облачных ресурсов.
* `LoadBalancer` — расширение типа `NodePort`.
  * Обеспечивает доступ к сервису через создаваемый облачный сетевой балансировщик нагрузки.
  * Требует использования дополнительных облачных ресурсов — сетевого балансировщика нагрузки.

Чтобы [опубликовать приложение](../operations/create-load-balancer.md), используйте сервис типа `LoadBalancer` на основе [сетевого балансировщика нагрузки](../../network-load-balancer/concepts/index.md) с публичным или внутренним IP-адресом.

Если необходима [защита от DDoS](../../vpc/ddos-protection/index.md), [зарезервируйте](../../vpc/operations/enable-ddos-protection.md) публичный IP-адрес со включенной защитой и [укажите](../operations/create-load-balancer.md#advanced) его с помощью опции `loadBalancerIP`.

Подробнее о типах сервисов читайте в [документации Kubernetes](https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types).

#### Полезные ссылки {#see-also}

* [Обеспечение доступа к приложению, запущенному в кластере Kubernetes](../operations/create-load-balancer.md).