1. Network Policy
Network Policy는 쿠버네티스의 Pod에 적용할 수 있는 방화벽 정책 기능이라고 볼 수 있다. 기본적으로 쿠버네티스 클러스터 내부의 모든 파드와 객체간에는 네트워크 상으로 통신이 가능하다. 감사나 내부 정보보안 규정으로 Web 서버에서 DB서버로의 접근을 차단해야 하는 경우와 같은 상황에서 사용할 수 있다.적용하는 Pod 기준으로 들어오는 트래픽을 Ingress, 나가는 트래픽을 Egress라고 한다.
#policy-definition.yaml
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: db-policy
spec:
podSelector:
matchLabels:
role: db
policyTypes:
- Ingress
ingress:
- from:
- podSelector:
matchLabels:
name: api-pod
ports:
- protocol: TCP
port: 3306
# kubectl create -f policy-definition.yaml
2. Ingress from, Egress to
ingress from, egress to 에 사용할 수 있는 selector 종류로는 podSelector, namespaceSelector, ipBlock(CIDR) 세가지가 있다. Selector를 조합해서 사용할 경우 배열 작성에 유의해야 한다.
# namespace = alice이고 role = client인 pod
ingress:
- from:
- namespaceSelector:
matchLabels:
user: alice
podSelector:
matchLabels:
role: client
# namespace = alice인 모든 pod 나 role = client인 local namespace의 pod
ingress:
- from:
- namespaceSelector:
matchLabels:
user: alice
- podSelector:
matchLabels:
role: client
'Kubernetes' 카테고리의 다른 글
[Kubernetes] Authentication (0) | 2021.02.01 |
---|---|
[Kubernetes] Volume 관리 (0) | 2021.01.25 |
[Kubernetes] 권한 관리(RBAC) (0) | 2020.12.30 |
[Kubernetes] 백업, 복구 (0) | 2020.12.23 |
[Kubernetes] 클러스터 업그레이드 (0) | 2020.12.17 |