Kubernetes在EC2上公开的服务无法访问

时间:2017-02-03 13:17:01

标签: amazon-web-services amazon-ec2 kubernetes

我让Kubernetes Master和Minions在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实例。我想不出任何会阻止访问该应用程序的内容。

使用Kubernetes公开服务的AWS网络是否存在任何已知问题?

1 个答案:

答案 0 :(得分:0)

它应该可以工作(它可以在AWS上的集群上运行)。您确定使用的是eth0接口的IP地址和nop crb0或其他东西吗? EC2实例只有一个接口并且公共地址被映射,因此从EC2内部没有太大区别。

此外,您应该可以在端口8080上联系mvn package spring-boot:repackage或只使用DNS名称。如果你想从k8s应用程序连接到其他服务,你应该使用它(没有节点崩溃会影响通信等)。