2017-02-03 90 views
0

我已經Kubernetes碩士和嘍羅在EC2實例上運行,並能與下面的命令Kubernetes在EC2上無法訪問的暴露服務

kubectl run hello-world --image=gcr.io/google_containers/echoserver:1.4 --port=8080 

kubectl expose deployment hello-world --type=NodePort 

成功部署的例子應用程序,它現在可以從外部端口30013:

NAME   CLUSTER-IP  EXTERNAL-IP PORT(S)   AGE 
hello-world 10.43.95.16  <nodes>  8080:30013/TCP 1h 

我現在試圖通過訪問這個Kubernetes Minion節點的EC2實例私有IP和它的端口號爲30013來訪問它,但根本無法連接。

我檢查了AWS的安全組,並且此端口已打開並且已連接到EC2實例。我想不出任何會停止訪問應用程序的東西。

AWS網絡與Kubernetes公開服務有任何已知問題嗎?

回答

0

它應該可以工作(並且它適用於AWS上的集羣)。你確定你正在使用eth0接口的IP地址和nop crb0或其他東西嗎? EC2實例只有一個接口並且公共地址是映射的,所以從EC2內部沒有太大的區別。

此外,您應該能夠在端口8080上聯繫10.43.95.16或只使用DNS名稱。如果你想連接到k8s應用的其他服務,你應該使用它(沒有節點崩潰會影響通信等)

+0

你說它適用於AWS集羣嗎?我正在嘗試類似的地方,我有一個nodeport服務,它的pod位於我的一個aws實例上。我試圖在公開的端口上使用我的實例的公有IP訪問它,但它似乎不工作,對此有任何線索? – Magic

相關問題