Service로 클러스터의 애플리케이션에 접근하기
Service로 클러스터의 애플리케이션에 접근하기 (Use a Service to Access an Application in a Cluster)
이 페이지는 외부 클라이언트가 클러스터 안에서 실행 중인 애플리케이션에 접근하는 데 사용할 수 있는 쿠버네티스 Service 객체를 만드는 방법을 보여줘요. Service는 두 개의 실행 인스턴스가 있는 애플리케이션에 대해 로드 밸런싱을 제공해요.
출처: 문서
본문
시작하기 전에 (Before you begin)
쿠버네티스 클러스터가 있어야 하고, kubectl 명령줄 도구가 클러스터와 통신하도록 구성되어 있어야 해요. 이 튜토리얼은 제어 플레인 호스트로 동작하지 않는 노드가 최소 두 개 있는 클러스터에서 실행하는 것이 권장돼요. 아직 클러스터가 없다면 minikube로 만들거나 다음 쿠버네티스 플레이그라운드 중 하나를 사용할 수 있어요:
목표 (Objectives)
- Hello World 애플리케이션의 인스턴스 두 개를 실행해요.
- 노드 포트를 노출하는 Service 객체를 만들어요.
- Service 객체를 사용해 실행 중인 애플리케이션에 접근해요.
두 파드에서 실행되는 애플리케이션용 Service 만들기
애플리케이션 Deployment의 구성 파일은 다음과 같아요:
apiVersion: apps/v1
kind: Deployment
metadata:
name: hello-world
spec:
selector:
matchLabels:
run: load-balancer-example
replicas: 2
template:
metadata:
labels:
run: load-balancer-example
spec:
containers:
- name: hello-world
image: us-docker.pkg.dev/google-samples/containers/gke/hello-app:2.0
ports:
- containerPort: 8080
protocol: TCP
Service 구성 파일 사용하기
kubectl expose 를 사용하는 대신 service 구성 파일로 Service를 만들 수도 있어요.
정리 (Cleaning up)
Service를 삭제하려면 다음 명령을 입력합니다:
kubectl delete services example-service
Hello World 애플리케이션을 실행하는 Deployment, ReplicaSet, 파드를 삭제하려면 다음 명령을 입력합니다:
kubectl delete deployment hello-world
더 알아보기 (Learn more)
Service로 애플리케이션 연결하기 튜토리얼을 따라 해 보세요.