Skip to content

쿠버네티스 네트워크 정책 ​

기본 개념 ​

네트워크 정책은 클러스터 내의 트래픽 흐름을 제어하여 파드가 서로 또는 다른 네트워크 엔드포인트와 어떻게 소통할지 결정합니다. 이 정책은 특정 파드가 특정 포트로 트래픽을 받거나 보내는 것을 허용하거나 차단할 수 있습니다.

인그레스(Ingress) 및 이그레스(Egress) ​

  • 인그레스: 외부로부터 파드로 들어오는 트래픽을 제어합니다.
  • 이그레스: 파드에서 외부로 나가는 트래픽을 제어합니다.

네트워크 정책 적용 예시 ​

웹 서버, API 서버, 데이터베이스 서버 구성 예를 통해 인그레스 및 이그레스 규칙을 설명합니다. 아래는 각 서비스에 대한 네트워크 정책 정의의 예시입니다.

yaml
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: db-policy
spec:
  podSelector:
    matchLabels:
      role: db
  policyTypes:
    - Ingress
  ingress:
    - from:
        - podSelector:
            matchLabels:
              name: api-pod
      ports:
        - protocol: TCP
          port: 3306

네트워크 정책 조회 ​

bash
kubectl get netpol

네트워크 정책 생성 ​

네트워크 정책을 생성하는 과정은 kubectl create 커맨드를 사용하여 YAML 파일로 정의된 정책을 쿠버네티스에 적용하는 것을 포함합니다.

네트워크 정책 적용 확인 ​

파드에 정책이 제대로 적용되었는지 확인하기 위해 kubectl describe networkpolicy 커맨드를 사용하여 정책에 정의된 규칙을 검토할 수 있습니다.

Note ​

K8s Reference Docs ​

https://kubernetes.io/docs/concepts/services-networking/network-policies/https://kubernetes.io/docs/tasks/administer-cluster/declare-network-policy/