能力|优刻得拥抱云原生Serverless技术还能这样用在容器服务中( 二 )
文章图片
为了解决这种问题 , 我们实现了镜像缓存的功能 。 即用户的实际镜像拉取在第一次拉取中 , 会缓存在我们的镜像缓存中心 , 而后的镜像加载是直接通过NBD的形式直接挂载到Cube容器里 , 这样就可以实现Cube的快速启动 , 从而跳过了镜像拉取的时间 。 对于特别大的镜像 , 用户也可以选择预先加载的形式直接加载到我们的镜像缓存中心 , 从而进一步降低了启动时间 。
网络实现
和标准的docker网络实现有些不同 , 我们知道一个Cube的 pod相当于一个虚拟机 , 因此Cube的pod可以直接利用原先底层SDN网络为虚拟机提供的能力 , 实现VPC内Cube和VPC内所有资源的二层互通 , 以及不同VPC内资源的互相隔离 。 另外从满足用户需求的角度出发 , 我们也实现了Cube固定内网IP的功能 , 即在Cube实例更新的过程中 , 我们可以保持容器pod IP不变 。
文章图片
Cube的外网连通性也可以很好利用现有云平台的网络架构 , 对于入向流量 , 我们可以将Cube挂在ULB背后 , 利用多个Cube实例实现高可用和弹性伸缩;对于出向流量 , 我们也可以通过NETGW来实现Cube对外的访问需求 。 另外对于需要固定外网IP的情况 , 我们也可以将单个EIP绑定Cube 。
存储实现
文章图片
Cube的存储也可以很好的对标K8S , 主要分为以下几类:一种是K8S内置的Config map Secret和EmptyDir , 这些都是作为K8S标准的功能 , 我们也在Cube实现的CRI中纷纷予以了支持;对于云厂商提供的文件存储、对象存储 , 我们是通过agent的挂载来实现的 , 其中文件存储主要是通过agent自动挂载了NFS协议 , 而对象存储是通过agent挂载了S3fuse的协议;块存储是我们改动比较大的地方 , 为了提高性能 , 我们改动了Cube所使用的虚拟机IO路径 。 通过vhost-user协议 , 对接到SPDK实现了Cube上高性能RSSD云盘的挂载 。
监控和日志的实现
文章图片
文章图片
监控和日志这二者的架构比较类似 , 都是将容器内的信息反馈给用户的一种形式 。 其中监控信息是通过我们自研的Cubelet组件 , 将监控信息汇集后上报给prometheus , 最终再转发给UCloud API的 。 而日志信息是通过Promtail采集后转发给Loki Log Cluster集群 , 再转交给UCloud API , 另外对于长期日志 , 我们还提供了自动转存至对象存储US3的功能 。
典型使用场景
文章图片
最后 , 张苗磊分享了一个 Cube比较典型的使用场景 , 从这个图中我们可以看到所有的计算功能都可以通过Cube容器的实例来提供 , 而入向流量通过ULB来实现 , 后接的存储、数据库都可以通过云上原生提供的mysql或者UFS来实现 , 这样架构可以很好的提供计算、存储分离 , 并且能够提供快速横向扩展和弹性资源使用的能力 。 关于这个架构具体的使用情况可以通过B站观看详情 。
除此之外 , Cube在互联网削峰场景、数据采集、实时音视频转码等场景均可以发挥免服务器运维、秒级启动、自愈性、秒级计费等多重优势 , 助力企业在容器化应用部署过程中进一步降本增效 。
推荐阅读
- 能力|AI深度调研 | 探寻企业数字转型路径,挖掘AI+商业价值
- 说电影的二叔|《我靠学生解锁超能力》开机,男主是帅哥演员,女主是可爱的倪言
- WeMap|腾讯推出产业版地图WeMap,全面开放地图基础平台能力
- 检测能力|新冠检测超负荷致德国收紧测试标准
- 解决方案|优刻得助力上海建设“品质直播第一城”
- 实验|发挥实验教学育人功能 提高教师实验教学能力——第八届全国中小学实验教学说课活动侧记
- 同益|两连板同益股份:公司不具备光刻胶、芯片相关材料的自主生产能力
- 喻言|喻言发长文为过去言行道歉:过去的自己缺少明辨是非的能力
- 下降|《我们的歌》收视持续下降,王源邓紫棋也没能力挽狂澜,主要原因不在流量
- 肖战|《我们的歌2》四期播放量未破亿,王源成背锅侠,肖战能力凸显