連接到外部 kubernetes 叢集時出錯

連接到外部 kubernetes 叢集時出錯

我使用 kubeadm 安裝了 kubernetes 集群,伺服器本身一切正常,主節點和工作節點可見

--apiserver-cert-extra-sans=*.*.201.87

我從本地 PC 從另一個網路建立連接,之前已將 admin.conf 複製到 ~/.kube 我收到錯誤

E0125 13:47:12.606617 794306 proxy_server.go:147] Error while proxying request: x509: cannot validate certificate for *.*.201.87 because it doesn't contain any IP SANs

我們嘗試再次要求證書,但沒有成功

答案1

如果您確實使用*.*.201.87,那麼這是錯誤的,您應該使用正確的 IP 位址或 DNS 名稱。

如果您在此範例中掩蓋了實際 IP *,請檢查 TLS 握手期間提供的憑證:

openssl s_client -connect <host>:<port>
# save cert in cert.pem
openssl x509 -text -noout -in cert.pem 

檢查 下列出了哪些條目X509v3 Subject Alternative Name

答案2

您發布的錯誤

x509: cannot validate certificate for ..201.87 because it doesn't contain any IP SANs

表示 Kubernetes API 伺服器提供的憑證不包含必要的 IP SAN 來符合您用於存取叢集的 IP 位址。

嘗試使用適當的 IP SAN 重新產生 Kubernetes API 伺服器的憑證。您可以使用該kubeadm alpha phase certs all --apiserver-advertise-address=<your-IP\>命令來實現此目的。看到這個關聯

也要確保庫貝配置環境變數已正確設定為您的位置管理設定檔文件。該檔案應包含與 Kubernetes API 伺服器進行驗證所需的憑證和金鑰資料。

答案3

就我而言

export no_proxy=$no_proxy,11.62.201.87

相關內容