5.2. Ingress 控制器配置参数
ingresscontrollers.operator.openshift.io
资源提供了以下配置参数。
参数 | 描述 |
---|---|
|
一个
如果为空,默认值为 |
|
|
|
如果没有设置,则默认值基于
|
|
secret 必须包含以下密钥和数据:*
如果没有设置,则自动生成和使用通配符证书。该证书对 Ingress Controller 的 内部证书(无论是生成的证书还是用户指定的证书)自动与 OpenShift Container Platform 内置的 OAuth 服务器集成。 |
|
|
|
|
|
如果没有设置,则使用默认值。 注意
nodePlacement: nodeSelector: matchLabels: beta.kubernetes.io/os: linux tolerations: - effect: NoSchedule operator: Exists |
|
如果没有设置,则默认值基于
当使用
Ingress 控制器的 TLS 的最低版本是 重要
HAProxy Ingress controller 镜像不支持 TLS
Ingress Operator 还会将 注意
加密器和配置的安全配置集的最小 TLS 版本反映在 |
|
|
所有参数都是可选的。
5.2.1. Ingress 控制器 TLS 配置集
tlsSecurityProfile
参数定义 TLS 安全配置集的 schema。Operator 使用这个对象将 TLS 安全设置应用到操作对象。
有四个 TLS 安全配置集类型:
-
Old
-
Intermediate
-
Modern
-
Custom
Old
、Intermediate
和 Modern
配置集基于推荐的配置。Custom
配置集可以用来指定独立 TLS 安全配置集参数。
Old
配置集配置示例
spec: tlsSecurityProfile: type: Old
Intermediate
配置集配置示例
spec: tlsSecurityProfile: type: Intermediate
Modern
配置集配置示例
spec: tlsSecurityProfile: type: Modern
Custom
配置集是一个用户定义的 TLS 安全配置集。
您需要小心使用 Custom
配置集,因为无效的配置可能会造成问题。
Custom
配置集示例
spec: tlsSecurityProfile: type: Custom custom: ciphers: - ECDHE-ECDSA-AES128-GCM-SHA256 - ECDHE-RSA-AES128-GCM-SHA256 minTLSVersion: VersionTLS11
5.2.2. Ingress 控制器端点发布策略
NodePortService
端点发布策略
NodePortService
端点发布策略使用 Kubernetes NodePort 服务发布 Ingress Controller。
在这个配置中,Ingress Controller 部署使用容器网络。创建了一个
NodePortService 来发布部署。特定的节点端口由 OpenShift Container Platform 动态分配; 但是,为了支持静态端口分配,您会保留对受管 NodePortService 的节点端口字段的更改
。
Ingress Operator 忽略对服务的 .spec.ports[].nodePort
字段的任何更新。
默认情况下,端口会自动分配,您可以访问集成的端口分配。但是,有时需要静态分配端口来与现有基础架构集成,这些基础架构可能无法根据动态端口进行重新配置。要实现与静态节点端口的集成,您可以直接更新受管服务资源。
如需有关 daemonset 的更多信息,请参阅关于 NodePort
的 Kubernetes 服务文档。
HostNetwork
端点发布策略
HostNetwork
端点发布策略会在部署 Ingress Controller 的节点端口上发布 Ingress Controller。
带有 HostNetwork
端点发布策略的 Ingress 控制器每个节点只能有一个 pod 副本。如果您想要 n 个副本,则必须至少使用可调度这些副本的 n 个节点。因为每个 Pod 副本都会通过调度的节点主机上的端口 80
和 443
进行请求,所以如果同一节点上的其他 pod 使用这些端口,则无法将副本调度到该节点。