关于 KubeSphere

KubeSphere 是一个分布式操作系统,用于云原生应用程序管理,使用Kubernetes 作为其内核。它提供即插即用的架构,允许第三方应用程序无缝集成到其生态系统中。

KubeSphere 还是一个多租户企业级开源 Kubernetes 容器平台,具有全栈自动化 IT 操作和简化的 DevOps 工作流程。它提供对开发者友好的向导web UI,帮助企业构建一个更强大且功能丰富的 Kubernetes 平台,其中包括企业 Kubernetes 策略所需的最常见功能。

上一段中有很多技术术语,在“为什么使用 KubeSphere”部分会一清二楚。

注意 - 在 Key 中查找完整形式的缩写。

什么是 Kubernetes

Kubernetes 是一个可移植、可扩展的开源平台,用于管理容器化工作负载和服务,可促进声明式配置和自动化。谷歌在 2014 年开源了 Kubernetes 项目。

Kubernetes 为您提供了一个框架来弹性地运行分布式系统。它负责您的应用程序的扩展和故障转移,提供部署模式等等。

要了解有关 Kubernetes 的更多信息,请查看我的博客A Simple Guide to Kubernetes

KubeSphere 入门

确保您阅读并匹配此处的先决条件。

在 Kubernetes 上安装

由于 KubeSphere 是一个使用 Kubernetes 作为内核的分布式操作系统,它可以直接安装在 Kubernetes 之上。

在此处查看安装步骤。

注意 - 您需要先配置并运行 Kubernetes 集群,然后才能在 Kubernetes 上安装 KubeShpere。

查看此页面以安装在云或本地托管的现有 Kubernetes 集群上。

CONSOLE KUBESPHERE.png你会在你的控制台上看到这个。

在 Linux 上安装

对于刚接触 KubeSphere 并正在寻找快速发现容器平台的方法的人来说,一体机模式是入门的最佳选择。它具有快速部署和轻松配置的特点,所有配置在您的机器上的 KubeSphere 和 Kubernetes。使用 KubeKey 安装

您可以访问官方深入文档安装并让 KubeShpere 在 Linux 上运行。

Linux 上的其他安装 - 概述,配置 Kubernetes 集群。

为什么要使用 KubeSphere?

我们将剖析和理解在描述 KubeSphere 时使用的定义,并理解为什么要使用 KubeSphere。

  • 多租户使不同团队能够安全地部署和维护从云到边缘的容器化应用程序。

  • 开源 - CNCF 认证的 Kubernetes 平台,100% 开源,由社区构建和改进。

  • 易于运行 - 可以部署在现有的 Kubernetes 集群或 Linux 机器上,也支持在线和气隙安装。

  • 模块化和可插拔 - 功能模块化并与平台松散耦合。您可以根据业务需求选择模块。

仪表板.png

对不同团队的好处

如“关于”部分所述,KubeSphere 是一个多租户企业级开源 Kubernetes 容器平台,具有全栈自动化 IT 操作和简化的 DevOps 工作流程

它允许开发人员在友好的控制台上单击几下部署代码,并为 Ops 团队带来集成的可观察性和强大的 DevOps 策略。

它还通过高效、灵活的网络解决方案帮助 Infra 团队安装和维护 Kubernetes 集群,避免将团队锁定在单一供应商生态系统中。

devops.png

用于基础设施团队

从云到数据中心的自动安装、扩展和升级。

  • 提高您的资源利用率并降低内部基础架构成本。

  • 提供安全增强并支持多种存储和网络解决方案。

  • 提供值得信赖且经过认证的 Kubernetes 平台和发行版。

  • 支持多云和多集群 Kubernetes 管理,避免供应商锁定(即将包含功能)。

开发者

将开发人员从创建复杂的 YAML 中解放出来,使他们能够专注于业务需求。

  • 打造流畅的用户体验,减少云原生栈的学习曲线。提供即插即用架构

  • 提供为任何应用程序环境量身定制的工具包和部署自动化。

  • 提供开箱即用的工具包,用于从源代码构建可重现的图像,提高开发效率。

  • 支持应用程序生命周期管理,加快上市时间

运营团队

构建要使用的一站式企业级 DevOps 框架

  • 它提供从基础架构到应用程序的集中日志收集、监控、警报、事件和审计日志

  • 流线型流程 持续部署、测试、发布、升级和扩展。

  • 更好的 在 Kubernetes 内为云原生应用程序跟踪、路由和优化通信。

  • 易于使用网络终端和图形面板,满足不同用户的需求。

最终用户

在 Kubernetes 上运行和使用应用程序简单直观,它提供了抽象,同时保持了 Kubernetes 的强大功能。

  • 一键部署和升级应用到透明的底层基础设施。

  • 提供按需容器资源和HPA,增强应用的可靠性和灵活性。

  • 在几秒钟内导入任何 Helm 存储库,以可视化部署和升级应用程序。

  • 支持应用商店中的操作,包括应用的计量和计费(即将包含功能)。

KubeSphere 的特点

1.身份和访问管理

身份和访问管理 (IAM) 是一种安全规程,它使正确的实体(人或事物)能够在需要时使用正确的资源(应用程序或数据),而不受干扰地使用他们想要使用的设备.

支持 CAS、OIDC、IDaaS、LDAP、LDAPS 和搜索过滤器。

2.多租户

提供统一的细粒度角色认证和三层授权体系,支持AD/LDAP认证。

您可以添加用户组,可以分配到组,以及邀请组到工作区或项目。

3. Kubernetes 开发运维

在 Kubernetes 集群中运行 CI/CD 流水线,实现自动化的代码检出、测试、代码分析、构建、部署和发布。 dev-ops.png

开箱即用 CI/CD 管道

  • 与 SCM 轻松集成,包括 GitLab/GitHub/BitBucket/SVN,以简化持续集成

  • 图形编辑面板旨在可视化和简化 CI/CD 管道创建,无需编写任何 Jenkinsfile

  • 轻松SonarQube集成实现源代码质量分析并在KubeSphere控制台查看结果

  • 依赖缓存可用可用于在 Kubernetes Pod 中运行的 Maven 等工具,以加速跨 Kubernetes 集群的映像构建和工作负载部署

CD-pipeline.png

内置自动化工具包

  • Source-to-Image 从源代码构建可重现的容器镜像,无需编写任何 Dockerfile 并将工作负载部署到 Kubernetes 集群

  • Binary-to-Image 将您的工件构建到可运行的映像中并将工作负载部署到 Kubernetes 集群

  • 自动构建镜像并推送到任意注册表,实现持续部署到 Kubernetes 集群

  • 出色的弹性和可恢复性,因为您可以复制管道并同时运行它们,以及在需要补丁时重建和重新运行 S2I/B2I

内置自动化工具包.png

在 Kubernetes 上使用 Jenkins Pipeline 进行 DevOps

  • Kubernetes 结合 Git 促进与代码存储库的持续集成并促进云原生应用程序的持续交付

  • 高效的 DevOps 团队合作 通过基于 Kubernetes RBAC 的 KubeSphere 多租户系统,在 CI/CD 工作流中实现更好的访问控制

  • 强大的 DevOps 可观察性,带有用于 S2I/B2I 构建和管道的动态日志,可帮助您轻松管理 Kubernetes DevOps 资源

  • 审核、警报和通知可用于管道,以确保在整个 CI/CD 工作流程中快速识别和解决问题

  • 用于 SCM 管道的 Git webhook 在新提交提交到分支时自动触发 Jenkins 构建

Clear-insight.png

了解更多,KubeSphere 与 DevOps 工作流在行动

4.服务网格(基于 Istio)

用于集成和管理工具的统一 UI,包括 Istio、Envoy 和 Jaeger,用于在 Kubernetes 上为分布式系统运行和扩展微服务。

服务网格.jpg

Service Mesh 流量管理

  • Canary 版本 提供基于百分比的流量拆分的 Canary 部署和分阶段部署

  • 蓝绿部署允许将新版本的应用程序部署在单独的环境中并测试功能和性能

  • 流量镜像是一种强大、无风险的测试应用版本的方法,因为它将实时流量副本发送到镜像服务

  • 断路器允许用户设置对服务中单个主机的调用限制

交通管理.png

微服务可视化

KubeSphere 能够可视化微服务之间的连接以及它们如何互连的拓扑。它支持服务网格图流量方向流、入站和出站。

可视化.png

Kubernetes 的分布式跟踪

基于 Jaeger,KubeSpher 使用户能够跟踪每个 Service 之间的交互方式。它通过可视化加深了对请求延迟、瓶颈、序列化和并行性的理解。

支持添加路由器组件。

分布式跟踪.png

了解更多信息,请参阅 Kubernetes Service Mesh in Action。

5. KubeEdge 集成

KubeSphere 集成了KubeEdge,使用户能够在边缘设备上部署应用程序,并在控制台上查看日志和监控它们的指标。

KubeEdge 是一个开源系统,用于将原生容器化应用编排功能扩展到边缘主机。它支持多种边缘协议,并希望提供对云和边缘应用程序和资源的统一管理。

kubeedge_arch.png

安装前后启用并验证 KubeEdge

  • 要在Linux上实现KubeSphere的多节点安装,需要创建一个包含所有KubeSphere组件的配置文件。

  • 在Kubernetes上安装KubeSphere后,需要先在集群配置.YAML文件中启用KubeEdge。

  • 组件的验证可以在dashboard上进行,也可以通过kubectl进行。

您可以在此处的官方文档页面上找到要遵循的步骤。

6.云原生可观察性

支持多维监控、事件、审计日志;内置多租户日志查询和收集、警报和通知。

多维度Kubernetes监控

  • 基础设施监控提供 K8s 控制平面和集群节点指标

  • 应用程序资源监控包括 CPU、内存、网络和存储指标

  • 资源使用排名按节点、工作空间和项目 - 服务组件监控供用户快速定位组件故障

  • 自定义指标支持包括应用程序自定义指标仪表板(在 v3.0.0 中)

多维监控.png

Kubernetes 日志收集与管理

  • 多租户日志管理保证不同租户只能看到自己的日志信息

  • 多级日志查询包括项目、工作负载、Pods、容器和关键字,支持深入每个级别定位问题

  • 支持多种日志采集平台,如Elasticsearch、Kafka、Fluentd

  • 服务组件监控,方便用户快速定位组件故障

日志查询和收集.png

灵活的 Kubernetes 警报和通知

  • 基于多租户多维度监控指标的丰富告警规则

  • 灵活的警报策略允许您自定义包含多个警报规则的警报策略

  • 用于警报的多级监控指标,范围从基础架构到工作负载

  • 灵活的告警规则允许您自定义监控指标的检测周期、持续时间和告警优先级

  • 与AlertManager集成支持多种通知渠道(在v3.0.0中)

灵活的警报和通知.png

了解更多信息,请参阅 Kubernetes 和微服务可观察性在行动

7. Kubernetes 多集群管理

提供集中控制平面来管理多个 Kubernetes 集群,并支持将应用程序传播到跨不同云提供商的多个 K8s 集群。

  • 支持配置集群控制器重新同步周期,部分用户需要更快地更新集群组件。

  • 轻量级成员集群安装,支持不使用Redis、Idap等运行kubesphere。

  • 如果成员集群配置(例如jwtSecret)与主机集群不同,可以验证成员集群配置,这可以降低加入集群的复杂性。

8.多种存储和网络解决方案

支持 GlusterFS、CephRBD、NFS 和 LocalPV 解决方案,并提供 CSI 插件来消耗来自多个云提供商的存储。

为裸机 Kubernetes 提供负载均衡器 OpenELB,并提供网络策略管理,支持 Calico 和 Flannel CNI

9.应用商店

KubeSphere 为用户提供基于 Helm 的应用程序的 App Store,并在OpenPitrix的背面提供应用程序生命周期管理,这是一个基于 Web 的开源系统,用于打包、部署和管理不同类型的应用程序。

KubeSphere App Store 允许 ISV、开发人员和用户在一站式商店中只需点击几下即可上传、测试、安装和发布应用程序。

从 KubeSphere 应用商店文档页面了解更多信息。

10.计量和计费

  • KubeSphere 计量可帮助您在给定集群或工作空间内细粒度地跟踪资源消耗。

  • 不同角色的不同租户只能看到他们有权访问的数据。此外,您还可以为各种资源设置价格以查看计费信息。

从文档页面的计量和计费部分了解更多信息。

11. GPU 工作负载调度和监控

在 GUI 上创建 GPU 工作负载,调度 GPU 资源,并按租户管理 GPU 资源配额。

特征图

特征图.jpg

KubeSphere 架构

KubeSphere 使用松耦合架构,将前端与后端分离

外部系统可以通过 REST API 访问后端的组件。

架构.png

20190810073322.png

KubeSphere 路线图

开源项目有一个明确的未来发展路线图,由所有参与者共同决定。

KubeSphere 路线图列出了计划中的功能,欢迎大家提出建议并贡献您的想法。

您可以查看KubeSphere Roadmap并了解开源项目如何规划和使用其功能。

如何投稿💎

如果你是新的贡献者,

  • 可以找到社区的路线图页面

  • 寻找开放特征

  • 选择你感兴趣的

  • 跳上社区交流渠道,寻找正在开发相同功能的其他人。

  • 恭喜✨ 你开始了你的开源贡献之旅。

结论

您已经了解了 KubeSphere、如何开始使用、它的特性和架构。它是真正的全栈解决方案,具有简化的 DevOps 工作流程的自动化 IT 操作。

我是学习和实施的大力倡导者,我鼓励您通过为自己或您的组织设置 KubeSphere 来做同样的事情。

通过撰写有关 KubeSphere 的博客、制作视频或 Twitter 线程来分享您使用 KubeSphere 的经验作为“KubeSphere 实验笔记”!

您可以从用户案例研究页面中获取想法并分享您的经验。

使用命令行很酷,但是当您在企业环境中工作时,简单的 GUI 让您的工作变得轻松是一份礼物。 KubeSphere 在我看来是一个非常强大的工具,它为你提供了完整的解决方案,现在你真的没有理由不使用 Kubernetes。

在为 KubeSphere 编写 In-Depth Guide 的过程中,我也学到了很多东西,并且对所提供的完整解决方案列表感到惊讶。一起学习加油!✨

连接 KubeSphere

KubeSphere 是开源的,由社区构建和改进。社区页面将引导您了解如何开始为 KubeSphere 做出贡献。开发指南解释了如何设置开发环境。

通过连接,

  • KubeSphere 的 Facebook

  • 关注 KubeSphere 的 Twitter

  • KubeSphere 的 LinkedIn

  • KubeSphere 的 Slack Channel

  • 让 KubeSphere 的商业支持团队与您联系。

将任何 KubeSphere 错误、问题和功能请求提交到KubeSphere Github Issue。

资源

  • KubeSphere:一个用于全栈解决方案和管理的 Kubernetes 平台(视频)

  • 在 Civo 上使用 KubeSphere 进行多集群管理(视频)

  • KubeSphere.io

  • KubeSphere 文档

  • KubeSphere 的 YouTube

  • KubeSphere 的 GitHub 存储库

  • KubeSphere 的中型博客

  • 凹面

  • KubeSphere DevOps 系统的完整演练

  • Bookinfo Canary 在 Kubernetes 上使用 Istio、Jaeger 和 KubeSphere 发布

  • KubeSphere 上的 Kubernetes 和微服务可观察性

  • OpenPitrix

钥匙

  • GUI - 图形用户界面

  • DevOps - 将开发和运营融合在一起

  • IT - 信息技术

  • API - 应用程序接口

  • REST - 代表性状态转移

  • GPU - 图形处理单元

  • ISV - 独立软件供应商

  • NFS - 网络文件系统

  • FS - 文件系统

  • ELB - 弹性负载平衡

  • CSI - 通用系统接口

  • CNI - 容器网络接口

  • SCM - 系统配置管理

  • CI/CD - 持续集成和持续部署

  • CI/CDCD - 持续集成、持续交付和持续部署

  • S2I - 图片来源

  • B2I - 企业对个人

  • RBAC - 基于角色的访问控制

  • SVN - 颠覆

  • AD - 活动目录

  • LDAP - 轻量级目录访问协议

  • LDAPS - 通过 SSL 的 LDAP

  • SSL - 安全套接字层

  • CAS - 中央认证服务

  • OIDC - OpenID 连接

  • ID - 身份

  • IDaaS - 身份即服务

  • HPA - HorizontalPodAutoscaler

  • CNCF - 云原生计算基金会

  • UI - 用户界面

  • CRI - 容器运行时接口

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐