6 月 29 日,KubeSphere 容器平台 3.3.0 版本正式发布!新版本新增基于 GitOps 的持续部署方案,底层支持 Argo CD,可帮助用户实时查看持续部署进度,进一步优化了 DevOps 的使用体验。新版本在“存储管理、多集群与多租户管理、增强可观测性、边缘节点纳管”等方面也实现升级,带来更全面、更优质的容器体验。
而作为开源项目,KubeSphere 持续开源开放,为全球用户提供功能丰富、开箱即用的容器服务,加速云原生转型。
提供基于 GitOps 的持续部署方案,更易用的 DevOps
从新版本开始,KubeSphere DevOps 后端支持独立部署,提供基于 GitOps 的持续部署方案,引入 Argo CD 作为 CD 的后端,可帮助用户实时统计持续部署的状态。
值得一提的是,之前 KubeSphere DevOps 通过轮询的方式来实现 Jenkins 流水线的数据同步,造成了计算资源的浪费。此次升级新增了一个 Jenkins 插件,只要 Jenkins 端有相应的事件发生,就可以通过 Webhook 的形式,立即将事件发送到 KubeSphere DevOps,用户即刻知悉、即刻处理,极大地减少资源浪费。
新版本对 CI/CD 流水线模版进行了重构,新增多款基于 CRD(Custom Resource Definition)的内置流水线模版,支持参数设置,也支持用户自己通过 CR(Custom Resource)创建多个自定义模版,进一步提升 CI/CD 流水线的创建与运维效率。
按需设置 PVC 自动扩展策略,存储管理运维更友好
持久化存储是 K8s 系统中提供数据持久化的基础组件,是实现有状态服务的重要保证。KubeSphere 从 3.2.0 版本开始便在操控界面新增了存储管理功能,支持众多管理员级别的运维操作。
新版本进一步优化了存储管理功能,管理员可根据业务需求为存储类型设置 PVC(Persistent Volume Claim)自动扩展策略,当用户的 PVC 剩余容量不足时,就会自动按照预设的策略进行扩展,更加高效。
为了进一步控制存储的操作权限,新版本同时支持租户级别的存储权限管理,可以为存储类型设置授权规则,限制访问者只能在特定项目和企业空间使用存储。
此前操控界面不支持对卷快照内容和卷快照类型进行管理,这一功能在新版本得以实现,用户在操控界面即可查看上述两类资源,并对其进行编辑和删除操作。
更细粒度的权限管理,多集群与多租户管理更精细
云原生技术的爆发倒逼应用的可移植性越来越高,越来越多的用户选择跨云厂商或者在不同的基础设施上运行和管理多个 K8s 集群,可以说云原生的未来就是面向多集群的应用交付。
KubeSphere 为用户提供了统一的操控界面,可以将应用程序及其副本分发到位于公有云和本地环境的多个集群。KubeSphere 还拥有跨多集群的丰富可观测性,包括集中监控、日志系统、事件和审计日志等。
之前 KubeSphere 的管理权限是针对所有集群分配的,无法针对单独的集群设置权限。从新版本开始,KubeSphere 支持为每个集群单独设置集群成员和集群角色,提供了更细粒度的权限管控机制,进一步完善了 KubeSphere 的多租户系统。
KubeSphere 通过 CRD 来定义集群,并将每个集群的信息保存在 CR 中。但 CR 只保存在 Host 集群中,Member 集群中的应用无法获取自身所在集群名称等信息,部分功能实现起来也比较麻烦。例如:告警管理系统发送通知时需要在通知中添加集群标签,以此来标识该通知来自哪个集群。
新版本解决了这个痛点,将集群名称添加到了 ConfigMap kubesphere-config 中,因为每个集群都会有ConfigMap,所以集群中的应用可以通过 ConfigMap 获取到自身所在的集群名称。
除了以上改进功能之外,多集群的管理体验也得到优化,用户可以直接在操控界面更新每个集群的 kubeconfig 内容,且当 Member 集群 kubeconfig 中的证书即将过期时,会即时提醒用户,收到提示后即可尽快通过上述方法更新 kubeconfig 内容。
监控新特性加持,可观测性进一步增强
KubeSphere 提供了丰富的可视化功能,支持从基础设施到应用的多维度指标监控,并集成了众多常用工具,包括多租户日志查询、日志收集、告警、通知等功能。
此次升级,KubeSphere 增加了更多监控特性:支持导入 Grafana 模板,实现自定义监控模版;添加了容器进程/线程指标,实现对运行容器的资源和性能监控;优化了磁盘使用率指标,支持显示每个磁盘的使用情况。
除此外,用户还可以分别设置审计、事件、日志及 Istio 日志信息的保留时间。已有的监控、日志、告警等组件也纷纷进行了升级,进一步增强系统可观测性。
在操控界面直接管控边缘节点,更高效
KubeSphere 通过与 KubeEdge 集成,解决了边缘节点纳管、边缘工作负载调度和边缘可观测性等难题,结合 KubeEdge 的边缘自治功能和 KubeSphere 的多集群管理功能,可以实现云、边、端一体化管控。
新版本进一步优化了边缘节点的管控能力,用户可以直接在操控界面登录边缘节点的终端,以便直接在边缘端进行操作,比如:下载镜像,更新边缘端应用;在边缘端更新 EdgeCore 和 Docker;修改边缘节点的机器配置等。
当然,通过操控界面,用户不仅可以登录边缘节点,也可以登录普通节点。
默认支持 OpenELB 配置参数,服务暴露优化
目前,大量用户选择在物理机安装部署 Kubernetes,或者在离线数据中心、边缘设备安装和使用 Kubernetes,这就导致用户在私有环境对外暴露 LoadBalancer 服务比较困难。
为了解决这个难题,KubeSphere 社区开源了 OpenELB 负载均衡器插件,为私有化环境的用户提供了易用的 EIP 与 IP Pool 管理能力。新版本操控界面默认支持 OpenELB 的配置参数,即使是在非公有云环境的 K8s 集群下,也可以对外暴露 LoadBalancer 服务。
持续开源开放,服务全球用户云原生转型
借助于开源社区的力量,KubeSphere 迅速走向全球。截止2022 年 6 月底,KubeSphere 用户覆盖超过 100 个国家和地区,下载量近百万,拥有贡献者近 300 人,主仓库在 GitHub 上 Star 数超过 10200,Fork 数超 1500,在全球开源容器领域,受欢迎程度位列第二。
除支持中、英、繁中和西班牙语之外,新版本还支持更多语种,免除了更多国家和地区用户在使用上的语言障碍,更便捷、快速地使用 KubeSphere,以及丰富和完善 KubeSphere 功能,服务全球用户云原生转型。
目前,KubeSphere 3.3.0 版本已在 GitHub 上开源,相关的代码和设计文档可在 GitHub 相关仓库中找到,欢迎下载、使用,即刻开启云原生转型之旅。