update and refine the docs especially for architecture
Signed-off-by: Jianbo Sun <jianbo.sjb@alibaba-inc.com>
This commit is contained in:
parent
3e0f68ee51
commit
9077b7f1f0
|
|
@ -15,7 +15,14 @@ The [Application concept](./core-concept) is the main KubeVela API, it's designe
|
|||
In implementation, KubeVela relies on a dedicated Kubernetes cluster to achieve above goals. We chose to rely on Kubernetes as the control plane implementation because this approach is battle tested and brings determinism, convergence and automation to application management at scale. In detail, KubeVela is composed by several parts:
|
||||
|
||||
- _KubeVela Core Controller_ that provides the core control logic of the entire system. For example, handling KubeVela API resources, orchestrating workflow, storing revisions, parsing and executing CUE code, garbage collecting, etc.
|
||||
- _Addons_ that register and manage definitions along with extended CRD controllers that KubeVela needed to work. For example, Flux and Terraform addons. The UI console called "App Delivery Platform" in the architecture is also one of the addon.
|
||||
- [_Cluster Gateway Controller_](https://github.com/oam-dev/cluster-gateway) that provides a unified multi-cluster access interface. Working as Kubernetes Aggregated API Server, the gateway leverages the native Authentication and Authorization modules and enforces secure and transparent access to managed clusters.
|
||||
- [_Addons_](../reference/addons/overview) that register and manage definitions along with extended CRD controllers that KubeVela needed to work. For example, several frequently used addons are listed below:
|
||||
* The [_VelaUX_](https://github.com/kubevela/velaux) addon is the Web UI for KubeVela. Besides, it acts more like a full functioned "App Delivery Platform" in the architecture that incorporates business logic into fundamental APIs and provides out-of-box user experiences for non-k8s-expert users.
|
||||
* The [_Workflow_](https://github.com/kubevela/workflow) addon is a standalone workflow engine that can run as pipeline to deploy multiple applications or other actions. A big difference to traditional ways, it mainly drives the IaC based API with the use of CUE instead of running pods for every step. It shares the same mechanism with the application workflow of KubeVela core controller.
|
||||
* The [_Vela Prism_](https://github.com/kubevela/prism) addon is an extension API server for KubeVela and built upon the Kubernetes Aggregated API Server. It projects native APIs like creating dashboards on Grafana into Kubernetes resource APIs, so that users can manage 3rd-party resources as Kubernetes native resources.
|
||||
* The [_Terraform_](https://github.com/kubevela/terraform-controller) addon allows users to use Terraform to manage cloud resources through Kubernetes Custom Resources.
|
||||
* Besides, KubeVela has a large growing [catalog](https://github.com/kubevela/catalog) that already contains more than 50 community addons for integrations including ArgoCD, FluxCD, Backstage, OpenKruise, Dapr, Crossplane, Terraform, OpenYurt, etc.
|
||||
- If you don't have any Kubernetes cluster, the [_VelaD_](https://github.com/kubevela/velad) tool, which is building on top of k3s & k3d, can help launch all these things. It integrates KubeVela with Kubernetes cores, which can be extremely helpful for building dev/test environments.
|
||||
|
||||
This control plane Kubernetes cluster will be referenced as the "control plane cluster" in the following documentation.
|
||||
|
||||
|
|
|
|||
|
|
@ -9,12 +9,18 @@ KubeVela is a modern software delivery and management control plane. The goal is
|
|||
|
||||

|
||||
|
||||
## Why KubeVela?
|
||||
|
||||
* The modern application should be able to deploy across hybrid environments including Kubernetes, cloud, or even IoT devices in a simple and robust way.
|
||||
* The app delivery control plane should be able to adapt to any existing infrastructure or extend with modular and reusable building blocks per users’ needs.
|
||||
* The developers should have an application platform that is vendor agnostic, consistent experience, and has a large number of reusable building blocks and best practices.
|
||||
|
||||
|
||||
## Key Features
|
||||
|
||||
* **Deployment as Code**
|
||||
|
||||
Declare your deployment plan as [workflow](./getting-started/core-concept), run it automatically with any CI/CD or GitOps system, extend or re-program the workflow steps with [CUE](https://cuelang.org/). Glue and orchestrate all your infrastructure capabilities as reusable modules and share the large growing community [addons](./reference/addons/overview). No ad-hoc scripts, no dirty glue code, just deploy. The deployment workflow in KubeVela is powered by [Open Application Model](https://oam.dev/).
|
||||
Declare your deployment plan as [workflow](./getting-started/core-concept), run it automatically with any CI/CD or GitOps system, extend or re-program the workflow steps with [CUE](https://cuelang.org/). No ad-hoc scripts, no dirty glue code, just deploy. The deployment workflow in KubeVela is powered by [Open Application Model](https://oam.dev/).
|
||||
|
||||
* **Built-in security, compliance and observability building blocks**
|
||||
|
||||
|
|
@ -24,6 +30,10 @@ KubeVela is a modern software delivery and management control plane. The goal is
|
|||
|
||||
Natively supports multi-cluster/hybrid-cloud scenarios such as progressive rollout across test/staging/production environments, automatic canary, blue-green and continuous verification, rich placement strategy across clusters and clouds, along with automated cloud environments provision.
|
||||
|
||||
* **Lightweight but highly extensible architecture**
|
||||
|
||||
Minimize your control plane deployment with only one pod and 0.5c1g resources to handle thousands of application delivery. Glue and orchestrate all your infrastructure capabilities as reusable modules and share the large growing community [addons](./reference/addons/overview).
|
||||
|
||||
|
||||
## KubeVela vs. Other Software
|
||||
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ Then you can upgrade the helm chart now:
|
|||
```
|
||||
helm repo add kubevela https://charts.kubevela.net/core
|
||||
helm repo update
|
||||
helm upgrade -n vela-system --install kubevela kubevela/vela-core --version 1.7.0 --wait
|
||||
helm upgrade -n vela-system --install kubevela kubevela/vela-core --version 1.7.3 --wait
|
||||
```
|
||||
|
||||
:::caution
|
||||
|
|
@ -57,13 +57,13 @@ kubectl patch -n vela-system configMap <item> --type=merge -p '{"metadata":{"ann
|
|||
3. Download and upgrade to the corresponding CLI
|
||||
|
||||
```
|
||||
curl -fsSl https://kubevela.io/script/install.sh | bash -s 1.7.0
|
||||
curl -fsSl https://kubevela.io/script/install.sh | bash -s 1.7.3
|
||||
```
|
||||
|
||||
4. Upgrade VelaUX or other addon
|
||||
|
||||
```
|
||||
vela addon upgrade velaux --version=v1.7.0
|
||||
vela addon upgrade velaux --version=v1.7.2
|
||||
```
|
||||
|
||||
## From v1.5.x to v1.6.x
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ module.exports = {
|
|||
id: 'start',
|
||||
content:
|
||||
'<div class="header-item">⭐️ If you like KubeVela, give it a star on <a target="_blank" rel="noopener noreferrer" href="https://github.com/kubevela/kubevela">GitHub</a>!⭐️</div>' +
|
||||
'<div class="header-item"><span>KubeVela v1.7.0 is now available.(2023-01-13)</span> <a target="_blank" style="color: var(--ifm-color-primary)" rel="noopener noreferrer" href="https://github.com/kubevela/kubevela/releases/v1.7.0">Read Release Note</a></div>',
|
||||
'<div class="header-item"><span>KubeVela v1.7.3 is now available.(2023-02-08)</span> <a target="_blank" style="color: var(--ifm-color-primary)" rel="noopener noreferrer" href="https://github.com/kubevela/kubevela/releases/tag/v1.7.3">Read Release Note</a></div>',
|
||||
},
|
||||
algolia: {
|
||||
appId: 'PXMFHFWUGZ',
|
||||
|
|
|
|||
|
|
@ -18,12 +18,17 @@ KubeVela 本身是一个的应用交付与管理控制平面,它架在 Kuberne
|
|||
|
||||
在具体实现上,KubeVela 依赖一个独立的 Kubernetes 集群来运行。这其实是一个“有意为之”的设计:云原生社区中大量的实践已经证明“构建一个科学的、健壮的控制平面系统”,正是 Kubernetes 项目最擅长的工作。所以,依赖 Kubernetes 作为控制平面集群这个选择,虽然会增加一定的部署难度,却能够让我们以最原生的方式为大规模应用交付带来至关重要的“确定性”、“收敛性”和“自动化能力”。
|
||||
|
||||
具体来说,KubeVela 本身主要由如下几个部分组成:
|
||||
具体来说,KubeVela 主要由如下几个部分组成:
|
||||
|
||||
- **核心控制器** 为整个系统提供核心控制逻辑,完成诸如编排应用和工作流、修订版本快照、垃圾回收等等基础逻辑
|
||||
- **模块化能力控制器** 负责对 X-Definitions 对象进行注册和管理。
|
||||
- **插件控制器** 负责注册和管理 KubeVela 运行所需要的第三方插件,比如 VelaUX、 Flux、Terraform 组件等等。
|
||||
- **UI 控制台和 CLI** UI 控制台服务于希望开箱即用的开发者用户,CLI 适用于集成 KubeVela 和终端管理的用户。
|
||||
- _KubeVela 核心控制器_ 为整个系统提供核心控制逻辑,完成诸如编排应用和工作流、修订版本快照、垃圾回收等等基础逻辑。
|
||||
- [_Cluster Gateway 控制器_](https://github.com/oam-dev/cluster-gateway),提供统一的多集群访问接口和操作。
|
||||
- [_插件体系_](../reference/addons/overview) 注册和管理 KubeVela 的扩展功能,包括 CRD 控制器和相关模块定义。例如,下面列出了几个常用的插件:
|
||||
* [_VelaUX_](https://github.com/kubevela/velaux) 插件是 KubeVela 的 Web UI。 此外,它在架构中更像是一个功能齐全的 “应用交付平台”,将业务逻辑耦合在起特定的 API 中,并为不了解 k8s 的业务开发者提供开箱即用的平台体验。
|
||||
* [_Workflow_](https://github.com/kubevela/workflow) 插件是一个独立的工作流引擎,可以作为统一的 Pipeline 运行以部署多个应用程序或其他操作。与传统 Pipeline 相比,它主要使用 CUE 驱动基于 IaC 的 API,而不是每一步都运行容器(或 pod)。 它与 KubeVela 核心控制器的应用工作流使用相同的机制。
|
||||
* [_Vela Prism_](https://github.com/kubevela/prism) 插件是 KubeVela 的扩展 API 服务器,基于 Kubernetes Aggregated API 机制构建。它可以将诸如 Grafana 创建仪表盘等第三方服务 API 映射为 Kubernetes API,方便用户将第三方资源作为 Kubernetes 原生资源进行IaC 化管理。
|
||||
* [_Terraform_](https://github.com/kubevela/terraform-controller) 插件允许用户使用 Terraform 通过 Kubernetes 自定义资源管理云资源。
|
||||
* 此外,KubeVela 有一个不断增长的[插件目录](https://github.com/kubevela/catalog),其中已经包含 50 多个用于集成的社区插件,包括 ArgoCD、FluxCD、Backstage、OpenKruise、Dapr、Crossplane、Terraform、OpenYurt 等等。
|
||||
- 如果你还没有任何 Kubernetes 集群,构建在 k3s 和 k3d 之上的 [_VelaD_](https://github.com/kubevela/velad) 工具可以帮助你一键启动所有这些东西。它将 KubeVela 与 Kubernetes 控制平面集成在一起,这对于构建开发/测试环境非常有帮助。
|
||||
|
||||
### 运行时基础设施
|
||||
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ KubeVela 是一个开箱即用的现代化应用交付与管理平台,它使
|
|||
|
||||
- **应用部署即代码(Deployment as Code),完整定义全交付流程**
|
||||
|
||||
KubeVela 创新性的通过 [开放应用模型(OAM)](https://oam.dev/)来作为应用交付的顶层抽象,这种方式使你可以用声明式的方式描述应用交付全流程,自动化的集成 CI/CD 及 GitOps 体系,通过 [CUE](https://cuelang.org/) 轻松扩展或重新编写你的交付过程。再也没有难以维护的脚本和复杂的衔接代码,从[插件市场](./reference/addons/overview)复用社区丰富的功能模块,且无需关注任何基础设施细节,专注于定义和部署应用,一次编排、随处运行!
|
||||
KubeVela 创新性的通过 [开放应用模型(OAM)](https://oam.dev/)来作为应用交付的顶层抽象,这种方式使你可以用声明式的方式描述应用交付全流程,自动化的集成 CI/CD 及 GitOps 体系,通过 [CUE](https://cuelang.org/) 轻松扩展、复用或重新编写你的交付过程。再也没有难以维护的脚本和复杂的衔接代码,最终用户无需关注任何基础设施细节,专注于定义和部署应用,一次编排、随处运行!
|
||||
|
||||
- **天然支持企业级集成,安全、合规、可观测性一应俱全**
|
||||
|
||||
|
|
@ -33,6 +33,10 @@ KubeVela 是一个开箱即用的现代化应用交付与管理平台,它使
|
|||
|
||||
KubeVela 原生支持丰富的多集群/混合环境持续交付策略,包括金丝雀、蓝绿、多环境差异化配置等,同样也支持跨环境交付。这些交付策略为你的分布式交付流程提供了充足的效率和安全保证。KubeVela 提供的中心化管控能力也减轻了到每一个集群(云)去排查问题的负担,针对不同的平台提供统一的体验,让你享受自动化交付的便利。
|
||||
|
||||
* **轻量并且架构高度可扩展,满足企业不同场景的定制化需求**
|
||||
|
||||
KubeVela 最小的部署模式仅需 1 个 pod (0.5 核 1G 内存)就可以用于部署上千个应用。其微内核、高可扩展的架构可以轻松满足你的扩展和定制化需求,衔接企业内部的权限体系、微服务、流量治理、配置管理、可观测性等模块。不仅如此,社区还有一个正在快速增长的[插件市场](./reference/addons/overview)可供你选择和使用,你可以在这里贡献、复用社区丰富的功能模块。
|
||||
|
||||
|
||||
## KubeVela 与其他软件形态对比
|
||||
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ kubectl apply -f https://raw.githubusercontent.com/oam-dev/kubevela/release-1.7/
|
|||
```
|
||||
helm repo add kubevela https://charts.kubevela.net/core
|
||||
helm repo update
|
||||
helm upgrade -n vela-system --install kubevela kubevela/vela-core --version 1.7.0 --wait
|
||||
helm upgrade -n vela-system --install kubevela kubevela/vela-core --version 1.7.3 --wait
|
||||
```
|
||||
|
||||
:::caution
|
||||
|
|
@ -55,13 +55,13 @@ kubectl patch -n vela-system configMap <item> --type=merge -p '{"metadata":{"ann
|
|||
3. 下载并升级对应的CLI
|
||||
|
||||
```
|
||||
curl -fsSl https://kubevela.io/script/install.sh | bash -s 1.7.0
|
||||
curl -fsSl https://kubevela.io/script/install.sh | bash -s 1.7.3
|
||||
```
|
||||
|
||||
4. 升级 VelaUX 或其他插件
|
||||
|
||||
```
|
||||
vela addon upgrade velaux --version=v1.7.0
|
||||
vela addon upgrade velaux --version=v1.7.2
|
||||
```
|
||||
|
||||
## 从 v1.5.x 版本 到 v1.6.x 版本
|
||||
|
|
|
|||
|
|
@ -18,12 +18,17 @@ KubeVela 本身是一个的应用交付与管理控制平面,它架在 Kuberne
|
|||
|
||||
在具体实现上,KubeVela 依赖一个独立的 Kubernetes 集群来运行。这其实是一个“有意为之”的设计:云原生社区中大量的实践已经证明“构建一个科学的、健壮的控制平面系统”,正是 Kubernetes 项目最擅长的工作。所以,依赖 Kubernetes 作为控制平面集群这个选择,虽然会增加一定的部署难度,却能够让我们以最原生的方式为大规模应用交付带来至关重要的“确定性”、“收敛性”和“自动化能力”。
|
||||
|
||||
具体来说,KubeVela 本身主要由如下几个部分组成:
|
||||
具体来说,KubeVela 主要由如下几个部分组成:
|
||||
|
||||
- **核心控制器** 为整个系统提供核心控制逻辑,完成诸如编排应用和工作流、修订版本快照、垃圾回收等等基础逻辑
|
||||
- **模块化能力控制器** 负责对 X-Definitions 对象进行注册和管理。
|
||||
- **插件控制器** 负责注册和管理 KubeVela 运行所需要的第三方插件,比如 VelaUX、 Flux、Terraform 组件等等。
|
||||
- **UI 控制台和 CLI** UI 控制台服务于希望开箱即用的开发者用户,CLI 适用于集成 KubeVela 和终端管理的用户。
|
||||
- _KubeVela 核心控制器_ 为整个系统提供核心控制逻辑,完成诸如编排应用和工作流、修订版本快照、垃圾回收等等基础逻辑。
|
||||
- [_Cluster Gateway 控制器_](https://github.com/oam-dev/cluster-gateway),提供统一的多集群访问接口和操作。
|
||||
- [_插件体系_](../reference/addons/overview) 注册和管理 KubeVela 的扩展功能,包括 CRD 控制器和相关模块定义。例如,下面列出了几个常用的插件:
|
||||
* [_VelaUX_](https://github.com/kubevela/velaux) 插件是 KubeVela 的 Web UI。 此外,它在架构中更像是一个功能齐全的 “应用交付平台”,将业务逻辑耦合在起特定的 API 中,并为不了解 k8s 的业务开发者提供开箱即用的平台体验。
|
||||
* [_Workflow_](https://github.com/kubevela/workflow) 插件是一个独立的工作流引擎,可以作为统一的 Pipeline 运行以部署多个应用程序或其他操作。与传统 Pipeline 相比,它主要使用 CUE 驱动基于 IaC 的 API,而不是每一步都运行容器(或 pod)。 它与 KubeVela 核心控制器的应用工作流使用相同的机制。
|
||||
* [_Vela Prism_](https://github.com/kubevela/prism) 插件是 KubeVela 的扩展 API 服务器,基于 Kubernetes Aggregated API 机制构建。它可以将诸如 Grafana 创建仪表盘等第三方服务 API 映射为 Kubernetes API,方便用户将第三方资源作为 Kubernetes 原生资源进行IaC 化管理。
|
||||
* [_Terraform_](https://github.com/kubevela/terraform-controller) 插件允许用户使用 Terraform 通过 Kubernetes 自定义资源管理云资源。
|
||||
* 此外,KubeVela 有一个不断增长的[插件目录](https://github.com/kubevela/catalog),其中已经包含 50 多个用于集成的社区插件,包括 ArgoCD、FluxCD、Backstage、OpenKruise、Dapr、Crossplane、Terraform、OpenYurt 等等。
|
||||
- 如果你还没有任何 Kubernetes 集群,构建在 k3s 和 k3d 之上的 [_VelaD_](https://github.com/kubevela/velad) 工具可以帮助你一键启动所有这些东西。它将 KubeVela 与 Kubernetes 控制平面集成在一起,这对于构建开发/测试环境非常有帮助。
|
||||
|
||||
### 运行时基础设施
|
||||
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ KubeVela 是一个开箱即用的现代化应用交付与管理平台,它使
|
|||
|
||||
- **应用部署即代码(Deployment as Code),完整定义全交付流程**
|
||||
|
||||
KubeVela 创新性的通过 [开放应用模型(OAM)](https://oam.dev/)来作为应用交付的顶层抽象,这种方式使你可以用声明式的方式描述应用交付全流程,自动化的集成 CI/CD 及 GitOps 体系,通过 [CUE](https://cuelang.org/) 轻松扩展或重新编写你的交付过程。再也没有难以维护的脚本和复杂的衔接代码,从[插件市场](./reference/addons/overview)复用社区丰富的功能模块,且无需关注任何基础设施细节,专注于定义和部署应用,一次编排、随处运行!
|
||||
KubeVela 创新性的通过 [开放应用模型(OAM)](https://oam.dev/)来作为应用交付的顶层抽象,这种方式使你可以用声明式的方式描述应用交付全流程,自动化的集成 CI/CD 及 GitOps 体系,通过 [CUE](https://cuelang.org/) 轻松扩展、复用或重新编写你的交付过程。再也没有难以维护的脚本和复杂的衔接代码,最终用户无需关注任何基础设施细节,专注于定义和部署应用,一次编排、随处运行!
|
||||
|
||||
- **天然支持企业级集成,安全、合规、可观测性一应俱全**
|
||||
|
||||
|
|
@ -33,6 +33,10 @@ KubeVela 是一个开箱即用的现代化应用交付与管理平台,它使
|
|||
|
||||
KubeVela 原生支持丰富的多集群/混合环境持续交付策略,包括金丝雀、蓝绿、多环境差异化配置等,同样也支持跨环境交付。这些交付策略为你的分布式交付流程提供了充足的效率和安全保证。KubeVela 提供的中心化管控能力也减轻了到每一个集群(云)去排查问题的负担,针对不同的平台提供统一的体验,让你享受自动化交付的便利。
|
||||
|
||||
* **轻量并且架构高度可扩展,满足企业不同场景的定制化需求**
|
||||
|
||||
KubeVela 最小的部署模式仅需 1 个 pod (0.5 核 1G 内存)就可以用于部署上千个应用。其微内核、高可扩展的架构可以轻松满足你的扩展和定制化需求,衔接企业内部的权限体系、微服务、流量治理、配置管理、可观测性等模块。不仅如此,社区还有一个正在快速增长的[插件市场](./reference/addons/overview)可供你选择和使用,你可以在这里贡献、复用社区丰富的功能模块。
|
||||
|
||||
|
||||
## KubeVela 与其他软件形态对比
|
||||
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ KubeVela 是面向关注点分离设计的系统,所以 KubeVela 的用户天
|
|||
|
||||
关注点对最终用户的价值是最大的,他们可以获得以应用为中心的平台使用体验,不再需要了解基础设施细节。具体而言,他们在如下场景直接受益:
|
||||
|
||||
- 不再需要关系 Kubernetes 版本变化带来的 API 变化。
|
||||
- 不再需要了解 Kubernetes 版本升级带来的 API 变化。
|
||||
- 不再需要关心像 Ingress 这样的对象不同底层实现之间的区别。
|
||||
- 不再需要了解诸如 CPU Limit 或者 Pod 驱逐策略这类完全是平台底层特性的概念。
|
||||
- 可以用声明式的方式描述注入高可用、灰度发布这样的运维需求。
|
||||
|
|
|
|||
|
|
@ -83,7 +83,7 @@ vela addon init my-addon --url https://domain.com/crd1.yaml --url https://domain
|
|||
```yaml
|
||||
name: example
|
||||
version: 1.0.0
|
||||
description: Example adddon.
|
||||
description: Example addon.
|
||||
icon: xxx
|
||||
url: xxx
|
||||
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ kubectl apply -f https://raw.githubusercontent.com/oam-dev/kubevela/release-1.7/
|
|||
```
|
||||
helm repo add kubevela https://charts.kubevela.net/core
|
||||
helm repo update
|
||||
helm upgrade -n vela-system --install kubevela kubevela/vela-core --version 1.7.0 --wait
|
||||
helm upgrade -n vela-system --install kubevela kubevela/vela-core --version 1.7.3 --wait
|
||||
```
|
||||
|
||||
:::caution
|
||||
|
|
@ -55,13 +55,13 @@ kubectl patch -n vela-system configMap <item> --type=merge -p '{"metadata":{"ann
|
|||
3. 下载并升级对应的CLI
|
||||
|
||||
```
|
||||
curl -fsSl https://kubevela.io/script/install.sh | bash -s 1.7.0
|
||||
curl -fsSl https://kubevela.io/script/install.sh | bash -s 1.7.3
|
||||
```
|
||||
|
||||
4. 升级 VelaUX 或其他插件
|
||||
|
||||
```
|
||||
vela addon upgrade velaux --version=v1.7.0
|
||||
vela addon upgrade velaux --version=v1.7.2
|
||||
```
|
||||
|
||||
## 从 v1.5.x 版本 到 v1.6.x 版本
|
||||
|
|
|
|||
|
|
@ -197,6 +197,7 @@ vela delete first-vela-app
|
|||
|
||||
<details>
|
||||
<summary>期望输出</summary>
|
||||
|
||||
```console
|
||||
Deleting Application "first-vela-app"
|
||||
app "first-vela-app" deleted from namespace "prod"
|
||||
|
|
|
|||
|
|
@ -195,6 +195,7 @@ vela adopt deployment/example service/example configmap/example secret/example
|
|||
|
||||
<details>
|
||||
<summary>expected output</summary>
|
||||
|
||||
```yaml
|
||||
apiVersion: core.oam.dev/v1beta1
|
||||
kind: Application
|
||||
|
|
|
|||
|
|
@ -15,7 +15,14 @@ The [Application concept](./core-concept) is the main KubeVela API, it's designe
|
|||
In implementation, KubeVela relies on a dedicated Kubernetes cluster to achieve above goals. We chose to rely on Kubernetes as the control plane implementation because this approach is battle tested and brings determinism, convergence and automation to application management at scale. In detail, KubeVela is composed by several parts:
|
||||
|
||||
- _KubeVela Core Controller_ that provides the core control logic of the entire system. For example, handling KubeVela API resources, orchestrating workflow, storing revisions, parsing and executing CUE code, garbage collecting, etc.
|
||||
- _Addons_ that register and manage definitions along with extended CRD controllers that KubeVela needed to work. For example, Flux and Terraform addons. The UI console called "App Delivery Platform" in the architecture is also one of the addon.
|
||||
- [_Cluster Gateway Controller_](https://github.com/oam-dev/cluster-gateway) that provides a unified multi-cluster access interface. Working as Kubernetes Aggregated API Server, the gateway leverages the native Authentication and Authorization modules and enforces secure and transparent access to managed clusters.
|
||||
- [_Addons_](../reference/addons/overview) that register and manage definitions along with extended CRD controllers that KubeVela needed to work. For example, several frequently used addons are listed below:
|
||||
* The [_VelaUX_](https://github.com/kubevela/velaux) addon is the Web UI for KubeVela. Besides, it acts more like a full functioned "App Delivery Platform" in the architecture that incorporates business logic into fundamental APIs and provides out-of-box user experiences for non-k8s-expert users.
|
||||
* The [_Workflow_](https://github.com/kubevela/workflow) addon is a standalone workflow engine that can run as pipeline to deploy multiple applications or other actions. A big difference to traditional ways, it mainly drives the IaC based API with the use of CUE instead of running pods for every step. It shares the same mechanism with the application workflow of KubeVela core controller.
|
||||
* The [_Vela Prism_](https://github.com/kubevela/prism) addon is an extension API server for KubeVela and built upon the Kubernetes Aggregated API Server. It projects native APIs like creating dashboards on Grafana into Kubernetes resource APIs, so that users can manage 3rd-party resources as Kubernetes native resources.
|
||||
* The [_Terraform_](https://github.com/kubevela/terraform-controller) addon allows users to use Terraform to manage cloud resources through Kubernetes Custom Resources.
|
||||
* Besides, KubeVela has a large growing [catalog](https://github.com/kubevela/catalog) that already contains more than 50 community addons for integrations including ArgoCD, FluxCD, Backstage, OpenKruise, Dapr, Crossplane, Terraform, OpenYurt, etc.
|
||||
- If you don't have any Kubernetes cluster, the [_VelaD_](https://github.com/kubevela/velad) tool, which is building on top of k3s & k3d, can help launch all these things. It integrates KubeVela with Kubernetes cores, which can be extremely helpful for building dev/test environments.
|
||||
|
||||
This control plane Kubernetes cluster will be referenced as the "control plane cluster" in the following documentation.
|
||||
|
||||
|
|
|
|||
|
|
@ -9,12 +9,18 @@ KubeVela is a modern software delivery and management control plane. The goal is
|
|||
|
||||

|
||||
|
||||
## Why KubeVela?
|
||||
|
||||
* The modern application should be able to deploy across hybrid environments including Kubernetes, cloud, or even IoT devices in a simple and robust way.
|
||||
* The app delivery control plane should be able to adapt to any existing infrastructure or extend with modular and reusable building blocks per users’ needs.
|
||||
* The developers should have an application platform that is vendor agnostic, consistent experience, and has a large number of reusable building blocks and best practices.
|
||||
|
||||
|
||||
## Key Features
|
||||
|
||||
* **Deployment as Code**
|
||||
|
||||
Declare your deployment plan as [workflow](./getting-started/core-concept), run it automatically with any CI/CD or GitOps system, extend or re-program the workflow steps with [CUE](https://cuelang.org/). Glue and orchestrate all your infrastructure capabilities as reusable modules and share the large growing community [addons](./reference/addons/overview). No ad-hoc scripts, no dirty glue code, just deploy. The deployment workflow in KubeVela is powered by [Open Application Model](https://oam.dev/).
|
||||
Declare your deployment plan as [workflow](./getting-started/core-concept), run it automatically with any CI/CD or GitOps system, extend or re-program the workflow steps with [CUE](https://cuelang.org/). No ad-hoc scripts, no dirty glue code, just deploy. The deployment workflow in KubeVela is powered by [Open Application Model](https://oam.dev/).
|
||||
|
||||
* **Built-in security, compliance and observability building blocks**
|
||||
|
||||
|
|
@ -24,6 +30,10 @@ KubeVela is a modern software delivery and management control plane. The goal is
|
|||
|
||||
Natively supports multi-cluster/hybrid-cloud scenarios such as progressive rollout across test/staging/production environments, automatic canary, blue-green and continuous verification, rich placement strategy across clusters and clouds, along with automated cloud environments provision.
|
||||
|
||||
* **Lightweight but highly extensible architecture**
|
||||
|
||||
Minimize your control plane deployment with only one pod and 0.5c1g resources to handle thousands of application delivery. Glue and orchestrate all your infrastructure capabilities as reusable modules and share the large growing community [addons](./reference/addons/overview).
|
||||
|
||||
|
||||
## KubeVela vs. Other Software
|
||||
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ Then you can upgrade the helm chart now:
|
|||
```
|
||||
helm repo add kubevela https://charts.kubevela.net/core
|
||||
helm repo update
|
||||
helm upgrade -n vela-system --install kubevela kubevela/vela-core --version 1.7.0 --wait
|
||||
helm upgrade -n vela-system --install kubevela kubevela/vela-core --version 1.7.3 --wait
|
||||
```
|
||||
|
||||
:::caution
|
||||
|
|
@ -57,13 +57,13 @@ kubectl patch -n vela-system configMap <item> --type=merge -p '{"metadata":{"ann
|
|||
3. Download and upgrade to the corresponding CLI
|
||||
|
||||
```
|
||||
curl -fsSl https://kubevela.io/script/install.sh | bash -s 1.7.0
|
||||
curl -fsSl https://kubevela.io/script/install.sh | bash -s 1.7.3
|
||||
```
|
||||
|
||||
4. Upgrade VelaUX or other addon
|
||||
|
||||
```
|
||||
vela addon upgrade velaux --version=v1.7.0
|
||||
vela addon upgrade velaux --version=v1.7.2
|
||||
```
|
||||
|
||||
## From v1.5.x to v1.6.x
|
||||
|
|
|
|||
|
|
@ -0,0 +1,12 @@
|
|||
---
|
||||
title: Roadmap 2023.06
|
||||
---
|
||||
|
||||
Date: 2023-03-01 to 2023-06-31
|
||||
|
||||
## Core Platform
|
||||
|
||||
- Support controller sharding to provide horizontal scaling capability.
|
||||
- Support CueX in vela-core to support external CUE render/execution provider. Make best practices in SaaS integration and extending native APIs such as creating VelaUX Targets / Projects in the core control plane.
|
||||
- Support SDK auto-generation for KubeVela components, traits, policies and workflow steps.
|
||||
- Support initialization capability for cloud resources, including RDS, ACK, AWS EKS.
|
||||
|
|
@ -10,6 +10,7 @@ The goal of KubeVela is to **make deploying and operating applications across to
|
|||
|
||||
They're aligned with the roadmap direction for the next three years. As for the detailed roadmap, we'll update and list below.
|
||||
|
||||
- [2023 Summer Roadmap](./2023-06-roadmap)
|
||||
- [2023 Spring Roadmap](./2023-03-roadmap)
|
||||
- [2022 Winter Roadmap](./2022-12-roadmap)
|
||||
- [2022 Fall Roadmap](./2022-09-roadmap)
|
||||
|
|
|
|||
Loading…
Reference in New Issue