我有一個Docker容器,公開受基本身份驗證保護的健康檢查。我已閱讀關於活性探針here的文檔,但我找不到有關如何指定基本身份驗證憑據的任何詳細信息。這是不是由Kubernetes支持?有沒有解決方法?如何在Kubernetes的HTTP活性探測中使用基本身份驗證?
3
A
回答
3
現在可以添加標題活躍度探頭:
livenessProbe:
httpGet:
path: /healthz
port: 8080
httpHeaders:
- name: Authorization
value: Basic aGE6aGE=
這可能是值得指出的是:
如果瀏覽器使用阿拉丁作爲用戶名和OPENSESAME作爲 密碼,那麼該字段的值是 Aladdin:OpenSesame或QWxhZGRpbjpPcGVuU2VzYW1l的base64編碼。然後 授權頭將顯示爲:
授權:基本QWxhZGRpbjpPcGVuU2VzYW1l
來源:https://en.wikipedia.org/wiki/Basic_access_authentication
您可以使用命令base64
在你的shell來創建這個字符串:
echo -n "Aladdin:OpenSesame" | base64
5
對認證的HTTP探針沒有直接的支持。如果你不能暴露未經認證的健康檢查(在集羣內部IP),那麼我認爲最好的辦法是用探針與ExecAction,並且這樣的命令:
curl -G --fail --silent --output=/dev/null -u ${AUTH_USER}:${AUTH_PASSWD} localhost:${AUTH_PORT}
需要注意的是內部執行命令健康檢查的容器,所以如果設置爲繞過本地主機連接的身份驗證,您需要做一些稍微不同的事情。
0
我也遇到過這個問題,我用TCP Socket Checks由Openshift。您必須提供運行服務器的端口。
livenessProbe:
tcpSocket:
port: 8080
initialDelaySeconds: 15
timeoutSeconds: 1
相關問題
- 1. 與基本身份驗證的HTTP基本身份驗證
- 2. 基本HTTP身份驗證
- 3. 禁用其他身份驗證的HTTP基本身份驗證
- 4. 如何在PHP中使用基本HTTP身份驗證?
- 5. Authlogic - 通過基本HTTP身份驗證進行身份驗證
- 6. 使用基本身份驗證和代理身份驗證的駱駝Http
- 7. TouchJSON與基本的HTTP身份驗證
- 8. 與NSURLSession的HTTP基本身份驗證
- 9. iPhone上的基本HTTP身份驗證
- 10. Noir的基本HTTP身份驗證
- 11. URLConnection的HTTP基本身份驗證
- 12. Objective-C的HTTP基本身份驗證
- 13. 我如何使用Guzzle進行HTTP基本身份驗證?
- 14. NSURLConnection SSL HTTP基本身份驗證
- 15. http基本身份驗證與vert.x
- 16. CORS和HTTP基本身份驗證
- 17. EventSource和基本http身份驗證
- 18. JSF 2和基本HTTP身份驗證
- 19. HTTP基本身份驗證登出
- 20. NodeJs HTTP代理基本身份驗證
- 21. 安全HTTP基本身份驗證
- 22. Rails 2.x http基本身份驗證
- 23. C#Http基本身份驗證繞過
- 24. Symfony基本API Http身份驗證
- 25. HTTP基本身份驗證與Authlogic
- 26. WCF與Http基本身份驗證
- 27. JPG,HTTP基本身份驗證和PHP
- 28. 使用HTTP基本身份驗證在Vaadin中註銷
- 29. 在rails中使用基本http身份驗證,
- 30. 使用基本身份驗證在GO中獲取http帖子