最新消息:欢迎来到 艺宵网,有任何问题或建议请联系!在线留言

KubeSphere容器混合云,一个人也能轻松运维的K8s

Jacky 艺宵网

1.概述

什么是 KubeSphere Console?

KubeSphere Console 是 KubeSphere 集群的 Web UI 管理平台,提供可视化的方式管理 K8s 集群资源。

KubeSphere Console 对于用户意味着什么?

它可以帮助用户快速浏览集群当前运营状态,比如 CPU 消耗、内存消耗以及各个节点的健康状态。提供了可视化的方式,帮助用户快速创建 K8s 的资源。实时状态更新及详细的数据展示可以让平台资源对用户更透明。内置应用商店,帮助开发者在开发过程中快速部署一些常用的 App。

KubeSphere 提供的远不止这些。这是 KubeSphere 目前前端的功能图,除了 K8s 基本的资源管理功能外,还有 DevOps、日志、监控、微服务、灰度发布等功能。

在项目开发上,截至 2.1.0,KubeSphere Console 总共经历了 6 大版本,12 个主要功能点,3365 个 Git Commits,总共 11 个代码贡献者。目前 KubeSphere Console 已经在 GitHub 上开源了。

为什么要做开源这件事?一是响应社区的号召,二是开发者参与到 KubeSphere 里,我们鼓励和欢迎这样的事情。希望能够和社区一起把 KubeSphere 建立得更加强大。

2.前端架构

接下来跟大家介绍 KubeSphere Console 的前端架构。可以从两部分来说,我们主要采用前端 Server 和 Web UI 的架构。前端 Server 是基于 Node.js 和 Koa.js 开发,主要负责 API 转发、登录逻辑控制、配置文件写入等。Web 端是一个标准的 SPA 应用。

为什么选择前端 Server,而不是像大部分的 Web 用 Nginx 托管?

前端 Server 在完成静态页面托管、API 转发的功能及前提之下,还可以完成其他的功能。使用前端 Server,页面从前端 Server 输出,可以动态注入信息,比如配置文件、运行时、配置编码,还有用户的登录信息,不用你们在页面里,它可以提前写好,UI 加载过程更加流畅。

还有一些登录,像验证码、登录错误提示,比如验证码,如果前端来做会更好,放在后端的话很难找到合适的地方。像前端页面提供 API,比如有一些比较复杂的应用需要一些数据,这些数据在 Server 里,不只是单纯写在 js 里,而是采用 API 的形式,采用 API 形式的话可以让我们拥有更好的定制能力,在不同的环境下是不一样的。

接下来我来说 Web 层的技术,分为以下四部分:技术栈、组件化 UI、状态管理和测试。

技术栈是常用的 React+Mobx.js。组件化 UI 是数据驱动。为什么选择这样的技术栈?人生苦短,当然选择最简单来做就完事了。React+Mobx.js 在我们项目中的特点是具有轻量,比较容易学习,可以让我们更加专注业务开发。

在 Web UI,我们采用组件化方式进行构建,遵循原则和设计方法。什么是原则设计方法呢?很多人了解过,在此跟大家简单介绍。比如基本的标签是 UI 的原子,把这些标签整合起来形成一个简单的组件,比如按钮等这些是分子,我们在分子的基础上增加业务逻辑,把这些东西再组合形成模板,添加数据形成页面。

KubeSphere Console 在里面实现了一套技术组件和一些比较复杂的业务组件。比如我们的样式、按钮和容器表单,这些是在 KubeSphere 里进行组件化的实践。这是组的功能,加大我们开发周期。

这是容器组业务组件,它具有高内聚低耦合的特征。它输入的话只需要 labelSelector 进行筛选。筛选完之后可以输出关联、数据以及 Porter 里的容器信息,以及相关的监控数据,监听 websocket,实时刷新列表。这样的组件可以在很多地方部署副本集,很轻松、很容易的复用。

什么是状态管理?

将组件和页面之间的状态统一管理起来,为什么要这样的状态管理?应用的状态影响着分布与许多组件之间,在大型应用里,这样的影响分布会让你的业务逻辑显得很混乱的状态。专门管理可以让数据流向变得清晰可循,可以让数据业务逻辑更容易进行复用。在 KubeSphere Console 里大概分为四层状态管理,在全局 Store 里进行全局 UI 管理,websocket 实例,路由实例等。

模块管理,它是在某一个模块进入时初始化,退出的时候进行销毁。我们在 KubeSphere Console 前面将业务划分为 DevOps、项目、企业空间等,每个模块进入时,状态管理是独自加载的。分层设计的话可以让页面数据流量显得更清晰,设计周期更加简单。

接下来介绍 KubeSphere Console 测试化。

为什么要有测试?测试是功能交互技术的保障。在单元测试方面,我们采用 Jest+Enzyme 的框架保证技术组件和业务组件的功能正常。我们着重于边界情况的测试,以及针对相关的 Bug Reports 进行覆盖。然后是端到端测试,主要目的是为了保证 UI 功能交互和展示效果上的运行。我们在端到端的测试里,与真实客户端进行交互,在总体上可以保证整个业务板块功能的正常。

3.展望

接下来我们一起探讨 KubeSphere Console 未来的展望。KubeSphere Console 将如何成长?我们考虑到以下三方面:可扩展性、可监测性和业务抽象。

什么是可扩展性?简单的说就是插件化,为什么要做这件事。不管是前端还是后端,只要业务功能持续增加,你的代码容量或者应用会变得庞大无比。进行差异化的改造要让核心模块保留,保留核心业务。其他业务功能以插件的形式加载进来,可以保证主体功能足够轻量。不同用户可以为自己专门的业务场景定制自己的插件。在部署运行时,整个系统看起来没那么多冗余的功能阻碍。

前端页面监测系统,为什么要做这样的功能?因为我们发现很多用户实际前端页面运行场景中经常发生一些错误,我们要帮忙解决时很难复现。监测系统可以帮助记录错误的发生,更容易让我们 Debug。主要包括异常监控、资源请求监控以及页面加载性能的监控,将监控信息、报错信息上传到特定的服务器上,有一个地方专门掌控前端的异常反馈,更容易帮助我们 Debug。

接下来是业务抽象。我们了解到很多用户对 K8s 的基础概念,比如 Pods 或者 workload 控制器,Depolyment,StatfulSet 等,不是很了解,也不知道怎么做选择。我们考虑到这一点,打算在 KubeSphere Console 里针对基础的资源进行一层抽象,让一些用户不用了解底层具体用了什么资源,而是它需要什么样的资源。用户需要某个服务,做出一些配置上的选择,我们来决定底层是什么样的资源实现。这样可以让一些用户更容易使用 KubeSphere。

今年的 Cloud Native + Open Source Virtual Summit China 中国峰会将首次以线上形式召开,KubeSphere 团队为大家准备精彩话题及丰富的周边礼品,扫码直达,千万不要错过哦。

大家都在看

incaseformat病毒大面积爆发,请早做防范
科技资讯

incaseformat病毒大面积爆发,请早做防范

观威海 2021-01-14 530浏览 0评论

近期,部分单位政务网、互联网电脑感染“incaseformat病毒”,病毒可通过U盘、光盘等移动介质传播,导致删除大量文件且无法恢复,请各单位及时更新杀毒软件病毒库,专杀工具互联网下载地址:http://59.224.26.143。下班后关闭不使用的电脑,不要长期使电脑处于待机状态。...

2021年需要关注的10个IT趋势
科技资讯

2021年需要关注的10个IT趋势

Danny 2021-01-13 637浏览 0评论

当行业分析师和技术专家在2020年年初做出年度预测时,他们专注于云计算、人工智能、机器人等技术将如何改变市场。他们预测,对IT人才的需求将会供不应求,数据科学将继续发挥重要作用,数字化转型将决定组织业务的成败。但他们却没有预料到在全球爆发的新冠病毒疫情会从根本上改变人们工作和个人生活的各个方面。...

阿里百度等互联网平台上线“绿网计划”
科技资讯

阿里百度等互联网平台上线“绿网计划”

郑合惠子 2020-11-28 898浏览 0评论

每一年,涌入互联网平台的非正常搜索高达数百亿次。这些搜索背后,可能暗藏着试图自杀的人的挣扎与呼救。让每一次搜索背后的求助都能得到回应,而不是冰冷的报错与拦截,阿里百度等互联网平台上线“绿网计划” ,用暖心的宣导呼吁来取代“抱歉,这个页面找不到”。...

云麦科技出席CNBC全球科技大会,探讨智能健康未来
科技资讯

云麦科技出席CNBC全球科技大会,探讨智能健康未来

Jacky 2020-11-20 512浏览 0评论

以东西方科技对话为主题的2020CNBC全球科技大会,于2020年11月17日在广州召开。作为智能运动健康领域的头部企业,云麦科技受邀参加本次大会,云麦科技创始人CEO Wyatt出席,并与古德菲力CEO许捷一同参与《结构后疫情时代健康产业趋势》主题圆桌会谈。 疫情期间,大众对健康的关注度大幅提升,希望通过运动增强免疫,根据CBNDATA调...

奥克斯率先携手中国标准化研究院,联合共建首个符合GB/T33658热舒适实验室!
科技资讯

奥克斯率先携手中国标准化研究院,联合共建首个符合GB/T33658热舒适实验室!

Jacky 2020-11-20 476浏览 0评论

11月17日上午,奥克斯与中国标准化研究院在人类工效学领域达成共识,进行了合作签约,并在奥克斯创研中心举行了热舒适联合共建实验室揭牌仪式。中国标准化研究院作为国家级科研机构,拥有国内唯一经CNAS认可的人类工效学实验室。这是家电企业首次联合中国标准化研究院共建热舒适实验室,对奥克斯乃至整个家电行业来说意义非...

2020电子政务与智慧城市解决方案提供商100强
科技资讯

2020电子政务与智慧城市解决方案提供商100强

Danny 2020-11-18 1328浏览 0评论

智慧城市是电子政务的延伸与拓展,赋予了电子政务新的内涵。某种意义而言,电子政务与智慧城市就是同气连枝的共生关系,电子政务与智慧城市解决方案提供商正是将二者的发展做到“曲尽其妙”之境的重要推手。...

K歌人的狂欢,电商赛拉开2020全民K歌年度盛典大幕
科技资讯

K歌人的狂欢,电商赛拉开2020全民K歌年度盛典大幕

Jacky 2020-11-16 923浏览 0评论

日前,2020全民K歌年度盛典线上大赛电商赛场正式开赛,比赛将从主播、商家和品牌三个维度进行比拼,最终决出年度电商带货主播和商家的优胜者,跨界音乐人们将在这里实现自我价值的又一次飞跃。 除电商赛场之外,今年的年度盛典还设置了其余6大赛道公会、个人、粉丝团、歌房、家族和星计划,平台上的每位主播都将开足火力全...

新技术驱动新商业 网易创新企业大会看点前瞻
科技资讯

新技术驱动新商业 网易创新企业大会看点前瞻

Jacky 2020-11-16 912浏览 0评论

突如其来的疫情对传统商业模式的冲击,让各大企业看到了数字化技术和能力对于商业模式创新和商业生态系统重构的助力。AI、5G、云计算、超高清、VR/AR新技术层见迭出,线上零售、在线会议、互联网医疗、AI 营销新商业模式不断显现,正在重塑全行业。那么企业该如何利用新技术驱动新商业,获得创新发展呢? 11月28日,网易旗...

奢护四季 吾衣例外,COLMO洗衣机 X 例外打造奢品护理季,掀全国奢护美学风暴
科技资讯

奢护四季 吾衣例外,COLMO洗衣机 X 例外打造奢品护理季,掀全国奢护美学风暴

Jacky 2020-11-16 183浏览 0评论

高端衣物的背后,究竟有何奢护美学?自10月17日开始,从北京到重庆、上海、成都等全国十几座城市,高端AI科技家电品牌COLMO携手国内一线时装品牌例外,打造奢品护理季,让1%菁英群体零距离尊享空气洗体验,与数千位对品质生活有着无限追求的消费者一道,共同完成了一场奢护四季吾衣例外高端衣物奢护美学之旅。 尊享奢洗五 步...

网易数帆入选2020年电子信息行业自主创新成果
科技资讯

网易数帆入选2020年电子信息行业自主创新成果

Jacky 2020-11-16 515浏览 0评论

11月12日,2020第二十四届中国国际软件博览会(以下简称软博会),在杭州白马湖国际会展中心开幕。大会以软件铸魂,数智转型为主题,展现软件产业发展新特点、新模式、新业态。会上,中国电子信息行业联合会正式发布《2020年电子信息行业自主创新成果推广目录》。网易数帆基础软件平台成功入编该目录,荣膺自主创新应用称号...

发表我的评论
取消评论
昵称 (必填) 手机号 (必填)

网友最新评论【查看所有评论

阅读原文 阅读 100000+