針對Docker Desktop中Kubernetes訪問報SSL/TLS信任關系錯誤的問題,以下是綜合解決方案:
要在Postman中調用Kubernetes API并設置證書,需按以下步驟操作:
🔐 證書設置步驟
?提取證書文件?
從kubeconfig文件(~/.kube/config
)解碼證書:
# 提取CA證書 grep certificate-authority-data ~/.kube/config | cut -d" " -f6 | base64 -d > ca.pem
# 提取客戶端證書 grep client-certificate-data ~/.kube/config | cut -d" " -f6 | base64 -d > client.pem
# 提取客戶端密鑰 grep client-key-data ~/.kube/config | cut -d" " -f6 | base64 -d > client-key.pem
獲得ca.pem
、client.pem
和client-key.pem
三個文件?。
?在ApiFox添加CA證書?
- 打開接口,運行,設置,證書管理:
- 選擇上傳CA證書
- 打開接口,運行,設置,證書管理:
?添加客戶端證書(雙向TLS)?
- 在Certificates界面點擊?添加客戶端證書
- Host字段輸入API域名(如
kubernetes.docker.internal
) - 端口填寫
6443
(或留空使用默認443端口) - 選擇
client.pem
作為CRT文件,client-key.pem
作為密鑰文件 - 若無密碼則留空,點擊?Add???
? 請求發送示例
GET https://kubernetes.docker.internal:6443/api/v1/nodes
- ?無需額外Headers?:證書已通過雙向TLS自動認證
- 成功響應狀態碼為
200
,返回JSON格式節點數據?。
?? 注意事項
- 證書需定期更新(如Let's Encrypt證書90天有效期)?2
- 同一域名只能綁定一個客戶端證書,重復添加會被覆蓋?2
- 生產環境?不建議禁用SSL驗證?,僅限測試使用?4。
參考——百度ai,deepseek搜索結果