Layotto集成 Istio 1.5.x 演示
一、背景介绍
Layotto支持的RPC能力底层是使用MOSN实现的,也就是说可以复用MOSN多年来在服务治理领域建设的能力。
MOSN作为Istio官方认可的数据面实现,这里就对Layotto如何跟Istio结合,通过XDS协议来动态调整服务路由进行说明。
二、准备工作
想 要启动示例,必须安装以下组件:
-
直接官网下载安装包安装即可。
-
按照官网操作即可。
-
需要下载
1.5.x版本的istio,解压后进行如下配置方便后续操作。export PATH=$PATH:${你的istio目录}/bin
三、启动示例
-
启动Docker Desktop
-
执行如下命令启 动
minikubeminikube start -
执行如下命令启动demo中的client、server(所依赖的镜像已经全部上传docker hub)
kubectl apply -f layotto-injected.yaml其中
layotto-injected.yaml文件中的内容在这里 ,复制即可。 -
执行命令
kubectl get pod查看启动状态(首次启动需要下载依赖镜像,请耐心等待)NAME READY STATUS RESTARTS AGE
client-665c5cc4f-tfxrk 2/2 Running 0 49m
server-v1-685966b499-8hnqp 2/2 Running 0 49m
server-v2-6cfff5dbb5-4hlgb 2/2 Running 0 49m命令执行完后看到类似上述内容则表示启动成功,我们部署了一个client端以及一个server端,其中server端分为了v1,v2两个版本。
-
由于原生的
Istio如果想要从外部访问集群里面的服务需要配置istio-ingressgateway服务,这会增加大家使用演示的成本,因此这里我们使用代理命名进行访问, 执行如下命令:kubectl port-forward svc/client 9080:9080然后直接访问如下链接即可,也可以直接在浏览器中访问。
curl localhost:9080/grpc当看到如下响应时就表示示例启动成功。
GET /hello
hello, i am layotto v1