任你发广告论坛-网站推广|网络推广|广告论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 254|回复: 0

构建这么一个以用户为中心的 Kubernetes

[复制链接]

该用户从未签到

优化大婶 发表于 2020-8-18 15:18:08 | 显示全部楼层 |阅读模式
本站为 免费发广告外链论坛,所有 发外链的内容都属于网友行为,请慎重对待,如有违法内容请举报!

构建这么一个以用户为中心的 Kubernetes,需要做几个层级的事情。

应用层驱动

首先来看最核心的部分,上图中蓝色部分,也就是 Kubernetes。可以在 Kubernetes 之上定义一组 CRD 和 Controller。可以在 CRD 来做用户这一侧的 API,比如说 pipeline 就是一个 API,应用也是一个 API。像运维侧的扩容策略这些都是可以通过 CRD 的方式安装起来。

应用层抽象

所以我们的需要解决第一个问题是应用抽象。如果在 Kubernetes 去做应用层抽象,就等同于定义 CRD 和 Controller,所以 Controller 可以叫做应用层的抽象。本身可以是社区里的,比如 Tekton,istio 这些,可以作为你的应用驱动层。这是第一个问题,解决的是抽象的问题。不是特别难。

插件能力管理

很多功能不是 K8s 提供的,内置的 Controller 还是有限的,大部分能力来自于社区或者是自己开发的 Controller。这时我的集群里面就会安装好多好多插件。如果要构建以应用为中心的 Kubernetes,那我必须能够管理起来这些能力,否则整个集群就会脱管了。用户想要这么一个能力,我需要告诉他有或者是没有。需要暴露出一个 API 来告诉他,集群是否有他需要的能力。假设需要 istio 的流量切分,需要有个接口告诉用户这个能力存不存在。不能指望用户去 get 一下 crd 合不合适,检查 Controller 是否运行。这不叫以应用为中心的 K8s,这叫裸 K8s。

所以必须有个能力,叫做插件能力管理。如果我装了 Tekton,kEDA,istio 这些组件,我必须将这些组件注册到能力注册中心,让用户能够发现这些能力,查询这些能力。这叫做:插件能力管理。

用户体验层

有了应用层驱动,应用层抽象,插件能力管理,我们才能更好地去考虑,如何给用户暴露一个友好的 API 或者是界面出来。 有这么几种方式,比如CLI客户端命令行工具,或者是一个 Dashboard,又或者是研发侧的 Docker Compose。或者可以让用户写代码,用 python 或者 go 等实现 DSL,这都是可以的。

用户体验层怎么做,完全取决于用户接受什么样的方式。关键点在于以应用为中心的 Kubernetes,UI 层就可以非常方便的基于应用层抽象去做。比如 CLI 就可以直接创建一个流水线和应用,而不是兜兜转转去创建 Deployment 和 Pod,这两个的衔接方式是完全不一样的。pipeline 只需要生成一下就结束了。然后去把 Pod 和 Deployment 组成一个 Pipeline,那这个工作就非常繁琐了。这是非常重要的一点,当你有了应用层驱动,应用层抽象,插件能力管理,再去构建用户体验层就会非常非常简单。

阿里云服务器_阿里云数据库_阿里云代理分销商  典名科技
阿里云服务器,阿里云数据库,阿里云代理,ecs,阿里云代理商,阿里云分销商
阿里云代理商

我们是阿里云授权服务中心,也是阿里云代理商分销商能够提供阿里云服务器、阿里云数据库、阿里云安全等云产品的配置推荐、费用报价、折扣申请、购买售后等一站式服务


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

转载请说明出处,本文地址:任你发广告论坛 http://rnfgg.cn/thread-116936-1-1.html
高级模式
B Color Image Link Quote Code Smilies

本版积分规则

QQ|Archiver|手机版|小黑屋|发广告|发外链|论坛推广|广告论坛|外链论坛|免费发广告|网站推广论坛|推广论坛|任你发广告论坛

GMT+8, 2024-11-26 07:26 , Processed in 0.049570 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表