2016-11-08 75 views
1

我已經建立了一個在AWS上運行的kubernetes集羣。我現在想要做的是從遠程機器控制集羣,例如我的MacBook Pro。如何使Kubernetes的RESTful api從遠程機器上可用?

我瞭解到Kubernetes擁有RESTful API,而Kubectl可以作爲代理。 運行: kubectl proxy --port=8001 & 我可以捲曲訪問RESTful的API,例如:

curl http://localhost:8001/api 

後來我發現,我只能蜷縮在本地主機。如果我使用以下命令從遠程機器捲曲:

curl http://dns-to-the-k8-machine:8080/api 

我將得到「連接被拒絕」。我想知道這裏發生了什麼?有沒有一種方法可以輕鬆地遠程訪問apis?

在此先感謝。

回答

0

根據您如何配置羣集,API服務器可能正在偵聽不同的端口。看看你的kubeconfig文件(~/.kube/config),應該有一個部分有你要連接的服務器。

此外,您的集羣可能正在使用證書或其他類型的身份驗證,您還需要通過該證書。這些將在相同的kubeconfig文件中進行概述。

當使用kubectl proxy時,kubectl自動處理上述部分,並通過本地主機代理回到您的筆記本電腦。

+0

謝謝史蒂夫。 kubeconfig完美運作。我現在可以從遠程機器訪問集羣。但是有一個小問題。當使用kubeconfig作爲身份驗證時,我只有通過通過其專用IP與kubernetes主節點的443端口進行通信纔有權訪問羣集。這意味着我只能從另一個aws實例訪問集羣,但不能訪問我自己的筆記本電腦。我想知道有沒有辦法授權我通過主節點的公共IP訪問集羣? –

+0

你是如何部署集羣的?您需要提供某種面向公衆的IP或負載平衡器端點,指向api服務器的專用IP。 –

相關問題