15.3. ヘルスチェックを使用する
ヘルスエンドポイントは、外部 HTTP 要求でモニタリングすることが推奨されます。セキュリティー対策として、Red Hat build of Keycloak のコンテナーイメージから curl
とその他のパッケージを削除しているため、するセキュリティー対策のため、ローカルのコマンドベースのモニタリングは容易には機能しません。
コンテナーで Red Hat build of Keycloak を使用していない場合は、任意の手段でヘルスチェックエンドポイントにアクセスできます。
15.3.1. curl
シンプルな HTTP HEAD 要求を使用して、Red Hat build of Keycloak の状態が live
か ready
かを判断できます。curl
は、この目的に適した HTTP クライアントです。
Red Hat build of Keycloak がコンテナーにデプロイされている場合は、前述のセキュリティー対策があるため、このコマンドをコンテナーの外部から実行する必要があります。以下に例を示します。
curl --head -fsS http://localhost:8080/health/ready
コマンドがステータス 0 を返した場合、呼び出したエンドポイントに応じて Red Hat build of Keycloak は live
または ready
になります。それ以外の場合は問題があります。
15.3.2. Kubernetes
Kubernetes が外部からヘルスエンドポイントをモニタリングできるように、HTTP Probe を定義します。liveness コマンドは使用しないでください。
15.3.3. HEALTHCHECK
Dockerfile イメージの HEALTHCHECK
命令は、コンテナーの実行中にコンテナー内で定期的に実行されるコマンドを定義します。Red Hat build of Keycloak コンテナーには、CLI HTTP クライアントがインストールされていません。コンテナーで Red Hat build of Keycloak を実行する で詳しく説明されているように、追加の RPM として curl
をインストールすることを検討してください。これにより、コンテナーの安全性が低下する可能性がある点に注意してください。