Kubernetes liveness 探针是不是支持使用 PKI 进行用户身份验证?
Posted
技术标签:
【中文标题】Kubernetes liveness 探针是不是支持使用 PKI 进行用户身份验证?【英文标题】:Does Kubernetes liveness probes support user authentication with PKIs?Kubernetes liveness 探针是否支持使用 PKI 进行用户身份验证? 【发布时间】:2019-06-25 15:52:55 【问题描述】:我正在尝试访问我们的一些休息端点以检查我们的 API 容器是否已启动并正在运行。如果我可以指定一个 PKI,我就可以访问我们目前都在身份验证之后的端点。这可能吗?
如果没有,我将不得不添加一个新端点。
【问题讨论】:
当您说 PKI 时,您的意思是您想使用令牌来访问 REST 端点来执行 GET 请求? 我的钥匙串中有一个证书,我在访问站点时收到提示。我需要通过请求传递此证书,否则我会收到 403 你的容器里有卷曲吗? 不,我正在使用 openjdk:8-jdk-alpine 但如果需要可以稍微更改一下 【参考方案1】:第 1 步:将 curl 添加到容器映像 REF,提示:修改 Docker 文件以包含 curl。
第 2 步:(在 kubernetes 部署中)配置资源以挂载查询(GET 请求)REST 端点所需的证书。 REF 提示:按照 serviceaccount 凭据安装到 POD 的方式。
第 3 步:现在使用挂载到您的容器的证书。在liveness probe 中以here 所示的方式卷曲它
此时,如果您已成功 curl 且状态码为 200。您将有一个 linux 命令执行代码 0,这将导致成功的活性检查,否则 Pod 将重新启动。
【讨论】:
【参考方案2】:您可以尝试使用外部 curl 脚本和带有liveness command 的活性探针来实现它,将证书添加为秘密并安装它,然后执行 curl 如下:
curl -v --cacert /mounted/cd/secret/ca.pem \
--key /mounted/secret/key/key.pem --cert /mounted/secret/cert/admin.pem \
http://liveness/probe/url
问候。
【讨论】:
以上是关于Kubernetes liveness 探针是不是支持使用 PKI 进行用户身份验证?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Kubernetes 中触发 Liveness Probe 失败