19.3. 使用健康检查
建议外部 HTTP 请求监控健康端点。由于从红帽构建的 Keycloak 容器镜像中删除 curl
和其他软件包的安全措施,本地基于命令的监控将无法轻松正常工作。
如果您没有在容器中使用红帽构建的 Keycloak,请使用您要访问健康检查端点的任何信息。
19.3.1. curl
您可以使用简单的 HTTP HEAD 请求来确定红帽构建的 Keycloak 的实时或 就绪状态
。curl
是适合此目的的 HTTP 客户端。
如果容器中部署了红帽构建的 Keycloak,您必须因为前面提到的安全措施而从其外部运行此命令。例如:
curl --head -fsS http://localhost:9000/health/ready
如果命令返回状态为 0,则红帽构建的 Keycloak 为 live
或 ready
,具体取决于您调用的端点。否则,会出现问题。
19.3.2. Kubernetes
定义一个 HTTP 探测,以便 Kubernetes 可以在外部监控健康端点。不要使用 liveness 命令。
19.3.3. HEALTHCHECK
Containerfile HEALTHCHECK
指令定义了一个命令,它将在运行时定期在容器内执行。Red Hat build of Keycloak 容器没有安装任何 CLI HTTP 客户端。考虑将 curl
安装为额外的 RPM,如 在容器中运行红帽构建的 Keycloak 部分所述。请注意,容器的安全性可能较低。