云原生应用管理之kubevela
前置概念
云原生应用
云原生应用是指专门为云计算环境设计和构建的应用程序,旨在充分利用云平台的特性,如弹性、可扩展性和分布式架构。
云原生应用 VS 传统应用
特性 | 云原生应用 | 传统应用 |
---|---|---|
架构模式 | 微服务架构,独立服务,高扩展性和灵活性 | 单体架构,所有功能集成在一个应用中,扩展性有限 |
部署方式 | 使用容器和编排工具(如Kubernetes),自动化程度高 | 部署在物理服务器或虚拟机上,需手动配置和管理资源 |
开发流程 | 敏捷开发和DevOps实践,频繁的小规模更新 | 瀑布式开发,开发周期长,更新和迭代较慢 |
资源利用 | 动态调整资源分配,高资源利用率 | 固定资源分配,资源利用率较低 |
弹性和可扩展性 | 根据需求自动扩展或缩减资源,优化成本 | 扩展性有限,通常需要手动调整和配置 |
自动化运维 | 依赖CI/CD工具,实现自动化运维和频繁部署 | 运维流程通常手动进行,效率较低 |
故障容忍 | 高度容错和自愈能力,部分服务故障不影响整体 | 单点故障可能导致整个应用不可用,恢复时间长 |
OAM
OAM(Open Application Model)是一个用于定义和管理云原生应用程序的开源标准和规范。它由微软和阿里巴巴联合提出,旨在解决云原生应用程序开发、部署和运维中的复杂性问题。OAM通过将应用程序的开发、运维和架构设计角色分离,提供了一种标准化的方式来定义和管理云原生应用程序的生命周期。
OAM的核心概念
概念 | 描述 |
---|---|
应用程序 | OAM的核心概念,代表用户希望部署和管理的应用,定义应用的结构和行为。 |
组件 | 应用程序的基本构建块,代表独立部分(如微服务、数据库),可以独立开发、部署和管理。 |
特征 | 附加到组件上的功能或行为(如服务发现、负载均衡、弹性伸缩),用于扩展组件能力,而不改变其核心逻辑。 |
作用域 | 定义组件或特征的运行范围(如网络、安全),使不同组件和特征在共享的上下文中协同工作。 |
应用配置 | 将组件、特征和作用域组合在一起的声明,定义应用程序的运行时行为(如部署策略、资源分配)。 |
OAM的优势
优势 | 描述 |
---|---|
角色分离 | 通过清晰定义开发者、运维人员和架构师的角色,简化云原生应用的开发和运维流程。开发者专注于组件,运维人员管理应用配置,架构师定义总体架构。 |
标准化 | 提供统一的方式描述应用程序,不依赖特定云平台或编排工具,提升应用的可移植性。 |
可扩展性 | 设计高度可扩展,允许添加新的特征、组件和作用域,适应不断变化的需求。 |
声明式管理 | 使用声明式方式定义应用的状态,实现应用的自动化管理和状态维护。 |
kubevela是什么
简介
KubeVela 是一个基于 Open Application Model (OAM) 构建的现代应用交付平台,是基于 Kubernetes 的 OAM 实现之一,它为 Kubernetes 提供了应用交付的统一框架和工具集。KubeVela 通过简化应用程序的定义、部署和管理,帮助开发人员和运维团队更容易地在 Kubernetes 上构建和运维云原生应用。
kubevela实现原理
KubeVela 的实现原理基于 Kubernetes 的扩展能力,主要通过自定义资源定义(CRD)和控制器(通常称为 Operator)来管理和操作云原生应用程序。这些控制器负责监听和管理 OAM 资源的生命周期,实现应用的自动化部署、管理和运维。
kubevala操作使用
相关使用可参考官方用户手册:https://kubevela.io/zh/docs/tutorials/webservice/
参考资料
- kubevela github: https://github.com/kubevela/kubevela/tree/master
- velad github: https://github.com/kubevela/velad
- kubevala官方文档: https://kubevela.io/zh/docs/
- setup KubeVela and deliver your first app: https://github.com/kubevela/velad/blob/main/docs/01.simple.md
- KubeVela-云原生应用和平台工程之路:https://developer.aliyun.com/article/1190420
- 基于 Kubernetes 与 OAM 构建统一、标准化的应用管理平台video:https://www.bilibili.com/video/av244162445/?vd_source=fa807a0965233fa396091cb3b6a64943
作者: fireyun
出处: https://www.cnblogs.com/fireyun/
版权:本文版权归作者和博客园共有
转载:欢迎转载,但未经作者同意,必须保留此段声明;必须在文章中给出 原文链接 ;否则必究法律责任