-
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