KubeVela是如何将appfile转换为K8s特定资源对象的


这期内容当中小编将会给大家带来有关KubeVela是如何将appfile转换为K8s特定资源对象的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。KubeVela 是一个简单易用又高度可扩展的云原生应用管理引擎,是基于 Kubernetes 及阿里云与微软云共同发布的云原生应用开发模型 OAM 构建。KubeVela 基于 OAM 模型构建了一套具体的实现,通过 Golang 编写,可以端到端地为用户构建云原生应用的平台,提供一个相对完整的解决方案。下面主要目的是探索 KubeVela如何将一个appfile文件转换为 K8s 中特定的资源对象。该过程总的来说分为两个阶段:appfile转为 K8s 中的applicationapplication转换为对应的 K8s 资源对象利用 vela up 命令可以完成部署。建议:在看 vela 命令行工具代码之前,先去简单了解一下 cobra 框架。上面源码展示的是 vela up 命令的入口。在 PresistentPreRunE 函数中,通过调用 c.SetConfig() 完成 Kuberentes 配置信息 kubeconfig 的注入。在 RunE 函数中:首先,获取 vela 的 env 变量,velaEnv.Namespace 对应 Kubernetes 的命名空间。其次,获取 Kubernetes 的客户端,kubectl。接着,利用 Kubernetes 客户端和 vleaEnv 来构建渲染 Appfile 需要的 AppfileOptions。最后,调用 o.Run(filePath, velaEnv.Namespace, c)。filePath: appfile 的路径velaEnv.Namespace:对应 K8s 的 namespacec:K8s 客户端该函数需要三个参数,其中 filePath 用于指定 appfile 的位置,velaEnv.Namespace 和 c 用来将渲染后的 Application 创建到指定命名空间。起点:appfile终点:applicatioin路径:appfile -> application (services -> component)comp[workload, traits]上面两段代码是 AppFile 在客户端的声明,vela 会将指定路径的 yaml 文件读取后,赋值给一个 AppFile。下面为读取 vela.yaml 文件后,加载到 AppFile 中的数据:上面代码,为 Application 的声明,结合 .vela/deploy.yaml(见下面代码),可以看出,要将一个 AppFile 渲染为 Application 主要就是将 AppFile 的 Services 转化为 Application 的 Components。结合以上内容可以看出,将 Appfile 转化为 Application 主要是将 Services 渲染为 Components。上面的代码是 vela 将 Appfile 转化为 Application 代码实现的位置。其中 comp, err := svc.RenderServiceToApplicationComponent(tm, serviceNam开发云主机域名e) 完成 Service 到 Component 的转化。执行 vela up 命令,渲染 appfile 为 Application,将数据写入到 .vela/deploy.yaml 中,并在 K8s 中创建。起点:Application中点:ApplicationConfiguration, Component终点:Deployment, Service路径:application_controllerapplicationconfiguration controller【建议】> 了解一下内容:> – client-tocontroller-runtimeoperator当 application controller 获取到 Application 资源对象之后,会根据其内容创建出对应的 ApplicationConfiguration 和 Component。ApplicationiConfiguration 中以名字的方式引入 Component:获取一个 Application 资源对象。将 Application 资源对象渲染为 ApplicationConfiguration 和 Component。创建 ApplicationConfiguration 和 Component 资源对象。获取 ApplicationConfiguration 资源对象。循环遍历,获取每一个 Component 并将 workload 和 trait 渲染为对应的 K8s 资源对象。创建对应的 K8s 资源对象。当 vela up 将一个 AppFile 渲染为一个 Application 后,后续的流程由 application controller 和 applicationconfiguration controller 完成。上述就是小编为大家分享的KubeVela是如何将appfile转换为K8s特定资源对象的了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注开发云行业资讯频道。

相关推荐: docker容器实时迁移是什么

这篇文章主要介绍“docker容器实时迁移是什么”,在日常操作中,相信很多人在docker容器实时迁移是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”docker容器实时迁移是什么”的疑惑有所帮助!接下来,请跟着小编一起来学…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 05/17 21:18
下一篇 05/17 21:18

相关推荐