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