我有一个Docker容器,它公开了一个受基本身份验证保护的运行状况检查.我读过活跃度探头的文件在这里,但我找不到如何指定基本身份验证凭据的任何细节.这不是Kubernetes支持的吗?有没有解决方法?
DDS*_*DDS 20
现在可以为活动探针添加标头:
livenessProbe:
httpGet:
path: /healthz
port: 8080
httpHeaders:
- name: Authorization
value: Basic aGE6aGE=
Run Code Online (Sandbox Code Playgroud)
值得注意的是:
如果浏览器使用Aladdin作为用户名并使用OpenSesame作为密码,那么该字段的值是Aladdin:OpenSesame或QWxhZGRpbjpPcGVuU2VzYW1l的base64编码.然后Authorization标头将显示为:
授权:基本QWxhZGRpbjpPcGVuU2VzYW1l
资料来源:https://en.wikipedia.org/wiki/Basic_access_authentication
您可以base64在shell中使用该命令来创建此字符串:
echo -n "Aladdin:OpenSesame" | base64
Run Code Online (Sandbox Code Playgroud)
对经过身份验证的HTTP探测没有直接支持.如果您无法公开未经身份验证的运行状况检查(在集群内部IP上),那么我认为您最好的选择是使用带有ExecAction的探测器,以及如下命令:
curl -G --fail --silent --output=/dev/null -u ${AUTH_USER}:${AUTH_PASSWD} localhost:${AUTH_PORT}
Run Code Online (Sandbox Code Playgroud)
请注意,该命令在运行状况检查的容器内执行,因此如果设置为绕过auth进行localhost连接,则需要执行稍微不同的操作.
| 归档时间: |
|
| 查看次数: |
5741 次 |
| 最近记录: |