250x250
Notice
Recent Posts
Recent Comments
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Archives
Today
Total
관리 메뉴

삽더하기실수

Loadbalancer 본문

K8s

Loadbalancer

삽수 2024. 3. 8. 15:24
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