Difficulty: Intermediate
Estimated Time: 15 min


In this course, you will learn how to use MOSN as the data plane of Istio for service governance.

If you want to contribute or learn more about this tutorial, please join the MOSN Istio WG.

MOSN Introduction

MOSN is a network proxy written in Golang. It can be used as a cloud-native network data plane, providing services with the following proxy functions: multi-protocol, modular, intelligent, and secure. MOSN can be integrated with any Service Mesh which support xDS API. It can also be used as an independent Layer 4 or Layer 7 load balancer, API Gateway, cloud-native Ingress, etc.

MOSN with Istio

Istio is the most popular Service Mesh, it use Envoy as the default data plane, MOSN is aim to be the alternative cloud native data plane that support Enovy’s xDS.

在本课程中,您将了解如何将 MOSN 作为 Istio Service Mesh 中的数据平面以用于服务治理。

如果那你想要进一步了解或贡献本教程,请加入 MOSN Istio WG


MOSN 是一款使用 Go 语言开发的网络代理软件,作为云原生的网络数据平面,旨在为服务提供多协议,模块化,智能化,安全的代理能力。MOSN 是 Modular Open Smart Network 的简称。MOSN 可以与任何支持 xDS API 的 Service Mesh 集成,亦可以作为独立的四、七层负载均衡,API Gateway,云原生 Ingress 等使用。

MOSN 和 Istio

Istio 是目前最受欢迎的 Service Mesh,使用 Envoy 作为默认的数据平面,MOSN 目标成为兼容 Envoy xDS 协议的可选数据平面之一。


Congratulations! You have compled the MOSN with Istio course, if you are interested in MOSN or have any questions, please leave a message.

MOSN is a powerful cloud native proxy written in Golang. As a cloud-native network data plane, MOSN is designed to provide services with multi-protocol, modular, intelligent, and secure proxy capabilities. MOSN can be integrated with any Service Mesh that supports the xDS API. It can also be used for other purposes, such as independent Layer 4 or 7 load balancer, API gateway, and cloud-native ingress

MOSN GitHub: https://github.com/mosn/mosn

Istio provides service configuration information for its data plane MOSN/Envoy as a standard control plane for Service Mesh.

Istio GitHub: https://github.com/istio/istio

Also, if you are interest in MOSN with Istio, please join the wg-istio working group.

恭喜您已经完成了《 MOSN with Istio 》课程,如果你对 MOSN 感兴趣或者有任何疑问,欢迎留言交流。

MOSN(Modular Open Smart Network) Go 语言开发的网络代理软件,作为云原生的网络数据平面,旨在为服务提供多协议,模块化,智能化,安全的代理能力。 MOSN 开源 Github 仓库地址: https://github.com/mosn/mosn

Istio 作为云原生 Service Mesh 的标准控制面,为其数据面 MOSN/Envoy 提供服务配置信息。 Istio 开源 Github 仓库地址:https://github.com/istio/istio

另外如果您对《 MOSN with Istio 》有相关需求,欢迎加入 wg-istio 交流。

MOSN with Istio

Step 1 of 10

Step 1


This tutorial will automatically help you start a Kubernetes cluster with 2 nodes (one master node and one worker node), Kubernetes version is v1.14.0.

Check Kubernetes cluster

Check the status of the Kubernetes cluster before using it: kubectl cluster-info

If the cluster is not started, execute: launch.sh

Check katacoda-cloud-provider, this will affect whether the environment can provide external load balancing properly:

kubectl get deploy -n kube-system katacoda-cloud-provider

Some other commands can be executed using the kubectl command to check the integrity of Kubernetes clusters.

The Kubernetes cluster is ready for the Istio operations once it starts normally.

本教程将自动帮您启动一个包含2个节点的 Kubernetes 集群(包含一个 master 节点,一个 worker 节点),Kubernetes 版本为 v1.14.0。

检查 Kubernetes 集群

使用前,请检查 Kubernetes 集群的状态:kubectl cluster-info


检查 katacoda-cloud-provider,这个会影响到环境是否能正常提供外部负载均衡:

kubectl get deploy -n kube-system katacoda-cloud-provider

还可以使用 kubectl 命令执行一些其他命令,检查 Kubernetes 集群的完整性。

Kubernetes 集群正常启动后就可进入后面的 Istio 系列操作了。