0
点赞
收藏
分享

微信扫一扫

[云原生专题-45]:Kubesphere云治理-基于Kubernetes 构建的企业级容器平台简介与总体架构


作者主页(​​文火冰糖的硅基工坊​​​):​​文火冰糖(王文兵)的博客_文火冰糖的硅基工坊​

目录

​​前言:​​

​​第1章 kubesphere简介​​

​​1.1 青云公司简介​​

​​1.2 kubesphere​​

​​1.3 特色与优势​​

​​1.4 应用场景(用处)​​

​​1.5 KubeSphere不是什么​​

​​1.6 KubeSphere VS rancher VS openshif​​

​​第2章 kubesphere的主要功能​​

​​2.1 可视化K8S资源管理​​

​​2.2 丰富、完整、全套的微服务治理​​

​​2.3 多租户管理​​

​​2.4 DevOps 工程​​

​​2.5 Source to Image的一条龙服务​​

​​2.6 多维度监控​​

​​2.7 自研多租户告警系统​​

​​2.8 日志查询与收集​​

​​2.9 应用仓库的服务​​

​​2.10 基础设施管理​​

​​2.11 多存储类型支持​​

​​2.12 多Ingress网络方案支持​​

​​第3章 kubesphere架构​​

​​3.1 kubesphere自身架构​​

​​3.2 KubeSphere在整个云原生系统中的位置​​

​​第4章 常见的专业词汇与术语​​

前言:

在K8S提供了基于pod的微服务的部署和编排框架,整个过程基本上都是命令行操作的,这对于程序员和自动化系统是有有利的,然后对于大多数K8S服务的维护者来讲,这个就不太友好了,为此K8S提供了dashboard图形话界面,用户监控和管理集群,这对于K8S本身的研究和维护已经足够了,然后对于企业业务的实际运维来讲,K8S dashboard其功能还是过于单一, 有没有一种系统,既集成了K8S的编排框架,也提供如多账户账户管理、集成DevOps全自动化工具等功能呢?青云公司的kubesphere就是其中一款这样的平台。

第1章 kubesphere简介

1.1 青云公司简介

​​青云QingCloud​​​是一家企业级云服务商和云计算​​整体解决方案​​提供商,是一家上市公司,也是一个基于云模式的综合企业服务平台。

(1) 一家企业级云服务商和云计算​​整体解决方案​​提供商

这一点与阿里云类似,为个人和企业用户提供提供基于云的计算机基础设施,如虚拟机、虚拟网、基于云的办公系统等等。

​​第一家混合云上市公司 | 青云QingCloud​​

[云原生专题-45]:Kubesphere云治理-基于Kubernetes 构建的企业级容器平台简介与总体架构_kubesphere

后续关于kubesphere的部署和应用,青云的云平台和阿里的云平台将会交叉使用。

 (2)基于云模式的综合企业服务平台

在云平台上,要部署大量的基于docker各个行业的微服务应用,如何部署、监控、和管理这些微服务应用就显得尤为重要,K8S是一种微服务的编排系统和基础框架,然后要符合企业的业务运维,只有K8S还是显得不够方便,要构建一个完美的微服务的运维系统,就像大厦,只有框架是远远不够的,如果需要住人,要能够提供办公环境,还需要其他部分的建成毛坯房,甚至有精装修。

青云就是在K8S主体框架的基础,对微服务运维提供的精装修,这个精装修后的系统就是kubesphere。当然,精装修房只能确保客户的应用程序可以直接入住,但不会限制用户的微服务的用途,是自己住还是办公或其他。

[云原生专题-45]:Kubesphere云治理-基于Kubernetes 构建的企业级容器平台简介与总体架构_容器_02[云原生专题-45]:Kubesphere云治理-基于Kubernetes 构建的企业级容器平台简介与总体架构_青云_03

1.2 kubesphere

(1)官网链接​​面向云原生应用的容器混合云,支持 Kubernetes 多集群管理的 PaaS 容器云平台解决方案 | KubeSphere​​

(2)官网定义

KubeSphere 愿景是打造一个以 Kubernetes 为内核的云原生分布式操作系统,它的架构可以非常方便地使第三方应用与云原生生态组件进行即插即用(plug-and-play)的集成,支持云原生应用在多云与多集群的统一分发和运维管理。

KubeSphere 是在目前主流容器调度、编排平台 Kubernetes 之上,构建的企业级分布式多租户容器平台。提供简单易用的操作界面以及向导式操作方式,在降低用户使用容器调度平台学习成本的同时,极大减轻开发、测试、运维的日常工作的复杂度,旨在解决 Kubernetes 本身存在的存储、网络、安全和易用性等痛点。

除此之外,平台已经整合并优化了多个适用于容器场景的功能模块,以完整的解决方案帮助企业轻松应对敏捷开发与自动化运维、微服务治理、多租户管理、工作负载和集群管理、服务与网络管理、应用编排与管理、镜像仓库管理和存储管理等业务场景。

相比较易捷版,KubeSphere 高级版提供企业级容器应用管理服务,支持更强大的功能和灵活的配置,满足企业复杂的业务需求。比如支持 Master 和 etcd 节点高可用、可视化 CI/CD 流水线、多维度监控告警日志、多租户管理、LDAP 集成、新增支持 HPA (水平自动伸缩) 、容器健康检查以及 Secrets、ConfigMaps 的配置管理等功能,新增微服务治理、灰度发布、s2i、代码质量检查等,后续还将提供和支持多集群管理、大数据、人工智能等更为复杂的业务场景。

KubeSphere®️ 作为企业级的全栈化容器平台,为用户提供了一个具备极致体验的 Web 控制台,让您能够像使用任何其他互联网产品一样,快速上手各项功能与服务。KubeSphere 目前提供了工作负载管理、微服务治理、DevOps 工程、Source to Image、多租户管理、多维度监控、日志查询与收集、告警通知、服务与网络、应用管理、基础设施管理、镜像管理、应用配置密钥管理等功能模块,开发了适用于适用于物理机部署 Kubernetes 的 负载均衡器插件 Porter,并支持对接多种开源的存储与网络方案,支持高性能的商业存储与网络服务。

上述的描述有 几个关键词:

(1)构建在K8S之上:​底层的根基是K8S的微服务的编排系统。

(2)简易的操作界面:​把命令行的K8S的编排操作可视化、图形化和​Web化。​降低的学习成本的同时,更重要的是降低了企业运维云原生应用程序的成本。

(3)多租户容器平台:​用于设定不同的等级的用户权限管理。

(4)完整的解决方案:​集成了Jenkins平台,周边工具,提供完整的DevOps的集成环境。

(5)开源:​意味着可以根据自身的需求进行二次开发。

因此,KubeSphere本质上是面向企业微服务业务应用的微服务治理和管理工具!!!

1.3 特色与优势

通过 KubeSphere 可以快速管理 Kubernetes 集群、部署应用、服务发现、CI/CD 流水线、集群扩容、微服务治理、日志查询和监控告警。换句话说,Kubernetes 是一个很棒的开源项目(或被认为是一个框架),但是 KubeSphere 是一款非常专业的企业级平台产品,专注于解决用户在复杂业务场景中的痛点,提供更友好更专业的用户体验。

1.4 应用场景(用处)

KubeSphere®️ 适用于企业在数字化型时所面临的敏捷开发与自动化运维、微服务应用架构与流量治理、自动弹性伸缩和业务高可用、DevOps 持续集成与交付等应用场景。

(1)一步升级容器架构,助力业务数字化

企业用户部署于物理机、传统虚拟化环境的业务系统,各业务模块会深度耦合,资源不能灵活的水平扩展。 KubeSphere 帮助企业将 IT 环境容器化并提供完整的运维管理功能,同时依托青云QingCloud 为企业提供强大的网络、存储支持,并可高效对接企业原监控、运维系统,一站式高效完成企业 IT 容器化改造。

(2)多维管控 Kubernetes,降低运维复杂度

无论将业务架构在 Kubernetes 平台上的用户,还是使用多套来自不同厂商提供的 Kubernetes 平台的用户,复杂的运维管理使企业压力倍增。KubeSphere 可提供统一平台纳管异构 Kubernetes 集群,支持应用自动化部署,减轻日常运维压力。同时,完善的监控告警与日志管理系统有效节省运维人工成本,使企业能够将更多精力投放到业务创新上。

(3)敏捷开发与自动化运维,推动企业 DevOps 落地

DevOps 将开发团队与运营团队通过一套流程或方法建立更具协作性、更高效的的关系,使得开发、测试、发布应用能够更加敏捷、高效、可靠。KubeSphere CI / CD 功能可为企业DevOps 提供敏捷开发与自动化运维。同时, KubeSphere 的微服务治理功能,帮助企业以一种细粒度的方式开发、测试和发布服务,有效推动企业 DevOps 落地。

(4)灵活的微服务解决方案,一步升级云原生架构

微服务架构可轻量级构建冗余,可扩展性强,非常适合构建云原生应用程序。KubeSphere 基于主流微服务解决方案 Istio,提供无代码侵入的微服务治理平台。后续将集成 SpringCloud,便于企业构建 Java 应用,助力企业一步实现微服务架构,实现应用云原生型。

(​5)基于物理环境构建全栈容器架构,释放硬件最大效能

支持在全物理环境部署、全栈容器架构,利用物理交换机,为 KubeSphere 提供负载均衡器服务,同时,通过 KubeSphere 与 QingCloud VPC 以及QingStor NeonSAN 的组合,可打通负载均衡、容器平台、网络、存储全栈功能,实现真正意义上的物理环境一体化多租户容器架构解决方案,并实现自主可控、统一管理。避免虚拟化带来的性能损耗,释放硬件最大效能。


1.5 KubeSphere不是什么

KubeSphere不是业务应用、而是业务应用的运行、维护、管理、治理平台和工具。 

KubeSphere不是微服务的编排系统,它依赖于底层的K8S对微服务提供编排的能力。

KubeSphere处于业务应用成K8S之间。

1.6 KubeSphere VS rancher VS openshif

青云科技的kubesphere起步较晚,但是立足国情,后生可畏,而且还一直不断地在更新版本完善和增加功能。比较有名的微服务治理工具有:rancher、openshif

第2章 kubesphere的主要功能

2.1 可视化K8S资源管理

[云原生专题-45]:Kubesphere云治理-基于Kubernetes 构建的企业级容器平台简介与总体架构_青云_04

kubesphere对底层 Kubernetes 中的多种类型的资源提供极简的图形化向导式 UI 实现工作负载管理、镜像管理、服务与应用路由管理 (服务发现)、密钥配置管理等,并提供弹性伸缩 (HPA) 和容器健康检查支持,支持数万规模的容器资源调度,保证业务在高峰并发情况下的高可用性。

可以说,kubesphere就是Kubernetes dashboard的升级版,是Kubernetes的可视化工具。

当然,kubesphere并不满足于仅仅是Kubernetes的可视化工具,它还有自己的核心价值。

2.2 丰富、完整、全套的微服务治理

微服务治理就是对应用程序被拆解成百上千个的微服务进过归类、组织、监控、发现、管理等工作。

[云原生专题-45]:Kubesphere云治理-基于Kubernetes 构建的企业级容器平台简介与总体架构_青云_05

  • 可视化治理:基于 Istio 微服务框架提供可视化的微服务治理功能,将 Kubernetes 的服务进行更细粒度的拆分。
  • 完善的治理功能:支持熔断、灰度发布、流量管控、限流、链路追踪、智能路由等完善的微服务治理功能,同时,支持代码无侵入的微服务治理。

2.3 多租户管理

多租户:​提供基于​角色​的细粒度多租户统一认证与三层级权限管理。

统一认证:​支持与企业基于 LDAP / AD 协议的集中认证系统对接,支持单点登录 (SSO),以实现租户身份的统一认证。

权限管理:​权限等级由高至低分为​集群​、​企业​空间与​项目​三个管理层级,保障多层级不同角色间资源共享且​互相隔离​,充分保障资源安全性。

2.4 DevOps 工程

即插即用的 DevOps:​基于 Jenkins 的可视化 CI / CD 流水线编辑,无需对 Jenkins 进行配置,同时内置丰富的 CI/CD 流水线插件。CI/CD 图形化流水线提供邮件通知功能,新增多个执行条件。

端到端的流水线设置​:支持从仓库 (GitHub / SVN / Git)、代码编译、镜像制作、镜像安全、推送仓库、版本发布、到定时构建的端到端流水线设置。

安全管理:​支持代码静态分析扫描以对 DevOps 工程中代码质量进行安全管理

日志:​日志完整记录 CI / CD 流水线运行全过程。

[云原生专题-45]:Kubesphere云治理-基于Kubernetes 构建的企业级容器平台简介与总体架构_云原生_06

2.5 Source to Image的一条龙服务

kubesphere从已有的代码仓库中获取代码,并通过 Source to Image 构建镜像的方式构建镜像,并将镜像推送至目标仓库,每次构建镜像的过程将以任务 (Job) 的方式去完成。

2.6 多维度监控

可视化监控:​KubeSphere 全监控运维功能可通过可视化界面操作,同时,开放标准接口,易于对接企业运维系统,以统一运维入口实现集中化运维

立体化秒级监控:​秒级频率、双重维度、十六项指标立体化监控。

       在集群资源维度,提供 CPU 利用率、内存利用率、CPU 平均负载、磁盘使用量、inode 使用率、磁盘吞吐量、IOPS、网卡速率、容器组运行状态、ETCD 监控、API Server 监控等多项指标

      在应用资源维度,提供针对应用的 CPU 用量、内存用量、容器组数量、网络流出速率、网络流入速率等五项监控指标。并支持按用量排序和自定义时间范围查询,快速定位异常

排行:​提供按节点、企业空间、项目等资源用量排行

故障定位:​提供服务组件监控,快速定位组件故障


2.7 自研多租户告警系统

支持基于多租户、多维度的监控指标告警:​目前告警策略支持集群管理员对节点级别和租户对工作负载级别等两个层级

灵活的告警策略:​可自定义包含多个告警规则的告警策略,并且可以指定通知规则和重复告警的规则

丰富的监控告警指标:​提供节点级别和工作负载级别的监控告警指标,包括容器组、CPU、内存、磁盘、网络等多个监控告警指标

灵活的告警规则:​可自定义某监控指标的检测周期长度、持续周期次数、告警等级等

灵活的通知发送规则:​可自定义发送通知时间段及通知列表,目前支持邮件通知

自定义重复告警规则:​支持设置重复告警周期、最大重复次数并和告警级别挂钩

2.8 日志查询与收集

提供多租户日志管理​,在 KubeSphere 的日志查询系统中,不同的租户只能看到属于自己的日志信息

多级别的日志查询​ (项目/工作负载/容器组/容器以及关键字)、灵活方便的日志收集配置选项等

支持多种日志收集平台​,如 Elasticsearch、Kafka、Fluentd


2.9 应用仓库的服务

  • 使用开源的​​OpenPitrix​​ 提供应用商店和应用仓库服务,为用户提供应用全生命周期管理功能
  • 用户基于应用模板可以快速便捷地部署一个完整应用的所有服务

2.10 基础设施管理

提供存储类型管理、主机管理和监控、资源配额管理,并且支持镜像仓库管理、权限管理、镜像安全扫描。内置 Harbor 镜像仓库,支持添加 Docker 或私有的 Harbor 镜像仓库。

2.11 多存储类型支持

支持 GlusterFS、CephRBD、NFS 等开源存储方案,支持有状态存储。

NeonSAN CSI 插件对接 QingStor NeonSAN,以更低时延、更加弹性、更高性能的存储,满足核心业务需求

QingCloud CSI 插件对接 QingCloud 云平台各种性能的块存储服务。

2.12 多Ingress网络方案支持

  • 支持 Calico、Flannel 等开源网络方案。
  • 开发了适用于适用于物理机部署 Kubernetes 的​​负载均衡器插件 Porter​​

第3章 kubesphere架构

3.1 kubesphere自身架构

KubeSphere 采用了​前、后端分离的架构​,实现了​面向云原生的设计。

各种组件本身就是以容器的形式部署与运行。

[云原生专题-45]:Kubesphere云治理-基于Kubernetes 构建的企业级容器平台简介与总体架构_kubesphere_07

(1)KubeSphere 无底层的基础设施依赖:​可以运行在任何 Kubernetes、私有云、公有云、VM 或物理环境(BM)之上。

 (2)标准接口的后端功能组件接口:​可通过 REST API 对接外部系统,可参考 ​​API 文档​​。

[云原生专题-45]:Kubesphere云治理-基于Kubernetes 构建的企业级容器平台简介与总体架构_云原生_08

3.2 ​KubeSphere在整个云原生系统中的位置

[云原生专题-45]:Kubesphere云治理-基于Kubernetes 构建的企业级容器平台简介与总体架构_云原生_09

微服务,可以直接部署在dokcer之上,也可以部署在K8S之上,亦可以部署在KubeSphere之上。

但越是部署在上层系统,越可以屏蔽底层的细节,使用越方便。

第4章 常见的专业词汇与术语

[云原生专题-45]:Kubesphere云治理-基于Kubernetes 构建的企业级容器平台简介与总体架构_青云_10

作者主页(​​文火冰糖的硅基工坊​​​):​​文火冰糖(王文兵)的博客_文火冰糖的硅基工坊​


举报

相关推荐

0 条评论