1.5. 在 Google Kubernetes Engine (GKE)上公开基于 Operator 的 Red Hat Developer Hub 实例
在 Google Kubernetes Engine (GKE)上,要公开 Red Hat Developer Hub 实例,Kubernetes ingresses 替换 OpenShift Container Platform 路由。Red Hat Developer Hub operator 不创建 ingresses。因此,要通过域名访问 Developer Hub 实例,请在 GKE 上创建所需的入口,并将您的域名指向它。
先决条件
- 已使用 Red Hat Developer Hub Operator 安装 Red Hat Developer Hub。
- 您已为 Developer Hub 实例配置了域名。
- 您已保留了一个未附加到任何虚拟机(VM)的静态外部高级 IPv4 全局 IP 地址。如需更多信息,请参阅 保留新的静态外部 IP 地址
您已为域名配置了 DNS 记录,以指向已保留的 IP 地址。
注意您需要创建一个等于 IP 地址的
A记录。此过程最多可能需要一小时才能传播。
流程
创建名为
managed-certificate.yaml的 Google 管理的证书清单文件:apiVersion: networking.gke.io/v1 kind: ManagedCertificate metadata: name: my-rhdh-certificate-name spec: domains: - <my_developer_hub_domain>有关设置 Google 管理的证书的更多信息,请参阅设置 Google 管理的证书。
部署受管证书:
$ kubectl -n my-rhdh-project apply -f managed-certificate.yaml创建名为
frontend-config.yaml的前端配置清单文件,以设置重定向到 HTTPS 的策略。apiVersion: networking.gke.io/v1beta1 kind: FrontendConfig metadata: name: my-ingress_security_config spec: sslPolicy: gke-ingress-ssl-policy-https redirectToHttps: enabled: true有关将策略设置为重定向到 HTTPS 的更多信息,请参阅 HTTP 到 HTTPS 重定向。
部署 frontend 配置:
$ kubectl -n my-rhdh-project apply -f frontend-config.yaml创建名为
rhdh-ingress.yaml的 ingress 清单文件,指定 Developer Hub 服务名称,并使用您的受管证书和前端配置:apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: my-rhdh-ingress annotations: kubernetes.io/ingress.class: "gce" kubernetes.io/ingress.global-static-ip-name: <ADDRESS_NAME> networking.gke.io/managed-certificates: my-rhdh-certificate-name networking.gke.io/v1beta1.FrontendConfig: my-ingress_security_config spec: ingressClassName: gce rules: - host: <my_developer_hub_domain> http: paths: - path: / pathType: Prefix backend: service: name: my-rhdh-custom-resource port: name: http-backend部署入口:
$ kubectl -n my-rhdh-project apply -f rhdh-ingress.yaml
验证
-
等待
ManagedCertificate被置备。这个过程可能需要几小时时间。 -
使用
https:// <my_developer_hub_domain> 访问 RHDH。
其他信息
有关使用 TLS 的 Ingress 设置 GKE 的更多信息,请参阅 安全 GKE Ingress。