版本 3.11 自 2023 年 4 月开始开发,历时大概 10 个月,共计 4000 多个 PR 。
感谢开源之夏 2023 的四位同学为 Cloudpods v3.11 贡献如下功能:
虚拟机紧急模式:允许将虚拟机引导进入一个临时的内存 Linux 系统,在虚拟机内核文件损坏、rootfs 文件系统故障等情况下,用户无法正常启动虚拟机,则可以重启虚拟机进入紧急模式,查看虚拟机的文件系统,定位问题,数据备份,并在可能的情况下对问题进行修复。 @IRONICBo
支持火山引擎:支持火山引擎的资源纳管,同时企业版也支持管理和分析火山引擎的账单。 @LyndonKong
支持部署 Ubuntu 22.04 (已经 backport 合并到 3.10 并发布) @niconical
支持通过 QGA 更改 KVM 虚拟机网卡配置(已经 backport 合并到 3.10 并发布) @chentianxiang
主机功能在 v3.11 做了较多改进,重点是两个方向:一、私有云主机更充分地发挥硬件的性能;二、提升云主机易用性。
为了充分发挥硬件性能,Cloudpods 已经支持了不少特性,包括 PCI 设备透传(包括网卡,GPU ,NVME 等设备的透传),网卡 SR-IOV 和 ovs offload ,开启宿主机内存大页,绑定虚拟 CPU 核到物理核等,在 v3.11 ,Cloudpods 实现了期待已久的虚拟机 NUMA-aware 内存分配策略。开启后,会尽量把一台虚拟机的内存分配在同一个 NUMA 节点的内存空间内,虚拟机的 vCPU 也会尽量分配到同一个 NUMA 节点,由此避免出现跨 NUMA 分配虚拟机 CPU 和内存导致的性能下降问题。
另外一个重要特性是支持用 LVM 来管理共享块存储( SAN 存储)。共享块存储使用 LVM 管理,虚拟机直接通过挂载从共享块存储分配的逻辑卷( LV ),省去了用文件作为虚拟磁盘引入的文件系统开销。Cloudpods 支持了 clvm 和 slvm 两种共享 LVM 的管理方式。简单地说,clvm 模式利用了集群模式的 clvm 服务来管理共享网络存储上的 LVM 卷,clvm 自动提供了 lvm 管理服务的分布式高可用。但缺点是 clvm 配置复杂。slvm 则不需要配置复杂的集群 clvm 服务,每个宿主机节点上只需要安装单机的 lvm 服务,平台选择一个节点作为共享存储的 lvm 配置节点,平台在该节点分配 LV 之后会自动在需要挂载的节点刷新 lvm 的元数据,获得分配的 LV 。这种方式避免了部署分布式 clvm 的复杂性。但在配置节点不可用后,需要手动地切换配置节点。但这个问题可以在后期迭代中逐步解决。
除此之外,Cloudpods 也对 vGPU ,包括 Nvidia 和 AMD 的虚拟化 vGPU 做了初步的支持。
在改进主机易用性方面做了如下的工作:1 )支持了内置私有云 KVM 虚拟机的紧急模式,允许用户通过一个临时操作系统诊断修复无法启动的虚拟机的问题。2 )支持通过 WebRDP 协议登录 Windows 虚拟机。使用 RDP 协议的好处是可以自动免密地登录 Windows 虚拟机,并且支持剪贴板,易用性更好。3 )全面支持 userdata ,允许用户在申请主机时设置主机初次启动后的脚本,让主机申请流程更方便。4 )支持将纳管的 Cloudpods 集群的 KVM 虚拟机迁移到内置私有云,用户可以用这个功能整合多个 Cloudpods 私有云。
最后,主机网络方面,IPv6 支持是 v3.11 引入的一个重要功能,支持 IPv6 地址管理和给主机分配 IPv6 的地址。
另外一个重要的网络改进是 VMware 采用了新的二层网路模型,每个 VMware 的网络端口组对应 Cloudpods 的一个二层网络。这样 VMware 用户可以在平台直观地看到 VMware vCenter 端口组,更容易理解和配置对应二层网络的 IP 子网。但 v3.11 之前版本就使用 VMware 的用户会在升级为 3.11 之后会受到这个变更的影响。升级后,需要重新配置一下 VMware 的 IP 子网,将 IP 子网的二层网络变更到其 VMware 端口组对应的二层网络。
多云功能在 v3.11 继续迭代,除了云平台增加了火山引擎,最重要的更新是重构了配置信息的管理模型。
我们曾经发明了一种多云场景的配置信息管理模型,采用一对多的映射关系,即平台维护一份配置数据,该配置对应各个云平台上的多个配置。最常见的是安全组配置。平台会维护一份安全组配置,该安全组对应各个云平台上各个账号的各个区域的同配置的安全组。比如用户定义一个允许访问 TCP 22 端口的安全组,则该用户在各个云平台各个云账号下各个区域内各个 VPC 下的允许访问 TCP 22 的安全组都和这个安全组关联,平台通过安全组缓存的数据结构维护云上安全组和本地安全组的映射关系。设计之初,我们预期这种配置管理方式能够提升使用多云配置的易用性,即用户不用关心这个配置是否在云上维护,只需要选择本地的安全组,平台会自动地将本地安全组同步到云上,或在云上找到一个对应的安全组。但实际使用中,用户对这种配置维护方式比较困惑,容易发生本地配置和云上配置不一致的情况,也多次发生安全组变更导致的用户主机网络故障。虽然之前版本做了诸多改进和限制,避免了一些问题,但整体效果不好。因此,从 v3.11 版本开始,我们放弃了这种一对多的配置维护模型,将配置信息维护全部改为一对一的映射模型。受到影响的配置信息包括:安全组,DNS 记录,自动快照策略,负载均衡 SSL 证书,负载均衡访问控制。
2023 年是 FinOps 迅速发展的一年,Cloudpods 企业版的 FinOps 功能有了明显的提升,主要集中在以下几方面:
费用分配:v3.11 企业版在费用分配方面做了大量的工作,支持复杂的费用分配策略。包括按照云上项目或标签将账单费用分配到本地项目,将包年包月(包括 CPP )资源的费用分摊到周期内的月份,并且支持将共享的费用按照均摊或按比例分摊策略分摊到指定项目。
费用分析:v3.11 企业版费用分析能力更加强大,一方面是功能更强大,可以基于账单标签、项目标签、资源标签等多维度标签对费用进行过滤,聚合并生成报表。另一方面是查询性能更快,通过对存储在 MySQL 内的配置数据和存储在 ClickHouse 内的流水账单数据的联合查询,使得查询既快又准。
费用预测:基于多元线性回归模型实现对项目+账号+资源类型+计费方式等细粒度维度费用数据的预测,支持用户输入回归模型参数对预测数据进行调整,支持对预测数据进行多维度分析查询。
计费策略:支持费率集,可以给不同项目,域或者组织架构设置不同的费率,支持设置年、月、日、时、秒等计费时间粒度,支持一口价、按量计费和阶梯计费等定价方式。
另外值得一提的是支持了容器的计费。平台会自动采集配置的容器集群的 pod 的资源使用量,包括给 pod 分配的 CPU ,内存和 PVC 空间配额,从而进行计费。
Cloudpods v3.11 适配了更多的操作系统,除了前序版本已支持的 CentOS 7 ,Debian 10 ,11 ,Ubuntu 22.04 ,还适配了对应 CentOS 8 的一系列操作系统,包括:AnolisOS 8.8 ,OpenCloudOS 8.8 ,RokcyLinux 8.9 ,AlmaLinux 8.9 等。同时适配了 openEuler 22.03 LTS SP3 以应对国产化信创的场景。以上系统均可使用 ocboot 在线部署。
与此同时,针对商业版离线部署场景,随着 CentOS 7 在 2024 年 6 月 EOL ,v3.11 不再以 CentOS 7.9 为主要的离线部署操作系统,而是采用 openEuler 22.03 LTS SP3 。
从 v3.11 开始默认的监控存储改为 VictoriaMetrics ,进一步提高监控数据查询速度。
[主机] KVM 虚机 NUMA 内存分配
[主机] 支持网络配置管理 IPv6 地址,给主机分配 IPv6 地址
[主机] KVM 支持 vGPU ( NVIDIA/AMD vGPU )
[主机] KVM 支持虚拟机紧急模式
[主机] 支持集中式块存储( SAN )通过 CLVM/SLVM 分配磁盘
[主机] 支持将纳管的 Cloudpods 集群的 KVM 虚拟机迁移到本地私有云
[主机] 支持网卡流量限制
[主机] 支持通过 WebRDP 协议登录 Windows 虚拟机
[多云] 支持火山引擎的对接
[多云] 对接 AWS 容器 EKS
[多云] 支持阿里云的资源目录,纳管阿里云资源组下的多账号
[认证] 组织架构支持(企业版)
[费用] 支持容器计费(企业版)
[费用] 费率支持应用到不同项目/租户,同时支持不同粒度设置(企业版)
[费用] 支持费用分摊,将指定项目费用分摊/均摊给其他项目(企业版)
[费用] 支持资源标签列表,可通过该列表统一维护云上不支持标签(或项目)或者漏打标签信息(企业版)
[费用优化] 支持异常消费功能,根据项目日消费或月累计消费设置阈值生成异常清单(企业版)
[系统] Web 控制台支持日语
[系统] 支持集成堡垒机,新建主机时自动添加 JumpServer 堡垒机(企业版)
[系统] 支持购物车功能,可同时批量创建不同规格资源(企业版)
[部署] 支持欧拉/SUSE 系统安装部署
[主机] 支持 userdata ,新建主机同时支持通过 userdata 指定初始化执行脚本
[主机] KVM 主机备份支持通过对象存储存储
[主机] VMware 采用新的二层网路模型,每个二层网络对应一个网络端口组
[主机] 磁盘限速优化,支持对单个磁盘镜像限速
[主机] 密钥支持共享
[多云] 重构云上云下资源映射关系模型,将安全组,DNS 记录,快照策略配置关系从多对一改为一对一
[多云] 阿里云/华为/AWS 支持对象存储设置跨域规则、策略
[认证] 优化删除用户/项目流程,无需检查关联关系
[认证] 优化消息订阅发送,支持静默期设置
[费用] 支持设置账单标签映射到指定项目(企业版)
[费用] 支持基于项目标签进行费用分析,基于项目构建组织架构(企业版)
[费用] 增加预测功能,支持录入相关数据校准预测数据(企业版)
[费用] 多维度分析支持保存为报告,可将高频查询条件保存为报告一键查看(企业版)
[费用] 费用查询性能优化,结合 MySQL 和 ClickHouse ,实现查询速度加速(企业版)
[系统] 监控替换为 VictoriaMetrics
[系统] 控制面板支持费用 KPI 的磁贴,如承诺费用占比、标签覆盖率等(企业版)
[系统] 支持使用 ID/IP 搜索同时查询多条数据
升级文档
https://www.cloudpods.org/zh/docs/setup/upgrade/
问题反馈
https://github.com/yunionio/cloudpods/issues
以上是文章的主要内容,作为融合云/多云管理/私有云/FinOps 厂商,云联壹云会持续关注这些领域的动态,分享相关的信息和技术,可以通过的官网( yunion.cn )或关注的公众号(云联壹云)来获取最新的信息,感谢大家的时间。
原文地址: https://www.yunion.cn/article/html/20240228.html
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.