首页 > 解决方案 > 从外部访问 EC2 实例内 minikube 的 NodePort 上运行的应用程序

问题描述

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

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

标签: amazon-ec2kubernetesminikubeistio

解决方案


我假设这仅用于开发目的?您需要将流量从 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>只要设置了端口转发,您就应该能够访问您的应用程序。

(用适当的值替换< >括号内的东西)


推荐阅读