首页 > 云计算 > 容器服务 > Superedge的新特性和未来之路
这个能力主要由浅红色的
lite-apiserver提供。为什么需要能力?有两个原因:
第一是 因为云边一般是弱网,也可能断网,在弱网和断网情况下要保证边缘服务稳定。lite-apiserver 在云边网络正常的情况下直接从云端 Kube-apiserver 请求数据,但是云端请求不到的时候就会从本地缓存中取出相关组件管控缓存返回给请求端,保证边缘服务的稳定。
第二是 边缘节点或者边缘站点可能会断电重启,特别是在云边断网的时候重启边缘节点,边缘节点上的业务容器会无法拉起。有了 lite-apiserver 的本地缓存就能避免这个问题,会从本地存储中把业务容器加载起来。
以 InCluster 方式访问 kube-apiserver
支持所有类型资源的缓存,包括 CRD
边缘节点安全:lite-apiserver 用代理组件的权限去请求 kube-apiserver,而不是超级权限
支持多种缓存存储:Light Edge 可用本地文件存储,Heavy Edge 可以用 SQLite 等 KV 存储;
tunnel-cloud
和
tunnel-edge
两个组件提供。这两个组件是腾讯云边缘计算团队完全自研的云边隧道,目前可以代理 TCP、HTTP、HTTPS、SSH 四种协议请求。
为什么需要云边隧道能力?第一是边缘节点一般是没有公网 IP 的,边缘节点可以主动访问云端的 Kube-apiserver,但是云端却无法直接访问边缘节点,所以需要云边反向隧道进行打通。
第二是为云边数据传输做准备,边缘部分数据是要回传云端进行分析和处理的,高效、安全的加密隧道是必要的条件。
application-grid-conterlloer
和
application-grid-wrapper
两个组件提供。
为什么需要这两个组件?
application-grid-conterlloer
就是为解决这问题而诞生的。用户的一份应用在云端一次提交便能同时部署到边缘多个站点,并且允许站点灰度能力,允许站点配置上有差异。
application-grid-wrapper
解决的问题,他能把一个站点的流量锁定在一个站点之内,智能的配置后端的
endponit
,把服务锁定在用户想要的范围内。
edge-health-admission
和
edge-health
两个组件提供。
为什么需要这两个组件?
edge-health
就起到了这个作用。
NotReady
,但是边缘服务是正常的,并不受云边弱网的影响。可是云上的 Kubernetes 可不这么认为,一但节点不
NotReady
就可以引起边缘服务驱逐,将边缘服务反复迁移和重建,引起边缘服务的不稳定。而
edge-health-admission
就是为解决这个问题,他把
edge-health
反馈的边缘节点真实的健康状况反馈给 Kube-apiserver,防止边缘服务被误驱逐。
edgeadm init
一键创建边缘 K8s 集群:
## 一键创建边缘集群
./edgeadm init --apiserver-cert-extra-sans=…
## 一键Join边缘节点
./edgeadm join kube-api-addr --token xxxx…
Kubeadm
,在
Kubeadm init
之前加了
Init node
和
Install container runtime
, 之后 Addon CNI 网络插件和上面提到了边缘能力组件。
Kubeadm
完全一样,只比
Kubeadm
多了2个参数。具体可查看:
用 edgeadm 一键安装边缘 K8s 集群和原生 K8s 集群
Addon SuperEdge
一键集成边缘能力。
## 一键Addon SuperEdge集成边缘能力
./edgeadm addon edge-apps --master-addr …
## 一键Join任意位置的边缘节点
./edgeadm join kube-api-addr --token=…
edgeadm addon SuperEdge
会把他配置成标准的
Kubeadm Kubernetes
集群,如果是 Kubeadm Kubernetes 更就可以直接跳过这步。之后准备
Addon SuperEdge
和
Join edge node
的前提条件。这里比较有挑战的点就是准备
Join edge node
的条件,实现任何 K8s 集群都能一键 join 进去任意位置的边缘节点。更详细原理可查看:
Addon SuperEdge 让原生 K8s 集群可管理边缘应用和节点
clusternet
,实现在中心统一管控边缘托管集群,纳管边缘独立集群,甚至是边缘联级集群。
长链接数量 = 隧道云端实例数 * 边缘节点个数
随着一个边缘集群的边缘节点数量不断打破 SuperEdge 的上限,tunnel-cloud 不能再静态的去维护固定数量的实例,而要 动态的去扩容去 tunnel-cloud 实例,以便接入更多的长连接,纳管更多的边缘节点,这就是 tunnel-cloud 自动 HPA 需求来源。
penetrator
模块。远程批量添加边缘节点分为两种情况:云端能 SSH 到边缘节点这个操作比较常规,通过下发一个 SSH 的 Job, 批量 SSH 远程执行命令添加边缘节点。
penetrator
的关键是无法直接SSH到的边缘节点怎么实现批量添?
像访问Internet网络一样,访问用户各处K8s集群
的目标而构建的一个分布式多集群管理开源项目。
为什么需要这个项目?
clusternet-agent
和
clusternet-hub
组成。
clusternet-agent
负责把 K8s 集群注册到父集群,
clusternet-hub
负责处理注册、聚合各个子 K8s 集群 Kube-apiserver,以及把应用部署到多个 K8s 集群。
在一个集群内Service无缝进行互访
。
attlee➜ ✗ ./edgeadm addon edgex -h
Addon edgex to Kubernetes cluster
Usage:
edgeadm addon edgex [flags]
Flags:
--core Addon the edgex core-services to cluster.
--app Addon the edgex application-services to cluster.
--device Addon the edgex device-services to cluster.
--ui Addon the edgex ui web to your cluster.
多平台边缘设备平台无缝衔接
的解决方案。但无论是那种方案,SuperEdge 都会以 Addon 的方式让用户去自由选择,绝不强绑定任何边缘设备平台。
往期精选推荐
SuperEdge 相关文章:
落地案例相关资料:
福利:公众号后台回复【手册】,可获得《腾讯云原生路线图手册》&《腾讯云原生最佳实践》~
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69984638/viewspace-2794257/ ,如需转载,请注明出处,否则将追究法律责任。