配置概览

MOSN 配置文件概览。

MOSN 的配置文件可以分为以下四大部分:

  • Servers 配置,目前仅支持最多 1 个 Server 的配置,Server 中包含一些基础配置以及对应的 Listener 配置
  • ClusterManager 配置,包含 MOSN 的 Upstream 详细信息
  • 对接控制平面(Pilot)的 xDS 相关配置
  • 其他配置
    • Trace、Metrics、Debug、Admin API 相关配置
    • 扩展配置,提供自定义配置扩展需求

配置文件概览

MOSN 的基本配置部分如下所示:

  1. {
  2. "servers":[],
  3. "cluster_manager":{},
  4. "dynamic_resources":{},
  5. "static_resources":{},
  6. "admin":{},
  7. "pprof":{},
  8. "tracing":{},
  9. "metrics":{}
  10. }

配置类型

MOSN 的配置包括以下几种类型:

  • 静态配置
  • 动态配置
  • 混合模式

静态配置

  • 静态配置是指 MOSN 启动时,不对接控制平面 Pilot 的配置,用于一些相对固定的简单场景(如 MOSN 的示例)。
  • 使用静态配置启动的 MOSN,也可以通过扩展代码,调用动态更新配置的接口实现动态修改。
  • 静态配置启动时必须包含一个 Server 以及至少一个 Cluster。

动态配置

  • 动态配置是指 MOSN 启动时,只有访问控制平面相关的配置,没有 MOSN 运行时所需要的配置。

  • 使用动态配置启动的 MOSN,会向管控面请求获取运行时所需要的配置,管控面也可能在运行时推送更新 MOSN 运行配置。

  • 动态配置启动时必须包含 DynamicResourcesStaticResources 配置。

混合模式

MOSN 启动时的配置可以同时包含静态模式与动态模式,以混合模式启动的 MOSN 会先以静态配置完成初始化,随后可能由控制平面获取配置更新。

配置示例

静态配置示例

静态配置的示例如下所示。

  1. {
  2. "servers":[
  3. {
  4. "default_log_path":"/home/admin/logs/mosn/default.log",
  5. "default_log_level":"DEBUG",
  6. "processor":4,
  7. "listeners":[
  8. {
  9. "address":"0.0.0.0:12220",
  10. "bind_port":true,
  11. "filter_chains":[
  12. {
  13. "filters":[
  14. {
  15. "type":"proxy",
  16. "config":{
  17. "downstream_protocol":"SofaRpc",
  18. "upstream_protocol":"SofaRpc",
  19. "router_config_name":"test_router"
  20. }
  21. },
  22. {
  23. "type":"connection_manager",
  24. "config":{
  25. "router_config_name":"test_router",
  26. "virtual_hosts":[]
  27. }
  28. }
  29. ]
  30. }
  31. ]
  32. }
  33. ]
  34. }
  35. ],
  36. "cluster_manager":{
  37. "clusters":[
  38. {
  39. "name":"example",
  40. "lb_type":"LB_ROUNDROBIN",
  41. "hosts":[
  42. {"address":"127.0.0.1:12200"}
  43. ]
  44. }
  45. ]
  46. }
  47. }

动态配置示例

动态配置的示例如下所示。

  1. {
  2. "dynamic_resources":{
  3. "ads_config":{
  4. "api_type":"GRPC",
  5. "grpc_services":[
  6. {
  7. "envoy_grpc":{"cluster_name":"xds-grpc"}
  8. }
  9. ]
  10. }
  11. }
  12. },
  13. "static_resources":{
  14. "clusters":[
  15. {
  16. "name":"xds-grpc",
  17. "type":"STRICT_DNS",
  18. "connect_timeout":"10s",
  19. "lb_policy":"ROUND_ROBIN",
  20. "hosts":[
  21. {
  22. "socket_address":{"address":"pilot","port_value":15010}
  23. }
  24. ],
  25. "upstream_connection_options":{
  26. "tcp_keepalive":{
  27. "keepalive_time":300
  28. }
  29. },
  30. "http2_protocol_options":{}
  31. }
  32. ]
  33. }
  34. }

ClusterManager 配置

MOSN ClusterManager 配置说明。

Server 配置

MOSN server 配置说明。

Trace 配置

MOSN trace 配置说明。

自定义配置

MOSN 自定义配置说明。

修改于 2020年2月11日: Add MOSN doc contribution guide (8107a1e)