amazon-ec2 - 从外部访问 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但它没有工作
解决方案
我假设这仅用于开发目的?您需要将流量从 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>
只要设置了端口转发,您就应该能够访问您的应用程序。
(用适当的值替换< >
括号内的东西)
推荐阅读
- swift - 在 Xcode 中使用干净的 swift 架构的注册页面出现问题
- java - Firebase 作业调度程序无法在 Oreo 设备上工作
- python - Django - 尝试加载该表单时,CustomModelForm 中的“extra_fields”在模型内联界面中给出“无法查找”错误
- intellisense - Monaco Editor - 创建自定义智能感知
- c - 计算C中未定义字符数组的索引#
- google-api - 如何通过他的 gmail 获取用户的名字和姓氏?
- node.js - 如何使用nodejs在redis缓存中实现hashset的分页
- c++ - 这是读取文件输入的正确方法吗?
- javascript - 如何使用 classList 切换显示/隐藏下拉列表内容?
- django - 从管理页面删除 Django 中的 ManyToManyField,然后单击按钮