OpenYurt 中的一个特性是边缘运维通道 YurtTunnel 。官方文档显示,YurtTunnel 通过在管控与边缘节点之间建立反向通道,和节点的生命周期完整联动,承载原生运维 APIs 的流量。那么 YurtTunnel 是否会对边缘网络带宽提出更高的要求呢?
OpenYurt 的边缘运维通道 YurtTunnel 主要用于解决边缘节点位于用户内网中,从云端往边缘下发运维指令的需求 (如: kubectl logs/exec 等)。在云端节点上部署 Yurt-Tunnel-Server,同时在每个边缘节点上部署一个 Yurt-Tunnel-Agent (待边缘单元能力开源后,也可以每个单元部署一个)。
当 Yurt-Tunnel-Agent 启动时,会根据配置自动发起请求和云端 Yurt-Tunnel-Server 建立 TCP 连接。此后云端将基于该 TCP 长连接往边缘下发指令。同时并不会对带宽提出额外需求。server 和 agent 间的长连接只会定时发送 keepalive package,keepalive 的 request body 为空,所以并不需要增加多少额外带宽。
此外,云边通道上的也有相应的流量控制机制。首先,server 接到的是 apiserver 发来的请求,apiserver 已经会进行限流 (qps)。目前考虑在 tunnel server 端针对单一用户做限流,可以在 server 端对每一名用户(不同用户可以根据 src ip 区分)限定在单位时间内可以转发的请求数。如果用户发送 request 过于频繁,可以延迟或者丢弃转发该用户的请求。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。