使用 MOSN 构建 SOFAMesh
Last updated
Was this helpful?
Last updated
Was this helpful?
注意:本书中的 Service Mesh 章节已不再维护,请转到 istio-handbook 中浏览。
本文介绍的内容将包括 :
部署 SOFAMesh
至于 SOFAMesh 的使用跟 Istio 没有区别,只是截止本文发稿时 MOSN 的流量管理只支持:
按 version 路由
按 weight 路由
按照特定 header 路由
其他更高级功能仍在进一步开发中。
MOSN 是使用 Go 语言开发的 Service Mesh 数据平面代理,而 SOFAMesh 则是基于 Istio 改进和扩展而来的 Service Mesh 大规模落地实践方案, MOSN 是 SOFAMesh 的关键组件。目前由于 MOSN 相比 Envoy 做了一些改造,无法在 Istio 下直接使用,所以本文的实验需要在 SOFAMesh 体系中进行。下图是 SOFAMesh 整体框架下,MOSN 的工作示意图。
我们直接使用 sofa-mesh-demo.yaml
文件来安装 SOFAMesh,不过在安装前你需要先使用 kubernetes-vagrant-centos-cluster 安装 Kubernetes 集群,建议安装 Kubernetes 1.11+,并在你的本地电脑上安装 kubectl
命令行工具。
执行下面的命令部署 SOFAMesh。
部署完成后,我们再检查下在 istio-system
命名空间下启动的 pod 和 service。
注意:因为我的集群不支持 LoadBalancer
,所以istio-ingressgateway
服务我们使用 NodePort
方式对外暴露。