>_ IzzyLab

Практическое задание

Service ClusterIP

средне

Сгенерируй (не пиши руками) в /root/svc.yaml Service типа ClusterIP с именем web: слушает порт 80, направляет на targetPort 8080. Собери командой kubectl с --dry-run=client -o yaml.

Что потренируешь:
  • service
  • clusterip
  • kubectl
  • port и targetPort
  • dry-run

Разбор темы

Service в Kubernetes даёт стабильную точку доступа к набору подов, а тип ClusterIP — это внутренний виртуальный IP, доступный только внутри кластера. Важно различать два порта: port — на каком порту слушает сам сервис, а targetPort — порт внутри пода, куда сервис переадресует трафик; они не обязаны совпадать. Как и Deployment, сервис удобнее сгенерировать императивной командой kubectl create service с --dry-run=client -o yaml, чем писать руками — kubectl сам проставит тип и селектор app: <имя>, а отображение портов задаётся отдельным флагом в формате порт:targetPort.

Что проверяется

  1. Манифест валиден по схеме
  2. Тип ClusterIP
  3. targetPort 8080

Как это выглядит