Cloud/k8s-CKAD

[CKAD] Network Policy

jinkwon.kim 2024. 10. 3. 01:36
728x90
반응형

개요

Cluster 내부 및 외부에서 들어오는 Traffic은 NetworkPolicy를 사용하여 관리 합니다.

NetworkPolicy의 주요 요소 및 동작 요약

1. 적용 대상

  • PodSelector를 통해 특정 라벨이 붙은 Pod에만 네트워크 정책을 적용할 수 있습니다.
  • NamespaceSelector를 사용하여 특정 네임스페이스에 있는 Pod에 대한 정책을 설정할 수 있습니다.
  • podSelector: {}와 같이 설정하면 네임스페이스 내의 모든Pod에 적용됩니다.

2. 정책 타입

  • Ingress: Pod로 들어오는 트래픽을 제어합니다.
  • Egress: Pod에서 나가는 트래픽을 제어합니다.

하나의 NetworkPolicy에서 둘 다 설정할 수도 있습니다.

3. 규칙 정의

  • IPBlock: CIDR 형식으로 IP 범위를 지정하여 특정 IP 대역에 대해 허용하거나 차단할 수 있습니다.
  • PodSelector: Pod라벨을 사용하여 트래픽을 허용할 대상 포드를 정의할 수 있습니다.
  • NamespaceSelector: 네임스페이스 라벨을 기반으로 트래픽 허용 여부를 결정할 수 있습니다.

4. 기본 동작

  • NetworkPolicy가 없을 때: 모든 Pod는 서로 자유롭게 트래픽을 주고받을 수 있습니다.
  • NetworkPolicy가 있을 때: 지정된 규칙에 맞는 트래픽만 허용되며, 그 외의 트래픽은 차단됩니다.

5. 동작 방식

  • NetworkPolicy는 Pod에 적용된 트래픽을 필터링하며, 정책이 적용된 Pod는 기본적으로 모든 인그레스/이그레스 트래픽을 차단하고, 정책에서 명시적으로 허용된 트래픽만 통과시킵니다.
  • 여러 NetworkPolicy가 동일한 Pod에 적용될 수 있으며, 이 경우 정책들은 AND 관계로 결합되어 더 엄격한 제어가 가능합니다.

NetworkPolicy 설정 예시

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: example-policy
  namespace: default
spec:
  podSelector:
    matchLabels:
      app: myapp
  policyTypes:
  - Ingress
  - Egress
  ingress:
  - from:
    - podSelector:
        matchLabels:
          app: otherapp
  egress:
  - to:
    - ipBlock:
        cidr: 192.168.0.0/16

 

  • podSelector: app: myapp 라벨을 가진 Pod에 적용.
  • Ingress: app: otherapp 라벨을 가진 Pod로부터 들어오는 트래픽만 허용.
  • Egress: 192.168.0.0/16 IP 대역으로 나가는 트래픽만 허용.

요약

  • NetworkPolicy는 특정 Pod에 대한 네트워크 트래픽을 제어하는 정책입니다.
  • PodSelector, NamespaceSelector, IPBlock 등을 사용해 세밀하게 트래픽 규칙을 정의합니다.
  • 정책이 없으면 모든 트래픽이 허용되지만, 정책이 있으면 명시적으로 허용된 트래픽만 통과됩니다.

상세 

https://doitnow-man.tistory.com/entry/CKA-43-network-policy

 

[CKA] 44. network policy

개요k8s에서 network ploicy를 사용하여 network 보안을 어떻게 처리하는지 알아보겠습니다.Network Policy란?network 방향 및 port를 기반으로 cluster 내부의 Pod들 간의 network traffic을 제어하는 object입니다.기

doitnow-man.tistory.com

 

 

728x90
반응형

'Cloud > k8s-CKAD' 카테고리의 다른 글

[CKAD] Admission Controller  (1) 2024.10.16
[CKAD] Statefulset 과 Headless Service  (0) 2024.10.09
[CKAD] service  (0) 2024.09.16
[CKAD] Jobs과 Cron Job  (2) 2024.09.14
[CKAD] Pod의 배포 및 업데이트  (0) 2024.09.02