반응형
1. 개념
- K8s에서 작동하는 방화벽 개념
- 네임스페이스 단위로 적용
- Ingress / Egress 방향에 대해 정책을 설정할 수 있고 label, IP를 기준으로 세부 설정 가능
- CNI(Calico, Weave)에 의해 작동하므로 CNI에서 지원하지 않을 경우 NetworkPolicie 사용 불가
- 동일한 pod에 여러개의 NP를 적용할 수 있고, 이러한 경우 각 NP의 순서는 영향을 미치지 않으며 모든 NP의 총합이 반영
2. 예시
3. 실습1(DNS를 제외한 모든 Egress 트래픽 기본 차단)
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: deny-out-default
spec:
podSelector: {}
policyTypes:
- Egress
egress:
- ports:
- protocol: TCP
port: 53
- protocol: UDP
port: 53
- podSelector 필드를 지정하지 않을 경우 네임스페이스의 모든 파드에 적용
- DNS 서비스만 egress 허용
3. 실습2(모든 Egress 트래픽 기본 허용)
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: allow-all-egress
spec:
podSelector: {}
policyTypes:
- Egress
egress:
- {}
- egress 필드를 지정하지 않는 것이 핵심
4. TIP
- 파드의 레이블 확인하는 방법
- k get po --show-labels
- NetworkPolicy 테스트 도구
5. 참고
반응형
'Kubernetes' 카테고리의 다른 글
Kubernetes Pod IMDS 접근제어 (0) | 2024.02.29 |
---|---|
Kubernetes Ingress TLS 적용 (0) | 2024.02.29 |
Kubernetes 보안 기초 (0) | 2024.02.28 |
Kubernetes Blue·Green / Canary 배포 방법 (0) | 2023.03.16 |
Kubernetes Custom Resource 개념 및 설정 (0) | 2023.03.16 |