BareMetal에 RKE를 사용하여 Kubernetes 단일노드 설치
이전 글에서는 BareMetal에 RKE를 사용하여 단일노드 Kubernetes를 설치하였습니다.
이번 글에서는 LoadBalancer 역할을 하는 MetalLB를 설치하는 과정에 대해서 설명하겠습니다.
더 자세한 정보는 MetalLB 공식 문서를 참고해 주시기 바랍니다.
1. 설치
MetalLB 설치를 위해 아래의 코드를 복사하여 실행합니다.
kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.9.5/manifests/namespace.yaml
kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.9.5/manifests/metallb.yaml
# On first install only
kubectl create secret generic -n metallb-system memberlist --from-literal=secretkey="$(openssl rand -base64 128)"
2. 설정
MetalLB의 L2 Layer 구성을 위해 아래의 코드를 복사하여 metallb-config.yaml 파일을 생성합니다.
apiVersion: v1
kind: ConfigMap
metadata:
namespace: metallb-system
name: config
data:
config: |
address-pools:
- name: default
protocol: layer2
addresses:
- 192.168.253.240-192.168.253.250
참고 ) addresses의 ip range는 host의 구성에 따라 변경되어야 합니다.
- 현재 문서에서 진행하고 있는 설치 과정에서는 VMWare를 사용하여 NIC를 NAT로 구성하였습니다.
- 이전 포스팅에서 host ip는 192.168.253.140으로 설정하였고, metallb-config.yaml에 host ip와 겹치지 않는 ip range를 사용하였습니다.
- 만약 구성하시고 계시는 현재의 host가 고정 ip를 사용하고 있으며, ip의 여유가 없는 경우 host ip를 중복해서 넣어주시면 됩니다.
아래의 명령을 실행하여 MetalLB의 ConfigMap을 생성합니다.
kubectl create -f metallb-config.yaml
3. 테스트
LoadBalancer Type으로 Service를 생성하는 Nginx 예제를 실행하겠습니다.
아래의 코드를 복사하여 nginx.yaml로 생성해주세요.
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
spec:
replicas: 1
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginxdemos/hello:plain-text
ports:
- containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
name: nginx-service
annotations:
metallb.universe.tf/address-pool: default
metallb.universe.tf/allow-shared-ip: shared
spec:
selector:
app: nginx
ports:
- port: 80
targetPort: 80
type: LoadBalancer
아래의 명령을 사용하여 POD와 Service를 생성합니다.
kubectl create -f nginx.yaml
아래 명령을 사용해, EXTERNAL-IP가 할당된 모습을 확인할 수 있습니다.
kubectl get svc -A
EXTERNAL-IP인 192.168.253.240으로 접속 시, Nginx POD의 Response 내용을 볼 수 있습니다.
'개발 > Kubernetes' 카테고리의 다른 글
BareMetal에 RKE를 사용하여 Kubernetes 단일노드 설치 (0) | 2020.12.25 |
---|
최근댓글