MOSN安装与配置指南
mosn 项目地址: https://gitcode.com/gh_mirrors/mos/mosn
1. 项目基础介绍
MOSN(Modular Open Smart Network)是一个开源的云原生网络代理项目,由蚂蚁集团贡献。它使用Go语言编写,具有多协议、模块化、智能和安全特性。MOSN能够与Istio服务网格集成,也可以单独作为L4/L7负载均衡器、API网关、云原生Ingress等使用。
2. 主要编程语言
本项目主要使用Go语言开发。
3. 项目使用的关键技术和框架
- Istio集成:支持与Istio 1.10及以上版本集成,运行在全动态资源配置模式下。
- 核心转发:支持内置服务器、TCP代理、UDP代理以及透明流量劫持模式。
- 多协议支持:支持HTTP/1.1、HTTP/2、基于XProtocol框架的协议扩展、协议自动识别以及gRPC。
- 核心路由:支持基于虚拟主机的路由、请求头/URL/前缀/变量/DSL路由、重定向/直接响应/流量镜像路由、基于主机元数据的子集路由、加权路由、重试和超时配置、请求和响应头添加/删除。
- 后端管理及负载均衡:支持连接池、持久连接的心跳处理、断路器、主动后端健康检查、多种负载均衡策略(随机/轮询/加权轮询/最短剩余时间)、基于主机元数据的子集负载均衡策略、不同集群类型(原始目标/ DNS/简单)以及集群类型扩展。
- 可观测性:支持跟踪模块扩展、集成Jaeger/Skywalking、支持Prometheus风格的指标、配置访问日志、支持管理API扩展、集成Holmes自动触发pprof。
- TLS:支持多证书匹配、TLS检查器模式、SDS证书获取和更新、可扩展的证书获取、更新和验证、基于CGo的加密套件(SM3/SM4)。
- 进程管理:支持热升级、优雅停机。
- 扩展能力:支持基于go-plugin的扩展、基于进程的扩展、基于WASM的扩展、自定义扩展配置、自定义在TCP I/O层和协议层的扩展。
4. 安装和配置准备工作
在开始安装MOSN之前,请确保您的环境中已经安装了以下内容:
- Go语言环境,建议版本为1.17及以上。
- Git版本控制系统。
5. 安装步骤
以下为安装MOSN的详细步骤:
-
克隆项目仓库
在命令行中执行以下命令以克隆MOSN的Git仓库:
git clone https://github.com/sofastack/sofa-mosn.git $GOPATH/src/mosn.io/mosn
如果您尚未设置
$GOPATH
环境变量,它通常默认为~/go
。 -
安装依赖
在项目根目录下执行以下命令,安装所需的Go依赖:
go mod tidy
-
编译项目
在项目根目录下执行以下命令,编译MOSN:
go build -o mosn main.go
编译成功后,会在当前目录下生成
mosn
可执行文件。 -
配置文件
MOSN的配置文件通常为YAML格式。您可以根据需要创建或修改配置文件,配置MOSN的各项功能。
-
启动MOSN
使用以下命令启动MOSN,并指定配置文件:
./mosn start -c path/to/config.yaml
其中
path/to/config.yaml
为您的配置文件路径。
完成以上步骤后,MOSN应该已经成功安装在您的系统中,并可以根据配置文件开始工作。如果遇到任何问题,请检查配置文件的正确性以及环境变量设置。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考