>_ IzzyLab

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

k8s: NetworkPolicy

сложно

В /root/netpol.yaml лежит NetworkPolicy deny-ingress: сейчас она блокирует весь входящий трафик к подам app: db. Доработай её: разреши вход только от подов с меткой app: web.

Что потренируешь:
  • kubernetes
  • networkpolicy
  • podselector
  • yq
  • yaml

Разбор темы

NetworkPolicy работает по принципу белого списка: как только под попадает под spec.podSelector и в policyTypes указан Ingress, весь входящий трафик к нему запрещён по умолчанию, а разрешают его явными правилами в spec.ingress. Каждое правило — это элемент списка с блоком from, где источники описывают через podSelector.matchLabels (по меткам пода), namespaceSelector или ipBlock. Открыв один источник, ты не снимаешь запрет с остального — default-deny продолжает действовать для всех, кто не подошёл под правило.

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

  1. манифест валиден (kubeconform)
  2. kind = NetworkPolicy
  3. разрешён вход от app: web

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