1.5. 配置 OpenShift 服务服务证书,以便为 Keycloak 生成 TLS 证书
OpenShift 的服务服务证书可以自动生成和管理传输层安全(TLS)证书,供 Keycloak 使用。OpenShift 集群内的基础架构组件(如 Ingress Controller)将信任这些 TLS 证书。
先决条件
- Red Hat OpenShift Container Platform 4.15 或更高版本。
- 安装 RHBK 操作器.
-
使用
cluster-admin
角色访问 OpenShift Web 控制台。
流程
- 在 OpenShift Web 控制台中,从 Administrator 视角中,从导航菜单中展开 Home,再单击 Projects。
-
搜索
keycloak
,然后选择keycloak-system
命名空间。 创建新服务。
- 点 + 图标。
在 Import YAML 文本框中,复制示例,并将它粘贴到文本框中。
Example
apiVersion: v1 kind: Service metadata: annotations: service.beta.openshift.io/serving-cert-secret-name: keycloak-tls labels: app: keycloak app.kubernetes.io/instance: keycloak name: keycloak-service-trusted namespace: keycloak-system spec: internalTrafficPolicy: Cluster ipFamilies: - IPv4 ipFamilyPolicy: SingleStack ports: - name: https port: 8443 selector: app: keycloak app.kubernetes.io/instance: keycloak
- 点 Create 按钮。
- 从导航菜单中展开 Operators,点 Installed Operators,然后点 Keycloak Operator。
在
Keycloak
资源的 YAML 视图中,在spec
部分添加ingress
属性:Example
spec: ... ingress: annotations: route.openshift.io/destination-ca-certificate-secret: keycloak-tls route.openshift.io/termination: reencrypt ...
默认情况下,Keycloak operator 创建 Ingress 资源而不是路由。OpenShift 根据 Ingress 定义自动创建路由。
在
spec
部分下指定包含 TLS 证书的 secret 名称:Example
spec: ... http: tlsSecret: keycloak-tls ...
一旦 Keycloak 启动后,OpenShift 的服务服务证书将开始为 Keycloak 生成 TLS 证书。
其他资源