2022 年 6 月 27 日,KubeSphere 开源社区冲动地向大家发表,KubeSphere 3.3.0 正式公布!
CNCF 公布的 2021 年度调查报告指出,容器和 K8s 的事实位置曾经趋于巩固,并缓缓退居“幕后”,相似于无处不在的 Linux,人们甚至都感觉不到它的存在。这要得益于泛滥致力于升高用户应用门槛的 K8s 治理平台,KubeSphere 便是这其中的佼佼者,它帮忙用户屏蔽了底层 K8s 集群的复杂性和差异性,提供了可插拔的开放式架构,无缝对接第三方利用,极大地升高了企业用户的应用门槛。
2021 年 KubeSphere 先后推出了 v3.1 和 v3.2 两个大版本,带来了 “边缘计算”、“计量计费”、“GPU 资源调度治理” 等泛滥令人期待的性能,将 K8s 从云端扩大至边缘,并进一步加强了在云原生 AI 场景的应用体验。
明天,KubeSphere 3.3.0 带来了更多令人期待的性能,新增了基于 GitOps 的继续部署计划,进一步优化了 DevOps 的应用体验。同时还加强了“多集群治理、多租户治理、可观测性、利用商店、微服务治理、边缘计算、存储”等个性,更进一步欠缺交互设计,并全面晋升了用户体验。
并且,v3.3.0 失去了来自青云科技之外的更多企业与用户的奉献和参加,无论是性能开发、功能测试、缺点报告、需要倡议、企业最佳实际,还是提供 Bug 修复、国际化翻译、文档奉献,这些来自开源社区的奉献都为 v3.3.0 的公布和推广提供了极大的帮忙,咱们将在文末予以特地致谢!
解读 KubeSphere 3.3.0 重大更新
更易用的 DevOps
KubeSphere DevOps 从 3.3.0 开始,后端已反对独立部署,并提供了 基于 GitOps 的继续部署(Continuous Deployment, CD)计划,引入 Argo CD 作为 CD 的后端,能够实时统计继续部署的状态。
<div style=”position: relative; margin-bottom: 25px; padding-bottom: 56.25%; height: 0; overflow: hidden;”>
<iframe class="lazyload" data-src="//player.bilibili.com/player.html?aid=597808663&bvid=BV18B4y1q7kh&cid=756454741&page=1&high_quality=1&danmaku=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" allowfullscreen="true"></iframe>
</div>
以云原生 FaaS 我的项目 OpenFunction 为例,假如您的 KubeSphere 集群中曾经部署了 nginx-ingress 和 knative-serving,能够通过 GitOps 继续部署 OpenFunction 的其余组件。
Jenkins 作为一款用户基数极大、生态丰盛的 CI 引擎,咱们会让 Jenkins 真正地“表演”引擎的角色——退入幕后继续为大家提供稳固的流水线性能。之前 KubeSphere DevOps 通过轮询的形式来实现 Jenkins 流水线的数据同步,节约了很多计算资源,本次新增了一个 Jenkins 插件,只有 Jenkins 端有相应的事件产生,就能够通过 Webhook 的模式立刻将事件发送到 ks-devops。
KubeSphere DevOps 从 3.1.0 开始便内置了两个罕用的流水线模板,帮忙 DevOps 工程师晋升 CI/CD 流水线的创立与运维效率。但内置的模板内嵌到了前端代码中,很难被扭转。3.3.0 对流水线模板进行了重构,新增多款 基于 CRD 的内置流水线模板,反对参数设置,用户也能够通过 CR 创立多个自定义的模板。
多集群与多租户
云原生技术的暴发倒逼利用的可移植性越来越高,最终会有越来越多的组织抉择跨不同的云厂商或者在不同的基础设施上运行和治理多个 K8s 集群,能够说 云原生的将来就是面向多集群的利用交付。
KubeSphere 为用户提供了对立的管制立体,能够将应用程序及其正本散发到位于私有云和本地环境的多个集群。KubeSphere 还领有跨多个集群的丰盛可观测性,包含集中监控、日志零碎、事件和审计日志等。
之前 KubeSphere 的管理权限是针对所有集群调配的,无奈针对独自的集群设置权限。从 v3.3.0 开始,KubeSphere 反对别离为每个集群设置 集群成员 和集群角色,提供了更细粒度的权限管控机制,进一步欠缺了 KubeSphere 的多租户零碎。
KubeSphere 通过 CustomResourceDefinition(CRD)来定义集群,并将每个集群的信息保留在 CR 中。但 CR 只会保留在 host 集群中,member 集群中的利用无奈获取本身所在集群的信息(比方集群名称),局部性能实现起来比拟麻烦。比方告警管理系统发送告诉时须要在告诉中增加集群的标签,以标识该告诉来自哪个集群,但无奈主动获取,只能手动设置。
v3.3.0 解决了这个痛点,将集群名称增加到了 ConfigMap kubesphere-config
中,因为每个集群都会有这个 ConfigMap,所以集群中的利用能够通过这个 ConfigMap 获取到本身所在的集群名称。
除了以上这些改良之外,还优化了多集群的治理体验,比方能够间接在 Console 界面更新每个集群的 kubeconfig 内容。
而且当 member 集群 kubeconfig 中的证书行将过期时会即时揭示用户,用户收到提醒后能够尽快通过上述办法更新集群的 kubeconfig 内容。
边缘节点纳管
KubeSphere 通过与 KubeEdge 集成,解决了边缘节点纳管、边缘工作负载调度和边缘可观测性等难题,联合 KubeEdge 的边缘自治性能和 KubeSphere 的多云与多集群治理性能,能够实现云 - 边 - 端一体化管控。
v3.3.0 优化了边缘节点的管控能力,能够 间接在 Console 界面登录边缘节点的终端,以便间接在边缘端进行操作,比方:
- 下载镜像,更新边缘端利用;
- 在边缘端更新 EdgeCore 和 Docker;
- 批改边缘节点的机器配置;
- …
当然,Console 界面不仅能够登录边缘节点,也能够登录一般的节点。
咱们还将 KubeEdge 从 v1.7.2 降级到了 v1.9.2,同时移除了 EdgeWatcher 组件,因为 KubeEdge 曾经提供了相似的性能。
加强可观测性
KubeSphere 提供了丰盛的可视化性能,反对从基础设施到利用的多维度指标监控。此外,KubeSphere 还集成了许多罕用的工具,包含多租户日志查问和收集、告警和告诉等性能。
v3.3.0 新增了很多监控新个性,反对在租户级自定义监控中导入 Grafana 模板,增加了容器过程 / 线程指标,同时还优化了磁盘使用率指标,反对显示每个磁盘的应用状况。
当初用户也能够别离设置审计、事件、日志及 Istio 日志信息的保留工夫。
除此之外,还对已有的监控、日志、告警等组件进行了降级:
- Alertmanager: v0.21.0 –> v0.23.0
- Grafana: 7.4.3 –> 8.3.3
- kube-state-metrics: v1.9.7 –> v2.3.0
- node-exporter: v0.18.1 –> v1.3.1
- Prometheus: v2.26.0 –> v2.34.0
- prometheus-operator: v0.43.2 –> v0.55.1
- kube-rbac-proxy: v0.8.0 –> v0.11.0
- configmap-reload: v0.3.0 –> v0.5.0
- thanos: v0.18.0 –> v0.25.2
- kube-events: v0.3.0 –> v0.4.0
- fluentbit-operator: v0.11.0 –> v0.13.0
- fluent-bit: v1.8.3 –> v1.8.11
运维敌对的存储管理
长久化存储是 K8s 零碎中提供数据长久化的根底组件,是实现有状态服务的重要保障。KubeSphere 从 v3.2.0 开始便在 Console 界面新增了 存储管理 性能,反对很多管理员级别的运维操作。v3.3.0 进一步优化了存储管理性能,管理员能够依据须要为 存储类型(StorageClass)设置 PVC 主动扩大策略,当用户的 PVC 残余容量有余时,就会依照预设的策略进行扩大。
为了进一步管制存储的操作权限,v3.3.0 反对了租户级别的存储权限治理,能够为 存储类型(StorageClass)设置受权规定,限度用户只能在特定我的项目和企业空间应用存储类。
此前 KubeSphere Console 界面不反对对卷快照内容(VolumeSnapshotContent)和卷快照类型(VolumeSnapshotClass)进行治理,这个性能在 KubeSphere 3.3.0 得以实现,当初用户能够在 Console 界面查看上述两类资源,并对其进行编辑和删除操作。
<div style=”position: relative; margin-bottom: 25px; padding-bottom: 56.25%; height: 0; overflow: hidden;”>
<iframe class="lazyload" data-src="//player.bilibili.com/player.html?aid=215301709&bvid=BV17a411W7Xb&cid=756456073&page=1&high_quality=1&danmaku=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" allowfullscreen="true"></iframe>
</div>
服务裸露优化
目前社区有大量用户抉择在物理机装置部署 K8s,并且还有大量客户是在离线的数据中心或边缘设施装置和应用 K8s 或 K3s,导致用户在公有环境对外裸露 LoadBalancer 服务比拟艰难。为了解决这个问题,KubeSphere 社区开源了 OpenELB,为私有化环境的用户提供了易用的 EIP 与 IP Pool 治理能力。
v3.3.0 Console 界面默认集成了对 OpenELB 的反对,即便是在非公有云环境的 K8s 集群下,也能够对外裸露 LoadBalancer 服务。
其余更新
- 反对通过 ClusterConfiguration 对 Istio 进行更丰盛的配置;
- 新增 K8s 审计日志开启提醒;
- 反对利用整个配置字典;
- 反对容器生命周期 hook 设置;
- 反对流量监控统计工夫配置;
- 优化局部页面文案形容;
- 优化了服务拓扑图详情展现窗口优化;
- 修复了删除我的项目后我的项目网关遗留的问题;
- 优化了 ClusterConfiguration 更新机制,无需重启 ks-apiserver、ks-controller-manager;
- 因为政策要求临时屏蔽了主动生成的 nip.io 路由,下一个版本中将会提供后盾开关。
继续开源凋谢
借助于开源社区的力量,KubeSphere 迅速走向寰球,目前 KubeSphere 的用户遍布寰球,笼罩超过了 100 个国家和地区,下载量近 百万,领有贡献者近 300 人,主仓库在 GitHub 上 Star 数超过 10000,Fork 数超 1500。v3.3.0 Console 除了反对中、英、繁中和西班牙语之外,还反对了更多的语种,进一步拓展了海内市场。
将来 KubeSphere 团队将持续放弃开源、凋谢的理念,v3.3.0 带来的泛滥优化也早已在 GitHub 开源,例如 Console、OpenELB、Fluent Operator、KubeKey、KubeEye、Notification Manager、Kube-Events、ks-devops,相干的代码与设计文档在 GitHub 相干仓库都能够找到,欢送大家在 GitHub 给咱们 Star + Fork + PR 三连。
装置降级
KubeSphere 已将 v3.3.0 所有镜像在国内镜像仓库进行了同步与备份,国内用户下载镜像的装置体验会更加敌对。对于最新的 v3.3.0 装置与降级指南,可参考 KubeSphere 官网文档。
致谢
以下是参加 KubeSphere 3.3.0 代码、文档等奉献的贡献者 GitHub ID,若此名单有脱漏请您与咱们分割,排名不分先后。
相较于上个版本,v3.3.0 的贡献者数量增长了 50%,这也阐明参加 KubeSphere 开源奉献的人越来越多了。新的贡献者,都将取得社区的专属证书,后续咱们会在社区对立发放。
社区非常感激各位贡献者的参加,也欢送有越来越多的小伙伴退出此行列,不论是代码开发、文档优化,还是网站优化、社区宣传和技术布道,KubeSphere 社区的大门永远向您敞开!
本文由博客一文多发平台 OpenWrite 公布!