ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • K8S Network Policy 정리
    K8S 2021. 8. 2. 16:07

    틀린 내용이 있을 수도 있습니다! 

    틀린 내용이 있다면 댓글로 달아주시면 감사하겠습니다!

     

     

    network policy를 이용하면 IP, namespace, pod에 따른 클러스터 내부 트래픽을 제어할 수 있다. 

    다음 예시를 통해서 확인하자. 

     

    1. Network policy 확인하기 

     

    networkpolicy의 alias는 netpol이므로 다음과 같이 확인할 수도 있다. 

    payroll-policy는 name=payroll인 label을 갖는 pod를 selecting한다.

     

     

     

     

    2. Network Policy Detail 확인하기 

    payroll-policy라는 networkpolicy가 어떤 네트워크 정책인지 확인해 보자. 

     

    위 network policy는 다음과 같은 특징을 갖는다. 

    • name=payroll label을 갖는 pod에 적용되는 정책이며  
    • name=internal label을 갖는 pod로부터 접근하는 인바운드 규칙만 허용된다. 
    • 단, name=internal label을 갖는 pod는 name=payroll label을 갖는 pod의 8080번 포트로만 접근 가능하다. 

     

    정리하면 name=internal인 pod에서 name=payroll인 Pod의 8080 포트로 흐르는 트래픽만 허용하는 정책인 것이다. 

    반면, name=payroll에서 나가는 아웃 바운드 정책에 대한 명시가 없으므로 이에 대한 트래픽은 자유롭다. 

     

    3. Network Policy 생성하기 

    다음은 outbound에 대해서 명시한 networkpolicy이다. 

     

    name=internal label을 갖는 pod에서

    label이 name=mysql인 포드와 name=payroll인 포드로 가는 아웃바운드(egress) 트래픽만 허용하는 networkpolicy이다.  

     

    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

     

    반응형

    'K8S' 카테고리의 다른 글

    K8S 설계 개념(Kubernetes Design Concept)  (0) 2021.09.15
    K8S + Istio 환경에서 Nginx Proxy 설정하기  (1) 2021.09.13
    K8S RBAC - Cluster Role 정리  (0) 2021.08.01
    K8S RBAC - Role 정리  (0) 2021.08.01
    K8S KubeConfig 정리  (0) 2021.07.31

    댓글

Designed by Tistory.