kubernets

 

이번 시간엔 Network Policy 에 대해 알아보도록 한다.

 

간단하게 말해서.. 네트워크 정책이다.

 

예를 들면 DB 파드에 어떤 IP 대역대를 허용할 것인지 (Ingress)

DB 파드는 어떤 IP 대역대로 나갈 수 있는지(Egress)

 

AWS 의 VPC 에서 인바운드와 아웃바운드를 설정하는 것과 비슷한 거라고 보면 될 것 같다.

 

Network Policy 생성은 아래 링크를 참고한다.

 

https://kubernetes.io/ko/docs/concepts/services-networking/network-policies/#networkpolicy-resource

 

네트워크 정책

IP 주소 또는 포트 수준(OSI 계층 3 또는 4)에서 트래픽 흐름을 제어하려는 경우, 클러스터의 특정 애플리케이션에 대해 쿠버네티스 네트워크폴리시(NetworkPolicy) 사용을 고려할 수 있다. 네트워크폴

kubernetes.io

 

관련 명령어 정리

 

# netpol 은 networkpolicies 의 약어다
$ k get netpol

 

네트워크 정책은 k create ~ 로 생성할 수 없었다.

 

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: internal-policy
  namespace: default
spec:
  podSelector:
    matchLabels:
      name: internal
  policyTypes:
  - Egress
  egress:
  - to:
    - podSelector:
        matchLabels:
          name: mysql
    ports:
    - protocol: TCP
      port: 3306
  - to:
    - podSelector:
        matchLabels:
          name: payroll
    ports:
    - protocol: TCP
      port: 8080

policyTypes 에 Ingress, Egress 를 선택해서 넣어줄 수 있다.

해당 NetworkPolicy 에서는 name: Internal 의 레이블을 가진 파드에 대해 Egress, 즉 밖으로 나갈 수 있는 권한을 부여한다.

그 권한은 3306, 8080 포트이고 마찬가지로 matchLabels 로 구분한다.

 

시험 때도 매뉴얼 검색을 통해 작성하면 될거 같긴 하다..

이렇게 7장도 마무리 되고.. 마지막으로 8장을 정리해보기~