游客gk53hfj7mlezo_个人页

个人头像照片 游客gk53hfj7mlezo
个人头像照片
0
333
0

个人介绍

暂无个人介绍

擅长的技术

获得更多能力
通用技术能力:

暂时未有相关通用技术能力~

云产品技术能力:

暂时未有相关云产品技术能力~

阿里云技能认证

详细说明
暂无更多信息

2022年03月

正在加载, 请稍后...
暂无更多信息
  • 回答了问题 2022-03-15

    KubeVela 是如何快速构建用户使用界面的?

    作为平台的最终用户,业务团队就可以通过某种方式使用这些抽象来交付和管理应用了。在这一层,KubeVela 不会做任何约束,相反,它的目标是让抽象能够被直接透出在用户的使用界面上,这样,当平台团队对这些抽象进行了调整之后,业务用户就可以立即使用到最新的抽象,不需要对系统做任何更新或者升级。

    在具体执行上,KubeVela 会给上述抽象自动生成 JSON schema,这个 JSON schema 的内容,就是该抽象允许用户填写的参数列表和类型。所以无论是图形界面,还是其他用户界面,就可以直接使用这个 JSON schema 渲染出用户表单,甚至生成使用文档。

    比如前面解耦 Sidecar 容器定义的例子,KubeVela 就会为用户暴露出两份 JSON schema:一个用来定义业务容器的参数列表,一个用来 Sidecar 容器的参数列表,前端就可以渲染成两个独立的表单来供用户填写。

    正是上述 IaC 抽象 + 自动生成 Schema 的机制,让基于 KubeVela 构建面向用户的使用界面不仅变得非常简单,而且还高度可扩展:这些抽象背后的模板只要被平台管理员修改,就会立刻体现在用户的图形界面表单上,根本不需要进行系统升级和重新上线。

    在 KubeVela 中,它内置了一个简化版的图形界面,叫做 Appfile,它其实就是把上述抽象的 schema 以 YAML 的方式展示了出来,从而允许用户进行修改和配置,在下面的例子中,我们可以形象的看到每一个“能力抽象”(route,autoscaler 等等)在 Appfile 如何体现为一个个可配置项的。

    踩0 评论0
  • 回答了问题 2022-03-15

    KubeVela中的转换抽象是什么?

    这种模式通常用于改个名字,或者说去掉一些无关的概念,比如 Knative Revision 跟 Deployment 本质上是一一对应的,但是里面类似 LabelSelector 这种用户不需要关心的字段在 Knative 就会直接去掉了。

    踩0 评论0
  • 回答了问题 2022-03-15

    KubeVela中的拆分抽象是什么?

    这种模式常见于我们希望在使用流程上把一个对象上的字段分开成几个表单来进行分步骤填写,从而解耦部署时与运维时的配置。比如一个 Pod 里面的多个容器, 我希望在第一个表单里让用户填写业务容器,在另一个表单让运维填写 Sidecar 容器。再比如 ArgoRollout 这个对象,我会希望一个表单让用户填写容器镜像,另一个表单让运维填写灰度策略。

    踩0 评论0
  • 回答了问题 2022-03-15

    KubeVela中的组合抽象是什么?

    这种模式常见于我们把2个原子能力组合成为一个能力提供,比如我们在实际开发 Console 时,经常会把 K8s Deployment 和 Service 进行“组合”,暴露出一个 Web Service 的概念来让用户可以在一个表单里同时定义容器镜像和暴露端口。

    踩0 评论0
  • 回答了问题 2022-03-15

    KubeVela中的快速抽象是什么?

    构建“抽象”,是任何一个云原生平台的最基础、也必然会提供的功能。

    我们知道,Kubernetes 暴露出来的是一套声明式 API,而所谓抽象,其实就是一个平台在这些声明式 API 的基础上,为用户暴露出来的可操作项和可配置项。作为平台团队,我们之所以要提供“抽象”,其最终目的都是为了简化用户的使用心智,让业务团队只关注他们关心的事情,避免引入大量与业务无关的平台层细节让用户“望而却步”。可以说,提供“抽象”,是任何一个平台团队落地 Kubernetes 等系统级开源项目的第一步。

    踩0 评论0
  • 回答了问题 2022-03-15

    KubeVela 是如何使用 Terraform 拉起云资源的?

    1)平台团队:注册云资源模板和抽象 平台团队的工作是定义一个名为"aliyun-rds"的 WorkloadDefinition 对象,并且在里面定义好 Terraform 阿里云 RDS 云资源的模板。在上述例子中我们同样是通过 CUE 来编写的 Terraform 配置, 这是因为 Terraform 云资源本身支持使用 JSON 格式描述,而 CUE 又是 JSON 的超集,所以可以自然的使用 Terraform 所有的能力。

    当然,另一方面我们也在计划支持 Terraform 的 HCL 语法来作为 KubeVela 的另一种模板语言。在 CUE 模板中我们引用了阿里云的 RDS 定义,并抽象成 user、password等少量用户字段(parameter)。

    2)用户:定义和使用云资源

    这样,用户只需要在 Appfile 中,填写一个新的 Service,命名为 sample-db 而其类型就是我们上面定义的 aliyun-rds,就可以在这个部分定义模板中提供的 user,password 等参数。

    除此之外,用户还可以在上面的 express-server 这个业务应用中定义数据绑定,填写名为 sample-db 的配置及其映射的环境变量名称。

    最后,用户只需要一句 vela up 命令,KubeVela 就会拉起业务容器,然后自动把 Terraform 创建的阿里云RDS返回的链接信息传递到业务的容器中,我们可以在最后一部分看到这个应用已经成功启动,并获得了数据库的连接信息。当然,这个流程中的数据传递和编排功能,也是 KubeVela 内置的核心能力。

    踩0 评论0
  • 回答了问题 2022-03-15

    微服务的标准是什么?

    1.有HA(High Available)的需求需要微服务。

    2.有性能调校的需求(例如:图片的呈现或者搜寻)需要微服务。

    3.经常变更的需要微服务。

    踩0 评论0
  • 回答了问题 2022-03-15

    云原生的要素的优点是什么?

    1.内聚更强,更加敏捷

    2.使资源调度、微服务更容易

    3.以终为始,运维合一

    踩0 评论0
  • 回答了问题 2022-03-15

    KubeVela能够做的是什么?

    1. 快速构建抽象

    2. 快速构建用户使用界面

    3. 借助 Terraform 统一定义和管理云资源

    踩0 评论0
  • 回答了问题 2022-03-15

    KubeVela暴露的部署环境模板是什么?

    与“能力”类似,应用的部署环境在 KubeVela 中通过“环境”模板来进行预定义和初始化,比如“测试集群”和“生产集群”,就属于两种“环境”。 而作为平台的用户,比如业务团队,他们只需要通过平台团队提供的环境模板来“一键”初始化自己预期的部署集群,然后把自己需要的能力模板“组装”成一个完整的应用,就可以直接向任何 Kubernetes 集群进行应用交付和运维了。

    踩0 评论0
  • 回答了问题 2022-03-15

    KubeVela暴露的能力模板是什么?

    “能力”在 KubeVela 中,指能够组成一个完整应用的原子化功能,比如 StatefulSet 和 Ingress 就属于两种不同的“能力”。KubeVela 允许平台团队通过定义各种能力“模板”的方式,在 Kubernetes 中预置各种各样的能力。

    踩0 评论0
  • 回答了问题 2022-03-15

    KubeVela是什么?

    KubeVela是一言以蔽之,KubeVela 是一个面向平台构建者的、简单易用但又高度可扩展的云原生平台构建引擎。

    踩0 评论0
  • 回答了问题 2022-03-15

    KubeVela的背景是什么?

    KubeVela 是一个基于 Go 语言开发的云原生平台级开源项目,这个项目是去年 11 月中旬正式发布的。虽然发布到现在不足两个月时间,但是 KubeVela 作为"阿里巴巴统一云原生应用平台内核”背后的核心依赖,其实已经在阿里多个产品背后运行了比较长的一段时间,我本人目前也在大量参与这些产品和项目的内核建设工作。

    这套内核系统诞生自 2019 年年底阿里云联合微软共同推出的 Open Application Model(简称OAM)模型基于 Kubernetes 的实现,在不断演进和迭代中融合了大量来自开源社区(尤其是微软、字节跳动、第四范式、腾讯和满帮集团的社区参与者们)的反馈与贡献,最终在 2020 年 KubeCon 北美峰会上以 “KubeVela” 的名字正式与开源社区见面。KubeVela 项目在官宣后得到了整个云原生生态的持续关注,在发布后的第四天就登上了 Go 语言的开源趋势榜榜首。

    踩0 评论0
  • 回答了问题 2022-03-15

    CUE template来封装对外暴露接口的编写是什么?

    大多数社区能力虽然很强大,但对于最终用户来都比较复杂,学习和上手非常困难。所以在 KubeVela 中,它允许平台管理员对能力做进一步封装以便对用户暴露简单易用的使用接口,在绝大多数场景下,这些使用接口往往只有几个参数就足够了。在能力封装这一步,KubeVela 选择了 CUE 模板语言,来连接用户界面和后端能力对象,并且天然就支持完全动态的模板绑定(即变更模板不需要重启或者重新部署系统)。将这个模板放到 Definition 文件中并 $ kubectl apply -f 到 Kubernetes 中,KubeVela 就会自动识别和处理相关输入。这时候,用户就可以直接在 Appfile 中声明使用刚加进来的能力了,比如发送告警信息到指定的 Slack channel:可以看到,这个 kubewatch 的配置是我们通过三方扩展进来的一个新的能力,通过 KubeVela 平台管理 Kubernetes 扩展能力就是这么简单快速。有了 KubeVela,平台开发人员就可以简单快速地在 Kubernetes 上搭建起一个 PaaS,且能够将任何一个 Kubernetes 能力快速封装成面向最终用户的上层抽象。

    以上示例,仅仅是 KubeVela 可扩展性的“冰山一角”。在后续的文章中,我们会继续详细介绍 KubeVela 能力装配流程中更多的细节问题,比如:

    如何定义能力之间的冲突关系与协作关系? 如何快速的定义 CUE 模板文件? 如何基于 CUE 语言定义出功能强大的“能力模块”,然后把这些模块安装到 KubeVela 中? 等等 ……

    踩0 评论0
  • 回答了问题 2022-03-15

    KubeVela 提倡面向未来的云原生平台架构认为的是什么?

    应用平台本身架构彻底模块化,其所有的能力都是可插拔的,而平台核心框架通过模型层提供标准化的能力封装与装配流程。 该流程能够无缝接入云原生生态中的任何应用管理能力,使得平台工程师完全专注于能力本身的研发和基于该模型的能力封装过程,使平台团队在为用户带来简单易用的平台层抽象的同时,快速、敏捷地响应用户千变万化的应用管理诉求。

    踩0 评论0
  • 回答了问题 2022-03-15

    KubeVela不是PaaS的原因是什么?

    大多数 PaaS 都能提供完整的应用生命周期管理功能,同时也非常关注提供简单友好的用户体验,以及对研发效能的提升。在这些点上,KubeVela 跟 PaaS 的目标和提供的用户体验,是高度一致的。但如果你去研究 KubeVela 的实现细节,就不难发现 KubeVela 的整体设计与实现其实与各类 PaaS 项目的差别是非常大的。如果从用户视角来看,这些区别则会直接反应在整个项目的“可扩展性”上。进一步来说,PaaS 的用户体验虽好,但却往往是不可扩展的。但是,如果我们想让 Rio 支持更多的能力以满足不同的用户诉求呢?

    踩0 评论0
  • 回答了问题 2022-03-15

    KubeVela的使用是什么?

    1使用kubectl的run命令创建deployment

    2使用expose 将端口暴露出来

    3通过scale命令扩展应用

    4创建nginx版本

    5更新应用镜像,滚动更新应用镜像

    6确认更新

    7回滚到之前版本

    8负载均衡(不停的刷新服务的地址,过段时间会有变化)

    9结束

    踩0 评论0
  • 回答了问题 2022-03-15

    云原生的要素是什么?

    云原生的四要素: 1.持续交付

    2.DevOps

    3.微服务

    4.容器

    踩0 评论0
  • 回答了问题 2022-03-15

    CNCF认为云原生系统需包含的属性是什么?

    容器化封装:以容器为基础,提高整体开发水平,形成代码和组件重用,简化云原生应用程序的维护。在容器中运行应用程序和进程,并作为应用程序部署的独立单元,实现高水平资源隔离。 自动化管理:统一调度和管理中心,从根本上提高系统和资源利用率,同时降低运维成本。 面向微服务:通过松耦合方式,提升应用程序的整体敏捷性和可维护性。

    踩0 评论0
  • 回答了问题 2022-03-15

    云原生计算基金会是什么?

    CNCF,即云原生计算基金会,2015年由谷歌牵头成立,基金会成员目前已有一百多企业与机构,包括亚马逊、微软、思科等巨头。

    踩0 评论0
正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息