[k8s] load balancer for bare-metal
by SuSu Daddy반응형
□ 개념 정리
Kubernetes는 bare-metal 클러스터에서는 LoadBalancer 서비스 구현을 제공하지 않는다.
이를 해결하기 위해서는 bare-metal 환경에서 운영되는 시스템은 MetalLB설치를 통해 해결 가능하다.
※ MetalLB: 온프레미스/베어메탈로 구성된 쿠버네티스에서도 로드밸런서를 사용할 수 있게 고안된 프로젝트. 기존의 L2
네트워크(ARP/NDP)와 L3(BGP)로 로드밸런서를 구현.
□ MetalLB 설치
MetalLB 설치를 위해 namespace를 만들고 MetalLB 컴포넌트를 생성
# 네임스페이스 생성
kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.10.2/manifests/namespace.yaml
# MetalLB components 생성
kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.10.2/manifests/metallb.yaml
configmap으로 등록된 address-pools 대역으로 LoadBalancer 포트가 지정된다
#config.yaml
apiVersion: v1
kind: ConfigMap
metadata:
namespace: metallb-system
name: config
data:
config: |
address-pools:
- name: default
protocol: layer2
addresses:
- 10.100.0.110-10.100.0.120 #Control-planel 및 worker 노드와 동일한 네트워크 대역 설정
# yaml파일 적용
# kubectl apply -f config.yaml
반응형
'Dev > Kubernetes' 카테고리의 다른 글
Kubernetes와 가상화 기술 (0) | 2022.12.18 |
---|---|
[k8s] Install jenkins with Helm (0) | 2022.08.24 |
[k8s] Install ingress-nginx with Helm (0) | 2022.08.24 |
[k8s]쿠버네티스 대시보드(dash-board) 설치 (0) | 2022.08.15 |
[k8s] 1. 쿠버네티스로 컨테이너 실행하기 (0) | 2022.08.12 |
블로그의 정보
SuSu Daddy
SuSu Daddy