티스토리 뷰
1. Network Policies
1) 정의
(1) Kubernetes에서 특정 파드 그룹이 서로 및 다른 네트워크 엔트포인트와 어떻게 통신할 수 있는지를 정의
- IP 주소, 포트 수준에서 작동하며 ingress(들어오는), egress(나가는) 트래픽을 허용 및 차단하며 관리한다.
2) 네트워크 정책의 구성요소
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: example-policy
namespace: default
spec:
podSelector:
matchLabels:
role: db
policyTypes:
- Ingress
- Egress
ingress:
- from:
- podSelector:
matchLabels:
role: frontend
ports:
- protocol: TCP
port: 6379
egress:
- to:
- ipBlock:
cidr: 10.0.0.0/8
ports:
- protocol: TCP
port: 5978
1) 파드 셀렉터 : 네트워크 정책이 적용될 파드를 결정(여기서는 역할(Role)이 db인 파드를 한해서 네트워크 정책이 적용된다)
2) 정책 유형 : ingress, egress 또는 둘 다에 영향을 미치는지를 정의
(1) Ingress나 Egress만 있는 경우, 한쪽에만 적용된다.
- 예를 들어 Ingress만 있다고 가정한 경우, frontend 역할을 가지고 있는 pod로부터 6379포트로만 받는다. 그 이외의 INgress 트래픽을 허용하지 않는다. 한편 egress는 all allow다. (명시되지 않은 정책 유형은 all allow)
(2) 둘다 명시되어 있는 경우, Ingress, Egress 둘 다 명시된 정책에만 제한된다.
3) 인그레스 및 이그레스 규칙: 트래픽의 허용된 소스나 목적지를 지정한다. 특정 파드, 네임스페이스, IP블록을 포함한다.
- 여기서는 ingress 의 경우 frontend역할을 가진 pod로부터 들어오는 트래픽을 6379포트에서만 받는다.
- egress의 경우, 10.0.0.0/8 대역로 향하며, 5978포트에서 출발하는 트래픽만 나갈 수 있다.
'쿠버네티스' 카테고리의 다른 글
[쿠버네티스] 9. 네트워크 1) 쿠버네티스의 네트워크 기본 (0) | 2024.12.13 |
---|---|
[쿠버네티스] 8. 스토리지 (4) | 2024.12.13 |
[쿠버네티스] 7.보안 (4) 승인 (0) | 2024.12.13 |
[쿠버네티스] 7. 보안 (3) API 그룹들, kubectl proxy (0) | 2024.12.13 |
[쿠버네티스] 7. 보안 (2)사용자 등록 및 승인, kubeconfig (0) | 2024.12.13 |