삽더하기실수
Loadbalancer 본문
반응형
    
    
    
  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로 연결시켜줘 버린다.

반응형
    
    
    
  '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 |