【问题标题】:Access an application running on NodePort of minikube inside an EC2 instance from outside world从外部访问 EC2 实例内 minikube 的 NodePort 上运行的应用程序
【发布时间】:2020-05-13 02:58:37
【问题描述】:

我有一个 EC2 实例,说它的 IP 是 44.XX.XX.XX(比如 IP1),我有一个在这个 EC2 实例中运行的 minikube,说它的 IP 是 10.XX.XX.XX(比如 IP2) ,我是通过在 EC2 实例中执行 minikube ip 才知道的。我有一个前端应用程序在 NodePort 的 minikube 中运行,比如 30010 。我可以通过这样做来卷曲到应用程序 卷曲http://IP2:30010

但我想通过任何其他 PC 在 ec2 之外访问此应用程序。如何做到这一点,我尝试做http://IP1:30010,但它没有工作

【问题讨论】:

    标签: amazon-ec2 kubernetes minikube istio


    【解决方案1】:

    我假设这仅用于开发目的?您需要将流量从 EC2 节点转发到 minikube,因为 minikube 作为单独的 VM 运行。

    在 IP2 主机上设置好 kubectl 与 minikube 集群通信后,您可以使用 kubectl port-forward 将流量转发到 minikube 内运行的任何服务/pod。

    kubectl port-forward --address 0.0.0.0 svc/<svc-name> <host-port>:<service-port>

    只要设置了端口转发,您就应该能够通过 IP2:<host-port> 访问您的应用程序。

    (将 < > 括号内的内容替换为适当的值)

    【讨论】:

    • 根据我的测试,这个解决方案有效,但有趣的是似乎不需要 NodePort 服务——事实上它忽略了 NodePort 端口,只使用应用程序端口。事实上,您可以完全跳过 NodePort 服务的创建,并使用此解决方案将 deployment/<dep-name> 传递给命令。
    猜你喜欢
    • 2021-11-20
    • 1970-01-01
    • 2020-01-12
    • 2017-01-14
    • 2020-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多