19.3. 使用健康检查
建议外部 HTTP 请求监控健康端点。由于从红帽构建的 Keycloak 容器镜像中删除 curl
和其他软件包的安全措施,本地基于命令的监控将无法轻松正常工作。
如果您没有在容器中使用红帽构建的 Keycloak,请使用您要访问健康检查端点的任何信息。
19.3.1. curl 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
您可以使用简单的 HTTP HEAD 请求来确定红帽构建的 Keycloak 的实时或 就绪状态
。curl
是适合此目的的 HTTP 客户端。
如果容器中部署了红帽构建的 Keycloak,您必须因为前面提到的安全措施而从其外部运行此命令。例如:
curl --head -fsS http://localhost:9000/health/ready
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 部分所述。请注意,容器的安全性可能较低。