Получить доступ

Какие бывают Service в Kubernetes и чем Service отличается от Ingress?

MiddleKubernetesnginx
Ещё спрашивают так:
  • Чем ClusterIP отличается от NodePort и LoadBalancer?
  • Как трафик снаружи попадает в под?
Коротко

Service — стабильное имя и виртуальный IP для набора подов по меткам, балансировка на уровне L4. Типы: ClusterIP — только внутри кластера (по умолчанию), NodePort — порт на каждом узле, LoadBalancer — внешний балансировщик облака. Ingress — правила L7 (HTTP): маршрутизация по домену и пути, TLS, на один внешний вход — много сервисов; работает через ingress-контроллер (nginx, Traefik).

  • Внутри кластера сервис доступен по DNS: orders.shop.svc.cluster.local
  • Headless Service (clusterIP: None) — DNS возвращает IP подов, нужен StatefulSet
  • Gateway API — более выразительная замена Ingress

А ещё В Service попадают только поды, прошедшие readiness

Так подсказку видит пользователь sotto на живом собеседовании — за пару секунд, пока вы думаете вслух.

Подробно

Путь запроса снаружи:

клиент → облачный LB → ingress-контроллер (L7: хост, путь, TLS)
       → Service orders (ClusterIP) → один из готовых подов

Как работает Service. Контроллер ведёт список адресов готовых подов (EndpointSlice). kube-proxy на каждом узле программирует правила iptables или IPVS: обращение к виртуальному IP заменяется адресом случайного пода. Балансировка — по соединениям, поэтому долгие соединения (gRPC, HTTP/2) распределяются неравномерно — нужна L7 балансировка на клиенте или в service mesh.

Ingress:

spec:
  tls: [{ hosts: [api.example.com], secretName: api-tls }]
  rules:
    - host: api.example.com
      http:
        paths:
          - path: /orders
            pathType: Prefix
            backend: { service: { name: orders, port: { number: 80 } } }

Без установленного ingress-контроллера объект Ingress ничего не делает.

Что хотят услышать

  • Назначение Service и его типы.
  • Ingress как L7-маршрутизация и роль контроллера.
  • Связь с readiness и проблема долгих соединений.

Связанные вопросы

Закрытая бета

Подсказки на собеседовании — в реальном времени

sotto слышит вопрос интервьюера и показывает короткий ответ и план, как в блоке «Коротко». Оставьте контакт — пришлём доступ и промокод.

  • Промокод на 2 часа — сверх пробных 30 минут
  • Программа для Windows — скачать сразу, войти — через Яндекс ID или VK ID
  • Прямая связь с разработчиком: что улучшить — сделаем