1、版本html
Rancher2版本 v2.1.3git
istio :1.0.2github
k8s:1.11.5docker
2、安装istio架构
一、应用商店找到istioapp
二、修改部署参数负载均衡
因为gcr.io被墙的关系,默认的istio包是下载不到的,不过不要紧,能够在istio dockerhub上已经有构建好的相关的包。微服务
我这里选择istio v1.0.2,当时已经出到v1.0.5,但因为 grafana还只有v1.0.2的包,因此这里选择了v1.0.2测试
选择不使用默认image,而后按照红框修改。this
三、而后点击启动,等待自动部署安装。
按照完成后以下图
安装好以后有4个负载均衡,以下图,其中grafana须要本身配
gateway,还没部署应用,暂时访问不到
servicegraph,访问报404。
kiali、tracing 直接能够打开
一、kiali 地址:http://kiali.rancher.istio。(注意:域名是自定义的,须要修改hosts,将域名指向集群任意机器)
若是没有访问过istio边车的应用,里面刚开始进去是没有数据的。后面部署了bookinfo示例应用,有应用流量访问以后再回过头来查看监控,就有数据了。
二、tracing http://tracing.rancher.istio
此时没有访问过,应该是没有数据的
三、grafana http://graph2.rancher.istio
grafana须要本身添加负载均衡才能打开,按照以下方式添加ingress
而后访问配置的域名便可,记得改hosts
3、安装bookinfo示例
bookinfo是官方的一个istio的示例
地址:https://istio.io/docs/examples/bookinfo/
一、bookinfo介绍
此示例部署了一个示例应用程序,该应用程序由四个独立的微服务组成,用于演示各类Istio功能。应用程序显示有关书籍的信息,相似于在线书店的单个商品。页面上显示的是书籍的描述,书籍详细信息(ISBN,页数等)以及一些书评。
Bookinfo应用程序分为四个独立的微服务:
productpage。该productpage微服务调用details和reviews微服务来填充页面。
details。该details微服务包含图书信息。
reviews。该reviews微服务包含了书评。它也称为ratings微服务。
ratings。该ratings微服务包含伴随书评书排名信息。
reviews微服务有3个版本:
版本v1不会调用该ratings服务。
版本v2调用该ratings服务,并将每一个评级显示为1到5个黑色星。
版本v3调用该ratings服务,并将每一个评级显示为1到5个红星。
应用程序的端到端架构以下所示。
二、开始安装bookinfo(若是跟着个人流程走有问题,建议直接去跟着官方文档上的安装步骤走。)
如今,开始部署一个测试应用而且测试Istio的强大功能。首先,部署Bookinfo示例应用。这个应用有趣的部分在于它有三个版本的reviews程序同时运行。咱们可-以在这三个版本的程序中体验到Istio的一些功能。接着,访问rancher-demo的默认项目中的工做负载来部署Bookinfo app,具体的操做是:
1>执行kube命令,开启自动边车注入。
kubectl label namespace default istio-injection=enabled
此命令将default命名空间标记为自动注入,若是你将bookinfo应用部署到其余命名空间,要将此处default替换。
2>而后安装bookinfo应用
点击Import Yaml;下载bookinfo.yaml(https://info.rancher.com/hubfs/bookinfo.yaml)到本地;
当你进入Import Yaml菜单以后,经过从文件读取,将其上传至Rancher;
对于 Import Mode,选择【集群:将任何资源直接导入此集群】Cluster: Direct import of any resources into this cluster;
点击【导入/Import】。
3>经过Istio暴露Bookinfo app
应用此bookinfo-gateway.yaml(https://info.rancher.com/hubfs/bookinfo-gateway.yaml),操做方式与bookinfo.yaml相同
或者按照官方步骤:
kubectl label namespace default istio-injection=enabled
kubectl apply -f https://raw.githubusercontent.com/istio/istio/release-1.0/samples/bookinfo/platform/kube/bookinfo.yaml
kubectl apply -f https://raw.githubusercontent.com/istio/istio/release-1.0/samples/bookinfo/networking/bookinfo-gateway.yaml
固然同样的能够将yaml下载下来,而后在rancher界面上导入
3>安装好以后的效果
看应用里面是否注入了enovy
4>istio-gateway
5>访问网址 :http://gateway.rancher.istio/productpage
不断刷新,会出现不一样的效果,istio在此示例中为咱们展现了指向不一样版本的流量负载均衡。
这个时候再回去查看以前配的grafana、kiali、tracing就开始有数据了。
还能够经过修改配置实现灰度发布、限流、智能路由等效果,建议前往官方向导,继续尝试istio的各类高级特性。
四:补充一下负载均衡的配置(某些监控访问不到,须要修改负载均衡配置)
若是安装的时候没有选择配置负载均衡,后面能够手动添加
5、image拉取不到的问题
安装过程当中可能会有拉取image失败的问题,由于gcr.io被墙,因此须要从其余地方拉取image,而后修改image的tag
例如: proxy_init
咱们先去dockerhub上找image,https://hub.docker.com/r/istio/proxy_init/tags ,dockerhub是没有被墙的
而后到报错的主机上执行以下命令
docker pull istio/proxy_init:1.0.2
docker tag istio/proxy_init:1.0.2 gcr.io/istio-release/proxy_init:release-1.0
其中 gcr.io/istio-release/proxy_init:release-1.0 是报错的image的tag
而后就能够安装成功,若是遇到其余image被墙的问题,均可以按照该方法解决
今天istio试玩就到这里,感谢阅读
参考文章:
https://www.cnblogs.com/ganxie01/p/9468394.html
https://istio.io/docs/examples/bookinfo/