3.21. マルチクラスターデプロイメントのヘルスチェック


マルチクラスターデプロイメントの健全性を検証します。

OpenShift 環境で マルチクラスターデプロイメント を実行する場合は、すべてが期待どおりに稼働しているかどうかを確認するチェックを自動化する必要があります。

このページでは、Red Hat build of Keycloak のマルチクラスターセットアップを検証するために使用できる URL、OpenShift リソース、およびヘルスチェックエンドポイントの概要を示します。

3.21.1. 概要

プロアクティブなモニタリングストラテジーは、問題がユーザーに影響を与える前に検出して警告することを目的としています。このストラテジーは、Red Hat build of Keycloak の回復力と可用性を高める鍵となります。

さまざまなアーキテクチャーコンポーネント (アプリケーションの健全性、負荷分散、キャッシュ、全体的なシステムの状態など) を対象とするヘルスチェックは、次の点で重要です。

高可用性の確保
すべてのサイトとロードバランサーが動作していることを確認することは、1 つのサイトがダウンした場合でもシステムがリクエストを処理できることを保証するための鍵となります。
パフォーマンスの維持
Red Hat build of Keycloak は、Data Grid キャッシュの健全性と分散をチェックすることで、セッションやその他の一時データを効率的に処理し、最適なパフォーマンスを維持できます。
オペレーションの回復力
Red Hat build of Keycloak の健全性と OpenShift 環境内の依存関係の健全性を継続的に監視することにより、システムは問題を迅速に特定し、場合によっては自動的に修復して、ダウンタイムを削減できます。

3.21.2. 前提条件

  1. Kubectl CLI のインストールと設定 が完了している。
  2. オペレーティングシステムにインストールされていない場合、jq をインストールする。

3.21.3. 特定のヘルスチェック

3.21.3.1. Red Hat build of Keycloak のロードバランサーとサイト

ロードバランサーと、プライマリーサイトおよびバックアップサイトの両方を通じて、Red Hat build of Keycloak の健全性を確認します。これにより、Red Hat build of Keycloak にアクセスでき、さまざまな地理的またはネットワーク上の場所をまたいで負荷分散メカニズムが正しく機能することが確保されます。

このコマンドは、Red Hat build of Keycloak アプリケーションの設定済みデータベースへの接続のヘルスステータスを返すため、データベース接続の信頼性を確認できます。このコマンドは管理ポートでのみ使用でき、外部 URL からは使用できません。OpenShift セットアップでは、Pod の準備を完了するために health/ready サブステータスが定期的にチェックされます。

curl -s https://keycloak:managementport/health
Copy to Clipboard Toggle word wrap

このコマンドは、ロードバランサーの lb-check エンドポイントを検証し、Red Hat build of Keycloak アプリケーションクラスターが稼働していることを確認します。

curl -s https://keycloak-load-balancer-url/lb-check
Copy to Clipboard Toggle word wrap

以下のコマンドは、マルチクラスターセットアップの Red Hat build of Keycloak の Site A および Site B の実行ステータスを返します。

curl -s https://keycloak_site_a_url/lb-check
curl -s https://keycloak_site_b_url/lb-check
Copy to Clipboard Toggle word wrap

3.21.3.2. Data Grid キャッシュの健全性

外部 Data Grid クラスター内のデフォルトのキャッシュマネージャーと個々のキャッシュの健全性を確認します。Data Grid は、Red Hat build of Keycloak のデプロイメントで分散キャッシュやセッションクラスタリングに使用されることが多いため、このチェックは Red Hat build of Keycloak のパフォーマンスと信頼性において重要です。

このコマンドは、Data Grid キャッシュマネージャーの総合的な健全性を返します。つまり、管理者ユーザーが健全性ステータスを取得するためにユーザー認証情報を提供する必要がないため便利です。

curl -s https://infinispan_rest_url/rest/v2/cache-managers/default/health/status
Copy to Clipboard Toggle word wrap

上記のヘルスチェックとは異なり、以下のヘルスチェックでは、外部 Data Grid クラスターキャッシュの全体的な健全性を確認するためのリクエストの一部として、管理者ユーザーは Data Grid ユーザーの認証情報を提供する必要があります。

curl -u <infinispan_user>:<infinispan_pwd> -s https://infinispan_rest_url/rest/v2/cache-managers/default/health \
 | jq 'if .cluster_health.health_status == "HEALTHY" and (all(.cache_health[].status; . == "HEALTHY")) then "HEALTHY" else "UNHEALTHY" end'
Copy to Clipboard Toggle word wrap

jq フィルターは、個々のキャッシュの健全性に基づいて全体的な健全性を計算するのに便利です。jq フィルターなしで上記のコマンドを実行すると、すべての詳細を確認できます。

3.21.3.3. Data Grid クラスターの分散

Data Grid クラスターの分散の健全性を評価し、クラスターのノードがデータを正しく分散していることを確認します。このステップは、キャッシュレイヤーのスケーラビリティーとフォールトトレランスにとって不可欠です。

expectedCount 3 引数を、クラスター内の合計ノード数と一致するように変更し、その健全性を検証できます。

curl <infinispan_user>:<infinispan_pwd> -s https://infinispan_rest_url/rest/v2/cluster\?action\=distribution \
 | jq --argjson expectedCount 3 'if map(select(.node_addresses | length > 0)) | length == $expectedCount then "HEALTHY" else "UNHEALTHY" end'
Copy to Clipboard Toggle word wrap

3.21.3.4. 全体的な Data Grid システムの健全性

oc CLI ツールを使用して、指定された namespace 内の Data Grid クラスターと Red Hat build of Keycloak サービスのヘルスステータスを照会します。この包括的なチェックにより、Red Hat build of Keycloak デプロイメントのすべてのコンポーネントが OpenShift 環境内で動作し、正しく設定されていることを確認できます。

oc get infinispan -n <NAMESPACE> -o json  \
| jq '.items[].status.conditions' \
| jq 'map({(.type): .status})' \
| jq 'reduce .[] as $item ([]; . + [keys[] | select($item[.] != "True")]) | if length == 0 then "HEALTHY" else "UNHEALTHY: " + (join(", ")) end'
Copy to Clipboard Toggle word wrap

3.21.3.5. OpenShift における Red Hat build of Keycloak の準備状態

具体的には、OpenShift での Red Hat build of Keycloak デプロイメントの準備状態とローリング更新条件をチェックし、Red Hat build of Keycloak インスタンスが完全に動作しており、可用性に影響を与える可能性のある更新が行われていないことを確認します。

oc wait --for=condition=Ready --timeout=10s keycloaks.k8s.keycloak.org/keycloak -n <NAMESPACE>
oc wait --for=condition=RollingUpdate=False --timeout=10s keycloaks.k8s.keycloak.org/keycloak -n <NAMESPACE>
Copy to Clipboard Toggle word wrap
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat