2017-02-03 22 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

相关问题