Spring boot 准备就绪探测失败,状态代码:401
我正试图在部署yaml文件上启用准备就绪探测,如下所示,但准备就绪探测失败:Spring boot 准备就绪探测失败,状态代码:401,spring-boot,kubernetes,Spring Boot,Kubernetes,我正试图在部署yaml文件上启用准备就绪探测,如下所示,但准备就绪探测失败:HTTP探测失败,状态码为:401,我通过解码密码进行验证,我的授权码是正确的 spec: containers: - name: mycontainer image: myimage env: - name: MY_SECRET valueFrom: secretKeyRef: name: actuator-token
HTTP探测失败,状态码为:401
,我通过解码密码进行验证,我的授权码是正确的
spec:
containers:
- name: mycontainer
image: myimage
env:
- name: MY_SECRET
valueFrom:
secretKeyRef:
name: actuator-token
key: token
livenessProbe:
httpGet:
path: test/actuator/health
port: 9001
httpHeaders:
- name: Authorization
value: $MY_SECRET
更新
如果我在值字段中硬编码令牌。。它很好用
非常感谢您的帮助。这个秘密只能在容器中访问,因此通常的活动性探测(从k8s内部容器中运行)无法解决此问题,请仔细阅读 一种解决方法是将livenessProbe作为pod本身中的命令运行:
livenessProbe:
exec:
command:
- bash
- "-c"
- |
curl http://localhost:9001/test/actuator/health --header "Authorization: $MY_TOKEN"
您可能需要修改curl语法以使其正常工作reference供您查看。。你能证实你是怎么创造这个秘密的吗。。在pod运行时,您用于定义机密并验证env varaibe MY_secret的实际值的步骤。能否显示
kubectl get secrets促动器令牌-o yaml
的输出。顺便问一下,kubernetes的版本是什么?