KubeSphere 是在 Kubernetes 之上构建的面向云原生应用的分布式操作系统,支持多云与多集群管理,提供全栈的 IT 自动化运维的能力,简化企业的 DevOps 工作流。它的架构可以非常方便地使第三方应用与云原生生态组件进行即插即用 (plug-and-play) 的集成。
作为全栈化容器部署与多租户管理平台,KubeSphere 提供了运维友好的向导式操作界面,帮助企业快速构建一个强大和功能丰富的容器云平台。它拥有 Kubernetes 企业级服务所需的最常见功能,例如 Kubernetes 资源管理、DevOps、多集群部署与管理、应用生命周期管理、微服务治理、日志查询与收集、服务与网络、多租户管理、监控告警、事件审计、存储、访问控制、GPU 支持、网络策略、镜像仓库管理以及安全管理等。
KubeSphere 围绕 Kubernetes 集成了各种生态系统的工具,提供了一致的用户体验以降低复杂性。同时,它还具备 Kubernetes 尚未提供的新功能,旨在解决 Kubernetes 本身存在的存储、网络、安全和易用性等痛点。KubeSphere 不仅允许开发人员和 DevOps 团队在统一的控制台中使用他们喜欢的工具,而且最重要的是,这些功能与平台松散耦合,因为他们可以选择是否安装这些可拔插组件。
作为一个轻量级平台,KubeSphere 对不同云生态系统的支持变得更加友好,因为它没有对 Kubernetes 本身有任何的 Hack。换句话说,KubeSphere 可以部署并运行在任何基础架构以及所有兼容现有版本的 Kubernetes 集群上,包括虚拟机、裸机、本地环境、公有云和混合云等。KubeSphere 用户可以选择在云和容器平台(例如阿里云、AWS、青云QingCloud、腾讯云、华为云和 Rancher 等)上安装 KubeSphere,甚至可以导入和管理使用 Kubernetes 发行版创建的现有 Kubernetes 集群。KubeSphere 可以在不修改用户当前的资源或资产、不影响其业务的情况下与现有 Kubernetes 平台无缝集成。有关更多信息,请参见在 Linux 上安装和在 Kubernetes 上安装。
KubeSphere 为用户屏蔽了基础设施底层复杂的技术细节,帮助企业在各类基础设施之上无缝地部署、更新、迁移和管理现有的容器化应用。通过这种方式,KubeSphere 使开发人员能够专注于应用程序开发,使运维团队能够通过企业级可观察性功能和故障排除机制、统一监控和日志记录、集中式存储和网络管理,以及易用的 CI/CD 流水线来加快 DevOps 自动化工作流程和交付流程等。
多集群管理:随着我们迎来混合云时代,多集群管理已成为我们时代的主题。作为 Kubernetes 上最必要的功能之一,多集群管理可以满足用户的迫切需求。在最新版本 3.0 中,我们为 KubeSphere 配备了多集群功能,该功能可以为部署在不同云中的集群提供一个中央控制面板。用户可以导入和管理在主流基础设施提供商(例如 Amazon EKS 和 Google GKE 等)平台上创建的现有 Kubernetes 集群。通过简化操作和维护流程,这将大大降低用户们的学习成本。Solo 和 Federation 是多集群管理的两个特有模式,使 KubeSphere 在同类产品中脱颖而出。
改善可观察性:KubeSphere 现支持自定义监控、租户事件管理,以及多样化的通知方法(例如,微信和 Slack)等,可观察性功能大幅增强。另外,用户现在可以自定义监控面板,并根据自己的需求选择各种监控指标和显示图表。还值得一提的是,KubeSphere 3.0 与 Prometheus 兼容,后者是云原生行业中 Kubernetes 监控的事实标准。
增强安全性:安全始终是我们在 KubeSphere 中关注的重点之一。在这方面,功能增强可以概括如下:
审计:操作记录将被保存,包括操作的人员和时间。添加对审计的支持极为重要,特别是对于金融和银行业等传统行业而言。
网络策略和隔离:网络策略允许在同一群集内进行网络隔离,这意味着可以在某些实例 (Pod) 之间设置防火墙。通过配置网络策略控制同一集群内 Pod 之间的流量以及来自外部的流量,从而实现应用隔离并增强应用的安全性。用户还可以决定是否可以从外部访问某个服务。
Open Policy Agent:KubeSphere 基于 Open Policy Agent 提供了细粒度的访问控制。用户可以使用通用体系架构以统一的方式管理其安全性和授权策略。
OAuth 2.0:用户现在可以轻松地通过 OAuth 2.0 协议集成第三方应用程序。
Web 控制台的多语言支持:KubeSphere 在设计之初便面向全球用户。由于来自全球社区成员们的贡献,KubeSphere 3.0 的 Web 控制台现已支持四种官方语言:英文、简体中文、繁体中文和西班牙文。预计将来将支持更多语言。
除了上述主要新增功能之外,KubeSphere 3.0 还具有其他功能升级。有关更多详细信息,请参见 3.0.0 的发行说明。
借助开源的模式,KubeSphere 社区驱动着开发工作以开放的方式进行。KubeSphere 100% 开源免费,已大规模服务于社区用户,广泛地应用在以 Docker 和 Kubernetes 为中心的开发测试及生产环境中,大量服务平稳地运行在 KubeSphere 之上。您可在 GitHub 上找到所有源代码、文档和讨论。
KubeSphere 是 CNCF 基金会成员并且通过了 Kubernetes 一致性认证,进一步丰富了 CNCF 云原生的生态。
KubeSphere 作为开源的企业级全栈化容器平台,为用户提供了一个健壮、安全、功能丰富、具备极致体验的 Web 控制台。拥有企业级 Kubernetes 所需的最常见的功能,如工作负载管理,网络策略配置,微服务治理(基于 Istio),DevOps 工程 (CI/CD) ,安全管理,Source to Image/Binary to Image,多租户管理,多维度监控,日志查询和收集,告警通知,审计,应用程序管理和镜像管理、应用配置密钥管理等功能模块。
它还支持各种开源存储和网络解决方案以及云存储服务。例如,KubeSphere 为用户提供了功能强大的云原生工具负载均衡器插件 Porter,这是为 Kubernetes 集群开发的 CNCF 认证的负载均衡插件。
有了易于使用的图形化 Web 控制台,KubeSphere 简化了用户的学习曲线并推动了更多的企业使用 Kubernetes 。
以下从专业的角度详解各个模块的功能服务。有关详细信息,请参阅本指南中的相应章节。
KubeKey 允许用户直接在基础架构上部署 Kubernetes,为 Kubernetes 群集提供高可用性。建议在生产环境至少配置三个主节点。
对底层 Kubernetes 中的多种类型的资源提供可视化的展示与监控数据,以向导式 UI 实现工作负载管理、镜像管理、服务与应用路由管理 (服务发现)、密钥配置管理等,并提供弹性伸缩 (HPA) 和容器健康检查支持,支持数万规模的容器资源调度,保证业务在高峰并发情况下的高可用性。
由于 KubeSphere 3.0 具有增强的可观察性,用户可以从多租户角度跟踪资源,例如自定义监视、事件、审核日志、告警通知。
KubeKey 提供了一种简单的安装,管理和维护方式。它支持 Kubernetes 集群的滚动升级,以便集群服务在升级时始终可用。另外,也可以使用 KubeKey 将新节点添加到 Kubernetes 集群中以使用更多工作负载。
随着IT界越来越多的企业使用云原生应用程序来重塑软件产品组合,用户更倾向于跨位置、地理位置和云部署集群。在此背景下,KubeSphere 进行了重大升级,以其全新的多集群功能满足用户的迫切需求。
借助 KubeSphere的图形化 Web 控制台,用户可以管理底层的基础架构,例如添加或删除集群。可以使用相同的方式管理部署在任何基础架构(例如 Amazon EKS和Google Kubernetes Engine)上的异构集群。
KubeSphere 允许用户跨集群部署应用程序。更重要的是,还可以将应用程序配置为在特定群集上运行。此外,多集群功能与行业领先的应用程序管理平台 OpenPitrix 配合使用,使用户可以在整个生命周期内管理应用程序,包括发行、移除和分发。
有关更多信息,请参阅 多集群管理。
KubeSphere 提供了基于 Jenkins 的可视化 CI/CD 流水线编辑,无需对 Jenkins 进行配置,同时内置丰富的 CI/CD 流水线插件,包括Binary-to-Image (B2I) 和Source-to-Image (S2I),用于将源代码或二进制文件打包到准备运行的容器映像中。
Source-to-Image (S2I) 是一个直接将源代码构建成镜像的自动化构建工具,它是通过将源代码放入一个负责编译源代码的构建器镜像(Builder image) 中,自动将编译后的代码打包成 Docker 镜像。
S2I 允许用户将服务发布到 Kubernetes,而无需编写 Dockerfile。只需要提供源代码仓库地址,并指定目标镜像仓库即可。所有配置将在 Kubernetes 中存储为不同的资源。服务将自动发布到 Kubernetes,并且镜像也将推送到目标仓库。
与 S2I 相似,Binary-to-Image (B2I) 是一个直接将二进制文件构建成镜像的自动化构建工具,用于从二进制文件(例如 Jar,War,Binary 包)构建可复制的容器镜像。
用户只需要上传应用程序二进制包,并指定要推送到的镜像仓库即可。其余部分与 S2I 完全相同。
有关更多信息,请参阅 DevOps 管理。
KubeSphere 服务网络由一组生态系统项目组成,例如 Istio,Envoy 和 Jaeger。我们设计了一个统一的用户界面来使用和管理这些工具。大多数功能都是现成的,并且是从开发人员的角度进行设计的,这意味着 KubeSphere 可以帮助用户减少学习难度,因为不需要单独深入研究这些工具。
KubeSphere 服务网络为分布式应用程序提供细粒度的流量管理、可观察性、服务跟踪以及服务身份和安全性管理。因此,开发人员只需要专注于核心业务。通过 KubeSphere 的服务网络管理,用户可以更好地跟踪、查看路由和优化 Kubernetes 中用于云原生应用程序的通信。
有关更多信息,请参见 灰度发布。
KubeSphere 服务网络具有可视化微服务之间的连接以及它们如何互连的拓扑的能力。在这方面,可观察性对于理解云原生微服务的互连非常有帮助。
用户能基于 Jaeger,跟踪 KubeSphere 服务之间的网络交互。它通过可视化帮助用户更深入地了解请求延迟、瓶颈、序列化和并行性。
在 KubeSphere 中,资源(例如群集)可以在租户之间共享。首先,管理员或运维人员需要使用不同的权限设置不同的帐户角色。可以将这些角色分配给平台中的成员,以对各种资源执行特定的操作。同时,由于 KubeSphere 完全隔离了租户,因此它们根本不会相互影响。
有关更多信息,请参见企业空间中的 角色和成员管理。
KubeSphere 通过可视化界面操作监控、运维功能,可简化操作和维护的整个过程。它提供了对各种资源的自定义监控,并可以立即将发生的问题发送给用户。
可定制的监控仪表板:用户可以准确决定需要以哪种形式监控哪些工具。 KubeSphere 中提供了不同的模板供用户选择,例如 Elasticsearch,MySQL 和 Redis。或者,他们也可以创建自己的监视模板,包括图表,颜色,间隔和单位。
运维友好:开放标准接口,易于对接企业运维系统,以统一运维入口实现集中化运维。
第三方兼容性:KubeSphere 与 Prometheus 兼容,后者是用于在 Kubernetes 环境中进行监视的事实指标收集平台。监视数据可以在 KubeSphere 的 Web 控制台中无缝显示。
二级精度的多维度监控:
排序:用户可以按节点,工作空间和项目对数据进行排序,从而以直观的方式为他们的资源运行提供图形化视图。
组件监控:它允许用户快速定位任何组件故障,以避免不必要的业务停机。
有关更多信息,请参见 项目用户手册。
支持 Calico、Flannel 等开源网络方案。所
Porter,是由 KubeSphere 开发团队设计、经过 CNCF 认证的一款适用于物理机部署 Kubernetes 的负载均衡插件。 主要特点:
======================================================================================================================================================================================================