Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

3.3.3.3. 路由器提供的信息

本节回顾路由器在模板中提供的 OpenShift Container Platform 信息。路由器配置参数是 HAProxy 路由器插件提供的一组数据。这些字段可由 (dot).Fieldname 访问。

路由器配置参数下方的表格根据各种字段的定义展开。特别是 .State 拥有一组可接受的路由。

表 3.3. 路由器配置参数

字段类型描述

WorkingDir

字符串

文件要写入的目录,默认为 /var/lib/containers/router

State

map[string](ServiceAliasConfig)

路由。

ServiceUnits

map[string]ServiceUnit

服务查找。

DefaultCertificate

字符串

以 pem 格式到默认证书的完整路径名称。

PeerEndpoints

[]Endpoint

对等。

StatsUser

字符串

公开统计数据的用户名(如果模板支持)。

StatsPassword

字符串

公开统计数据的密码(如果模板支持)。

StatsPort

int

公开统计信息的端口(如果模板支持)。

BindPorts

bool

路由器是否应绑定默认端口。

表 3.4. 路由器 ServiceAliasConfig(A Route)

字段类型描述

Name

字符串

路由特定于用户的名称。

Namespace

字符串

路由的命名空间。

Host

字符串

主机名。例如: www.example.com

Path

字符串

可选路径。例如: www.example.com/myservice,其中 myservice 是路径。

TLSTermination

routeapi.TLSTerminationType

此后端的终止策略;驱动映射文件和路由器配置。

Certificates

map[string]Certificate

用于保护此后端的证书。按证书 ID 的键。

Status

ServiceAliasConfigStatus

指明需要永久保留的配置状态。

PreferPort

字符串

指明用户要公开的端口。如果为空,将为服务选择一个端口。

InsecureEdgeTerminationPolicy

routeapi.InsecureEdgeTerminationPolicyType

指明到边缘终端路由的不安全连接所需的行为: none (或 disable), allow, 或 redirect

RoutingKeyName

字符串

用于模糊 cookie ID 的路由 + 命名空间名称的哈希值。

IsWildcard

bool

表示此服务单元需要通配符支持。

Annotations

map[string]string

附加到此路由的注解。

ServiceUnitNames

map[string]int32

支持此路由的服务集合,按服务名称键,并根据映射中其他条目的权重加上相应的权重。

ActiveServiceUnits

int

权重为非零的 ServiceUnitName 的数量。

ServiceAliasConfig 是服务的路由。由主机 + 路径唯一标识指定。默认模板使用 {{range $cfgIdx、$cfg := .State }} 迭代路由。在这样的 {{range}} 块中,模板可以使用 $cfg.Field 引用当前 ServiceAliasConfig 的任何字段。

表 3.5. Router ServiceUnit

字段类型描述

Name

字符串

对应于服务名称 + namespace 的名称。由 ServiceUnit 唯一标识。

EndpointTable

[]Endpoint

支持该服务的端点。这转换为路由器的最终后端实施。

ServiceUnit 是一种服务封装、支持该服务的端点,以及指向服务的路由。这是驱动创建路由器配置文件的数据

表 3.6. 路由器端点

字段类型

ID

字符串

IP

字符串

Port

字符串

TargetName

字符串

PortName

字符串

IdHash

字符串

NoHealthCheck

bool

Endpoint 是 Kubernetes 端点的内部表示。

表 3.7. Router Certificate, ServiceAliasConfigStatus

字段类型描述

Certificate

字符串

代表一个公钥/私钥对。它通过 ID 来标识,该 ID 将成为文件名。CA 证书将不会设置 PrivateKey

ServiceAliasConfigStatus

字符串

表示此配置所需的文件已持久保存到磁盘。有效值:"saved", ""。

表 3.8. 路由器证书类型

字段类型描述

ID

字符串

 

内容

字符串

证书。

PrivateKey

字符串

私钥。

表 3.9. 路由器 TLSTerminationType

字段类型描述

TLSTerminationType

字符串

指定安全通信将停止的位置。

InsecureEdgeTerminationPolicyType

字符串

表示路由不安全连接所需的行为。虽然每个路由器可能会对要公开的端口做出自己的决定,但通常这是端口 80。

TLSTerminationTypeInsecureEdgeTerminationPolicyType 指定安全通信将停止的位置。

表 3.10. 路由器 TLSTerminationType 值

常数含义

TLSTerminationEdge

edge

终止边缘路由器上的加密。

TLSTerminationPassthrough

passthrough

目的地终止加密,目的地负责解密流量。

TLSTerminationReencrypt

reencrypt

在边缘路由器中终止加密,并使用目的地提供的新证书重新加密。

表 3.11. Router InsecureEdgeTerminationPolicyType Values

类型含义

Allow

流量发送到不安全端口(默认)上的服务器。

Disable

不安全的端口不允许流量。

Redirect

客户端重定向到安全端口。

None ("") 与 Disable 相同。