11.3. 二级入口控制器设置
使用以下步骤使用自定义域部署二级入口控制器。
前提条件
-
唯一的域,如
apps.example.com
-
配置了上述自定义域的通配符或 SAN TLS 证书(
CN swig.apps.example.com
)
流程
从私钥和公共证书创建一个新的 TLS secret,其中
fullchain.pem
是您的完整的通配符证书链(包括任何中间)和privkey.pem
是您的通配符证书:$ oc -n openshift-ingress create secret tls external-dns-tls --cert=fullchain.pem --key=privkey.pem
创建新的
IngressController
资源:$ cat << EOF | oc apply -f - apiVersion: operator.openshift.io/v1 kind: IngressController metadata: name: external-dns-ingress namespace: openshift-ingress-operator spec: domain: ${DOMAIN} defaultCertificate: name: external-dns-tls endpointPublishingStrategy: loadBalancer: dnsManagementPolicy: Unmanaged providerParameters: aws: type: NLB type: AWS scope: External type: LoadBalancerService EOF
警告此
IngressController
示例将在 AWS 帐户中创建可访问互联网的 Network Load Balancer (NLB)。要置备内部 NLB,请在创建IngressController
资源前将.spec.endpointPublishingStrategy.loadBalancer.scope
参数设置为Internal
。验证自定义域 IngressController 是否已成功创建了外部负载均衡器:
$ oc -n openshift-ingress get service/router-external-dns-ingress
输出示例
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE router-external-dns-ingress LoadBalancer 172.30.71.250 a4838bb991c6748439134ab89f132a43-aeae124077b50c01.elb.us-east-1.amazonaws.com 80:32227/TCP,443:30310/TCP 43s