Files
obsidian-sympozium/08-Słownik-K8s/NetworkPolicy.md
2026-03-25 00:05:57 +01:00

1.9 KiB

NetworkPolicy

#kubernetes #security #network #słownik

Co to jest?

NetworkPolicy to zasób Kubernetes definiujący reguły firewalla na poziomie podów. Kontroluje jaki ruch sieciowy (ingress/egress) jest dozwolony do/z podów.

Domyślne zachowanie

Bez NetworkPolicy: wszystko jest dozwolone - każdy pod może komunikować się z każdym innym podem i z internetem.

Z NetworkPolicy: reguły definiują whitelist - ruch nie pasujący do żadnej reguły jest blokowany.

Przykład deny-all

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: deny-all-egress
spec:
  podSelector:
    matchLabels:
      sympozium.ai/component: agent
  policyTypes:
    - Egress
  egress: []  # Pusty = BLOCK ALL

Przykład z wyjątkami

spec:
  podSelector:
    matchLabels:
      sympozium.ai/component: agent
  policyTypes:
    - Egress
  egress:
    # Pozwól DNS
    - to:
        - namespaceSelector: {}
      ports:
        - port: 53
          protocol: UDP
    # Pozwól NATS
    - to:
        - podSelector:
            matchLabels:
              app: nats
      ports:
        - port: 4222

Wymagania

NetworkPolicy wymaga CNI plugin wspierającego Network Policies:

  • Calico
  • Cilium
  • Weave Net
  • Antrea

Flannel domyślnie NIE wspiera NetworkPolicy.

Użycie w Sympozium

Sympozium używa NetworkPolicy do izolacji agent podów:

Agent pod:
  Egress: DENY ALL
  Wyjątki:
    - DNS (UDP 53)
    - NATS event bus (TCP 4222)
    - Skonfigurowane egress rules z SympoziumPolicy

Dzięki temu agent nie może:

  • Sięgnąć do internetu
  • Komunikować się z innymi podami
  • Exfiltrować danych

Jedyny punkt wyjścia to IPC Bridge → NATS (kontrolowany kanał).

Więcej: NetworkPolicy i izolacja sieciowa


Powiązane: NetworkPolicy i izolacja sieciowa | SympoziumPolicy | Model bezpieczeństwa Defence-in-Depth