技术编程|KubeSphere容器混合云,一个人也能轻松运维的K8s
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 的原子 , 把这些标签整合起来形成一个简单的组件 , 比如按钮等这些是分子 , 我们在分子的基础上增加业务逻辑 , 把这些东西再组合形成模板 , 添加数据形成页面 。
推荐阅读
- 摄像头|小米截胡中兴屏下摄像头技术,小米研发还是供应链技术?
- 马斯克|马斯克用活猪演示脑机接口技术:实时读取猪脑信息 心灵感应成真了
- 三防|带你了解三防手持终端的秘密
- 第三|原创 小米发布第三代屏下相机技术,或将在Mix 4上首秀?
- 海信|首个新兴显示技术分标委成立 海信牵头制定国标
- 中年|Python编程语言有什么独特的优势呢?
- |马斯克用活猪演示脑机技术,他希望今年年底前能在人体内植入
- 互联网的放大镜|小米截胡中兴屏下摄像头技术,小米研发还是供应链技术?
- 新机发布|原创 小米发布第三代屏下相机技术,或将在Mix 4上首秀?
- 技术|最新《中国禁止出口限制出口技术目录》发布,新增操作系统、密码芯片安全技术