샘플 애플리케이션 배포하기

샘플 애플리케이션 배포하기 (Deploy a sample application)

Istio를 탐색하기 위해, 다양한 Istio 기능을 시연하는 데 사용되는 네 개의 개별 마이크로서비스로 구성된 샘플 Bookinfo 애플리케이션을 설치할 거예요.

출처: Istio 문서

본문

이 가이드의 일부로, Bookinfo 애플리케이션을 배포하고 인그레스 게이트웨이를 사용해 productpage 서비스를 노출할 거예요.

Bookinfo 애플리케이션 배포하기 (Deploy the Bookinfo application)

애플리케이션 배포부터 시작하세요:

$ kubectl apply -f @samples/bookinfo/platform/kube/bookinfo.yaml@
$ kubectl apply -f @samples/bookinfo/platform/kube/bookinfo-versions.yaml@

애플리케이션이 실행 중인지 확인하려면 파드의 상태를 확인하세요:

$ kubectl get pods
NAME                             READY   STATUS    RESTARTS   AGE
details-v1-cf74bb974-nw94k       1/1     Running   0          42s
productpage-v1-87d54dd59-wl7qf   1/1     Running   0          42s
ratings-v1-7c4bbf97db-rwkw5      1/1     Running   0          42s
reviews-v1-5fd6d4f8f8-66j45      1/1     Running   0          42s
reviews-v2-6f9b55c5db-6ts96      1/1     Running   0          42s
reviews-v3-7d99fd7978-dm6mx      1/1     Running   0          42s

클러스터 밖에서 productpage 서비스에 접근하려면 인그레스 게이트웨이를 구성해야 해요.

인그레스 게이트웨이 배포·구성하기 (Deploy and configure the ingress gateway)

쿠버네티스 Gateway API를 사용해 bookinfo-gateway라는 게이트웨이를 배포할 거예요:

$ kubectl apply -f @samples/bookinfo/gateway-api/bookinfo-gateway.yaml@

기본적으로 Istio는 게이트웨이에 LoadBalancer 서비스를 만들어요. 터널로 이 게이트웨이에 접근할 것이므로 로드 밸런서는 필요 없어요. 게이트웨이에 어노테이션을 붙여 서비스 타입을 ClusterIP로 바꾸세요:

$ kubectl annotate gateway bookinfo-gateway networking.istio.io/service-type=ClusterIP --namespace=default

게이트웨이의 상태를 확인하려면 다음을 실행하세요:

$ kubectl get gateway
NAME               CLASS   ADDRESS                                            PROGRAMMED   AGE
bookinfo-gateway   istio   bookinfo-gateway-istio.default.svc.cluster.local   True         42s

계속하기 전에 게이트웨이가 programmed로 표시될 때까지 기다리세요.

애플리케이션 접근하기 (Access the application)

방금 준비한 게이트웨이를 통해 Bookinfo productpage 서비스에 연결할 거예요. 게이트웨이에 접근하려면 kubectl port-forward 명령을 사용해야 해요:

$ kubectl port-forward svc/bookinfo-gateway-istio 8080:80

브라우저를 열고 http://localhost:8080/productpage로 이동해 Bookinfo 애플리케이션을 확인하세요.

페이지를 새로고침하면, 요청이 reviews 서비스의 서로 다른 버전들에 분산되면서 책 평점 표시가 바뀌는 것을 볼 수 있어요.

다음 단계 (Next steps)

애플리케이션을 메시에 추가하고 애플리케이션 간 통신을 보호하고 시각화하는 방법을 배우려면 다음 섹션으로 계속하세요.

더 알아보기 (Learn more)