美文网首页
rancher2试玩istio,安装部署官方示例bookinfo

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

作者: GreperXiao | 来源:发表于2019-01-19 10:17 被阅读0次

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

    一、版本

    Rancher2版本 v2.1.3

    istio :1.0.2

    k8s:1.11.5

    二、安装istio

    1、应用商店找到istio

    2、修改部署参数

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

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

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

    修改部署参数 其他参数1 其他参数2

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

    按照完成后如下图

    安装完成

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

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

    servicegraph,访问报404。

    kiali、tracing 直接可以打开

    负载均衡部分

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

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

    kiali 

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

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

    tracing

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

    grafana效果图

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

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

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

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

    部署了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>安装好之后的效果

    bookinfo

    看应用里面是否注入了enovy

    每个应用里面都注入了enovy

    4>istio-gateway

    istio-gateway

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

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

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

    效果1-红星星 效果2-黑星星 效果3-无星星

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

    istio的其他高级特性示例

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

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

    grafana istio-gateway 这里默认是zipkin,要改成tracing 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

          本文链接:https://www.haomeiwen.com/subject/fkjmkqtx.html