삽더하기실수
Loadbalancer 본문
728x90
Loadbalancer 이란
별도의 외부 로드 밸런서를 제공하는 클라우드(AWS, Azure, GCP 등) 환경을 고려하여, 해당 로드 밸런서를 클러스터의 서비스로 프로비저닝할 수 있는 LoadBalancer 유형이 제공된다.
위 산진과 같이 80번으로 들어올경우 80번의 파드를 불러들이는데 사용한다(여기선 로드밸런싱의 역할 보단 포트를 대신해서 사용한 느낌으로 이해한다)
loadbalancer-11.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: deploy-nginx
labels:
app: deploy-nginx
spec:
replicas: 3
selector:
matchLabels:
app: deploy-nginx
template:
metadata:
labels:
app: deploy-nginx
spec:
containers:
- name: nginx
image: nginx
---
apiVersion: v1
kind: Service
metadata:
name: lb-nginx
spec:
selector:
app: deploy-nginx
ports:
- name: http
port: 80
targetPort: 80
type: LoadBalancer
loadbalancer-12.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: deploy-chk-ip
labels:
app: deploy-chk-ip
spec:
replicas: 3
selector:
matchLabels:
app: deploy-chk-ip
template:
metadata:
labels:
app: deploy-chk-ip
spec:
containers:
- name: chk-ip
image: sysnet4admin/chk-ip
---
apiVersion: v1
kind: Service
metadata:
name: lb-chk-ip
spec:
selector:
app: deploy-chk-ip
ports:
- name: http
port: 80
targetPort: 80
type: LoadBalancer
위에 yaml 파일들을 실행시키면 해당 pod들이 생성이 된다.
svc 또한 생성이 되는데 우선 편의를 위해 192.168.1.11로 연결된 노드만 보자(delploy-nginx)
위와 같이 svc의 ip 로만 접속하여도 파드의 80번 포트로 연결 시켜주는 걸 볼 수 있다.
결론
아래와 같이 노드를 거치지 않고 바로 svc에서 노드의 Pod로 연결시켜줘 버린다.
728x90
'K8s' 카테고리의 다른 글
인그레스(Ingress) (0) | 2024.03.18 |
---|---|
엔드포인트 (0) | 2024.03.18 |
Headless (1) | 2024.03.08 |
NodePort (0) | 2024.03.08 |
ExternalName (0) | 2024.03.08 |