22.03.29 23:48 작성
·
975
0
강의 내용 중 3-[2-3]-NetworkPolicy-[ipBlock | ipBlock-except].yaml 파일을 보면 ingress와 egress의 cidr이 서로 다릅니다.
1. ingress와 egress cidr을 만족하는 IP를 가진 파드만 서로 통신을 할 수 있는 게 맞나요?
2. 그렇다면 ingress와 egress를 분리하는 의미는 무엇인가요? 그냥 겹치는 범위를 다른 하나의 값으로 설정하면 되는게 아닌가 해서요
답변 1
2
안녕하세요, Mx님.
튜터 주도입니다.
질문 주신 부분은 아래와 같이 이해했습니다 :)
Q1. (ingress와 egress의 CIDR가 다른 상황에서)ingress와 egress의 CIDR가 겹치는 부분의 IP를 가진 파드만 서로 통신할 수 있는 것이 맞나요?
A1.
우선, ingress와 egress의 CIDR는 동일하지 않아도 됩니다.
조훈 선생님께서 설명해주신 대로, 네트워크폴리시의 정책은 3가지가 있는데
- podSelector(특정 레이블을 가진 Pod에서 들어오는/나가는 통신 허용)
- ipBlock(특정 CIDR에서 들어오는/나가는 통신 허용)
- namespaceSelector(특정 네임스페이스에 있는 Pod에서 들어오는/나가는 통신 허용)
이 때, ipBlock정책은 주로 쿠버네티스 클러스터 '외부' 네트워크의 트래픽을 제어하는 방법으로 사용됩니다. Pod의 IP는 임시적이고 예측할 수 없기 때문입니다 :)
그리고 쿠버네티스 클러스터 내부에서 Pod간 통신을 제어하는 방법으로 namespaceSelector와 podSelector정책이 쓰입니다.
Q2.ingress와 egress를 분리하는 의미는 무엇인가요?
A2. ingress와 egress를 분리하는 이유는 말그대로 네트워크폴리시의 policyTypes으로 인바운드와 아웃바운드 정책을 구분해서 결정할 수 있기 때문입니다.
NetworkPolicy와 관련해서 공식 문서를 보시면 학습에 참고가 되실 것 같습니다.
https://kubernetes.io/docs/concepts/services-networking/network-policies/
혹시 추가로 궁금하신 점이 있으면 남겨주세요
감사합니다 :)