[英]Unable to validate Kubernetes cluster using Kops
我是 Kube.netes 的新手。 我正在使用 Kops 在 AWS 上部署我的 Kube.netes 應用程序。 我已經在 AWS 上注冊了我的域,還創建了一個托管區域並將其附加到我的默認 VPC。
通過 kops 創建我的 Kube.netes 集群成功。 但是,當我嘗試使用kops validate cluster
驗證我的集群時,它失敗並出現以下錯誤:
無法解析 Kube.netes 集群 API URL dns:在 149.142.35.46:53 上查找 api.ucla.dt-api-k8s.com:沒有這樣的主機
我曾嘗試調試此錯誤但失敗了。 你能幫幫我嗎? 我現在很沮喪。
根據您的描述,您在 Route 53 中創建了一個私有托管區域。 驗證可能失敗,因為 Kops 嘗試從您的機器訪問集群 API,該機器位於 VPC 之外,但私有托管區域僅響應來自內部的請求專有網絡。 具體來說,主機名api.ucla.dt-api-k8s.com
是 Kubernetes API 所在的位置,也是您可以從計算機向集群通信並向集群發出命令的方式。 私有托管區域不允許您從外部世界(您的計算機)訪問此 API。
解決此問題的一種方法是將您的托管區域設為公開。 Kops 會自動為您創建一個 VPC(除非另外配置),但您仍然可以從您的計算機訪問 API。
這就是我必須運行的:
kops export kubecfg (cluster name) --admin
這將導入訪問 kops 集群所需的“新” kubeconfig
。
昨晚我使用以前工作過的基於 kops 的集群創建腳本遇到了這個問題。 我想也許切換區域會有所幫助,但事實並非如此。 今天早上它又開始工作了。 這在 AWS 方面感覺像是間歇性的。
所以我建議的答案是:發生這種情況時,您可能需要給它幾個小時來自行解決。 就我而言,我在等待了一夜之后從頭開始重建了集群。 我不知道是否有必要從頭開始——我希望沒有。
我在使用 ubuntu 盒子時遇到了這個問題。 我所做的是將路由 53 中托管區域中的 dns 記錄添加到 /etc/hosts.conf 中。
以下是我解決此問題的方法:看起來 kops 庫存在錯誤,盡管它顯示 **驗證失敗:驗證期間出現意外錯誤:無法解析 Kubernetes 集群 API URL dns:查找 api ** 當您嘗試kops 驗證集群發布時等待 10-15 分鍾。 在幕后,kubernetes 集群啟動了! 您可以通過對 kunernetes 集群的主節點執行 ssh 來驗證相同,如下所示
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.