kubernetes - Kubernetes:从本地端口(UDP、TCP)到特定服务的流量转发
问题描述
我有一个具有公共 IP 地址的 EC2 实例(linux、kubernetes)。我想将数据流量转发到我的服务。
假设我的公共 IP 地址是:4.32.312.21 我没有外部 dns 或其他东西,我想要重定向流量,如下所示:
- 4.32.312.21:6600 -> to service-a //TCP traffic
- 4.32.312.21:6500 -> to service-b //UDP traffic
我的配置:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S)
service-a ClusterIP 10.109.38.119 <none> 6600/TCP
service-b ClusterIP 10.107.10.227 <none> 6500/UDP
我尝试使用 Node Port-s,但端口范围很大(从 30000 起),这不是解决方案。
解决方案
你必须使用 NodePort。为什么说这样的端口范围不是解决方案?
如果您出于任何原因想要坚持使用这些端口,那么,假设您不想添加更多元素,例如负载均衡器,您需要设置 iptables 规则以将您的 6500/6600 流量转发到 30000/30001例如。
推荐阅读
- bash - 为 bash 脚本提供接受标志(如命令)的选项
- java - 将 JSON 转换为具有 Json 属性的 POJO 作为具有不同属性的 jsonObject
- rust - 返回一个闭包,返回 Rust 中的函数参数
- javascript - 使用 ajax 或 javascript 时如何防止重复提交?
- arrays - 无法从 Stack1 类的参数化构造函数初始化数组大小......但如果我直接将整数值提供给数组代码工作正常
- parsing - 已解析项目的 FParsec 和后缀修饰符
- nginx - 使用 proxy_pass 为 NGINX 上的图像设置浏览器缓存
- python - Python中的selenium webdriver中的线程
- angular - 减小 Angular 7 应用程序的 NGRX 商店的大小
- javers - JaVers,查询对象在时间点 X 的状态