9 月 28 日,「DaoCloud 道客」云原生研发工程师、Clusterpedia 开源项目发起人蔡威受邀参加云原生学院第 37 期直播。在企业上云的过程中,“多云”成了大家越来越关注的话题。多集群的生命周期管理、跨集群的应用分发和调度等多云管理问题也成为企业必须要解决的问题。Kubernetes 通过标准的 OpenAPI 提供了统一的云环境,为多云的落地屏蔽了基础设施的差异。直播围绕多云场景下的 Kubernetes 生态展开,蔡威从不同的功能维度介绍了目前云原生社区相对成熟的开源项目和应用方案,多方位描绘了 Kubernetes 时代的多云平台建设蓝图。

01

多云需求
和 Kubernetes

在企业数字化转型的过程中,不同的厂商带来了不同的上云选择,有报告显示,平均每家企业要接入 2-4 朵云,多云已成现实。蔡威介绍,更为复杂的多云形态带来了更为困难的运维管理问题,多云彼此之间相互隔离,无法实现统一的资源管控。各大厂商各自为战,发展自己的生态体系,缺乏统一的 API 标准,使得多云管理成为了企业上云亟待解决的问题。Kubernetes 的出现,重新规划了 “云” 与 “多云”,一个 Kubernetes 集群,就等于一朵云。Kubernetes 提供统一的声明式 OpenAPI,为多云环境下的统一管理打通了渠道,为跨云的资源调度和管理奠定了基础。

02

多云场景下的
Kubernetes 生态

Kubernetes 所带来的不仅是标准 API,围绕 Kubernetes 构建的周边生态,更是加快多云平台搭建的关键因素。

一个多云平台的部署,首要解决的问题就是集群的生命周期管理,对于已经有主机的用户来说,可以选择一种方式——通过 Kubespray 的 Ansible 自动化运维方式来完成,「DaoCloud 道客」的开源项目 Kubean 正是采用这种方式进行已有 host 的管理,进而完成集群初始化、更新以及移除清理的操作。另外,Cluster API 的 BYOH Provider 组件以及近期开源的 KubeClipper 则是通过另一种方式——在主机上部署 Agent 监听集群是否需要初始化和更新,实现了多集群的生命周期管理。除了已有主机的用户以外,还有一部分用户会通过 IaaS 平台进行集群的创建和管理,而 Cluster API 和 Crossplane 这两个开源项目能够通过 Provider 的方式屏蔽底层 IaaS 的差异,有效解决基础设施接入的问题。

在多集群部署之后,下一步面临的问题就是如何实现应用、资源的分发和调度,蔡威将国内开源的两个项目 Karmada 和 Clusternet 进行了对比介绍。

  • 就操作而言,Karmada 通过独立的控制面使得多集群资源管理能够像操作单集群一样方便,Clusternet 需要在 kubectl clusternet 插件或者 client-go 中替换请求路径,来完成对多集群资源的管理。

  • 在进行资源分发和调度时,Karmada 和 Clusternet 都可以完成复制调度(资源副本数量在每个集群都一致)、权重调度(每个集群资源副本比重不同)和动态调度(根据集群使用情况调整资源副本数量)。Karmada 可以根据集群状态实现重新调度,Clusternet 原生支持 Helm 的分发,Karmada 则需要借助 Flux 项目来实现。

  • 对于资源的集群定制化,Karmada 和 Clusternet 呈现两种方式,Karmada 通过 ClusterOverPolicy 和 OverPolicy 实现,可以指定多种多个资源并选择一组集群,Clusternet 则通过 Globalization 和 Localization 与单一资源进行绑定,实现定制化。

在多云平台的建设过程中,跨集群服务访问的需求一直存在。「DaoCloud 道客」的开源项目 Ferry,通过一个控制面定义不同集群,确定需要开放到其他集群的服务,并通过 Ferry Tunnel 实现网络隧道的打通,进行服务的转发。社区中另一个开源项目 Skupper 则是通过在集群的命名空间单独完成配置,以此实现跨集群的服务访问。除此之外,对于更深一层的多云网络,即不同集群 pod 之间的访问,开源社区目前有 Submariner 和 Cilium Cluster Mesh 两个主流方案进行实现。

03

跨集群资源一步到位
Clusterpedia

以上的开源方案,为不同集群之间的资源建立了相关性,而「DaoCloud 道客」自主开源项目——Clusterpedia,进一步实现了多集群资源的聚合及检索。

Clusterpedia 不仅支持单一类型的资源获取,用户任意指定的资源类型都可获取到,本身遵循 All in One 的方式,一次请求可以检索到任何想要的单一类型(例如 deployment)或者多种类型的资源,并且都支持复杂的检索条件。Clusterpedia 可以兼容 Kubernetes V1.10  以上的任意版本,无需担心不同的 Kubernetes 版本带来的资源差异。Clusterpedia 可以像原生组件一样存在于多云平台中,实现无感知的自动化支持,用户只需要在 Cluster API 上创建好集群,或者在 Karmada 中接入一个集群,即可通过 Clusterpedia 进行请求和查询,无需其他运维操作。除此之外,用户本身能获取到的可能只有原生的资源样式,Clusterpedia 提供的多集群 Metrics Server 功能,可以在获取资源的同时了解到其计算和存储的真实用量信息,帮助用户更加方便地获取到多个集群内 Pod 和 Node 的资源用量,还可以让用户实现更加灵活的多集群动态调度。

未来,Clusterpedia 还将通过 Agent 模式深入边缘场景,解决云边协同场景下的多集群资源聚合及检索的问题,目前这一模式还处于规划阶段,欢迎大家时刻关注 Clusterpedia 项目的进展。

直播的最后,蔡威还对大家的疑问点进行了解答,可观看回放了解,欢迎添加小助手加入群聊,为大家提供直播回放和演讲 PPT,以及技术交流。

在此感谢大家的积极参与,我们将继续为大家带来更多更好的内容。

云原生社区直播回顾|丰富的 Kubernetes 生态助力多云平台建设相关推荐

  1. 云原生社区 meetup 第四期广州站报名中

    继 4 月 17 日杭州站 meetup 之后,云原生社区的第四次线下 meetup 来了,不仅有来自大厂的云原生工程师现场交流,更有<Knative 实战>.<Kubernetes ...

  2. 云原生社区最新力作《深入理解 Istio》出版

    云原生社区最新力作 -- <深入理解 Istio>出版发售 ❝ 云原生实验室和电子工业出版社将为大家送出 5 本<深入理解 Istio:云原生服务网格进阶实战>.关注本公众号参 ...

  3. CNCF Keith Chan:分布式云时代,云原生社区的发展与趋势

    嘉宾 | Keith Chan 出品 | CSDN云原生 云原生发展至今,越来越多的企业基于云原生构建面向未来的创新服务,IDC报告显示,2023年企业云原生应用占比将超过80%.云原生带来新机遇,也 ...

  4. 开启云原生 MOSN 新篇章 — 融合 Envoy 和 Golang 生态

    注:本文是王发康(毅松)在 2021 GopherChina 上演讲的文字稿,相关分享 PPT 可自行到 MOSN meetup 下载. MOSN meetup 地址: https://github. ...

  5. 【云原生之Docker实战】使用Docker部署Linux管理平台webmin

    [云原生之Docker实战]使用Docker部署Linux管理平台webmin 一.webmin介绍 二.检查本地docker状态 1.检查docker版本 2.检查操作系统版本 3.检查docker ...

  6. 智慧平安社区系统开发解决方案,智慧小区大数据分析平台建设

    智慧平安社区系统开发解决方案,智慧小区大数据分析平台建设 智慧平安社区系统开发解决方案实现了对小区"人.地.车.物.事"的动态掌控,提升了社区的安全性,方便居民出行,为有特殊需要的 ...

  7. 【腾讯云原生降本增效大讲堂】Kubernetes云上资源的分析与优化

    嘉宾 | 胡启明 出品 | CSDN云原生 2022年6月30日,中国信通院.腾讯云.FinOps产业标准工作组联合发起的<原动力x云原生正发声 降本增效大讲堂>系列直播活动第2讲如期举行 ...

  8. 云原生时代(五):Kubernetes与容器编排之战

    上文我们主要介绍了容器和Docker,第五部分我们来讲Kubernetes与容器编排之战. 容器编排与Kubernetes 在单机上运行容器,无法发挥它的最大效能,只有形成集群,才能最大程度发挥容器的 ...

  9. 【腾讯云原生降本增效大讲堂】Kubernetes集群利用率提升实践

    嘉宾 | 宋翔 出品 | CSDN云原生 2022年7月7日,国内首次由信通院.腾讯云.FinOps 产业标准工作组联合策划的<原动力 x 云原生正发声 降本增效大讲堂>第三期直播上,腾讯 ...

最新文章

  1. C++知识点14——类与static
  2. css3实现烟花效果,CSS3 带颤动效果的简易烟花动效
  3. ‘xxfile' Missing the class attribute 'ExtensionOfNativeClass'
  4. libsvm的安装和使用(1)
  5. anaconda下载jupyter写python_如何安装Anaconda3和使用Jupyter
  6. 科技守卫城市安全,智慧消防解决方案
  7. mysql 多点在 多边形,在MySQL中获取多点空间数据
  8. java链表的输出_Java输出链表倒数第k个节点
  9. Java开发工程师的发展前景如何?
  10. NOI题库--砝码称重V2(多重背包2^n拆分)
  11. hexo 环境变量_优雅的博客框架,快速、简洁、高效且主题丰富——Hexo
  12. Win11繁体中文字体显示不全如何解决?
  13. 解决Linux下Questasim中代码字体非常小
  14. 网吧会员管理系统c语言,常用的网吧会员管理系统哪个比较好|纳客软件
  15. mediawiki php7,centos7搭建mediawiki
  16. [2019][CVPR]Balanced Self-Paced Learning for Generative Adversarial Clustering Network 笔记
  17. 中国BBS社区前10名
  18. 测试工程师的一点自省感悟
  19. Linux 重启nginx服务
  20. excel调整所有行高列宽

热门文章

  1. 微信公众平台api下载php,微信公众平台消息接口PHP版
  2. css p、div标签内长英文自动换行长中文不换行
  3. DIY大神爆料:i710700和i79700k哪个好-参数区别对比
  4. 使用Pytorch自带模型预测图片
  5. 一切法得成于忍,小不忍则乱大谋
  6. 3D全景!这么牛!!
  7. 内存技术术语不完全手册
  8. ffmpeg avi转h264
  9. python360指数_Python批量采集360关键词指数
  10. 【iOS】AVPlayer 播放音视频