2016-05-23 70 views
2

我按照指南http://kubernetes.io/docs/getting-started-guides/ubuntu/創建kubernetes羣集。集羣啓動後,我可以使用kubectl創建Pod和服務。基本上,請執行下列操作kubernetes:服務無法在主機外訪問

kubectl run nginx --image=nginx --port=80 
kubectl expose deployment/nginx 

我看到一個吊艙和服務運行

# kubectl get services 
NAME   CLUSTER-IP  EXTERNAL-IP PORT(S) AGE 
kubernetes 192.168.3.1  <none>  443/TCP 2d 
nginx  192.168.3.208 <none>  80/TCP 2d 

當我試圖從那裏吊艙正在運行的機器訪問該服務,我回來nginx的HelloWorld的頁面。但是如果我嘗試一下kubernetes集羣中的另一臺機器,我會收到一個超時。

我認爲所有的服務都可以在集羣中的任何地方訪問。爲什麼它不能以這種方式工作?

謝謝

回答

0

是的,服務應該可以在集羣中的任何地方訪問。在kubectl get nodes的輸出中列出了您的「另一臺機器」嗎?節點Ready?也許機器配置不正確。

0

通過與其他安裝在那裏,它的工作比較發現我的錯誤。這個安裝缺少一個iptables規則,強制所有的容器都進入flannel接口。所以流量正在到達eth0上的目標主機,使其丟棄數據包。我不知道爲什麼代理沒有添加該規則。一旦我手動添加它,它的工作。