인프런 커뮤니티 질문&답변

Sangki Jung님의 프로필 이미지
Sangki Jung

작성한 질문수

쉽게 시작하는 쿠버네티스(v1.30) - {{ x86-64, arm64 }}

3.2.파드를 외부에서도 접속하게 하는 서비스(Service)

pod 배포시 IP 할당은 어떻게 이루어지나요?

작성

·

2.1K

1

안녕하세요

pod 배포후에 kubectl get pod -o wide  명령어로 확인하면,

172.16.132.X 처럼 임의의 IP가 할당되는데, 

이 IP는 dhcp처럼 정해진 풀에서 자동으로 할당되는건가요? 

그리고 사용자가 수동으로 지정해서 배포할수도 있나요? 

한가지더 질문이 있습니다. 

NodePort 서비스 할당후에 kubectl get service 명령어로 확인하면 nginx 파드에 CLUSTER-IP 가 아래처럼 할당되는데 이 IP는 

Node와 Pod가 통신하기 위해 임의로 할당되는건가요? 

nginx        NodePort    10.109.207.40   <none>        80:31935/TCP   20s

감사합니다.~

답변 1

0

조훈(Hoon Jo)님의 프로필 이미지
조훈(Hoon Jo)
지식공유자

안녕하세요 

1. Pod Ip assign

은 추후에 다룰 예정이긴 한데, 현재 랩은 Pod의 CIDR을 지정해 뒀습니다.  Default CIDR은 CNI와 연관이 있으며, 일반적으로 10.n.n.n/n 을 사용하나 이 경우에는 정상동작하지 않을 가능성이 높습니다. (인프라의 네트워크에 관련해서는 그동안 네트워크 질문이 올라온걸 보시면 참고가 되실꺼 같아요)

뒤에 클러스터 init 및 join 하는거 실습을 보시면 나와 있는데, 아래의 --pod--network-cidr이 Pod의 CIDR을 설정하는 부분입니다. 

kubeadm init --token 123456.1234567890123456 --token-ttl 0 \

--pod-network-cidr=172.16.0.0/16 --apiserver-advertise-address=192.168.1.10

2. Node Clsuter IP Range

이 부분은 추후 강의에도 다루지 않을 예정이긴 한데...아래와 같은 위치에 명시되어 있습니다. 

/ etc/kubernetes/manifests/kube-apiserver.yaml:    - --service-cluster-ip-range=10.96.0.0/12

/ etc/kubernetes/manifests/kube-controller-manager.yaml:    - --service-cluster-ip-range=10.96.0.0/12

이 경우에는 호스트 레인지는 10.96.0.1 - 10.111.255.254 가 됩니다. 

3. Node와 Pod가 통신하기 위해 임의로 할당되는건가요?

이건 그렇게 단순한게 아니라서...현재 강의 설명 이상을 원하신다면 보셔야 할게...

iptables(+chain), DNAT, SNAT, L2,L3 기본, proxy 동작, br_netfilter, overlay 등을 이해하셔야 할 것 같습니다. 이미 올라온 질문 2개가 도움이 되실꺼 같네요 

https://www.inflearn.com/questions/217489

https://www.inflearn.com/questions/179366

감사합니다. 

조훈 드림.  

Sangki Jung님의 프로필 이미지
Sangki Jung

작성한 질문수

질문하기