安全的mTLS健康检查端点上的Kubernetes活动探针

我想要一些解决特定问题的帮助。

请如何使Kubernetes活跃性探针在安全的https mTLS健康检查端点上工作?

我的应用程序是一个Web应用程序,其中运行状况检查端点通过特定端口公开,该端口与其他业务端点相同。

根据安全性,审核和合规性审查,我必须通过mTLS保护我的所有端点,甚至是简单无辜的运行状况检查端点。

根据安全性,审核和合规性审查,我不能公开其他任何端口,就像在https端口1上设置业务端点一样,而在http端口2上设置运行状况。

因此,这失败了,并将我的应用标记为已关闭。

          livenessProbe:
            httpGet:
              path: /health
              port: 8080
              scheme: HTTP
            initialDelaySeconds: 10
            periodSeconds: 10

只是为了在测试过程中进行确认,我们禁用了https和mTLS,启用了普通的旧http,一切正常,但是我们无法做到这一点。

请问如何解决这个问题?

谢谢。

iCMS 回答:安全的mTLS健康检查端点上的Kubernetes活动探针

我正在研究相同问题的解决方案。我打算做的是在 pod 中拥有一个受信任的证书,而不是使用 http 探针,而是使用命令探针并使用所述证书从 pod 内部卷曲我的健康检查端点。

,

您可以将脚本用于就绪探针。 在该脚本中,您可以在端点上简单 cURL 并提供所需的证书和 CA 证书。

例如:

curl -k https://<url>/health -v –key key.pem –cacert ca.pem –cert client.pem

我认为证书应该秘密存储在同一个命名空间中。 因此,您可以在 pod 中挂载具有 cert 的 secret,以便您的脚本可以使用这些路径访问证书。

,

您可以尝试将方案:HTTP 更改为 HTTPS 吗?

livenessProbe: 获取: 路径:/健康 端口:8080 方案:HTTPS 初始延迟秒数:10 周期秒数:10

如果 scheme 字段设置为 HTTPS,kubelet 会发送 HTTPS 请求,跳过证书验证。

,

如果您不想遵循上述方法,则可以在 pod 内打开一个不会通过服务暴露的端口。它将在 pod 内部,可用于准备或活跃目的。 微服务现在也遵循这些方法。

本文链接:https://www.f2er.com/1517571.html

大家都在问