Skip to main content
版本:2.7.1

Kubernetes 控制器配置

本篇介绍 Kubernetes 控制器配置。

开启 HTTPS​

开启 HTTPS 需要在网关的 application.yml 文件中进行 sni协议 的相关配置:

shenyu:
netty:
http:
sni:
enabled: true
mod: k8s #k8s模式适用
defaultK8sSecretNamespace: shenyu-ingress #默认secret资源的namespace
defaultK8sSecretName: default-cert #默认secret资源名字

其中,默认secret资源必须要有,但是目前不会实际使用。

Ingress 配置​

ShenYu Kubernetes Controller 实现了 K8s 原生的 Ingress 标准,原生标准的使用见 K8s 官方文档

另外,Apache ShenYu 基于 Ingress 的 Annotation 字段进行了拓展,配置见下文表格:

通用​

名称默认值是否必填说明
kubernetes.io/ingress.class是填shenyu

Divide 插件(HTTP代理)​

名称默认值是否必填说明
shenyu.apache.org/loadbalancerrandom否负载均衡算法,可选hash、random、roundRobin、leastActive、p2c、shortestResponse
shenyu.apache.org/retry3否失败重试次数
shenyu.apache.org/timeout3000否后端请求超时时间,单位毫秒
shenyu.apache.org/header-max-size10240否请求头最大大小,单位byte
shenyu.apache.org/request-max-size102400否请求体最大大小,单位byte

Dubbo插件​

名称默认值是否必填说明
shenyu.apache.org/loadbalancerrandom否负载均衡算法,可选hash、random、roundRobin、leastActive、p2c、shortestResponse
shenyu.apache.org/retry3否失败重试次数
shenyu.apache.org/timeout3000否后端请求超时时间,单位毫秒
shenyu.apache.org/header-max-size10240否请求头最大大小,单位byte
shenyu.apache.org/request-max-size102400否请求体最大大小,单位byte
shenyu.apache.org/upstreams-protocoldubbo://否指定upstream使用的protocol协议
shenyu.apache.org/plugin-dubbo-enabled否确定是否启动dubbo插件
shenyu.apache.org/zookeeper-register-address是指定zookeeper地址
shenyu.apache.org/plugin-dubbo-app-name是指定元数据的应用名称
shenyu.apache.org/plugin-dubbo-path是指定元数据的请求路径
shenyu.apache.org/plugin-dubbo-rpc-type是指定元数据的rpc类型(dubbo,sofa,tars,springCloud,motan,grpc)
shenyu.apache.org/plugin-dubbo-service-name是指定元数据的接口名称
shenyu.apache.org/plugin-dubbo-method-name是指定元数据的方法名称
shenyu.apache.org/plugin-dubbo-rpc-expand否指定元数据的rpc扩展参数(json对象)
shenyu.apache.org/plugin-dubbo-parameter-types是指定元数据的参数类型

Motan插件​

名称默认值是否必填说明
shenyu.apache.org/loadbalancerrandom否负载均衡算法,可选hash、random、roundRobin、leastActive、p2c、shortestResponse
shenyu.apache.org/retry3否失败重试次数
shenyu.apache.org/timeout3000否后端请求超时时间,单位毫秒
shenyu.apache.org/header-max-size10240否请求头最大大小,单位byte
shenyu.apache.org/request-max-size102400否请求体最大大小,单位byte
shenyu.apache.org/plugin-motan-enabled是确定是否启动motan插件
shenyu.apache.org/zookeeper-register-address是指定zookeeper地址
shenyu.apache.org/plugin-motan-app-name是指定元数据的应用名称
shenyu.apache.org/plugin-motan-path是指定元数据的请求路径
shenyu.apache.org/plugin-motan-rpc-type是指定元数据的rpc类型(dubbo,sofa,tars,springCloud,motan,grpc)
shenyu.apache.org/plugin-motan-service-name是指定元数据的接口名称
shenyu.apache.org/plugin-motan-method-name是指定元数据的方法名称
shenyu.apache.org/plugin-motan-rpc-expand否指定元数据的rpc扩展参数(json对象)
shenyu.apache.org/plugin-motan-parameter-types是指定元数据的参数类型

SpringCloud插件​

名称默认值是否必填说明
shenyu.apache.org/loadbalancerrandom否负载均衡算法,可选hash、random、roundRobin、leastActive、p2c、shortestResponse
shenyu.apache.org/retry3否失败重试次数
shenyu.apache.org/timeout3000否后端请求超时时间,单位毫秒
shenyu.apache.org/header-max-size10240否请求头最大大小,单位byte
shenyu.apache.org/request-max-size102400否请求体最大大小,单位byte
shenyu.apache.org/plugin-spring-cloud-enabled是确定是否启动springCloud插件
shenyu.apache.org/zookeeper-register-address是指定zookeeper地址
shenyu.apache.org/plugin-spring-cloud-app-name是指定元数据的应用名称
shenyu.apache.org/plugin-spring-cloud-path是指定元数据的请求路径
shenyu.apache.org/plugin-spring-cloud-rpc-type是指定元数据的rpc类型(dubbo,sofa,tars,springCloud,motan,grpc)
shenyu.apache.org/plugin-spring-cloud-service-name是指定元数据的接口名称
shenyu.apache.org/plugin-spring-cloud-method-name是指定元数据的方法名称
shenyu.apache.org/plugin-spring-cloud-rpc-expand否指定元数据的rpc扩展参数(json对象)
shenyu.apache.org/plugin-spring-cloud-parameter-types是指定元数据的参数类型

WebSocket插件​

名称默认值是否必填说明
shenyu.apache.org/loadbalancerrandom否负载均衡算法,可选hash、random、roundRobin、leastActive、p2c、shortestResponse
shenyu.apache.org/retry3否失败重试次数
shenyu.apache.org/timeout3000否后端请求超时时间,单位毫秒
shenyu.apache.org/header-max-size10240否请求头最大大小,单位byte
shenyu.apache.org/request-max-size102400否请求体最大大小,单位byte