内容简介: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中查看服务拓扑图如下:
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中查看如下:
参考
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 给上千条笔记做可视化,免除卡片式创作的后顾之忧
- 遇见大数据可视化:来做一个数据可视化报表
- 遇见大数据可视化: 未来已来,变革中的数据可视化
- Python 数据可视化 2018:数据可视化库为什么这么多?
- 数据可视化设计(1)情感化设计指导可视化设计理念
- 基于WebGL架构的ThingJS可视化平台—城市地下管线3D可视化
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
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》 这本书的介绍吧!