8.6 NetworkPolicy에 대한 질문
289
작성한 질문수 5
안녕하세요 강사님,
8.6 네트워크 정책에 관한 강의를 듣다가 질문이 있어서 글을 남깁니다.
3-2-NetworkPolicy-ipBlock.yaml 파일을 apply 시켰을 때 기대되는 동작은
default 네임스페이스의 모든 파드들은 172.16.0.0/16 대역의 수신 트래픽만 허용, 172.16.0.0/17 대역의 송신 트래픽만 허용.
제가 궁금한 것은 해당 네트워크 정책을 apply 시킨 후 호스트 상에서 pod에 ping을 날렸는데 답변이 잘 온다는 점이었습니다. 현재 호스트의 ip 대역은 네트워크 정책을 만족하지 못함에도 말이죠.
혹시 호스트는 네트워크 정책을 bypass 할 수 있나? 해서 뒤의 실습에서도 테스트 해봤는데 4-2-NetworkPolicy-namespaceSelector-dev2.yaml 의 경우에는 호스트에서 ping을 날려도 답변을 받지 못하더군요. 아마 호스트는 dev2 네임스페이스가 아니라고 인식했기 때문이겠죠.
그러면 결론적으로 왜 3-2 실습의 경우 호스트의 request를 허락해주었을까? 가 궁금합니다. 두 가지 가능성이 있을 거 같아요.
제가 알고 있는 호스트의 ip
192.168.1.10이 아니다. 이는 가상의 ip 이었다.쿠버네티스의 네트워크정책 중
ipBlock태그에 한해서만 호스트는 이를 무시하고 요청을 할 수 있다.그 외

긴 질문 읽어주셔서 감사합니다. 시간 날 때 답변주시면 감사하겠습니다!
답변 1
0
안녕하세요
좋은 질문에 감사드립니다.
위의 내용을 기초에 보면, 호스트를 m-k8s로 의도하여 적어주신 것 같습니다.
네트워크 적으로 볼 때, 다양한 경로가 있는 경우에 최적의 경로로 (가능한 또는 의도적) routing을 잡혀 있습니다.
그렇다 보니 destination과 source를 시스템에서 정하는데, 현재에는 reachable한 tunl0 인터페이스를 source로 사용하여 도달하게 되는 것입니다.
해당 부분에 대해서 더 궁금하신 부분이 있다면 네트워크 쪽으로 더 학습해 보시면 아마 효과적으로 이해하실 수 있을 것 같습니다.
-=-=-=-=-=-
[root@m-k8s 8.6]# ip a
1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: eth0: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:0f:f7:2d brd ff:ff:ff:ff:ff:ff
inet 10.0.2.15/24 brd 10.0.2.255 scope global noprefixroute dynamic eth0
valid_lft 63754sec preferred_lft 63754sec
3: eth1: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:4f:0f:55 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.10/24 brd 192.168.1.255 scope global noprefixroute eth1
valid_lft forever preferred_lft forever
4: docker0: mtu 1500 qdisc noqueue state DOWN group default
link/ether 02:42:5c:74:e6:13 brd ff:ff:ff:ff:ff:ff
inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
valid_lft forever preferred_lft forever
5:
tunl0@NONE:mtu 1480 qdisc noqueue state UNKNOWN group default qlen 1000link/ipip 0.0.0.0 brd 0.0.0.0
inet 172.16.171.64/32 scope global tunl0
valid_lft forever preferred_lft forever
6: cali172770a77a7@if4: mtu 1480 qdisc noqueue state UP group default
link/ether ee:ee:ee:ee:ee:ee brd ff:ff:ff:ff:ff:ff link-netnsid 0
7: calif9524b144f3@if4: mtu 1480 qdisc noqueue state UP group default
link/ether ee:ee:ee:ee:ee:ee brd ff:ff:ff:ff:ff:ff link-netnsid 1
[root@m-k8s 8.6]# k get po -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
deploy-ipblock-5c59b69d84-nq64v 1/1 Running 0 4m47s 172.16.132.6 w3-k8s
deploy-ipblock-5c59b69d84-pwfzf 1/1 Running 0 4m47s 172.16.221.139 w1-k8s
deploy-ipblock-5c59b69d84-w29qp 1/1 Running 0 4m47s 172.16.103.133 w2-k8s
important-front-84d9fd49ff-w7f24 1/1 Running 0 3d17h 172.16.103.131 w2-k8s
net 1/1 Running 0 10m 172.16.132.4 w3-k8s
nfs-client-provisioner-7596fb9c9c-frlnb 1/1 Running 1 (3d18h ago) 3d19h 172.16.221.136 w1-k8s
[root@m-k8s 8.6]# curl --interface eth1 172.16.132.6
^C
[root@m-k8s 8.6]# curl --interface eth0 172.16.132.6
^C
[root@m-k8s 8.6]# curl --interface tunl0 172.16.132.6
Q644+Ue9mwH3P3f5/d7n6/3/3+OEJ/4xCc+8YQYtQuJwB0kIp+JrzUTB7iJuweBf4baTlJ5oCqw11C/JHp+tnqBb1ngT4z8WgReTUGbWCBGq0qvKRFcHf4eT/ZFBKoLvMBGIbhiYkaQIjcAfLAK+D8z9YhjxMgsVUGc84+gyx9AYD0khXcMfLCmUBL68HMZ+PnHxyFw3Uwi8B8hgJYh7j4c7c8P
<snipped>
섹션2. 1.5쿠버네티스_컨트롤플레인_노드와_워커_노드_그리고 kubeadm으로 쿠버네티스 직접 구성하기-v1.30 오류
0
41
2
[해결] 2.4. tabby config.yaml 파일 복사 실패 시
1
95
0
9.3 Error 발생 유도 테스트 확인 부탁드립니다.
0
96
2
livenessProbe 어플리케이션 재시작 의미
0
68
2
K8S 노들에 접근이 안됩니다.
0
170
6
arm virtualBox의 vagrant up 에러
0
116
2
추후 강의계획 질문
0
150
1
MAC 에서 사용할 수 있는 ova 파일은 없나요?
0
220
2
7.8. w3-affinity-leader 적용 에러 문제 질문드립니다.
0
211
5
커리큘럼 순서 문의
0
207
2
apply 실행 후 pod상태가 ContainerCreating 에서 변경이 안됩니다.
0
372
2
livenessProbe에 대한 설명이 조금 부족한거 같네요
0
218
3
controlplane_node.sh 실행 오류 문의
0
242
2
예제폴더의 경로와 영상의 경로가 너무나도 다릅니다
0
219
2
9.6강의 소스 수정 요청 및 에러 문의
0
165
2
8.6 강의 중 sysnet4admin/chk-info 이미지 bash 이슈
0
161
3
드디어 맥에서도 virtualbox가 지원 됩니다.
0
283
2
8.3강의 set-ctx-pod-admin.sh 수정 요청
0
121
3
7.5 강의 tardy-nginx 이미지 문제
0
3312
3
ch1. controlplan_node.sh 실행 시 에러가 뜹니다
0
306
3
Kubenetes 클러스터에 추가적으로 신뢰하는 CA를 넣을 수 있나요?
0
183
1
clusterrolebinding의 --namespace 옵션의 역할
0
165
2
A.0003 파일 vagrant file 수정 (자문자답)
0
168
2
nfs-client-provisioner 관련 생성 오류 질문
0
192
1





