本指南介绍如何安装 Online Boutique 示例应用来演示 Anthos Service Mesh。
前提条件
本指南假定您具备:
下载和部署示例
使用
kpt
下载示例:kpt pkg get \ https://github.com/GoogleCloudPlatform/microservices-demo.git/release \ online-boutique
为应用创建命名空间:
kubectl create namespace demo
启用自动 Sidecar 注入(自动注入)。使用以下命令查找
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
列下,记下istiod
修订版本标签的值,该值位于前缀istio.io/rev=
之后。在此示例中,该值为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