Service задаёт способ доступа и отбора экземпляров, EndpointSlice хранит текущие адреса и условия. Исправное имя Service не заменяет проверку того, кто сейчас способен обслуживать запросы.
Почему это важно
У клиента может успешно разрешаться имя службы, хотя за ним нет ни одного готового приложения. При приёмке проверьте весь путь: имя, адрес и порт Service, селектор, EndpointSlice и ответ нужного экземпляра. Создание службы не запускает приложение автоматически.
Что подтверждено
Обычная служба ClusterIP предоставляет стабильный адрес для обращения к меняющимся экземплярам приложения. При замене Pod клиенту не нужно вручную подставлять каждый новый адрес Pod.
Граница применимости: Service типа ClusterIP; службы без виртуального адреса и другие типы имеют свои правила.
Service задаёт доступ к подходящим сетевым адресам, но не создаёт копии приложения. Число Pod поддерживает контроллер нагрузки, а готовность экземпляров определяется отдельно.
Граница применимости: Service в сопоставлении с Deployment и проверками состояния Kubernetes.
У Service может быть исправное имя DNS и выделенный адрес при нуле готовых экземпляров. Разрешение имени проверяет поиск службы, но не доказывает, что за ней есть приложение, способное ответить клиенту.
Граница применимости: Обычная служба ClusterIP с именем DNS и отбором готовых Pod.
Селектор Service выбирает Pod по меткам. Ошибка селектора может оставить службу без нужных экземпляров или выбрать чужие, даже если требуемые Pod запущены и готовы.
Граница применимости: Service с селектором Pod Kubernetes.
Поле port задаёт порт Service, targetPort — порт приложения на выбранной стороне. Служба с port=80 и targetPort=8080 направляет обращение на порт 8080; приложение должно действительно слушать этот порт.
Граница применимости: Обычный TCP Service Kubernetes с числовым targetPort.
Служба с clusterIP=None не получает виртуальный адрес ClusterIP. Её нельзя проверять по той же модели единого виртуального адреса: клиент получает сведения об отдельных адресах приложения.
Граница применимости: Служба Kubernetes без виртуального адреса, с селектором; конкретный способ разрешения зависит от настройки DNS.
Не путать
Что проверить
- Установите тип Service и наличие или отсутствие виртуального адреса.
- Сверьте селектор с фактическими метками нужных Pod.
- Проверьте port, targetPort и протокол по пути до приложения.
- Посмотрите все связанные EndpointSlice, их адреса, порты и готовность.
- Проверьте разрешение имени и реальный ответ приложения раздельно.
- Убедитесь, что службу обслуживает ожидаемый выпуск приложения.
- Испытайте замену Pod: клиент должен продолжать использовать принятый способ доступа.
Первоисточники
Service
Kubernetes · Kubernetes current documentation
Описывает сетевой доступ через Service к меняющемуся набору экземпляров приложения и связанные EndpointSlice.
Открыть первоисточникDeployments
Kubernetes · Kubernetes current documentation
Описывает управление ReplicaSet, стратегии обновления, параметры maxUnavailable и maxSurge, ход выпуска и историю для отката.
Открыть первоисточникLiveness, Readiness, and Startup Probes
Kubernetes · Kubernetes current documentation
Разделяет проверки готовности, работоспособности и запуска. Объясняет их действия и риск каскадного отказа при неверной настройке.
Открыть первоисточникEndpointSlices
Kubernetes · документация Kubernetes v1.37, страница открыта 6 сентября 2026 года
Открыт редактором 6 сентября 2026 года, заголовок и версия документа сверены. Адреса и условия ready/serving/terminating; несколько срезов одной службы.
Открыть первоисточник