amazon-web-services - AWS ec2 暴露端口不适用于 Kubernetes 转发端口
问题描述
我是 devops 的新手。我创建了一台 ec2 机器并打开了端口 8080,而我正在运行一个简单的服务器,我可以公开访问它。
http://localhost:8080(来自 ec2 容器)=> hello world
http://ec2-15-206-178-112.ap-south-1.compute.amazonaws.com:8080 =>你好世界
现在我已经安装了一个 Kubernetes 服务器,可以在这个实例中使用 kubectl 访问它,我在其中一个 pod 上运行一个简单的服务器并将端口转发到 ec2 8080 端口。
kubectl 端口转发 pod/frontend-7496d5f6b8-clfx4 8080:80
现在从我的 Ec2 实例中我可以访问它
http://localhost:8080(来自 ec2 容器)=> 来自 pod 的 hello world
但我不能公开访问它(端口 8080 在我的安全组中打开)
http://ec2-15-206-178-112.ap-south-1.compute.amazonaws.com:8080 => 连接被拒绝
有人能指出我错过了什么吗?
解决方案
默认情况下,Kubernetes 端口转发仅绑定到127.0.0.1
. 这就是为什么您无法使用公共接口访问它的原因。
使用以下命令绑定到所有接口:
kubectl port-forward --address 0.0.0.0
您可以在此处查看相关的 GH 问题。
推荐阅读
- python - 无论指定长度,Dataframe 只占用我 csv 的前 50 行
- azure - Azure AD 阻止添加 HTTP 回复 URL
- python - Matplotlib 小部件按钮在第一次单击并调用 on_clicked() 后无响应
- php - getUserMedia 抛出“使用未定义的常量......”
- terraform - 如何在 Terraform 中有条件地预配 Azure 点到站点 vpn?
- reactjs - 我应该如何更新 Redux 表单选择字段选项
- spring - JWT 签名与本地计算的签名不匹配。JWT 有效性不能被断言,也不应该被信任
- excel - 如何使用 VBA 将单元格 A1 中的值(例如 LT0123)复制到单元格 A2?
- d3.js - 我一直在尝试使用 dc.js 和 crossfilter 来构建数据表功能来列出一些数据。但是数据没有按预期显示
- typescript - 如何定义自定义传单控件的类型