前言:近日在windows10上使用debian_linux虛擬系統使用kubectl命令行工具,訪問真實環境rancher時,無法訪問資源,拋出異常:Unable to connect to the server: x509: certificate signed by unknown authority。
查詢很多網站以及詢問大佬,覺得問題可能出在證書上,也就是k8s集群里的kubeconfig里的:{clusters:[{
cluster:{certificate-authority-data:"證書數據"}
}]},真實環境缺少該節點數據,但是雖然沒有整數,但是用戶節點里有有token的,也就是說如果客戶端在發送請求時能帶着token應該也是可以訪問的,再結合網上關於錯誤:Unable to connect to the server: x509: certificate signed by unknown authority的一些相關問題的參考,於是就發現可能我需要在debian里先安裝一下openssl命令。
前提:需要把rancher里的kubeconfig里的配置放到當前用戶目錄制定文件里:如,/root/.kube/config
解決步驟:
1-測試openssl命令,提示沒有安裝:
openssl
2-安裝openssl命令:
# 更新apt-get命令 apt-get update #安裝ssl apt-get install openssl
3-安裝wget和curl:
這里wget命令安裝后,curl就可以訪問https鏈接了,這個暫時沒有搞懂什么原因
sudo apt-get install wget sudo apt-get install curl
4-使用dpkg命令檢查安裝情況:
dpkg -l | grep "openssl"
這里列舉一點常用命令:
exit --退出當前用戶
su --切換到root用戶,輸入密碼登錄
dpkg -l | grep "openssl" --列出已安裝包,過濾openssl相關
wget和curl是和請求有關的,kubectl是用也是接受請求來管理資源的,因此這里沒有的話,都更新一下,ssl跟證書有關的,也裝一下命令。 到這里后,我們還沒有配置什么證書什么的,先測試一下kubectl獲取資源的命令,結果發現了神奇的一幕,
居然好使了:
不過我也不知道為啥,反正就是可以用了,具體再還原解決過程中也是測不出來到底哪個命令起的作用,也可能是執行了apt-get update起的作用??? 此博客供大家參考吧,也希望有知道的大神能指點一二,謝謝!
參考文章有:https://www.cnblogs.com/yxy666/p/9606286.html