6.7 定制 router

以下设置对于 Router 组件来说是可调的。

依赖项

Requiresbuildercontrollerstore-gateway
Required by: none
Considerations: none

router 设定的设置

以下的 etcd 键由 router 组件设置,通常在它的 /bin/boot 脚本。

设置 描述
/deis/router/hosts/$HOST 运行着 router 主机的 IP 地址和端口 (这里可以是多个 routers)

router 使用的设置

以下的 etcd 键由 router 组件使用。
设置|描述
—|—
/deis/builder/host|builder 组件主机 (由 builder 设置)
/deis/builder/port|builder 组件端口 (由 builder 设置)
/deis/controller/host|controller 组件主机 (由 controller 设置)
/deis/controller/port|controller 组件端口 (由 controller 设置)
/deis/domains/|应用的 domain 配置 (由 controller 设置)
/deis/router/bodySize|nginx body 大小设置 (默认: 1m)
/deis/router/builder/timeout/connect|deis-builder 的 proxy_connect_timeout (默认: 10000)。 单位毫秒
/deis/router/builder/timeout/read|deis-builder 的 proxy_read_timeout (默认: 1200000)。 单位毫秒
/deis/router/builder/timeout/send|deis-builder 的 proxy_send_timeout (默认: 1200000)。 单位毫秒
/deis/router/builder/timeout/tcp|deis-builder 的 timeout(默认: 1200000)。 单位毫秒
/deis/router/controller/timeout/connect|deis-controller 的 proxy_connect_timeout (默认: 10m)
/deis/router/controller/timeout/read|deis-controller 的 proxy_read_timeout (默认: 20m)
/deis/router/controller/timeout/send|deis-controller 的 proxy_send_timeout (默认: 20m)
/deis/router/gzip|nginx gzip 设置 (默认: on)
/deis/router/gzipCompLevel|nginx gzipCompLevel 设置 (默认: 5)
/deis/router/gzipDisable|nginx gzipDisable 设置 (默认: “msie6”)
/deis/router/gzipHttpVersion|nginx gzipHttpVersion 设置 (默认: 1.1)
/deis/router/gzipMinLength|nginx gzipMinLength 设置 (默认: 256)
/deis/router/gzipProxied|nginx gzipProxied 设置 (默认: any)
/deis/router/gzipTypes|nginx gzipTypes 设置 (默认: ”application/atom+xml application/javascript application/json application/rss+xml application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/svg+xml image/x-icon text/css text/plain text/x-component“)
/deis/router/gzipVary|nginx gzipVary 设置 (设置: on)
/deis/router/gzipDisable|nginx gzipDisable 设置 (默认 ”msie6“)
/deis/router/gzipTypes|nginx gzipTypes 设置 (默认: ”application/x-javascript application/xhtml+xml application/xml application/xml+rss application/json text/css text/javascript text/plain text/xml“)
/deis/router/sslCert|cluster-wide SSL 证书
/deis/router/sslKey|cluster-wide SSL 私钥
/deis/services/
|deis/publisher 提供的健康应用容器报告
/deis/store/gateway/host|store gateway 组件主机 (由 store-gateway 设置)
/deis/store/gateway/port|store gateway 组件端口 (由 store-gateway 设置)

使用一个定制的 router 镜像

你可以使用一个定制的 router 组件的 Dokcer 镜像来代替 Deis 提供的镜像:

  1. $ deisctl config router set image=myaccount/myimage:latest

这将从公有的 Docker registry 拉取(pull)镜像。你也可以从一个私有的 registry 拉取(pull):

  1. $ deisctl config router set image=registry.mydomain.org:5000/myaccount/myimage:latest

确保你定制的镜像功能与 Deis 自带的 stock router image 一样。明确的说,就是确保它设置和读取合适的 etcd 键。