如何在kubernetes上的探针授权标头中使用secret?

问题描述

我需要在kubernetes中配置探针。在探针端点中,我使用http和基本身份验证。这是我的deployment.yml

的示例
livenessProbe:
 httpGet:
 path: /actuator/health/liveness
 port: 8080
 scheme: HTTP
 httpHeaders:
 - name: Authorization
 value: Basic dXNlcjpwYXNzd29yZA==

是否可以将其配置为在标头授权中使用秘密值?据我所知,标头必须使用base64编码的“ user:password”,否则它将无法正常工作。我将用户名密码保留在应用程序的application.yml中,此项目的configMap是在application.yml的基础上创建的。是否可以自动从configMap中检索用户密码添加到base64并分配给变量或保密性?还是有可能将用户名密码保密,并在探针中使用它? [我不是要在秘密类型令牌中将'user:password'保留在base64中,而只是基本auth'。

我将非常感谢您提供任何答案。

解决方法

是否可以从以下位置自动检索用户和密码: configMap并添加到base64并分配给变量或保密性?

简短的回答是否定的。如果您查看文档,您会注意到Kubernetes没有此功能。 Kubernetes API参考中列出了所有可用的选项。

您将必须创建一个自定义解决方案以使此功能成为可能,例如编写自己的脚本以读取ConfigMap(例如该配置的curl API)。