11.4. カスタムリソースを使用した Red Hat Single Sign-On のインストール
Operator を使用して Keycloak カスタムリソースを作成して、Red Hat Single Sign-On のインストールを自動化できます。カスタムリソースを使用して Red Hat Single Sign-On をインストールする際に、ここに説明されているコンポーネントおよびサービスを作成し、続いて表示されるグラフで示唆します。
-
keycloak-db-secret- データベースのユーザー名、パスワード、および外部アドレスなどのプロパティーを保存します (外部データベースに接続する場合)。 -
credentials-<CR-Name>- Red Hat Single Sign-On 管理コンソールにログインする管理者のユーザー名とパスワードです (<CR-Name>はKeycloakカスタムリソース名に基づいています)。 -
keycloak- 高可用性サポートのある StatefulSet として実装される Keycloak デプロイメント仕様 -
keycloak-postgresql- PostgreSQL データベースインストールを開始します。 -
keycloak-discoveryサービス -JDBC_PING検出を実行します。 -
keycloakサービス - HTTPS 経由で Red Hat Single Sign-On への接続 (HTTP はサポートされていません) -
keycloak-postgresqlサービス - 内部および外部 (使用されている場合) のデータベースインスタンスを接続します。 -
keycloakルート - OpenShift から Red Hat Single Sign-On 管理コンソールにアクセスするための URL
Operator コンポーネントおよびサービスがどのように対話するか
11.4.1. Keycloak カスタムリソース リンクのコピーリンクがクリップボードにコピーされました!
Keycloak カスタムリソースは、インストールのパラメーターを定義する YAML ファイルです。このファイルには、3 つのプロパティーが含まれます。
-
instances- 高可用性モードで実行中のインスタンス数を制御します。 -
externalAccess-enabledがTrueの場合、Operator は Red Hat Single Sign-On クラスターの OpenShift のルートを作成します。 -
externalDatabase- 外部でホストされているデータベースに接続するため。このトピックは、本ガイドの 外部データベース のセクションで説明しています。false に設定すると、テスト目的でのみ使用され、組み込み PostgreSQL データベースがインストールされます。externalDatabase:false は実稼働環境ではサポートされていないことに注意してください。
Keycloak カスタムリソースの YAML ファイルのサンプル
apiVersion: keycloak.org/v1alpha1
kind: Keycloak
metadata:
name: example-sso
labels:
app: sso
spec:
instances: 1
externalAccess:
enabled: True
YAML ファイルを更新しても、Red Hat Single Sign-On 管理コンソールに表示される変更は更新できますが、管理コンソールへの変更はカスタムリソースを更新しません。
11.4.2. OpenShift での Keycloak カスタムリソースの作成 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift では、カスタムリソースを使用して管理コンソールの URL であるルートを作成し、管理コンソールのユーザー名とパスワードを保持するシークレットを検索します。
前提条件
- このカスタムリソースの YAML ファイルがある。
- cluster-admin パーミッション、または管理者によって付与される同等のレベルのパーミッションがある。
手順
YAML ファイルを使用してルートを作成します (
oc create -f <filename>.yaml -n <namespace>)。以下は例になります。$ oc create -f sso.yaml -n sso keycloak.keycloak.org/example-sso createdルートは OpenShift に作成されます。
- OpenShift Web コンソールにログインします。
Networking、Routesを選択し、Keycloak を検索します。OpenShift Web コンソールのルート画面
Keycloak ルートのある画面で、
Locationの下にある URL をクリックします。Red Hat Single Sign-On の管理コンソールのログイン画面が表示されます。
管理コンソールのログイン画面
OpenShift Web コンソールで管理コンソールのユーザー名およびパスワードを確認します。
WorkloadsでSecretsをクリックし、Keycloak を検索します。OpenShift Web コンソールのシークレット画面
管理コンソールのログイン画面に、ユーザー名とパスワードを入力します。
管理コンソールのログイン画面
次に、Keycloak カスタムリソースによってインストールされた Red Hat Single Sign-On のインスタンスにログインしている。レルム、クライアント、およびユーザーのカスタムリソースを作成できます。
Red Hat Single Sign-On マスターレルム
カスタムリソースのステータスを確認します。
$ oc describe keycloak <CR-name>
結果
Operator がカスタムリソースを処理した後に、以下のコマンドでステータスを表示します。
$ oc describe keycloak <CR-name>
Keycloak カスタムリソースのステータス
Name: example-keycloak
Namespace: keycloak
Labels: app=sso
Annotations: <none>
API Version: keycloak.org/v1alpha1
Kind: Keycloak
Spec:
External Access:
Enabled: true
Instances: 1
Status:
Credential Secret: credential-example-keycloak
Internal URL: https://<External URL to the deployed instance>
Message:
Phase: reconciling
Ready: true
Secondary Resources:
Deployment:
keycloak-postgresql
Persistent Volume Claim:
keycloak-postgresql-claim
Prometheus Rule:
keycloak
Route:
keycloak
Secret:
credential-example-keycloak
keycloak-db-secret
Service:
keycloak-postgresql
keycloak
keycloak-discovery
Service Monitor:
keycloak
Stateful Set:
keycloak
Version:
Events:
関連資料
- Red Hat Single Sign-On のインストールが完了すると、レルムカスタムリソースを作成 する準備が整います。
- 外部データベースはサポートされているオプションであり、Keycloak カスタムリソースで有効にする必要があります。このオプションはテストでのみ無効にし、実稼働環境に切り替えるときに有効にすることができます。外部データベースへの接続 を参照してください。