이 가이드에서는 Anthos Boutique 샘플 애플리케이션을 설치하여 Anthos Service Mesh를 보여주는 방법을 설명합니다.
기본 요건
이 가이드에서는 다음 작업을 이미 완료했다고 가정합니다.
샘플 다운로드 및 배포
kpt
를 사용하여 샘플을 다운로드합니다.kpt pkg get \ https://github.com/GoogleCloudPlatform/microservices-demo.git/release \ online-boutique
애플리케이션의 네임스페이스를 만듭니다.
kubectl create namespace demo
자동 사이드카 삽입을 사용 설정합니다(자동 삽입). 다음 명령어를 사용하여
istiod
서비스에서 이후 단계에 사용할 버전 라벨 값을 포함하는 라벨을 찾습니다.kubectl -n istio-system get pods -l app=istiod --show-labels
출력은 다음과 유사합니다.
NAME READY STATUS RESTARTS AGE LABELS istiod-asm-186-8-5788d57586-bljj4 1/1 Running 0 23h app=istiod,istio.io/rev=asm-186-8,istio=istiod,pod-template-hash=5788d57586 istiod-asm-186-8-5788d57586-vsklm 1/1 Running 1 23h app=istiod,istio.io/rev=asm-186-8,istio=istiod,pod-template-hash=5788d57586
출력의
LABELS
열 아래에서istio.io/rev=
프리픽스 다음에 있는istiod
버전 라벨의 값을 확인합니다. 이 예시에서 값은asm-186-8
입니다.네임스페이스에 버전 라벨을 적용합니다. 다음 명령어에서 REVISION은 이전 단계에서 확인한
istiod
버전 라벨의 값입니다.kubectl label namespace demo istio-injection- istio.io/rev=REVISION --overwrite
출력에서
"istio-injection not found"
메시지는 무시해도 됩니다. 즉, 네임스페이스에 이전에istio-injection
라벨이 사용되지 않았으며, Anthos Service Mesh를 새로 설치하거나 새로 배포해야 합니다. 네임스페이스에istio-injection
및 버전 라벨이 모두 포함된 경우 자동 삽입이 실패하기 때문에 Anthos Service Mesh 문서에서 모든kubectl label
명령어에는istio-injection
라벨 삭제가 포함됩니다.클러스터에 샘플을 배포합니다.
kubectl apply -n demo -f online-boutique
애플리케이션의 외부 IP 주소를 찾습니다.
kubectl get service frontend-external -n demo
브라우저에서 애플리케이션을 방문하여 설치를 확인합니다.
http://EXTERNAL_IP/
GKE의 경우 Google Cloud 콘솔에서 Anthos Service Mesh 관측 가능성 기능을 탐색할 수 있습니다. 토폴로지 그래프가 메시에 서비스를 표시하는 데 최대 10분이 걸릴 수 있습니다.
탐색이 완료되면 Online Boutique 샘플을 삭제합니다.
kubectl delete namespaces demo