基于 KubeVela 的 GitOps 交付( 五 )


$ kubectl get ingressNAMECLASSHOSTSADDRESSPORTSAGEmy-servernginxvela-gitops-demo.k8s.local8012m$ curl -H "Host:vela-gitops-demo.k8s.local" http://<ingress-ip>Version: 0.2.0$ curl -H "Host:vela-gitops-demo.k8s.local" http://<ingress-ip>/dbUser: KubeVelaDescription: It's a test userUser: KubeVela2Description: It's another test user版本已被成功更新!至此,我们完成了从变更代码,到自动部署至集群的全部操作 。
总结在运维侧,如若需要更新基础设施(如数据库)的配置 , 或是应用的配置项,只需要修改配置仓库中的文件,KubeVela 将自动把配置同步到集群中 , 简化了部署流程 。
在研发侧,用户修改代码仓库中的代码后,KubeVela 将自动更新配置仓库中的镜像,从而进行应用的版本更新 。通过与 GitOps 的结合,KubeVela 加速了应用从开发到部署的整个流程 。可能你会觉得这和 Flux CD 不是差不多吗?的确是这样的 , KubeVela 的 GitOps 功能本身就是依赖 Flux CD 的,但是 KubeVela 的功能可远远不止于此,比如说上面我们的应用使用的 MySQL 数据我们是通过 MySQL Operator 来部署的,那如果我现在还换成云资源 RDS 呢?按照以前的方式方法,那么我们需要去云平台手动开通 RDS 或者使用 Terraform 来进行管理 , 但在 KubeVela 中我们完全可以帮助开发者集成、编排不同类型的云资源,涵盖混合多云环境,让你用统一地方式去使用不同厂商的云资源 。同样的我们只需要在 GitOps 仓库中的配置文件 Application 对象中去添加云资源的管理配置即可,这样做到了一个对象管理多种资源的能力,这也是 KubeVela 的核心能力之一 。
最后如果你觉得应用太多管理不太方便,那么我们还可以使用 vela top 命令获取平台的概览信息以及对应用程序的资源状态进行诊断 。

基于 KubeVela 的 GitOps 交付

文章插图
参考文档:https://kubevela.io/zh/docs/end-user/gitops/fluxcd/ 。




推荐阅读