kubesphere项目构建概述

本文介绍了KubeSphere项目,它是一个基于Kubernetes的开源企业级容器平台,提供多集群管理、自动化DevOps、微服务治理等功能。KubeSphere旨在简化Kubernetes的使用,通过统一的Web控制台实现资源监控、日志审计、服务网格等,支持一键部署在多种环境中,包括离线安装。此外,文章还详细阐述了KubeSphere的架构原理和部署步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、项目背景

因某业务系统微服务改造,计划将其构建在kubesphere平台上,完成自动化部署及发布。本文先暂时记录如何构建一个kubeSphere平台,后续根据现场实际再完善。

因Kubernetes 目前在微服务场景中大量运用,管理大量的服务实例和集群,k8s已经成为在私有云、公有云和混合云等环境中大规模部署容器化应用程序的事实标准。但 Kubernetes 本身使用复杂,需要管理的组件繁多,部分组件需要自行安装和部署(存储和网络部分),这给软件应用代理很多挑战。

KubeSphere 就是为解决 Kubernetes 在构建、部署、管理和可观测性等方面的痛点,为管理提供了全面的服务和自动化的应用供应、伸缩和管理,让开发人员可更专注于代码编写,管理人员操作和管理也会容易和便捷。KubeSphere 包含多种功能:多集群管理、应用程序生命周期管理、多租户管理、CI/CD 流水线、微服务治理和可观测性(监控日志、告警通知和审计事件)等。KubeSphere 的交互式 Web 控制台方便用户直接在平台上进行测试和操作,同时还内置了命令行工具 Kubectl。它为用户提供了高性能可伸缩的容器应用管理解决方案。KubeSphere 适用于多种场景,为企业提供容器化的环境,常见场景如下所,更多可参见官方用户案例

1、多集群管理场景:KubeSphere 提供统一的中央控制平面,由 Host 集群纳管 Member 集群,即多个异构的 Kubernetes 集群可以聚合在一起作为 Kubernetes 资源池。当用户部署应用程序时,可以选择应用的副本所要运行于的一个或多个 Kubernetes 集群。整个过程可以通过 KubeSphere 控制台进行管理,以可视化的方式帮助用户实现跨区域和跨集群的高可用性。
2、低延迟场景:多个地区部署集群时,可将用户请求转发至距离最近的集群处理,以此来最大限度减少网络带来的延迟。
3、要求隔离的场景:包括故障隔离和业务隔离。对于业务隔离,Kubernetes 通过命名空间来隔离应用,但这仅是逻辑上的隔离,不同命名空间之间网络互通,依旧存在资源抢占的问题。要想实现更进一步的隔离,需要额外设置诸如网络隔离策略、资源限额等。多集群可以在物理上实现彻底隔离,安全性和可靠性相比使用命名空间隔离更高。
多维度监控场景:帮助运维团队提供一种统一的工具以对多集群上不同的指标实现多维度监控。
4、日志、事件与审计场景:KubeSphere 提供统一的中央控制平面用于跨云多集群管理,同时KubeSphere 还具备强大的可观测性功能(告警通知、审计日志与事件)以监控多集群资源,为用户提供多维度自定义监控面板,用户可自行选择以何种形式监控任意资源。此外,KubeSphere 还配有多指标的日志、事件与审计查询功能,以可视化的形式提供基于多租户的日志检索。借助 KubeSphere,企业可以更多地专注于业务创新,从复杂的数据收集和分析流程中彻底解放。
5、微服务和云原生场景:现在的业务,很多业务已部署在云上,很多的云原生应用更多地以微服务的形式部署,而非从前的单体大型应用,微服务之间的频繁交付需要稳定、流畅的网络连接,在不影响生产环境的同时进行版本更迭成为各个企业必须要解决的问题。为此,企业需要搭建一套完整的微服务架构以及时地检测并解决潜在问题。KubeSphere 提供了轻量级、扩展性强的微服务架构,为企业创造了充分的条件以开发云原生应用程序应对各类使用场景。基于 Istio,KubeSphere 以代码无侵入的模式提供可视化、灵活的微服务治理平台,包含各类微服务治理功能,支持熔断、灰度发布、流量管控、分布式链路追踪等,助力企业一步搭建微服务架构,实现应用云原生转型。
6、裸机环境应用部署场景:借助新一代轻量级安装器 KubeKey,KubeSphere 帮助企业快速在裸机环境搭建容器化架构,并通过 OpenELB 实现流量的负载均衡。OpenELB 由 KubeSphere 社区开源,专为裸机环境下的负载均衡所设计。

二、软件产品介绍

KubeSphere 是在 Kubernetes 之上构建的面向云原生应用的分布式操作系统,完全开源,支持多云多集群管理和多租户容器管理,提供全栈的 IT 自动化运维能力,简化企业的 DevOps 工作流。
在这里插入图片描述
KubeSphere 是在 Kubernetes 之上构建的开源的企业级容器平台,提供简单易用的web操作界面以及向导式操作方式,在降低用户使用容器调度平台学习成本的同时,极大减轻开发、测试、运维的日常工作的复杂度,旨在解决 Kubernetes 本身存在的存储、网络、安全和易用性等痛点。KubeSphere 为用户提供构建企业级 Kubernetes 环境所需的多项功能,例如:多云与多集群管理、Kubernetes 资源管理、DevOps、应用生命周期管理、微服务治理(服务网格)、日志查询与收集、服务与网络、多租户管理、监控告警、事件与审计查询、存储管理、访问权限控制、GPU 支持、网络策略、镜像仓库管理以及安全管理等。
在这里插入图片描述

KubeSphere 作为开源的企业级全栈化容器平台,为用户提供了一个健壮、安全、功能丰富、具备极致体验的 Web 控制台。平台已经整合并优化了多个适用于容器场景的功能模块,以完整的解决方案帮助企业轻松应对敏捷开发与自动化运维、微服务治理、多租户管理、工作负载和集群管理、服务与网络管理、应用编排与管理、镜像仓库管理和存储管理等业务场景。可帮助企业一键在公有云或数据中心快速搭建 Kubernetes 集群,提供单节点、多节点、集群插件安装,以及集群升级与运维。

KubeSphere官网。

更多详情参看官方文档
在这里插入图片描述
KubeSphere 100% 开源免费,已大规模服务于社区用户,广泛地应用在以 Docker 和 Kubernetes 为中心的开发、测试及生产环境中,大量服务平稳地运行在 KubeSphere 之上。您可在 GitHub 上找到所有源代码、文档和讨论。

KubeSphere 的六大主要优势:

●跨云厂商的多集群统一管理:

随着容器应用的日渐普及,各个企业跨云或在本地环境中部署多个集群,而集群管理的复杂程度也在不断增加。为满足用户统一管理多个异构集群的需求,KubeSphere 配备了全新的多集群管理功能,帮助用户跨区跨云等多个环境管理、监控、导入和运维多个集群,全面提升用户体验。多集群功能可在安装 KubeSphere 之前或之后启用。

●统一管理:
用户可以使用直接连接或间接连接导入 Kubernetes 集群。只需简单配置,即可在数分钟内在 KubeSphere 的互动式 Web 控制台上完成整个流程。集群导入后,用户可以通过统一的中央控制平面监控集群状态、运维集群资源。

●高可用:
在多集群架构中,一个集群可以运行主要服务,于此同时由另一集群作为备用。一旦该主集群宕机,备用集群可以迅速接管相关服务。此外,当集群跨区域部署时,为最大限度地减少延迟,请求可以发送至距离最近的集群,由此实现跨区跨集群的高可用。

●强大的可观测性功能:
KubeSphere 的可观测性功能在 v3.0 中全面升级,进一步优化与改善了其中的重要组件,包括监控日志、审计事件以及告警通知。用户可以借助 KubeSphere 强大的监控系统查看平台中的各类数据,该系统主要的优势包括:

1>自定义配置:用户可以为应用自定义监控面板,有多种模板和图表模式可供选择。用户可按需添加想要监控的指标,甚至选择指标在图表上所显示的颜色。此外,也可自定义告警策略与规则,包括告警间隔、次数和阈值等。

2>全维度数据监控与查询:KubeSphere 提供全维度的资源监控数据,将运维团队从繁杂的数据记录工作中彻底解放,同时配备了高效的通知系统,支持多种通知渠道,包括电子邮件、Slack 与企业微信等。基于 KubeSphere 的多租户管理体系,不同租户可以在控制台上查询对应的监控日志与审计事件,支持关键词过滤、模糊匹配和精确匹配。

3>图形化交互式界面设计:KubeSphere 为用户提供图形化 Web 控制台,便于从不同维度监控各个资源。资源的监控数据会显示在交互式图表上,详细记录集群中的资源用量情况。不同级别的资源可以根据用量进行排序,方便用户对数据进行对比与分析。

4>高精度秒级监控:整个监控系统提供秒级监控数据,帮助用户快速定位组件异常。此外,所有审计事件均会准确记录在 KubeSphere 中,便于后续数据分析。

●自动化 DevOps 流程:
自动化是落地 DevOps 的重要组成部分,自动、精简的流水线为用户通过 CI/CD 流程交付应用提供了良好的条件。

●集成 Jenkins:KubeSphere DevOps 系统内置了 Jenkins 作为引擎,支持多种第三方插件。此外,Jenkins 为扩展开发提供了良好的环境,DevOps 团队的整个工作流程可以在统一的平台上无缝对接,包括:开发测试、构建部署、监控日志和通知等。KubeSphere 的帐户可以登录内置的 Jenkins,满足企业对于 CI/CD 流水线和统一认证多租户隔离的需求。

●便捷的内置工具:无需对 Docker 或 Kubernetes 的底层运作原理有深刻的了解,用户即可快速上手自动化工具,包括 Binary-to-Image 和 Source-to-Image。只需定义镜像仓库地址,上传二进制文件(例如 JAR/WAR/Binary),即可将对应的服务自动发布至 Kubernetes,无需编写 Dockerfile。

●细粒度权限控制
KubeSphere 为用户提供不同级别的权限控制,包括集群、企业空间和项目。拥有特定角色的用户可以操作对应的资源。

●自定义角色:除了系统内置的角色外,KubeSphere 还支持自定义角色,用户可以给角色分配不同的权限以执行不同的操作,以满足企业对不同租户具体工作分配的要求,即可以定义每个租户所应该负责的部分,不被无关资源所影响。

●安全:由于不同级别的租户之间完全隔离,他们在贡献部分资源的同时也不会相互影响。租户之间的网络也完全隔离,确保数据安全。

开箱即用的微服务治理:
KubeSphere 的微服务治理功能基于 Istio,提供多个灰度策略。所有的功能均开箱即用,支持无侵入 (Hack) 的微服务治理,提供一致的用户体验。以下是 KubeSphere 微服务治理(服务网格)的两大优势:

1>全面的微服务治理功能:KubeSphere 为用户提供多样化的流量管理功能,包括金丝雀发布、蓝绿部署、流量镜像、和熔断机制等。

蓝绿发布提供零宕机部署,即在保留旧版本的同时部署新版本。在任何时候,只有其中一个版本处于活跃状态,接收所有流量,另一个版本保持空闲状态。如果运行出现问题,您可以快速回滚到旧版本。

金丝雀发布将实际流量引入新版本以测试性能和可靠性,在不影响系统稳定性的同时能够检测实际环境中存在的问题。

流量镜像是一种强大的、无风险的测试应用版本的方法,将实时流量的副本发送给被镜像的服务。采用这种方法,您可以搭建一个与原环境类似的环境以进行验收测试,从而提前发现问题。
2>可视化界面:KubeSphere 提供交互式 Web 控制台,让用户可以直观地查看微服务直接相互通信的情况,支持链路追踪智能路由等完善的微服务治理功能,帮助用户快速监控应用,定位问题并提高系统性能。KubeSphere 旨在为服务间的通信提供一个可靠、迅速的微服务架构。

●活跃的开源社区:
KubeSphere 作为一个开源项目,具备一个活跃的一个开源开放的社区,大家可以在其中提出问题、提交 PR、参与见面会并交换创新意见等。KubeSphere 社区具备充分的能力和技术知识,让大家能共享开源模式所带来的红利。

三、kubeshpere架构原理

在这里插入图片描述

KubeSphere 采用了前后端分离的架构,采用面向云原生的设计,实现了一个轻量级容器 PaaS 平台;后端的各个功能组件可通过 REST API 对接外部系统,可参考 API 文档。KubeSphere 无底层基础设施依赖性,让它可以运行在任何 Kubernetes之上,对原生 Kubernetes 本身没有任何的侵入 (Hack),可以在不修改用户当前的资源或资产、不影响其业务的情况下部署在现有的 Kubernetes 平台上。即,KubeSphere 可以部署并运行在任何基础架构以及所有版本兼容的 Kubernetes 集群之上,包括:私有云、公有云、VM 或物理环境(BM)之上。

另外KubeSphere 围绕 Kubernetes 集成了丰富的云原生生态工具,同时支持对接大部分流行的第三方组件,从应用和应用生命周期管理集群底层的运行时,将这些开源项目作为其后端组件,通过 标准的 APIKubeSphere 控制台交互,最终在一个统一的控制台界面提供一致的用户体验,大大降低了用户对不同工具的学习成本和复杂性,另外还支持各种开源存储和网络解决方案以及云存储服务,KubeSphere 在存储和网络方面提供了最优的解决方案,支持流行的开源共享存储如 Ceph RBD 和 GlusterFS 。下图是kubesphere关联的生态圈:
在这里插入图片描述
kubesphere在容器管理的架构:
在这里插入图片描述
KubeSphere系统架构:
在这里插入图片描述
KubeSphere API 架构:
在这里插入图片描述
KubeSphere API 服务器为 各种集成的API 对象提供验证和配置数据。API 服务器为 REST 操作提供服务,并为集群的共享状态提供前端,其他所有组件通过它进行交互。

其中 :/kapi 和/kapis 是 KubeSphere 拓展聚合的 API,/api和 /apis开头的都属于 Kubernetes 原生的 API,KubeSphere 把用户对原生 Kubernet

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

羌俊恩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值