더북(TheBook)

서비스의 입장이 되어 생각해 보면, 서비스의 레이블 셀렉터와 일치하는 파드가 많으면 파드보다 먼저 노드를 선택해야 하니 까다로운 문제처럼 보인다. 그러나 이런 문제는 쿠버네티스가 다 맡아 해결해 준다. 괜히 전 세계에서 쓰이는 오케스트레이션 도구가 된 것이 아니다. 우리는 그냥 로드밸런서 서비스를 클러스터에 배치하면 그만이다. 예제 3-3은 웹 애플리케이션에 트래픽을 전달하는 서비스의 정의다.

예제 3-3 web-service.yaml, 외부 트래픽을 전달하는 로드밸런서 서비스의 정의

apiVersion: v1
kind: Service

metadata:
   name: numbers-web

spec:
  ports:
    - port: 8080         # 서비스가 주시하는 포트
     targetPort: 80      # 트래픽이 전달될 파드의 포트
  selector:
    app: numbers-web
  type: LoadBalancer     # 외부 트래픽도 전달할 수 있는 서비스
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.