我让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网络是否存在任何已知问题?
答案 0 :(得分:0)
它应该可以工作(它可以在AWS上的集群上运行)。您确定使用的是eth0接口的IP地址和nop crb0或其他东西吗? EC2实例只有一个接口并且公共地址被映射,因此从EC2内部没有太大区别。
此外,您应该可以在端口8080上联系mvn package spring-boot:repackage
或只使用DNS名称。如果你想从k8s应用程序连接到其他服务,你应该使用它(没有节点崩溃会影响通信等)。