OpenShift への Keycloak のインストール
minikube 環境と同様のセットアップで OpenShift に Keycloak をデプロイします。
minikube がこのセットアップの主要なターゲットですが、これは OpenShift 環境でそれを使用する方法に関する進捗状況を追跡します。「サポートされている機能」を参照してください。
カスタムリソース定義をインストールできるようにするには、cluster-admin
ロールを持つ OpenShift へのアクセスが必要です。
このセットアップは、適切なパスワードとトランスポート暗号化によって適切に保護されていないノードポートと URL を公開するため、OpenShift はインターネットからアクセス可能であってはなりません。 |
サポートされている機能
現時点では、OpenShift で動作しないことがわかっているのは次のとおりです。
- sqlpad
-
コンテナには root ユーザーが必要です。
- monitoring
-
OpenShift は、監視のために Grafana、OpenTelemetry、Jaeger のみを提供します。 Graphite はまだ実装されていません。
Cryostat は、AWS への OpenShift のインストールで提供されているインストールスクリプトのデフォルトである Cryostat Operator がインストールされている必要があります。
OpenShift への Keycloak のインストール
-
https://github.com/keycloak/keycloak-benchmark/ から Git リポジトリをチェックアウトします。
-
provision/openshift
フォルダーに移動します。 -
task
コマンドを実行して、OpenShift 上のすべてのコンテナをプロビジョニングします。
デプロイメントを構成するには、詳細について「デプロイメントのカスタマイズ」を参照してください。
Operator Hub からの Keycloak のインストール
デフォルトでは、オペレーターは keycloak-k8s-resources
を介して直接インストールされます。
Operator Lifecycle Manager を使用して Operator Hub からオペレーターをインストールするには、次を設定します。
KC_OPERATOR_OLM=true
さらに、次のパラメーターをカスタマイズできます。
- KC_OPERATOR_CATALOG_SOURCE_NS
-
OLM カタログソースの名前空間。デフォルトは
openshift-marketplace
です。 - KC_OPERATOR_CATALOG_SOURCE
-
OLM カタログソース。デフォルトは
community-operators
です。 - KC_OPERATOR_NAME
-
カタログソース内の Keycloak Operator の名前。デフォルトは
keycloak-operator
です。 - KC_OPERATOR_CHANNEL
-
OLM サブスクリプションチャネル。設定されていない場合、選択したオペレーターのデフォルトチャネルが使用されます。
- KC_OPERATOR_VERSION
-
Keycloak Operator バージョン。設定されていない場合、選択したチャネルの現在のバージョンが使用されます。
OLM サブスクリプションに使用される実際の Cluster Service Version は、慣例により次のように設定されることに注意してください。
${KC_OPERATOR_NAME}.v${KC_OPERATOR_VERSION}
OpenShift ロギング
OpenShift ロギングはデフォルトで有効になっています。すべてのアプリケーションおよびインフラストラクチャポッドログは、openshift-logging
名前空間の非レプリケート ElasticSearch インスタンスに保存されます。
ログは Kibana UI でクエリできます。Kibana UI には、Openshift UI の アプリケーションランチャー → ロギング を介してアクセスできます。

さらに、ポッドのログを表示するときは、Kibana で表示 リンクを使用して、この特定のポッドのログを検索します。

Kibana に最初にログインするときは、ログをクエリできるように、タイムスタンプフィールド @timestamp
を使用してインデックスパターン *
を作成します。詳細については、OpenShift ドキュメントを参照してください。
1 つの OpenShift クラスターを他のユーザーと共有する
次のオプションは、1 つの OpenShift クラスター内で複数のユーザーが同時に使用できるように Keycloak デプロイメントをカスタマイズするために必要です。
KC_NAMESPACE_PREFIX
-
名前空間名をカスタマイズできます。結果の名前空間は
${KC_NAMESPACE_PREFIX}keycloak
になります。デフォルトでは、名前空間プレフィックスは$(whoami)-
に設定されていますが、.env
ファイルでカスタマイズできます。