作者|浙江大学 SEL 实验室:晋晨、博云:耿浩涛 审核&校正:海珠 修改&排版:雯燕
布景
在近几年的工业环境下,传统云核算能力已无法支撑起规模日趋庞大且异地分散的数据处理与核算需求,基于此,边际核算应势而起。尤其是在 5G、物联网等新技术的持续推进下,边际核算工业已然走向大风口。尽管现在边际核算开展现已进入实践阶段,但仍然存在一些问题,尤其是网络成为边际核算落地的一个痛点。这是由于边际网络和数据中心网络有本质的不同:
-
边际环境一般是弱网环境,运用 5G,WiFi 等无线衔接,延时大,丢包率高,不稳定。
-
边际节点一般没有固定的公网地址,只能建议衔接,不能接收衔接。
-
边际网络一般会运用的 Internet,它本身是一个不安全的网络。
OpenYurt 是业界首个非侵入的边际核算云原生开源项目,架构中的 Yurt-Tunnel 首要处理控制面的运维监控流量的云边通讯。但是,OpenYurt 不准备自行处理跨公网的云边,边边的数据面通讯的问题,期望可以和开源社区云原生网络相关的老练处理计划协作(比如 FabEdge 社区),共同推进边际核算云原生生态建设。
FabEdge 是一个专门针对边际核算场景设计的,基于 Kubernetes 的容器网络计划,它契合 CNI 规范,可以无缝集成任何 Kubernetes 环境,处理边际核算场景下云边协同,边边协同等跨地域通讯的难题。
布景介绍 OpenYurt 与 FabEdge 集成
1)OpenYurt 搭建准备
阿里云 ECS 服务节点
两个云端节点(master,cloud-node,操作系统:CentOS Linux release 7.9.2009 (Core)),处于同一个内网中,在云端布置 Flannel(v0.14.0) 网络插件。OpenYurt 集群组件:Yurt-Tunnel-Server,Yurt-Controllor-Manager。
两个边际节点(edge-node1,edge-node2,操作系统同上)。OpenYurt 集群组件:Yurt-Tunnel-Agent,Yurt-Hub。
2)OpenYurt 与 FabEdge 集成布置
OpenYurt(v0.5.0) 布置参阅:
OpenYurt 手动布置: github.com/openyurtio/…
Kubernetes 一键转换 OpenYurt: github.com/openyurtio/…
OpenYurt 布置注意事项:
-
在布置 Yurt-Tunnel-Server 时,由于 Tunnel-Server 证书认证的 IP 默以为私网 IP,因而需要将 tunnel-server 中的 args 加入参数–cert-ips=tunnel-server,即 tunnel-server 地点节点的公网 IP;
-
相同的,在布置 Yurt-Tunnel-Agent 时,由于 Tunnel-Agent 需要和 Tunnel-Server 树立衔接,因而需要在 Tunnel-Agent 中 args 加入参数–tunnelserver-addr,即 Tunnel-Server 地点节点的公网 IP 加上暴露的端口。
FabEdge 与 OpenYurt 集成参阅: github.com/FabEdge/fab…
FabEdge 验证测验
集成环境总体分为两种情况:云端 Pod 拜访边际 Pod 以及边际 Service,边际 Pod 拜访云端 Pod 以及 Service。
一起,咱们考虑到 hostNetwork 网络类型 Pod 对集群环境有着很大的依靠,故将 Pod 分为 hostNetwork 类型以及正常容器网络类型两种场景。
说明:在 Pod 拜访 Service 时,将其 Endpoint 中的 Pod 分为 hostNetwork 类型和正常容器类型 Pod。
总结
-
现在仅对跨公网的云边通讯进行测验,功用根本满意需求。后续会依据实际事务需求再展开跨公网的边边测验。
-
FabEdge 对边际环境中现存的容器网络计划(如 flannel,calico)进行接管,一起云端又需要布置完整的容器网络计划,对存量用户的升级可能带来影响。
戳这儿,当即了解 OpenYurt 项目!