k8s

CKA 준비 (30) Network Policy

Joon0464 2022. 9. 25. 16:08

https://www.youtube.com/watch?v=hvhqrzoTfIY&list=PLApuRlvrZKojqx9-wIvWP3MPtgy2B372f&index=35 

 

 

이론)

* Network policy 란?

- Pod에 대한 접근제어 방화벽 역할

- 특정 pod에 들어올 수 있는 Inbound traffic 과 Pod에서 나가는 Outbound traffic을 제한할 수 있다.

 

문제) 

  • Create a new NetworkPolicy named allow-port-from-namespace in the existing namespace devops.
  • Ensure that the new NetworkPolicy allows Pods in namespace migops to connect to port 80 of Pods in namespace devpos.

풀이)

검색 키워드 : network policy

 

1) pod 및 namespace의 label 확인

1.1) migops namespace label 확인

team=migops 의 label 사용 확인

1.2) devops namespace label 확인

team=devops 의 label 사용 확인

1.3) devops 에 존재하는 pod 및 pod의 label 확인

devops namespace에 존재하는 web pod 및 pod의 app=web label 확인

2) Network policy 생성

https://kubernetes.io/docs/concepts/services-networking/network-policies/#networkpolicy-resource

(링크 참고)

해당 링크의 yaml 파일 복사 후 사용

yaml 파일을 다음과 같이 작성한다.

$ cat > allow-port-from-namespace.yaml
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: allow-port-from-namespace
  namespace: devops
spec:
  podSelector:
    matchLabels:
      app: web
  policyTypes:
    - Ingress
  ingress:
    - from:
        - namespaceSelector:
            matchLabels:
              team: migops
      ports:
        - protocol: TCP
          port: 80

3) Network Policy 생성

$ kubectl apply -f allow-port-from-namespace.yaml
$ kubectl get networkpolicy -n devops
$ kubectl describe networkpolicy -n devops allow-port-from-namespace

kubectl apply 명령어로 NetworkPolicy 를 생성한다.
생성된 NetworkPolicy 확인
describe 명령어를 사용하여 세부정보 확인

'k8s' 카테고리의 다른 글

Kubernetes Resource Summary (2)  (0) 2022.10.25
Kubernetes Resource Summary (1)  (0) 2022.10.24
CKA 준비 (29) Kube-DNS  (0) 2022.08.30
CKA 준비 (28) ServiceAccount Cluster Role binding  (2) 2022.08.17
CKA 준비 (27) ServiceAccount Role binding  (0) 2022.08.17