Solidworks验证仿真软件
NodePort 方案下的 Sentinel 端口配置在使用 NodePort K8S Service 方案时Sentinel 客户端向 Dashboard 注册的端口应该是 NodePort 端口而不是 Pod 内部的 8719 端口。
技术原理Sentinel 通信机制客户端注册Sentinel 客户端启动时会向 Dashboard 注册自身的 IP 和端口信息Dashboard 连接Dashboard 后续通过这些注册信息连接客户端的通信端口数据传输通过此连接传输规则配置和监控数据NodePort 方案中的端口映射Pod 内部端口8719Sentinel 客户端默认监听端口NodePort 端口30719示例实际为配置的 NodePort 范围端口映射关系节点IP:30719→PodIP:8719正确配置方法
K8S Service 配置apiVersion:v1kind:Servicemetadata:name:sentinel-clientnamespace:your-namespacespec:type:NodePortselector:app:your-applicationports:-name:sentinel-commport:8719targetPort:8719nodePort:30719# 明确指定 NodePort 端口
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 端口
应用配置在application.yml中添加spring.cloud.sentinel:transport:dashboard:${SENTINEL_DASHBOARD_ADDR}client-ip:${SENTINEL_CLIENT_IP}# 节点 IPport:${SENTINEL_CLIENT_PORT}# NodePort 端口实现细节为什么需要这样配置网络可达性Pod 的内部 IP 对外部 Sentinel Dashboard 不可见节点 IP NodePort 是外部可访问的地址注册机制Sentinel 客户端在启动时会向 Dashboard 注册注册信息必须包含外部可访问的地址和端口这样 Dashboard 才能主动连接客户端多副本支持每个副本运行在不同的 Pod 中但都通过同一个 NodePort 服务暴露K8S 会自动将流量负载均衡到不同的副本
注意事项NodePort 端口规划NodePort 端口范围默认是
需要为每个应用分配独立的 NodePort 端口避免端口冲突服务发现客户端需要知道自己的 NodePort 端口可以通过环境变量、ConfigMap 或启动脚本注入网络安全暴露 NodePort 端口会增加安全风险建议在生产环境中配置网络策略限制只有 Sentinel Dashboard 可以访问这些端口高可用性确保所有节点都能正常访问考虑使用多个节点的 NodePort 进行冗余通过以上配置即使在 K8S 多副本环境下外部部署的 Sentinel Dashboard 也能与每个 Pod 正常通信实现统一的流量控制和监控管理。
成人快手app视频免费版-成人快手app视频免费版应用