2015-05-04 119 views
0

我在Amazon EC2中使用cluster/kube-up.sh創建羣集以嘗試使用kubernetes。然後,我不再使用時省錢。下一次,我在亞馬遜中啓動主要實例& minion實例,因爲EC2將新的公共IP分配給實例,所以*〜/ .kube/config對於集羣主服務器具有舊IP-s。如何在停止和啓動實例後重新連接到Amazon kubernetes羣集?

目前我還沒有找到辦法來集羣/ kube-up.sh所以停止&開始實例之間是一致的IP-S將被設置到位提供彈性IP-S。此外,在證書〜/ .kube /舊IP配置人工手動更改IP不起作用或者:

Running: ./cluster/../cluster/aws/../../cluster/../_output/dockerized/bin/darwin/amd64/kubectl get pods --context=aws_kubernetes Error: Get https://52.24.72.124/api/v1beta1/pods?namespace=default: x509: certificate is valid for 54.149.120.248, not 52.24.72.124

如何使kubectl使對同一kubernetes主的查詢上重啓後在不同的IP上運行?

回答

1

如果關於您的羣集唯一已更改的是主服務器的IP地址,則可以通過編輯文件~/.kube/config(查找帶有IP地址的「server」行)來手動修改主位置。

這個用例(暫停/恢復集羣)並不是我們通常測試的,所以一旦您的集羣備份並運行,您可能會遇到其他問題。如果這樣做,請在GitHub存儲庫上使用file an issue

+0

我曾嘗試在'''〜/ .kube/config'''中更改服務器ip。之後運行* kubectl *命令(例如''./cluster/kubectl.sh get pods'''會導致原始問題寫入錯誤 - '''錯誤:獲取https://52.24.72.124/api/v1beta1/pods?namespace = default:x509:證書的有效期爲54.149.120.248,而不是52.24.72.124'''這是否是預期行爲? –

+0

主機上的自簽名證書使用主機的IP作爲通用名稱。在創建羣集時需要保留一個IP,這可能需要對AWS羣集創建腳本進行一些調整 –

+0

由於您在https://github.com/GoogleCloudPlatform/kubernetes/issues/7828中的評論,找到了進行微調的地方。將標記爲已接受 –

0

我不確定您使用的是哪個版本的Kubernetes,但在v1.0.6中,您可以將MASTER_RESERVED_IP環境變量傳遞給kube-up.sh,以將給定的彈性IP分配給Kubernetes主節點。

對於Kubernetes存儲庫中的AWS,您可以在config-default.sh file中檢查kube-up.sh的所有可用選項。

相關問題