登入客户端sleep服务的pod,首先通过如下命令进入版本v1的pod:
export V1_POD=$(kubectl get pod -n whitelist -l app=sleep,version=v1 -o jsonpath={.items..metadata.name})
kubectl exec -it -n whitelist $V1_POD sh
在该版本v1的pod内容发送请求,可以看到httpbin服务返回如下类似的结果:
curl httpbin.whitelist:8000/headers
{
"headers": {
"Accept": "*/*",
"Content-Length": "0",
"Host": "httpbin.whitelist:8000",
"User-Agent": "curl/7.60.0",
"X-B3-Sampled": "1",
"X-B3-Spanid": "3a05a34dda9d4c32",
"X-B3-Traceid": "3a05a34dda9d4c32",
"X-Request-Id": "1e726383-4a38-97a8-a345-676b2b7ebbe7"
}
}
接着,通过如下命令进入版本v2的pod:
export V2_POD=$(kubectl get pod -n whitelist -l app=sleep,version=v2 -o jsonpath={.items..metadata.name})
kubectl exec -it -n whitelist $V2_POD sh
在该版本v2的pod内容发送请求,可以看到httpbin服务拒绝来自sleep:v2的请求,返回如下类似的结果:
curl httpbin.whitelist:8000/headers NOT_FOUND:whitelist.listchecker.whitelist:v2 is not whitelisted/
当然,也可以使用Grafana进行指标可视化,前提是必须在安装了Istio的Kubernetes集群中安装Grafana附加组件。
在Kubernetes环境中,执行以下命令:
kubectl -n istio-system port-forward $(kubectl -n istio-system get pod -l app=grafana -o jsonpath='{.items[0].metadata.name}') 3000:3000
在Web浏览器中访问http://localhost:3000/。通过Grafana UI打开Istio仪表板,如图8-17所示。

图8-17 Istio仪表板的显示结果