Istio 1.0学习笔记(九):使用Istio Service Mesh可视化工具kiali

栏目: 后端 · 发布时间: 6年前

内容简介:kiali作为Istio的可观测工具,可以认为是Istio的UI,可以展现服务的网络拓扑、服务的容错情况(超时、重试、短路等)、分布式跟踪(通过Jaeger Tracing)等。 本文将结合Istio自带的Bookinfo应用体验一下Kiali。具体Bookinfo应用的部署请查看查看一下samples/bookinfo/networking/bookinfo-gateway.yaml,修改如下:

kiali作为Istio的可观测工具,可以认为是Istio的UI,可以展现服务的网络拓扑、服务的容错情况(超时、重试、短路等)、分布式跟踪(通过Jaeger Tracing)等。 本文将结合Istio自带的Bookinfo应用体验一下Kiali。

1.bookinfo示例应用

具体Bookinfo应用的部署请查看 Bookinfo Application ,在将Bookinfo应用部署到Kubernetes集群后,创建Istio Gateway和VirtualService将Bookinfo应用暴露到集群外部。

查看一下samples/bookinfo/networking/bookinfo-gateway.yaml,修改如下:

apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
  name: bookinfo-gateway
spec:
  selector:
    istio: ingressgateway # use istio default controller
  servers:
  - port:
      number: 80
      name: http
      protocol: HTTP
    hosts:
    - bookinfo.frognew.com
---
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: bookinfo
spec:
  hosts:
  - bookinfo.frognew.com
  gateways:
  - bookinfo-gateway
  http:
  - match:
    - uri:
        exact: /productpage
    - uri:
        exact: /login
    - uri:
        exact: /logout
    - uri:
        prefix: /api/v1/products
    route:
    - destination:
        host: productpage
        port:
          number: 9080

创建bookinfo的gateway和virtualservice:

kubectl apply -f samples/bookinfo/networking/bookinfo-gateway.yaml

使用 http://bookinfo.frognew.com/productpage 即可访问bookinfo应用。

2.展示服务拓扑

Kiali中的Graph可以展现服务拓扑图,显示界面十分漂亮。随机快速刷新多次 http://bookinfo.frognew.com/productpage 页面,在Kiali中查看服务拓扑图如下:

Istio 1.0学习笔记(九):使用Istio Service Mesh可视化工具kiali

Productpage服务轮询访问Review服务的v1、v2、v3三个版本,该页面上的Book Reviews内容区的随机会出现“红色的五颗小星星”、“黑色的五颗小星星”、“没有小星星”,分别对应v3、v2、v1。 这是因为我们配置请求路由,istio会以round robin的形式将请求路由到服务的所有可用版本上。

接下来,我们为Review服务配置请求路由,这个我们前面已经试验过,详见 Istio 1.0学习笔记(三):使用Istio对服务进行流量管理 - 配置请求路由 。这里再次实践,体验kiali对服务请求路由和流量的可视化展现。

创建istio-1.0.5/samples/bookinfo/networking/destination-rule-reviews.yaml中定义的reviews服务的DestinationRule:

apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
  name: reviews
spec:
  host: reviews
  trafficPolicy:
    loadBalancer:
      simple: RANDOM
  subsets:
  - name: v1
    labels:
      version: v1
  - name: v2
    labels:
      version: v2
  - name: v3
    labels:
      version: v3

创建istio-1.0.5/samples/bookinfo/networking/virtual-service-reviews-80-20.yaml中定义的VirtualService:

apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: reviews
spec:
  hosts:
    - reviews
  http:
  - route:
    - destination:
        host: reviews
        subset: v1
      weight: 80
    - destination:
        host: reviews
        subset: v2
      weight: 20

这个VirtualService的定义将Productpage请求Review服务的流量以8:2的比率路由到v1和v2版本。

kubectl create -f virtual-service-reviews-80-20.yaml
virtualservice.networking.istio.io/reviews created

多次刷新 http://bookinfo.frognew.com/productpage 页面,Productpage服务大约按8:2的比例访问Review服务的v1、v2两个版本,页面上“没有小星星”和“黑色的五颗小星星”大致按8:2的比例出现。在kiali中查看如下:

Istio 1.0学习笔记(九):使用Istio Service Mesh可视化工具kiali

参考


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

JavaScript & jQuery

JavaScript & jQuery

David Sawyer McFarland / O Reilly / 2011-10-28 / USD 39.99

You don't need programming experience to add interactive and visual effects to your web pages with JavaScript. This Missing Manual shows you how the jQuery library makes JavaScript programming fun, ea......一起来看看 《JavaScript & jQuery》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

MD5 加密
MD5 加密

MD5 加密工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具