728x90

k8s에서 LoadBalancer 구성하기 (classic, nlb)
💡 k83에서 로드밸런서 사용하기
- on-premise : metallb를 사용하여 LB를 구축해둔다.
- aws : 자체적으로 LB 서비스를 제공하고 있으므로 yaml 파일 내에서 서비스 타입을 LoadBalancer를 지정하면 자동으로 LB api와 연결하여 LB를 생성해준다.
- alb : L7 LoadBalancer → ingress를 생성해준다.
- nlb : L4 LoadBalancer
- classic lb ← Haproxy를 이용하여 기본적인 기능의 L4, L7의 기능을 제공한다.
✏️ EKS에서 별다른 옵션없이 LB 서비스를 배포하면 Classic LB가 배포된다.
만약, nlb & alb를 선택하고 싶다면 추가 옵션을 metadata에 추가.
✅ Pod 배포
apiVersion: v1
kind: Pod
metadata:
name: nginx-pod
labels:
app: nginx-pod
spec:
containers:
- name: nginx-ctn
image: nginx
ports:
- containerPort: 80
nginx_pod.yaml
✅ LB 배포
apiVersion: v1
kind: Service
metadata:
name: nginx-lb
spec:
type: LoadBalancer
selector:
app: nginx-pod
ports:
- protocol: TCP
port: 8080
targetPort: 80
nginx_lb.yaml

✅ EC2 > 로드 밸런서


✅ DNS 이름:포트로 웹 확인

✅ nlb 타입으로 배포
apiVersion: v1
kind: Service
metadata:
name: nginx-lb
annotations:
service.beta.kubernetes.io/aws-load-balancer-type: "nlb"
spec:
type: LoadBalancer
selector:
app: nginx-pod
ports:
- protocol: TCP
port: 8080
targetPort: 80
nginx_lb.yaml


728x90
'Linux > Kubernetes' 카테고리의 다른 글
| [AWS] Amazon ECR - 프라이빗 리포지토리 생성하기 (0) | 2024.02.21 |
|---|---|
| [AWS] ELK로 클러스터 구성하기 (0) | 2024.02.21 |
| [Kubernetes] 쿠버네티스 환경에서 Canary Update 실습 (0) | 2024.02.20 |