跳过至内容

网络和 TLS 配置

服务类型

如果未指定 service_type,则 ClusterIP 服务将用于您的 AWX Tower 服务。

service_type 支持的选项为:ClusterIPLoadBalancerNodePort

以下变量可用于任何 service_type

名称 描述 默认值
service_labels 添加自定义标签 空字符串
service_annotations 添加服务注释 空字符串
---
spec:
  ...
  service_type: ClusterIP
  service_annotations: |
    environment: testing
  service_labels: |
    environment: testing

负载均衡器

以下变量仅在 service_type=LoadBalancer 时可自定义。

名称 描述 默认值
loadbalancer_protocol 用于负载均衡器入口的协议 http
loadbalancer_port 用于负载均衡器入口的端口 80
loadbalancer_ip 分配负载均衡器 IP ''
loadbalancer_class 要使用的负载均衡器类 ''
---
spec:
  ...
  service_type: LoadBalancer
  loadbalancer_ip: '192.168.10.25'
  loadbalancer_protocol: https
  loadbalancer_port: 443
  loadbalancer_class: service.k8s.aws/nlb
  service_annotations: |
    environment: testing
  service_labels: |
    environment: testing

在为 HTTPS 设置负载均衡器时,您需要将 loadbalancer_port 设置为从 80 移开。

HTTPS 负载均衡器还在负载均衡器级别使用 SSL 终止,并将流量卸载到 HTTP 上的 AWX。

节点端口

以下变量仅在 service_type=NodePort 时可自定义。

名称 描述 默认值
nodeport_port 用于 NodePort 的端口 30080
---
spec:
  ...
  service_type: NodePort
  nodeport_port: 30080

入口类型

默认情况下,AWX 运算符不会武断地强制您使用特定的入口类型。因此,当未指定 ingress_type 时,它将默认为 none,并且不会创建任何入口方面的资源。

ingress_type 支持的选项为:noneingressroute。要在这几种选项之间切换,您可以在 AWX CRD 中添加以下内容。

---
spec:
  ...
  ingress_type: none

通用入口控制器

以下变量在 ingress_type=ingress 时可自定义。ingress 类型会创建入口资源,如 文档 中所述,可以与许多其他入口控制器共享,如 列表 中所述。

名称 描述 默认值
ingress_annotations 入口注释 空字符串
ingress_tls_secret (已弃用) 包含 TLS 信息的密钥 空字符串
ingress_class_name 定义入口类名称 集群默认值
hostname (已弃用) 定义 FQDN {{ meta.name }}.example.com
ingress_hosts 定义一个或多个 FQDN,并可选地包含 TLS 信息的密钥 空字符串
ingress_path 定义到服务的入口路径 /
ingress_path_type 定义路径的类型(对于负载均衡器) 前缀
ingress_api_version 定义入口资源 apiVersion 'networking.k8s.io/v1'
---
spec:
  ...
  ingress_type: ingress
  ingress_hosts:
    - hostname: awx-demo.example.com
    - hostname: awx-demo.sample.com
      tls_secret: sample-tls-secret
  ingress_annotations: |
    environment: testing

专用入口控制器配置

某些入口控制器需要特殊配置才能完全支持 AWX,如果您使用以下任一入口控制器,请使用 ingress_controller 变量添加以下值。

入口控制器名称
Contour contour
---
spec:
  ...
  ingress_type: ingress
  ingress_hosts:
    - hostname: awx-demo.example.com
    - hostname: awx-demo.sample.com
      tls_secret: sample-tls-secret
  ingress_controller: contour

路由

以下变量在 ingress_type=route 时可自定义。

名称 描述 默认值
route_host 路由应答的通用名称 <instance-name>-<namespace>-<routerCanonicalHostname>
route_tls_termination_mechanism TLS 终止机制(边缘、直通) 边缘
route_tls_secret 包含 TLS 信息的密钥 空字符串
route_api_version 定义路由资源 apiVersion 'route.openshift.io/v1'
---
spec:
  ...
  ingress_type: route
  route_host: awx-demo.example.com
  route_tls_termination_mechanism: Passthrough
  route_tls_secret: custom-route-tls-secret-name