news 2026/3/18 14:59:05

K8S NodePort 方式Java客户端 Sentinel 端口配置方案

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
K8S NodePort 方式Java客户端 Sentinel 端口配置方案

NodePort 方案下的 Sentinel 端口配置

在使用 NodePort K8S Service 方案时,Sentinel 客户端向 Dashboard 注册的端口应该是 NodePort 端口,而不是 Pod 内部的 8719 端口。

技术原理

Sentinel 通信机制

  1. 客户端注册:Sentinel 客户端启动时会向 Dashboard 注册自身的 IP 和端口信息
  2. Dashboard 连接:Dashboard 后续通过这些注册信息连接客户端的通信端口
  3. 数据传输:通过此连接传输规则配置和监控数据

NodePort 方案中的端口映射

  • Pod 内部端口:8719(Sentinel 客户端默认监听端口)
  • NodePort 端口:30719(示例,实际为配置的 NodePort 范围端口)
  • 映射关系节点IP:30719PodIP:8719

正确配置方法

1. K8S Service 配置

apiVersion:v1kind:Servicemetadata:name:sentinel-clientnamespace:your-namespacespec:type:NodePortselector:app:your-applicationports:-name:sentinel-commport:8719targetPort:8719nodePort:30719# 明确指定 NodePort 端口

2. Pod 配置(关键)

apiVersion:apps/v1kind:Deploymentmetadata:name:your-applicationnamespace:your-namespacespec:replicas:3# 多副本template:spec:containers:-name:your-applicationimage:your-image:tagenv:-name:SENTINEL_DASHBOARD_ADDRvalue:"外部SentinelDashboardIP:8858"-name:SENTINEL_CLIENT_IPvalueFrom:fieldRef:fieldPath:status.hostIP# 使用节点 IP-name:SENTINEL_CLIENT_PORTvalue:"30719"# 明确指定 NodePort 端口

3. 应用配置

application.yml中添加:

spring.cloud.sentinel:transport:dashboard:${SENTINEL_DASHBOARD_ADDR}client-ip:${SENTINEL_CLIENT_IP}# 节点 IPport:${SENTINEL_CLIENT_PORT}# NodePort 端口

实现细节

为什么需要这样配置?

  1. 网络可达性

    • Pod 的内部 IP 对外部 Sentinel Dashboard 不可见
    • 节点 IP + NodePort 是外部可访问的地址
  2. 注册机制

    • Sentinel 客户端在启动时会向 Dashboard 注册
    • 注册信息必须包含外部可访问的地址和端口
    • 这样 Dashboard 才能主动连接客户端
  3. 多副本支持

    • 每个副本运行在不同的 Pod 中
    • 但都通过同一个 NodePort 服务暴露
    • K8S 会自动将流量负载均衡到不同的副本

注意事项

  1. NodePort 端口规划

    • NodePort 端口范围默认是 30000-32767
    • 需要为每个应用分配独立的 NodePort 端口
    • 避免端口冲突
  2. 服务发现

    • 客户端需要知道自己的 NodePort 端口
    • 可以通过环境变量、ConfigMap 或启动脚本注入
  3. 网络安全

    • 暴露 NodePort 端口会增加安全风险
    • 建议在生产环境中配置网络策略,限制只有 Sentinel Dashboard 可以访问这些端口
  4. 高可用性

    • 确保所有节点都能正常访问
    • 考虑使用多个节点的 NodePort 进行冗余

通过以上配置,即使在 K8S 多副本环境下,外部部署的 Sentinel Dashboard 也能与每个 Pod 正常通信,实现统一的流量控制和监控管理。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/15 17:49:08

当知识池不再泛起涟漪

朋友,你是否也有这样的时刻?打开文档,光标在空白的页面上闪烁,像一位等待指示的士兵,而你的大脑司令部却一片寂静。键盘上的手指悬停在空中,不知道第一个字母应该落在哪里。想写点什么,却发现脑…

作者头像 李华
网站建设 2026/3/15 17:49:08

基于YOLOv8的多目标跟踪与分割(MOTS)系统实战教程——完整流程与UI界面开发

【毕设护航】基于YOLOv8的多目标跟踪与分割(MOTS)系统+UI界面实现全流程教程:从理论到实战打造你的毕设亮点 文章目录 【毕设护航】基于YOLOv8的多目标跟踪与分割(MOTS)系统+UI界面实现全流程教程:从理论到实战打造你的毕设亮点 一、项目价值:为什么选MOTS做毕设? 二、…

作者头像 李华
网站建设 2026/3/15 16:54:02

架构的未来在哪?复杂业务背后的产品化引擎重构思路

现在的数字化变革到底走到了哪一步,答案其实就藏在那些日益复杂的业务场景深处。如果说以前大家只是追求把线下的流程搬到线上,那么伴随着业务的深度演进,简单的表单和流程已经远远不够了。很多时候我们在聊数字化,总会遇到一个避…

作者头像 李华
网站建设 2026/3/16 1:08:34

cesium 2.5D效果

1、有的场景需要平面展示,立体效果、之前做的3d 效果的圆是有弧度的2、设置参数显示// 切换到2D场景// viewer.scene.morphTo2D(0);// 设置相机视角(中国范围,可按需调整// 可选:在2D下禁用旋转/倾斜// viewer.scene.screenSpaceC…

作者头像 李华
网站建设 2026/3/16 0:16:27

播客人必看指南:2026年适合播客的麦克风品牌推荐

据Market.us发布的报告显示,全球播客硬件市场正以22.8%的年复合增长率高速扩张,预计2034年市场规模将达280.7亿美元,其中麦克风作为核心设备,其品质直接决定内容传播力与听众留存率。目前全球播客听众已突破5.46亿,专业…

作者头像 李华
网站建设 2026/3/16 1:08:33

孤能子视角:“精神分析“

(姑且当科幻小说看)第一步:分析“作者”——西格蒙德弗洛伊德(作为精神分析“母体孤能子”)启动:三力逼问,定位张力1. 零预设:不预设弗洛伊德是“科学先驱”或“江湖术士”,视其为在19世纪末维也…

作者头像 李华