2015-09-25 84 views
4

我遵循Kubernetes docs for setting up a single node cluster as a Docker container。我現在在遠程Linux VM上運行Kubernetes(例如,mykube01.example.com)。針對遠程集羣配置kubectl

然後,我在我的Mac筆記本電腦上本地下載並安裝了kubectl。我可以運行kubectl version並驗證我安裝了正確的版本。

我後來去通過following this doc配置kubectl和創建以下~/.kube/config文件:

apiVersion: v1 
clusters: 
- cluster: 
     api-version: v1 
     server: http://mykube01.example.com:8080 
     name: testkube 

當我運行kubectl cluster-info我得到:

Kubernetes master is running at http://mykuber01.example.com:8080 

但是當我運行kubetctl get nodes我得到:

The connection to the server mykube01.example.com:8080 was refused - did you specify the right host or port? 

任何想法,我要走錯了嗎?我想要得到的地步,我可以保持與第一Kubernetes DOC打算和部署通過nginx的到1個節點的集羣:

kubectl -s http://mykube01.example.com:8080 run-container nginx --image=nginx --port=80 

但我不能這樣做,直到我得到kubectl適當和正確的配置連接到我的遠程「羣集」。

+0

在您的Linux機器上運行apiserver是否在所有網絡接口上偵聽?如果來自Mac的連接被拒絕,那聽起來好像它可能沒有在可遠程訪問的界面上監聽。 –

+0

只是爲了確保api服務器正常運行,可能是您可以嘗試從筆記本電腦上捲曲http://mykube01.example.com:8080/api/v1/nodes/(或從瀏覽器) –

回答

1

(移動「回覆」下到「答案」,讓這似乎爲「回答」

kubectl只是默認使用HTTP(S)。由於上面的人說,請嘗試使用「捲曲mykube01。 example.com:8080/api/v1/nodes'或在瀏覽器中打開該URL,看看是否有效。

如果這樣,但是kubectl不會在kubectl或你的配置中出現問題。 curl或瀏覽器不工作,問題出在網絡上某處

1

當你創建了連接到你的主文件時,應該創建一個文件:

/etc/kubernetes/kubelet.conf 

默認情況下,您的個人配置爲空或缺失。所以,我複製上面提到的kubelet.conf文件作爲我的~/.kube/config文件。完美工作。