付録A Keycloak の TLS 証明書を生成するための OpenShift サービス提供証明書の設定
OpenShift のサービス提供証明書は、Keycloak で使用するための Transport Layer Security (TLS) 証明書の生成と管理を自動化できます。OpenShift クラスター内の Ingress Controller などのインフラストラクチャーコンポーネントは、これらの TLS 証明書を信頼します。
前提条件
- Red Hat OpenShift Container Platform バージョン 4.13 以降
- RHBK Operator のインストール。
-
cluster-admin
ロールでの OpenShift Web コンソールへのアクセス。
手順
- OpenShift Web コンソールの Administrator パースペクティブで、ナビゲーションメニューから Home を展開し、Projects をクリックします。
-
keycloak
を検索し、keycloak-system
名前空間を選択します。 新しいサービスを作成します。
- + アイコンをクリックします。
Import YAML テキストボックスで、例をコピーしてテキストボックスに貼り付けます。
例
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 ボタンをクリックします。
- ナビゲーションメニューから Operator を展開し、Installed Operator をクリックして、Keycloak Operator をクリックします。
Keycloak
リソースの YAML view のspec
セクションに、Ingress
プロパティーを追加します。例
spec: ... ingress: annotations: route.openshift.io/destination-ca-certificate-secret: keycloak-tls route.openshift.io/termination: reencrypt ...
デフォルトでは、Keycloak Operator はルートではなく Ingress リソースを作成します。OpenShift は Ingress 定義に基づいてルートを自動的に作成します。
spec
セクションに、TLS 証明書を含むシークレットの名前を指定します。例
spec: ... http: tlsSecret: keycloak-tls ...
Keycloak が起動すると、OpenShift のサービス提供証明書が Keycloak の TLS 証明書の生成を開始します。