이 페이지에서는 샘플 애플리케이션을 Anthos Service Mesh에 배포하는 방법을 설명합니다. Anthos Service Mesh를 설치하지 않은 경우 설치 가이드 섹션을 참조하여 적합한 가이드를 선택하세요.
Anthos Service Mesh와 함께 몇 가지 샘플 애플리케이션이 설치됩니다. 이 가이드에서는 BookInfo 샘플을 배포하는 과정을 안내합니다. 모두 Anthos Service Mesh를 사용하여 관리되는 웹 제품 페이지, 도서 세부정보, 리뷰(여러 버전의 리뷰 서비스 사용), 평점을 제공하는 4가지 서비스로 구성된 간단한 샘플 Bookstore 애플리케이션입니다. 이 예시에서 사용된 소스 코드 및 다른 모든 파일은 samples/bookinfo
의 Anthos Service Mesh 설치 디렉터리에서 찾을 수 있습니다.
Bookinfo 배포
다음 단계를 따라 각 서비스와 함께 사이드카 프록시가 삽입된 BookInfo 애플리케이션 서비스를 배포합니다.
Anthos Service Mesh가 설치된 컴퓨터의 명령줄에서 Anthos Service Mesh 설치 디렉터리의 루트로 이동합니다.
istio-injection=enabled
를 사용하여 애플리케이션을 호스팅할 네임스페이스에 라벨을 지정합니다.kubectl label namespace default istio-injection=enabled
kubectl
을 사용하여 애플리케이션을 배포합니다.kubectl apply -f samples/bookinfo/platform/kube/bookinfo.yaml
다음 명령어를 실행하여 애플리케이션이 올바르게 배포되었는지 확인합니다.
kubectl get services
출력:NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE details 10.0.0.31 <none> 9080/TCP 6m kubernetes 10.0.0.1 <none> 443/TCP 7d productpage 10.0.0.120 <none> 9080/TCP 6m ratings 10.0.0.15 <none> 9080/TCP 6m reviews 10.0.0.170 <none> 9080/TCP 6m
및
kubectl get pod
출력:NAME READY STATUS RESTARTS AGE details-v1-1520924117-48z17 2/2 Running 0 6m productpage-v1-560495357-jk1lz 2/2 Running 0 6m ratings-v1-734492171-rnr5l 2/2 Running 0 6m reviews-v1-874083890-f0qf0 2/2 Running 0 6m reviews-v2-1343845940-b34q5 2/2 Running 0 6m reviews-v3-1813607990-8ch52 2/2 Running 0 6m
마지막으로 애플리케이션에 대해 인그레스 게이트웨이 라우팅을 정의합니다.
kubectl apply -f samples/bookinfo/networking/bookinfo-gateway.yaml
애플리케이션 배포 검증
BookInfo 애플리케이션이 작동하는지 확인하려면 인그레스 게이트웨이로 트래픽을 보내야 합니다.
VMware용 Anthos 클러스터에 Anthos Service Mesh를 설치한 경우 Anthos Service Mesh를 설치한 후 구성한 인그레스 게이트웨이의 외부 IP 주소를 가져옵니다.
GKE에 Anthos Service Mesh를 설치한 경우 다음과 같이 인그레스 게이트웨이의 외부 IP 주소를 가져옵니다.
kubectl get svc istio-ingressgateway -n istio-system
출력:NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE istio-ingressgateway LoadBalancer 10.19.247.233 35.239.7.64 80:31380/TCP,443:31390/TCP,31400:31400/TCP 27m
이 예시에서 인그레스 서비스의 IP 주소는
35.239.7.64
입니다.
애플리케이션 시험 사용
curl
을 사용하여 BookInfo 앱이 실행되는지 확인합니다.curl -I http://EXTERNAL_IP/productpage
응답에
200
이 표시되면 애플리케이션이 Anthos Service Mesh와 함께 올바르게 작동되고 있음을 나타냅니다.BookInfo 웹페이지를 보려면 브라우저에 다음 주소를 입력합니다.
http://EXTERNAL_IP/productpage
페이지를 여러 번 새로고침하면 여러 버전의 리뷰가 제품 페이지에 라운드 로빈 스타일로 표시됩니다(빨간색 별, 검은색 별, 별 없음).
이제 트래픽을 생성하는 애플리케이션이 있으므로 Cloud Console에서 Anthos Service Mesh 페이지를 탐색하여 측정항목 및 기타 관측 가능성 기능을 확인할 수 있습니다.
다음 단계
삭제
Bookinfo 샘플의 실험이 끝나면 클러스터에서 삭제합니다.
다음 스크립트를 사용하여 Bookinfo를 제거합니다.
samples/bookinfo/platform/kube/cleanup.sh
종료를 확인합니다.
kubectl get services
kubectl get pods
Bookinfo Pod를 삭제해야 합니다.