inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

그림으로 배우는 쿠버네티스(v1.35)

8.6.네트워크 정책 (NetworkPolicy)에서 NetworkPolicy-ipBlock-except.yaml에 대한 질문

181

WCU

작성한 질문수 3

1

안녕하세요.

NetworkPolicy-ipBlock-except.yaml 파일을

[root@m-k8s 8.6]# cat 3-3-NetworkPolicy-ipBlock-except.yaml
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: networkpolicy-ipblock-except
  namespace: default
spec:
  podSelector: {}
  policyTypes:

  - Ingress

  - Egress
  ingress:

  - from:

    - ipBlock:
        cidr: 172.16.0.0/16

        # change your CIDR to shut it down

        except:

         - 172.16.132.0/24

  egress:

  - to:

    - ipBlock:
        cidr: 172.16.0.0/16

        # change your CIDR to shut it down

        except:
         - 172.16.132.0/24

위와 같이 설정 후,

[root@m-k8s 8.6]# k apply -f 3-3-NetworkPolicy-ipBlock-except.yaml
networkpolicy.networking.k8s.io/networkpolicy-ipblock-except created

[root@m-k8s 8.6]# k get po -o wide | grep deploy-ipblock-ddb5f6ff9
deploy-ipblock-ddb5f6ff9-klkkj              1/1     Running   0             20s     172.16.103.150   w2-k8s   <none>           <none>
deploy-ipblock-ddb5f6ff9-l7fdx              1/1     Running   0             20s     172.16.132.37    w3-k8s   <none>           <none>
deploy-ipblock-ddb5f6ff9-q4r7m           1/1     Running   0             20s     172.16.221.154   w1-k8s   <none>           <none>

 

[root@m-k8s 8.6]# k exec net -it -- /bin/bash

[root@net /]# ping 172.16.103.150
PING 172.16.103.150 (172.16.103.150): 56 data bytes
^C
--- 172.16.103.150 ping statistics ---
5 packets transmitted, 0 packets received, 100% packet loss
[root@net /]# ping 172.16.132.37
PING 172.16.132.37 (172.16.132.37): 56 data bytes
^C
--- 172.16.132.37 ping statistics ---
5 packets transmitted, 0 packets received, 100% packet loss
[root@net /]# ping 172.16.221.154
PING 172.16.221.154 (172.16.221.154): 56 data bytes
^C
--- 172.16.221.154 ping statistics ---
4 packets transmitted, 0 packets received, 100% packet loss

 

ping을 보낼 시, 강의에서는 w3-k8s에만 ping이 안가야 정상이고 나머지 (w1-k8s / w2-k8s)에는 ping이 가야하지만 NetworkPolicy-ipBlock-except.yaml 적용 시, 어떠한 노드에도 핑이 가지 않습니다.

 

yaml 파일에서도 except를 172.16.132.0/24로 주었지만 되지 않습니다.

해당 IP 대역만 제외했는데 왜 다른 대역도 먹통이 되는지 이해가 안됩니다 ㅠㅠ

(NetworkPolicy-ipBlock-except.yaml 해제하면 모든 노드에 ping이 감)

docker kubernetes

답변 1

1

조훈(Hoon Jo)

안녕하세요

제 생각에는 현재 테스트에 사용하고 있는 net pod에 network policy가 적용되어서 그렇게 동작하는 것 같습니다.

배포된 net pod의 IP CIDR와 배포된 노드를 한번 확인해 보시겠어요?

[root@m-k8s 8.6]# k get po -o wide 
NAME                             READY   STATUS    RESTARTS   AGE     IP               NODE     NOMINATED NODE   READINESS GATES
deploy-ipblock-ddb5f6ff9-fsscv   1/1     Running   0          5m37s   172.16.103.130   w2-k8s   <none>           <none>
deploy-ipblock-ddb5f6ff9-n96lr   1/1     Running   0          5m37s   172.16.221.133   w1-k8s   <none>           <none>
deploy-ipblock-ddb5f6ff9-rw6dv   1/1     Running   0          5m37s   172.16.132.4     w3-k8s   <none>           <none>
net                              1/1     Running   0          46s     172.16.103.131   w2-k8s   <none>           <none>

 

 

net을 포함한 전체 파드에 대한 IP 정보를 제공해 주시면 함께 살펴보겠습니다 🙂

1

WCU

[root@m-k8s ~]# k get po -o wide
NAME                                     READY   STATUS    RESTARTS        AGE     IP               NODE     NOMINATED NODE   READINESS GATES
net                                      1/1     Running   6 (5m29s ago)   7d12h   172.16.132.39    w3-k8s   <none>           <none>
nfs-client-provisioner-7884c4db4-kbg6r   1/1     Running   7 (4m4s ago)    7d12h   172.16.103.152   w2-k8s   <none>           <none>

w3-k8s에 net에 배포되어 있네요.

결국 w3-k8s에 net pod가 배포 되어있어서

except로 w3 노드를 제외시켰기때문에 net 자체가 NetworkPolicy로 인해서 동작을 안하게 되는거로 이해하면 될까요?

1

조훈(Hoon Jo)

넵 맞습니다. 해당 net 파드를 다시 만들어서 다른 노드로 가도록 한 다음에 테스트 하시면

영상과 동일한 결과를 확인하실 수 있으실꺼에요 🙂

다른 분들을 위해 해당 내용으로 강의 하단에도 동일하게 기록해 두었습니다!

1

WCU

강사님

빠른 답변 감사드립니다.

except를 노드 2번으로 처리하여 테스트 완료 하였습니다.

항상 도움주셔서 감사합니다.

1

조훈(Hoon Jo)

별말씀을요 🙂 본 강의가 끝나고 나면, 있는 보강도 흥미로운 주제가 많으니 도움이 되셨으면 좋겠습니다! 감사합니다.

섹션2. 1.5쿠버네티스_컨트롤플레인_노드와_워커_노드_그리고 kubeadm으로 쿠버네티스 직접 구성하기-v1.30 오류

0

38

2

[해결] 2.4. tabby config.yaml 파일 복사 실패 시

1

93

0

9.3 Error 발생 유도 테스트 확인 부탁드립니다.

0

95

2

livenessProbe 어플리케이션 재시작 의미

0

67

2

K8S 노들에 접근이 안됩니다.

0

167

6

arm virtualBox의 vagrant up 에러

0

113

2

추후 강의계획 질문

0

149

1

MAC 에서 사용할 수 있는 ova 파일은 없나요?

0

219

2

7.8. w3-affinity-leader 적용 에러 문제 질문드립니다.

0

209

5

커리큘럼 순서 문의

0

206

2

apply 실행 후 pod상태가 ContainerCreating 에서 변경이 안됩니다.

0

371

2

livenessProbe에 대한 설명이 조금 부족한거 같네요

0

217

3

controlplane_node.sh 실행 오류 문의

0

242

2

예제폴더의 경로와 영상의 경로가 너무나도 다릅니다

0

218

2

9.6강의 소스 수정 요청 및 에러 문의

0

165

2

8.6 강의 중 sysnet4admin/chk-info 이미지 bash 이슈

0

161

3

드디어 맥에서도 virtualbox가 지원 됩니다.

0

282

2

8.3강의 set-ctx-pod-admin.sh 수정 요청

0

120

3

7.5 강의 tardy-nginx 이미지 문제

0

3311

3

ch1. controlplan_node.sh 실행 시 에러가 뜹니다

0

305

3

Kubenetes 클러스터에 추가적으로 신뢰하는 CA를 넣을 수 있나요?

0

183

1

clusterrolebinding의 --namespace 옵션의 역할

0

164

2

A.0003 파일 vagrant file 수정 (자문자답)

0

167

2

nfs-client-provisioner 관련 생성 오류 질문

0

190

1