rancher2试玩istio,安装部署官方示例bookinfo体验

最新Rancher2.3.0已官方支持istio一键安装

一、版本

Rancher2版本 v2.1.3

istio :1.0.2

k8s:1.11.5

二、安装istio

1、应用商店找到istio


rancher2试玩istio,安装部署官方示例bookinfo体验_第1张图片

2、修改部署参数

由于gcr.io被墙的关系,默认的istio包是下载不到的,不过没关系,可以在istio dockerhub上已经有构建好的相关的包。

我这里选择istio v1.0.2,当时已经出到v1.0.5,但由于 grafana还只有v1.0.2的包,所以这里选择了v1.0.2

选择不使用默认image,然后按照红框修改。

rancher2试玩istio,安装部署官方示例bookinfo体验_第2张图片
修改部署参数


rancher2试玩istio,安装部署官方示例bookinfo体验_第3张图片
其他参数1


rancher2试玩istio,安装部署官方示例bookinfo体验_第4张图片
其他参数2


3、然后点击启动,等待自动部署安装。

按照完成后如下图

rancher2试玩istio,安装部署官方示例bookinfo体验_第5张图片
安装完成

安装好之后有4个负载均衡,如下图,其中grafana需要自己配

gateway,还没部署应用,暂时访问不到

servicegraph,访问报404。

kiali、tracing 直接可以打开

rancher2试玩istio,安装部署官方示例bookinfo体验_第6张图片
负载均衡部分

1、kiali   地址:http://kiali.rancher.istio。(注意:域名是自定义的,需要修改hosts,将域名指向集群任意机器)

如果没有访问过istio边车的应用,里面刚开始进去是没有数据的。后面部署了bookinfo示例应用,有应用流量访问之后再回过头来查看监控,就有数据了。

rancher2试玩istio,安装部署官方示例bookinfo体验_第7张图片
kiali 

2、tracing     http://tracing.rancher.istio

此时没有访问过,应该是没有数据的


rancher2试玩istio,安装部署官方示例bookinfo体验_第8张图片
tracing

3、grafana    http://graph2.rancher.istio

rancher2试玩istio,安装部署官方示例bookinfo体验_第9张图片
grafana效果图

grafana需要自己添加负载均衡才能打开,按照如下方式添加ingress

然后访问配置的域名即可,记得改hosts

rancher2试玩istio,安装部署官方示例bookinfo体验_第10张图片
istio grafana负载均衡配置

三、安装bookinfo示例

bookinfo是官方的一个istio的示例

地址:https://istio.io/docs/examples/bookinfo/

1、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个红星。

应用程序的端到端架构如下所示。


rancher2试玩istio,安装部署官方示例bookinfo体验_第11张图片



rancher2试玩istio,安装部署官方示例bookinfo体验_第12张图片
部署了istio envoy边车的架构,envoy以棕色的方块标识

2、开始安装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>安装好之后的效果

rancher2试玩istio,安装部署官方示例bookinfo体验_第13张图片
bookinfo

看应用里面是否注入了enovy

rancher2试玩istio,安装部署官方示例bookinfo体验_第14张图片
每个应用里面都注入了enovy


4>istio-gateway

rancher2试玩istio,安装部署官方示例bookinfo体验_第15张图片
istio-gateway

5>访问网址  :http://gateway.rancher.istio/productpage

不断刷新,会出现不同的效果,istio在此示例中为我们展示了指向不同版本的流量负载均衡。

这个时候再回去查看之前配的grafana、kiali、tracing就开始有数据了。

rancher2试玩istio,安装部署官方示例bookinfo体验_第16张图片
效果1-红星星


rancher2试玩istio,安装部署官方示例bookinfo体验_第17张图片
效果2-黑星星


rancher2试玩istio,安装部署官方示例bookinfo体验_第18张图片
效果3-无星星

还可以通过修改配置实现灰度发布、限流、智能路由等效果,建议前往官方向导,继续尝试istio的各种高级特性。

rancher2试玩istio,安装部署官方示例bookinfo体验_第19张图片
istio的其他高级特性示例

四:补充一下负载均衡的配置(某些监控访问不到,需要修改负载均衡配置)

如果安装的时候没有选择配置负载均衡,后面可以手动添加

rancher2试玩istio,安装部署官方示例bookinfo体验_第20张图片
grafana



rancher2试玩istio,安装部署官方示例bookinfo体验_第21张图片
istio-gateway
rancher2试玩istio,安装部署官方示例bookinfo体验_第22张图片
这里默认是zipkin,要改成tracing


rancher2试玩istio,安装部署官方示例bookinfo体验_第23张图片
kiali

五、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/

你可能感兴趣的:(rancher2试玩istio,安装部署官方示例bookinfo体验)