네트워크 폴리시는 라벨/ ipblock/네임스페이스에 대해서 특정 조건만 허용하는 기능이다. * 정보를 넣지 않으면 모두 차단
나가는 트래픽은 egress , 들어오늘 트래픽을 Ingress 라하며 NP는 여러 개가 있으면 or식으로 모두 합쳐지게 되어, 하나의 오프젝트로 모두 설명할 필요 없이 세분화하여 나눠 관리가 가능하다.
아래의 예제를 통해 확인해 보자 .
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: test-network-policy
namespace: default
spec:
podSelector:
matchLabels:
role: db
policyTypes:
- Ingress
- Egress
ingress:
- from:
- ipBlock:
cidr: 172.17.0.0/16
except:
- 172.17.1.0/24
- namespaceSelector:
matchLabels:
project: myproject
- podSelector:
matchLabels:
role: frontend
ports:
- protocol: TCP
port: 6379
egress:
- to:
- ipBlock:
cidr: 10.0.0.0/24
ports:
- protocol: TCP
port: 5978
k8s에 pod에서 dns가 필요하다면, egress에 Tcp/udp 53을 오픈이 필요하다
참조: https://kubernetes.io/docs/concepts/services-networking/network-policies/
'클라우드 > Kubernetes' 카테고리의 다른 글
[kubernetes] Lebel 추가/삭제 명령 (0) | 2024.01.08 |
---|---|
(Kubernetes) kubespray로 클러스터 구성하기 (0) | 2023.02.10 |
[Kubernetes] 여러 개의 클러스터에 하나의 컴퓨터에서 명령어 실행 (0) | 2022.10.24 |
[Kubernetes] 클러스터 기간확인 /연장 (1) | 2021.05.27 |
[kubernetes] kubevirt 를 위한 vm도커 이미지 만들기 (0) | 2021.02.05 |