- 硬件资源充足
- Kubernetes 1.9.1+
- docker 1.12+
- istioctl 0.7.1
- git
忽略
从项目中获取安装YAML文件
git clone https://github.com/liyanyanli/example-istio.git
安装 Istio (其中包含prometheus、zipkin、servicegraph等组件,可根据集群情况通过nodeport,ingress等方式提供外部访问)
cd example-istio
kubectl apply -f istio
安装 Istioctl
cp bin/istioctl /usr/bin/istioctl
运行示例应用bookinfo
kubectl apply -n default -f <(istioctl kube-inject -f example/bookinfo/bookinfo.yaml)
以下例子均以bookinfo为测试应用
Bookinfo应用程序分为四个独立的微服务:
- productpage: 调用details和reviews服务,展示页面
- details:包含书籍信息
- reviews:包含书评
- ratings:包含伴随书评的书籍排名信息
有3个版本的reviews:
- 版本v1不会调用评分服务
- 版本v2调用评分服务,并将每个评分显示为1至5个黑星
- 版本v3调用评分服务,并将每个评分显示为1到5个红色星星
流量管理:将“reviews”服务100%的传入流量发送到“v1”版本
下发配置:
istioctl create -f example/policy/RouteRule.yaml
配置后:
更多规则配置例子见 /example/policy/kube