inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

데브옵스(DevOps)를 위한 쿠버네티스 마스터

로컬환경에서 로드밸런서 작성시 External IP 관련 질문 드립니다!

436

ladgudcks

작성한 질문수 1

0

안녕하세요 강사님 좋은 강의 정말 잘 보고 있습니다. 

다름이 아니라 현재 오픈스택으로 로컬 환경에서 실습 하던 중에 강사님의 강의에서 로드밸런서 타입이나 기타 External IP 환경을 재현해 보고 싶었습니다.

 외부 IP가 없으니 당연히 Pending이 걸리는게 맞는거 같고 좀 더 알아보니 오픈 로드밸런서로 Porter나 MetalLB 등이 있더군요.

그래서 여차저차 MetalLB의 Config.yaml 파일까지 작성 후 적용하여 로드밸런서가 잡히는 걸 확인 했습니다.

1. 헌데 현재 오픈스택에서 사용중인 인스턴스들의 아이피 10.x.x.x 는 아이피 192.168.xxx.xxx 와 같이 1:1 로 밖에 매핑이 안돼고 결론적으로 오픈 로드밸런서를 사용하려면 현재 마스터의 인스턴스 10.x.x.x IP 주소를 MetalLB의 Config.yaml 의 address에 할당하여 접속은 되긴 하지만 그 이상의 IP를 config에 할당하여도 마스터 인스턴스의 IP가 할당된 로드밸런서만 접속이 가능하더군요.

로컬에서는 오픈 로드밸런서 사용 시  로드밸런서를 단 1개밖에 사용할 수 없는지 궁금합니다.

2. 로드 밸런서를 구성의 맨 앞단에 붙이는 것과 마스터-노드 사이에 서비스로 붙이는 거랑은 완전히 다른 개념인지 궁금합니다.

kubernetes docker

답변 1

0

CLOUD SECURITY LAB

안녕하세요 강사 최일선입니다.

1. 헌데 현재 오픈스택에서 사용중인 인스턴스들의 아이피 10.x.x.x 는 아이피 192.168.xxx.xxx 와 같이 1:1 로 밖에 매핑이 안돼고 결론적으로 오픈 로드밸런서를 사용하려면 현재 마스터의 인스턴스 10.x.x.x IP 주소를 MetalLB의 Config.yaml 의 address에 할당하여 접속은 되긴 하지만 그 이상의 IP를 config에 할당하여도 마스터 인스턴스의 IP가 할당된 로드밸런서만 접속이 가능하더군요.

로컬에서는 오픈 로드밸런서 사용 시  로드밸런서를 단 1개밖에 사용할 수 없는지 궁금합니다.

config.yaml에 할당되는 ip 대역은 192.168.0.0/24 나 192.168.0.100-120과 같이 일부 영역을 로드밸런서 나타낼 수 있습니다.

로드밸런서의 어떤 IP를 주셨는지 확인은 어렵습니다만 말씀하신 내용으로 봤을 때 "마스터 ip 대역대만 사용 가능했다"는 말씀으로 이해됩니다.

일단 이해한 것을 바탕으로 말씀드리면 로드밸런서에서 사용할 수 있는 IP는 노드 IP대역만 사용이 가능합니다. metallb는 config.yaml에 세팅된 IP를 먼저 할당 받은 뒤 로드밸런서를 생성하시면 워커 노드의 인터페이스에 해당 IP를 할당합니다. 따라서 노드 IP 대역으로 사용 가능한 IP가 제한되지만 다수의 IP를 사용하는 것은 가능합니다. 

arp -a를 사용하시면 새로 svc가 할당 받은 ip가 어느 interface로 매핑됐는지 확인할 수 있습니다. 다음 내용에서는  work1의 인터페이스에 192.168.0.29와 192.168.0.101이 모두 연결된 모습을 확인할 수 있습니다.

$ arp -a
work1 (192.168.0.29) at 00:0c:29:80:bf:6b [ether] on ens33
master (192.168.0.38) at 00:0c:29:d9:5b:8a [ether] on ens33
_gateway (192.168.0.1) at 70:5d:cc:88:a9:ac [ether] on ens33
? (10.244.0.6) at 9e:3b:99:76:a8:ab [ether] on cni0
? (10.244.0.7) at 82:5a:b9:c2:2e:31 [ether] on cni0
nas (192.168.0.31) at 00:0c:29:b1:e6:22 [ether] on ens33
? (192.168.0.101) at 00:0c:29:80:bf:6b [ether] on ens33
registry (192.168.0.32) at 00:50:56:2b:b8:d4 [ether] on ens33
work2 (192.168.0.30) at 00:0c:29:b9:79:a7 [ether] on ens33

2. 로드 밸런서를 구성의 맨 앞단에 붙이는 것과 마스터-노드 사이에 서비스로 붙이는 거랑은 완전히 다른 개념인지 궁금합니다.

마스터와 노드 사이에 LB를 둔다는 말씀은 마스터 노드를 HA로 구성한 형태를 의미하시는 걸로 생각됩니다. 이러한 형태로 구동됩니다.외부 etcd 토플로지

<고가용성 토폴로지 선택 | Kubernetes>

외부에 서비스를 위한 노드를 구성할 때는 다음과 같은 형태로 구현됩니다.

Kubernetes - How to install a single master cluster with kubeadm? - Blog  dbi services

<Kubernetes - How to install a single master cluster with kubeadm? - Blog dbi services (dbi-services.com)>

말씀하신 내용을 제가 잘 인지했는지 확인하기 어려워서 일단 제가 이해하는데로 답변드렸습니다. 부디 도움이 되셨길 바랍니다.

감사합니다!

0

ladgudcks

친절한 답변 감사합니다. 당시 많은 도움이 되었습니다.

정신없이 배우고 이해하고 지나가느라 감사 댓글을 이제서야 달게 되네요 감사합니다.

cilium install 오류

0

83

2

external-ip로 지정된 ip주소로 접속되지 않습니다.

0

72

1

Google cloud에서 클러스터를 만드는 중에 다음과 같은 오류가 발생합니다.

0

107

2

강의가 중간에 끊긴 느낌이 듭니다.

0

70

1

이론 강의 pdf 자료 다운로드 문의

0

141

2

vmware 로 가상서버 여러 대 띄울때 고정ip 로 각각 할당하는 법 알려주세요

0

1375

2

강의해주시는 별도의 강의 자료는 없나요 ??

0

204

1

스토리지 클래스

0

220

1

버전관리

0

179

1

강의 흐름 이상

0

258

1

4 쿠버네티스 워크로드에서부터 갑자기

0

252

1

영상이 나오지 않습니다.

1

218

1

kubeadm init 실패(+join할 때도 참고)

2

1483

0

2024년 3월 4일 기준 설치

3

1579

2

loadbalancer 문의 드립니다.

0

230

1

NodePord local 환경에서 안됨

0

405

2

kubectl apply 와 create 차이점

0

890

1

서비스 DNS 연습문제 중 마지막 요청 실패 질문있습니다 (feat. 서비스 생성 실패 해결방법)

0

307

1

master init error

0

549

2

gasbugs/http-go 이미지 에러

1

369

2

GKE 질문입니다

0

297

1

worker에서 join할 때 오류발생

0

559

2

포트포워딩 및 nfs 관련

0

595

1

sessionAffinity 작동관련 질문

0

502

2