♡ 순서 ♡
1. 온프레미스 환경에서 로드밸런서 사용하기
2. 로드밸런서 타입의 서비스 생성해보기 (nginx)
[ 온프레미스 환경에서 로드밸런서 사용 설정 ]
참고 : https://mlops-for-all.github.io/docs/appendix/metallb/
● ARP 모드 확인
kubectl get configmap kube-proxy -n kube-system -o yaml | grep strictARP
》 strictARP: true 출력 시 넘어가기
》 strictARP: false 출력 시
kubectl get configmap kube-proxy -n kube-system -o yaml | \
sed -e "s/strictARP: false/strictARP: true/" | \
kubectl apply -f - -n kube-system
# 정상 수행 시 출력
Warning: resource configmaps/kube-proxy is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by kubectl apply. kubectl apply should only be used on resources created declaratively by either kubectl create --save-config or kubectl apply. The missing annotation will be patched automatically.
configmap/kube-proxy configured
● Manifest 설치
# MetalLB 설치
kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.11.0/manifests/namespace.yaml
kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.11.0/manifests/metallb.yaml
# 설치 확인 - 모두 Running
kubectl get pod -n metallb-system
● Layer 2 Configuration
# metallb_config.yaml
apiVersion: v1
kind: ConfigMap
metadata:
namespace: metallb-system
name: config
data:
config: |
address-pools:
- name: default
protocol: layer2
addresses:
- 200.200.200.10-200.200.200.50 # 가상머신 IP 대역폭
# 설정 적용
kubectl apply -f metallb_config.yaml
# 정상 배포 시 출력
configmap/config created
이제 쿠버네티스 대시보드에서 로드밸런서를 사용할 수 있습니다 ~ ㅎ^ㅎ
[ Kubernetes Dashboard : Service - LoadBalancer 실습 ]
● Service
apiVersion: v1
kind: Service
metadata:
name: lb-nginx-svc
spec:
selector:
type: front
ports:
- port: 88
targetPort: 80
type: LoadBalancer
● Nginx-pod 1
apiVersion: v1
kind: Pod
metadata:
name: lb-nginx1
labels:
type: front
spec:
containers:
- name: container
image: nginx:latest
》 파드 접속 해서 /usr/share/nginx/html 수정해주기
● Nginx-pod 2
apiVersion: v1
kind: Pod
metadata:
name: lb-nginx2
labels:
type: front
spec:
containers:
- name: container
image: nginx:latest
》 파드 접속 해서 /usr/share/nginx/html 수정해주기
● 확인하기
》 서비스의 외부 엔드 포인트로 접속하기
》 웹 브라우저로 확인하기
》 master node 에서 확인하기
☆ 로드 밸런싱 성공 ~ ★
'CLOUD > Docker&Kubernetes' 카테고리의 다른 글
[Kubernetes] Service - 롤링 업데이트 (0) | 2023.04.25 |
---|---|
[Kubernetes] Service - LoadBalancer : Django-Apache 연동 이미지 파드 생성하기 (2) | 2023.04.25 |
[Kubernetes] Nginx - Gunicorn - Mysql 3계층 연동하기 (Pod/ConfigMap/Service) (2) | 2023.04.24 |
[Kubernetes/CentOS] 쿠버네티스 환경 구축하기 (0) | 2023.04.21 |
[Docker/Linux] 도커 네트워크 확인하기 (0) | 2023.04.20 |