이 서비스는 8080번 포트를 주시하다가 해당 포트로 들어오는 트래픽을 웹 애플리케이션 파드의 80번 포트로 전달한다. 이 서비스가 클러스터에 배포되면 kubectl로 따로 포트포워딩을 설정하지 않아도 웹 애플리케이션에 접근할 수 있다. 다만 그 구체적인 과정은 쿠버네티스 클러스터의 상황에 따라 달라질 수 있다.
실습 앞서 정의한 로드밸런서 서비스를 클러스터에 배치하고, kubectl을 사용해서 해당 서비스의 IP 주소를 찾아라.
# 로드밸런서 서비스를 배치한다 # 방화벽에서 접근 허용 여부를 묻는다면 허용하라 kubectl apply -f numbers/web-service.yaml # 서비스의 상세 정보를 확인한다 kubectl get svc numbers-web # 애플리케이션의 URL을 EXTERNAL-IP 필드로 출력한다 kubectl get svc numbers-web -o jsonpath='http://{.status.loadBalancer.ingress[0].*}:8080'
그림 3-9에 필자의 도커 데스크톱 클러스터에서 실행한 결과를 실었다. 웹 브라우저에서 http://localhost:8080으로 접근하니 웹 애플리케이션의 페이지를 볼 수 있었다.