MetalLB 설치하기
MetalLB는 Bare Metal 환경의 K8S 환경에서 사용 가능한 Load-Balancer입니다.
MetalLB를 사용하면 클라우드 공급자(GCP, AWS, Azure 등)의 도움 없이도 서비스 를 외부에 공개할 수 있습니다.
MetalLB Helm chart 다운로드
다음 Repository에서 Helm chart를 다운로드합니다.
https://github.com/metallb/metallb
Namespace 생성하기
MetalLB는 크게 2종류의 Pod를 생성하는데, External IP를 부여하고 관리하는 controller와 실제 외부 트래픽과 서비스를 연결해 주는 speaker가 있습니다.
speaker Pod는 이 네트워크 기능을 위해 좀 더 높은 권한이 필요합니다. speaker Pod에 권한을 부여하기 위해1 다음과 같이 Namespace 설정 파일을 생성합니다.
metallb-ns.yaml
apiVersion: v1
kind: Namespace
metadata:
name: metallb-system
labels:
pod-security.kubernetes.io/enforce: privileged
pod-security.kubernetes.io/audit: privileged
pod-security.kubernetes.io/warn: privileged