728x90
[K8s] Network Policy
Network Policy
네트워크 정책 적용을 통해 클러스터에서 쿠버네티스 네트워크 정책을 생성 할 수 있다.
- 허용되는 다른 파드
- 허용되는 네임 스페이스
- IP 블록
네트워크 정책을 정의하면, 클러스터가 다중 수준의 애플리케이션을 제공할 때, 심층 방어와 같은 기능을 지원하는 데 도움이 된다.
Network Policy 생성
예를 들어 다음과 같이 access: true 레이블을 가지고 있는 pod만 nginx 서비스에 접근할 수 있도록
Network Policy 객체 생성이 가능하다.
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: access-nginx
spec:
podSelector:
matchLabels:
app: nginx
ingress:
- from:
- podSelector:
matchLabels:
access: "true"
올바른 레이블이 없는 pod에서 nginx 서비스에 접근하려 할 경우, 타임아웃이 발생한다.
kubectl run busybox --rm -ti --image=busybox:1.28 -- /bin/sh
wget --spider --timeout=1 nginx
Connecting to nginx (10.100.0.16:80)
wget: download timed out
레이블을 지정 한 후 명령을 실행하면, 요청이 허용된다.
kubectl run busybox --rm -ti --labels="access=true" --image=busybox:1.28 -- /bin/sh
wget --spider --timeout=1 nginx
Connecting to nginx (10.100.0.16:80)
remote file exists
참고
https://kubernetes.io/ko/docs/tasks/administer-cluster/declare-network-policy/
반응형
'🐳 Container > K8S' 카테고리의 다른 글
[K8s] PV(Persistent Volume), PVC(Persistent Volume Claim) (0) | 2024.04.26 |
---|---|
[K8s] kubeconfig를 사용하여 다중 클러스터 접근 구성하기 (0) | 2024.04.25 |
[K8s] RBAC(Role-Based Access Control) (0) | 2024.04.09 |
[K8s] ServiceAccount (0) | 2024.04.08 |
[K8s] Job, CronJob (0) | 2024.01.16 |