로컬환경에서 로드밸런서 작성시 External IP 관련 질문 드립니다!
436
작성한 질문수 1
안녕하세요 강사님 좋은 강의 정말 잘 보고 있습니다.
다름이 아니라 현재 오픈스택으로 로컬 환경에서 실습 하던 중에 강사님의 강의에서 로드밸런서 타입이나 기타 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. 로드 밸런서를 구성의 맨 앞단에 붙이는 것과 마스터-노드 사이에 서비스로 붙이는 거랑은 완전히 다른 개념인지 궁금합니다.
답변 1
0
안녕하세요 강사 최일선입니다.
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로 구성한 형태를 의미하시는 걸로 생각됩니다. 이러한 형태로 구동됩니다.
외부에 서비스를 위한 노드를 구성할 때는 다음과 같은 형태로 구현됩니다.

말씀하신 내용을 제가 잘 인지했는지 확인하기 어려워서 일단 제가 이해하는데로 답변드렸습니다. 부디 도움이 되셨길 바랍니다.
감사합니다!
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
1374
2
강의해주시는 별도의 강의 자료는 없나요 ??
0
204
1
스토리지 클래스
0
220
1
버전관리
0
179
1
강의 흐름 이상
0
258
1
4 쿠버네티스 워크로드에서부터 갑자기
0
252
1
영상이 나오지 않습니다.
1
218
1
kubeadm init 실패(+join할 때도 참고)
2
1482
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





