Search
Duplicate
📒

[Kubernetes Infra] 03-6. Network Policy - Ingress, Egress

상태
완료
수업
Kubernetes Infra
주제
4 more properties
참고

Network Policy

NOTE
Network policy를 통해 IP, namespace, pod에 따른 클러스터 내부 트래픽을 제어할 수 있다!
백엔드 서버만 접근을 허용한다.
apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: backend-to-database spec: podSelector: # 정책을 적용할 Pod 선택 matchLabels: app: database policyTypes: # 수신 트래픽에 대한 정책(Ingress/Egress) - Ingress ingress: # 허용 수신 트래픽(ingress) - from: - podSelector: matchLabels: app: backend ports: - protocol: TCP port: 3306
YAML
복사
kubectl get networkpolicy kubectl get networkpolicies -n my-namespace
Bash
복사

ingress 설정

NOTE
좀 더 세부적인 상황
apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: backend-to-database spec: podSelector: # 정책을 적용할 Pod 선택 matchLabels: app: database policyTypes: # 수신 트래픽에 대한 정책(Ingress/Egress) - Ingress ingress: # 허용 수신 트래픽(ingress) - from: - podSelector: # 허용 pod matchLabels: app: backend namespaceSelector: # 허용 네임스페이스 matchLabels: name: prod - ipBlock: # 허용 IP범위 cidr: 192.168.5.10/32 ports: - protocol: TCP port: 3306
YAML
복사

egress 설정

NOTE
apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: backend-to-database spec: podSelector: # 정책을 적용할 Pod 선택 matchLabels: app: database policyTypes: # 수신 트래픽에 대한 정책(Ingress/Egress) - Ingress ingress: # 허용 수신 트래픽(ingress) - from: - podSelector: matchLabels: app: backend ports: - protocol: TCP port: 3306 egress: - to: - ipblock: cidr: 192.168.5.10/32 ports: - protocol: TCP port: 80
YAML
복사