small fixes (#251)
This commit is contained in:
parent
5c6c6fd9de
commit
20a213317d
|
|
@ -1,5 +0,0 @@
|
||||||
---
|
|
||||||
title: Build Extensive PaaS with KubeVela
|
|
||||||
---
|
|
||||||
|
|
||||||
TBD
|
|
||||||
|
|
@ -2,8 +2,6 @@
|
||||||
title: Ingress
|
title: Ingress
|
||||||
---
|
---
|
||||||
|
|
||||||
> ⚠️ This section requires your runtime cluster has a working ingress controller.
|
|
||||||
|
|
||||||
The `ingress` trait exposes a component to public Internet via a valid domain.
|
The `ingress` trait exposes a component to public Internet via a valid domain.
|
||||||
|
|
||||||
## Specification
|
## Specification
|
||||||
|
|
@ -108,3 +106,5 @@ Hello World
|
||||||
`'--.._\..--''
|
`'--.._\..--''
|
||||||
</xmp>
|
</xmp>
|
||||||
```
|
```
|
||||||
|
|
||||||
|
> ⚠️ This section requires your runtime cluster has a working ingress controller.
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
---
|
---
|
||||||
title: Rollout
|
title: Rollout
|
||||||
---
|
---
|
||||||
|
|
||||||
This chapter will introduce how to use Rollout Trait to perform a rolling update on Workload.
|
This chapter will introduce how to use Rollout Trait to perform a rolling update on Workload.
|
||||||
|
|
||||||
## How to
|
## How to
|
||||||
|
|
|
||||||
|
|
@ -2,8 +2,6 @@
|
||||||
title: Service Binding
|
title: Service Binding
|
||||||
---
|
---
|
||||||
|
|
||||||
# Description
|
|
||||||
|
|
||||||
Service binding trait will bind data from Kubernetes `Secret` to the application container's ENV.
|
Service binding trait will bind data from Kubernetes `Secret` to the application container's ENV.
|
||||||
|
|
||||||
## Specification
|
## Specification
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@ The `sidecar` trait allows you to attach a sidecar container to the component.
|
||||||
```shell
|
```shell
|
||||||
kubectl vela show sidecar
|
kubectl vela show sidecar
|
||||||
```
|
```
|
||||||
|
|
||||||
```console
|
```console
|
||||||
# Properties
|
# Properties
|
||||||
+---------+-----------------------------------------+-----------------------+----------+---------+
|
+---------+-----------------------------------------+-----------------------+----------+---------+
|
||||||
|
|
|
||||||
|
|
@ -13,16 +13,17 @@ Requirements:
|
||||||
- Kubernetes cluster >= v1.18.0
|
- Kubernetes cluster >= v1.18.0
|
||||||
- `kubectl` installed and configured
|
- `kubectl` installed and configured
|
||||||
|
|
||||||
KubeVela relies on Kubernetes as control plane. The control plane could be any managed Kubernetes offering or your own cluster. The only requirement is please ensure [ingress-nginx](https://kubernetes.github.io/ingress-nginx/deploy/) is installed and enabled.
|
KubeVela relies on Kubernetes as control plane. The control plane could be any managed Kubernetes offering or your own cluster.
|
||||||
|
|
||||||
For local deployment and test, you could use `minikube` or `kind`.
|
For local deployment and test, you could use `kind` or `minikube`. For production usage, you could use Kubernetes services provided by cloud providers.
|
||||||
|
|
||||||
<Tabs
|
<Tabs
|
||||||
className="unique-tabs"
|
className="unique-tabs"
|
||||||
defaultValue="minikube"
|
defaultValue="kind"
|
||||||
values={[
|
values={[
|
||||||
{label: 'Minikube', value: 'minikube'},
|
|
||||||
{label: 'Kind', value: 'kind'},
|
{label: 'Kind', value: 'kind'},
|
||||||
|
{label: 'Minikube', value: 'minikube'},
|
||||||
|
{label: 'Cloud Provider', value: 'cloudprovider'},
|
||||||
]}>
|
]}>
|
||||||
<TabItem value="minikube">
|
<TabItem value="minikube">
|
||||||
|
|
||||||
|
|
@ -34,13 +35,15 @@ Then spins up a minikube cluster
|
||||||
minikube start
|
minikube start
|
||||||
```
|
```
|
||||||
|
|
||||||
Install ingress:
|
<details> <summary> Install ingress to enable service route </summary>
|
||||||
|
|
||||||
```shell script
|
```shell script
|
||||||
minikube addons enable ingress
|
minikube addons enable ingress
|
||||||
```
|
```
|
||||||
|
|
||||||
|
</details>
|
||||||
</TabItem>
|
</TabItem>
|
||||||
|
|
||||||
<TabItem value="kind">
|
<TabItem value="kind">
|
||||||
|
|
||||||
Follow [this guide](https://kind.sigs.k8s.io/docs/user/quick-start/#installation) to install kind.
|
Follow [this guide](https://kind.sigs.k8s.io/docs/user/quick-start/#installation) to install kind.
|
||||||
|
|
@ -69,11 +72,24 @@ nodes:
|
||||||
EOF
|
EOF
|
||||||
```
|
```
|
||||||
|
|
||||||
Then install [ingress for kind](https://kind.sigs.k8s.io/docs/user/ingress/#ingress-nginx):
|
<details> <summary> Install ingress to enable service route </summary>
|
||||||
|
|
||||||
```shell script
|
```shell script
|
||||||
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/provider/kind/deploy.yaml
|
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/provider/kind/deploy.yaml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
</details>
|
||||||
|
</TabItem>
|
||||||
|
|
||||||
|
<TabItem value="cloudprovider">
|
||||||
|
|
||||||
|
* Alibaba Cloud [ACK Service](https://www.aliyun.com/product/kubernetes)
|
||||||
|
* AWS [EKS Service](https://aws.amazon.com/cn/eks)
|
||||||
|
* Azure [AKS Service](https://azure.microsoft.com/en-us/services/kubernetes-service)
|
||||||
|
* Google [GKE Service](https://cloud.google.com/kubernetes-engine)
|
||||||
|
|
||||||
|
> Please ensure [ingress-nginx](https://kubernetes.github.io/ingress-nginx/deploy/) is installed and enabled.
|
||||||
|
|
||||||
</TabItem>
|
</TabItem>
|
||||||
</Tabs>
|
</Tabs>
|
||||||
|
|
||||||
|
|
@ -94,8 +110,7 @@ kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/mast
|
||||||
```shell script
|
```shell script
|
||||||
helm install --create-namespace -n vela-system kubevela kubevela/vela-core
|
helm install --create-namespace -n vela-system kubevela kubevela/vela-core
|
||||||
```
|
```
|
||||||
By default, it will enable the webhook with a self-signed certificate provided by [kube-webhook-certgen](https://github.com/jet/kube-webhook-certgen).
|
You can refer to [advanced installation guide](../platform-engineers/advanced-install) for more custom ways.
|
||||||
You can also [install it with `cert-manager`](../platform-engineers/advanced-install#install-kubevela-with-cert-manager).
|
|
||||||
|
|
||||||
4. Verify chart installed successfully
|
4. Verify chart installed successfully
|
||||||
```shell script
|
```shell script
|
||||||
|
|
@ -200,13 +215,22 @@ please at least enable following addons to make sure KubeVela functioning well:
|
||||||
|
|
||||||
## 5. Verify
|
## 5. Verify
|
||||||
|
|
||||||
Checking available application components and traits by `vela` CLI tool:
|
* Get built-in component types by `vela` CLI:
|
||||||
|
|
||||||
```shell script
|
```shell script
|
||||||
vela components
|
vela components
|
||||||
```
|
```
|
||||||
|
<details> <summary> Outputs </summary>
|
||||||
|
|
||||||
```console
|
```console
|
||||||
NAME NAMESPACE WORKLOAD DESCRIPTION
|
NAME NAMESPACE WORKLOAD DESCRIPTION
|
||||||
|
alibaba-ack vela-system configurations.terraform.core.oam.dev Terraform configuration for Alibaba Cloud ACK cluster
|
||||||
|
alibaba-oss vela-system configurations.terraform.core.oam.dev Terraform configuration for Alibaba Cloud OSS object
|
||||||
|
alibaba-rds vela-system configurations.terraform.core.oam.dev Terraform configuration for Alibaba Cloud RDS object
|
||||||
|
helm vela-system autodetects.core.oam.dev helm release is a group of K8s resources from either git
|
||||||
|
repository or helm repo
|
||||||
|
kustomize vela-system autodetects.core.oam.dev kustomize can fetching, building, updating and applying
|
||||||
|
Kustomize manifests from git repo.
|
||||||
|
raw vela-system autodetects.core.oam.dev raw allow users to specify raw K8s object in properties
|
||||||
task vela-system jobs.batch Describes jobs that run code or a script to completion.
|
task vela-system jobs.batch Describes jobs that run code or a script to completion.
|
||||||
webservice vela-system deployments.apps Describes long-running, scalable, containerized services
|
webservice vela-system deployments.apps Describes long-running, scalable, containerized services
|
||||||
that have a stable network endpoint to receive external
|
that have a stable network endpoint to receive external
|
||||||
|
|
@ -216,9 +240,59 @@ worker vela-system deployments.apps Describes long-running, scalable, contai
|
||||||
to receive external network traffic.
|
to receive external network traffic.
|
||||||
```
|
```
|
||||||
|
|
||||||
These capabilities are built-in so they are ready to use if showed up. KubeVela is designed to be programmable and fully self-service, so the assumption is more capabilities will be added later per your own needs.
|
</details>
|
||||||
|
|
||||||
Also, whenever new capabilities are added in the platform, you will immediately see them in above output.
|
* Get built-in traits by `vela` CLI:
|
||||||
|
```shell script
|
||||||
|
vela traits
|
||||||
|
```
|
||||||
|
<details> <summary> Outputs </summary>
|
||||||
|
|
||||||
|
```console
|
||||||
|
NAME NAMESPACE APPLIES-TO CONFLICTS-WITH POD-DISRUPTIVE DESCRIPTION
|
||||||
|
annotations vela-system * true Add annotations on K8s pod for your workload which follows
|
||||||
|
the pod spec in path 'spec.template'.
|
||||||
|
configmap vela-system * true Create/Attach configmaps on K8s pod for your workload which
|
||||||
|
follows the pod spec in path 'spec.template'.
|
||||||
|
cpuscaler vela-system deployments.apps false Automatically scale the component based on CPU usage.
|
||||||
|
env vela-system * false add env on K8s pod for your workload which follows the pod
|
||||||
|
spec in path 'spec.template.'
|
||||||
|
expose vela-system false Expose port to enable web traffic for your component.
|
||||||
|
hostalias vela-system * false Add host aliases on K8s pod for your workload which follows
|
||||||
|
the pod spec in path 'spec.template'.
|
||||||
|
ingress vela-system false Enable public web traffic for the component.
|
||||||
|
ingress-1-20 vela-system false Enable public web traffic for the component, the ingress API
|
||||||
|
matches K8s v1.20+.
|
||||||
|
init-container vela-system deployments.apps true add an init container and use shared volume with pod
|
||||||
|
kustomize-json-patch vela-system false A list of JSON6902 patch to selected target
|
||||||
|
kustomize-patch vela-system false A list of StrategicMerge or JSON6902 patch to selected
|
||||||
|
target
|
||||||
|
kustomize-strategy-merge vela-system false A list of strategic merge to kustomize config
|
||||||
|
labels vela-system * true Add labels on K8s pod for your workload which follows the
|
||||||
|
pod spec in path 'spec.template'.
|
||||||
|
lifecycle vela-system * true Add lifecycle hooks for the first container of K8s pod for
|
||||||
|
your workload which follows the pod spec in path
|
||||||
|
'spec.template'.
|
||||||
|
node-affinity vela-system * true affinity specify node affinity and toleration on K8s pod for
|
||||||
|
your workload which follows the pod spec in path
|
||||||
|
'spec.template'.
|
||||||
|
pvc vela-system deployments.apps true Create a Persistent Volume Claim and mount the PVC as volume
|
||||||
|
to the first container in the pod
|
||||||
|
resource vela-system * true Add resource requests and limits on K8s pod for your
|
||||||
|
workload which follows the pod spec in path 'spec.template.'
|
||||||
|
rollout vela-system false rollout the component
|
||||||
|
scaler vela-system * false Manually scale K8s pod for your workload which follows the
|
||||||
|
pod spec in path 'spec.template'.
|
||||||
|
service-binding vela-system webservice,worker false Binding secrets of cloud resources to component env
|
||||||
|
sidecar vela-system * true Inject a sidecar container to K8s pod for your workload
|
||||||
|
which follows the pod spec in path 'spec.template'.
|
||||||
|
volumes vela-system deployments.apps true Add volumes on K8s pod for your workload which follows the
|
||||||
|
pod spec in path 'spec.template'.
|
||||||
|
```
|
||||||
|
|
||||||
|
</details>
|
||||||
|
|
||||||
|
These capabilities are built-in so they are ready to use if showed up. KubeVela is designed to be programmable and fully self-service, so the assumption is more capabilities will be added later per your own needs.
|
||||||
|
|
||||||
## What's Next
|
## What's Next
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,8 @@ import TabItem from '@theme/TabItem';
|
||||||
|
|
||||||
## Install KubeVela with cert-manager
|
## Install KubeVela with cert-manager
|
||||||
|
|
||||||
KubeVela can use cert-manager generate certs for your application if it's available. Note that you need to install cert-manager **before** the KubeVela chart.
|
By default, KubeVela will use a self-signed certificate provided by [kube-webhook-certgen](https://github.com/jet/kube-webhook-certgen) for admissionWebhooks.
|
||||||
|
You can also use cert-manager if it's available. Note that you need to install cert-manager **before** the KubeVela chart.
|
||||||
|
|
||||||
```shell script
|
```shell script
|
||||||
helm repo add jetstack https://charts.jetstack.io
|
helm repo add jetstack https://charts.jetstack.io
|
||||||
|
|
@ -141,6 +142,39 @@ kubectl apply -f https://raw.githubusercontent.com/oam-dev/kubevela/v1.1.0/chart
|
||||||
helm upgrade --install --create-namespace --namespace vela-system kubevela kubevela/vela-core --version <the_new_version>
|
helm upgrade --install --create-namespace --namespace vela-system kubevela kubevela/vela-core --version <the_new_version>
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Addons
|
||||||
|
|
||||||
|
| Name | Description | capability | Open Source Project Reference |
|
||||||
|
|---------------------|-------------------------------------------------|----------------|-------------------------------------------------|
|
||||||
|
| terraform | Basic addon to Provide Cloud Resources(installed by default) | - | https://github.com/oam-dev/terraform-controller |
|
||||||
|
| fluxcd | Support Deployment of Helm and Kustomize components | kustomize、helm | https://fluxcd.io/ |
|
||||||
|
| kruise | Support more powerful workload feature | cloneset | https://openkruise.io/ |
|
||||||
|
| prometheus | Support basic observability from Promethus | - | https://prometheus.io/ |
|
||||||
|
| keda | Support event driven auto scaling | - | https://keda.sh/ |
|
||||||
|
| ocm | Support Multi-cluster Application Deployment | - | http://open-cluster-management.io/ |
|
||||||
|
| observability | Support KubeVela core observability | - | - |
|
||||||
|
|
||||||
|
1. Search all addons
|
||||||
|
|
||||||
|
```shell
|
||||||
|
vela addon list
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Install addons (use fluxcd as example)
|
||||||
|
|
||||||
|
```shell
|
||||||
|
vela addon enable fluxcd
|
||||||
|
```
|
||||||
|
|
||||||
|
3. Disable addons
|
||||||
|
|
||||||
|
```
|
||||||
|
vela addon disable fluxcd
|
||||||
|
```
|
||||||
|
|
||||||
|
Please remove all application using this addon before disable it.
|
||||||
|
|
||||||
|
|
||||||
## Clean Up
|
## Clean Up
|
||||||
|
|
||||||
Run:
|
Run:
|
||||||
|
|
@ -184,34 +218,3 @@ Then clean up CRDs (CRDs are not removed via helm by default):
|
||||||
workloaddefinitions.core.oam.dev
|
workloaddefinitions.core.oam.dev
|
||||||
```
|
```
|
||||||
|
|
||||||
## Addons
|
|
||||||
|
|
||||||
| Name | Description | capability | Open Source Project Reference |
|
|
||||||
|---------------------|-------------------------------------------------|----------------|-------------------------------------------------|
|
|
||||||
| terraform | Basic addon to Provide Cloud Resources(installed by default) | - | https://github.com/oam-dev/terraform-controller |
|
|
||||||
| fluxcd | Support Deployment of Helm and Kustomize components | kustomize、helm | https://fluxcd.io/ |
|
|
||||||
| kruise | Support more powerful workload feature | cloneset | https://openkruise.io/ |
|
|
||||||
| prometheus | Support basic observability from Promethus | - | https://prometheus.io/ |
|
|
||||||
| keda | Support event driven auto scaling | - | https://keda.sh/ |
|
|
||||||
| ocm | Support Multi-cluster Application Deployment | - | http://open-cluster-management.io/ |
|
|
||||||
| observability | Support KubeVela core observability | - | - |
|
|
||||||
|
|
||||||
1. Search all addons
|
|
||||||
|
|
||||||
```shell
|
|
||||||
vela addon list
|
|
||||||
```
|
|
||||||
|
|
||||||
2. Install addons (use fluxcd as example)
|
|
||||||
|
|
||||||
```shell
|
|
||||||
vela addon enable fluxcd
|
|
||||||
```
|
|
||||||
|
|
||||||
3. Disable addons
|
|
||||||
|
|
||||||
```
|
|
||||||
vela addon disable fluxcd
|
|
||||||
```
|
|
||||||
|
|
||||||
Please remove all application using this addon before disable it.
|
|
||||||
|
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
---
|
|
||||||
title: 易用可扩展的 PaaS
|
|
||||||
---
|
|
||||||
|
|
@ -15,39 +15,37 @@ import TabItem from '@theme/TabItem';
|
||||||
|
|
||||||
KubeVela 得以成为控制平面,主要是依赖 Kubernetes 。它可以放置在任何托管 Kubernetes 作为底座的产品或你自己的集群中。
|
KubeVela 得以成为控制平面,主要是依赖 Kubernetes 。它可以放置在任何托管 Kubernetes 作为底座的产品或你自己的集群中。
|
||||||
|
|
||||||
下面,我们使用 minikube 或 kind 在本地部署、测试来熟悉学习 KubeVela,
|
你可以使用 kind 或 minikube 在本地部署、测试 KubeVela,或者使用云厂商提供的 Kubernetes 服务做生产部署。
|
||||||
|
|
||||||
> 注意: 如果你不是使用 minikube 或 kind 来进行学习,请确保[安装或启用 ingress-nginx](https://kubernetes.github.io/ingress-nginx/deploy/)。
|
|
||||||
|
|
||||||
<Tabs
|
<Tabs
|
||||||
className="unique-tabs"
|
className="unique-tabs"
|
||||||
defaultValue="minikube"
|
defaultValue="kind"
|
||||||
values={[
|
values={[
|
||||||
|
{label: 'Kind', value: 'kind'},
|
||||||
{label: 'Minikube', value: 'minikube'},
|
{label: 'Minikube', value: 'minikube'},
|
||||||
{label: 'KinD', value: 'kind'},
|
{label: 'Cloud Provider', value: 'cloudprovider'},
|
||||||
]}>
|
]}>
|
||||||
|
|
||||||
<TabItem value="minikube">
|
<TabItem value="minikube">
|
||||||
|
|
||||||
先使用 minikube [安装指南](https://minikube.sigs.k8s.io/docs/start/)。
|
[安装 minikube](https://minikube.sigs.k8s.io/docs/start/) 后,创建一个集群:
|
||||||
|
|
||||||
安装 minikube 后,创建一个集群:
|
|
||||||
|
|
||||||
```shell script
|
```shell script
|
||||||
minikube start
|
minikube start
|
||||||
```
|
```
|
||||||
|
|
||||||
安装 ingress:
|
<details> <summary> 安装 ingress 启用路由访问功能 </summary>
|
||||||
|
|
||||||
```shell script
|
```shell script
|
||||||
minikube addons enable ingress
|
minikube addons enable ingress
|
||||||
```
|
```
|
||||||
|
|
||||||
|
</details>
|
||||||
</TabItem>
|
</TabItem>
|
||||||
|
|
||||||
<TabItem value="kind">
|
<TabItem value="kind">
|
||||||
|
|
||||||
请按照本[指南](https://kind.sigs.k8s.io/docs/user/quick-start/#installation)进行安装。
|
安装 [Kind 命令行工具](https://kind.sigs.k8s.io/docs/user/quick-start/#installation)后,创建集群:
|
||||||
|
|
||||||
然后拉起一个 kind 集群:
|
|
||||||
|
|
||||||
```shell script
|
```shell script
|
||||||
cat <<EOF | kind create cluster --image=kindest/node:v1.18.15 --config=-
|
cat <<EOF | kind create cluster --image=kindest/node:v1.18.15 --config=-
|
||||||
|
|
@ -71,11 +69,25 @@ nodes:
|
||||||
EOF
|
EOF
|
||||||
```
|
```
|
||||||
|
|
||||||
然后安装 [ingress for kind](https://kind.sigs.k8s.io/docs/user/ingress/#ingress-nginx):
|
<details> <summary> 安装 ingress 启用路由访问功能 </summary>
|
||||||
|
|
||||||
```shell script
|
```shell script
|
||||||
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/provider/kind/deploy.yaml
|
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/provider/kind/deploy.yaml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
</details>
|
||||||
|
|
||||||
|
</TabItem>
|
||||||
|
|
||||||
|
<TabItem value="cloudprovider">
|
||||||
|
|
||||||
|
* 阿里云 [ACK 服务](https://www.aliyun.com/product/kubernetes)
|
||||||
|
* AWS [EKS 服务](https://aws.amazon.com/cn/eks)
|
||||||
|
* Azure [AKS 服务](https://azure.microsoft.com/en-us/services/kubernetes-service)
|
||||||
|
* Google [GKE 服务](https://cloud.google.com/kubernetes-engine)
|
||||||
|
|
||||||
|
> 注意: 请确保云厂商的集群[已安装或启用 ingress-nginx](https://kubernetes.github.io/ingress-nginx/deploy/) 以保证路由访问功能可正常使用。
|
||||||
|
|
||||||
</TabItem>
|
</TabItem>
|
||||||
</Tabs>
|
</Tabs>
|
||||||
|
|
||||||
|
|
@ -96,14 +108,15 @@ helm repo update
|
||||||
```shell script
|
```shell script
|
||||||
helm install --create-namespace -n vela-system kubevela kubevela/vela-core
|
helm install --create-namespace -n vela-system kubevela kubevela/vela-core
|
||||||
```
|
```
|
||||||
默认情况下,它将使用 [kube-webhook-certgen](https://github.com/jet/kube-webhook-certgen) 提供的自签名证书启用 webhook。你也可以用 [`cert-manager`](../platform-engineers/advanced-install#install-kubevela-with-cert-manager) 安装。
|
|
||||||
|
你可以参考 [`自定义安装`](../platform-engineers/advanced-install) 获取更多安装模式和功能。
|
||||||
|
|
||||||
4. 验证 chart 安装是否成功
|
4. 验证 chart 安装是否成功
|
||||||
```shell script
|
```shell script
|
||||||
helm test kubevela -n vela-system
|
helm test kubevela -n vela-system
|
||||||
```
|
```
|
||||||
|
|
||||||
<details> <summary> 可以点开看看输出会是什么样子 </summary>
|
<details> <summary> 点击查看期望输出 </summary>
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
Pod kubevela-application-test pending
|
Pod kubevela-application-test pending
|
||||||
|
|
@ -191,8 +204,7 @@ sudo mv ./vela /usr/local/bin/vela
|
||||||
|
|
||||||
## 4. 安装插件
|
## 4. 安装插件
|
||||||
|
|
||||||
KubeVela 支持一系列[开箱即用的插件](../platform-engineers/advanced-install#插件列表),
|
KubeVela 支持一系列[开箱即用的插件](../platform-engineers/advanced-install#插件列表),建议您至少开启以下插件:
|
||||||
为保证 KubeVela 相关功能正常使用,建议您至少开启以下插件:
|
|
||||||
|
|
||||||
* Helm 以及 Kustomize 组件功能插件
|
* Helm 以及 Kustomize 组件功能插件
|
||||||
```shell
|
```shell
|
||||||
|
|
@ -200,15 +212,24 @@ KubeVela 支持一系列[开箱即用的插件](../platform-engineers/advanced-i
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
## 5. 验证是否安装成功
|
## 5. 查看已安装能力
|
||||||
|
|
||||||
通过 `vela` CLI 来看看有哪些应用程序的组件和特征:
|
|
||||||
|
|
||||||
|
* 通过 `vela` CLI 来看看有哪些组件类型:
|
||||||
```shell script
|
```shell script
|
||||||
vela components
|
vela components
|
||||||
```
|
```
|
||||||
|
<details> <summary> 查看输出 </summary>
|
||||||
|
|
||||||
```console
|
```console
|
||||||
NAME NAMESPACE WORKLOAD DESCRIPTION
|
NAME NAMESPACE WORKLOAD DESCRIPTION
|
||||||
|
alibaba-ack vela-system configurations.terraform.core.oam.dev Terraform configuration for Alibaba Cloud ACK cluster
|
||||||
|
alibaba-oss vela-system configurations.terraform.core.oam.dev Terraform configuration for Alibaba Cloud OSS object
|
||||||
|
alibaba-rds vela-system configurations.terraform.core.oam.dev Terraform configuration for Alibaba Cloud RDS object
|
||||||
|
helm vela-system autodetects.core.oam.dev helm release is a group of K8s resources from either git
|
||||||
|
repository or helm repo
|
||||||
|
kustomize vela-system autodetects.core.oam.dev kustomize can fetching, building, updating and applying
|
||||||
|
Kustomize manifests from git repo.
|
||||||
|
raw vela-system autodetects.core.oam.dev raw allow users to specify raw K8s object in properties
|
||||||
task vela-system jobs.batch Describes jobs that run code or a script to completion.
|
task vela-system jobs.batch Describes jobs that run code or a script to completion.
|
||||||
webservice vela-system deployments.apps Describes long-running, scalable, containerized services
|
webservice vela-system deployments.apps Describes long-running, scalable, containerized services
|
||||||
that have a stable network endpoint to receive external
|
that have a stable network endpoint to receive external
|
||||||
|
|
@ -218,9 +239,60 @@ worker vela-system deployments.apps Describes long-running, scalable, contai
|
||||||
to receive external network traffic.
|
to receive external network traffic.
|
||||||
```
|
```
|
||||||
|
|
||||||
以上的这些能力都是已经内置的,随取随用。而由于 KubeVela 从一开始就被设计成可编程的,你可以按玩乐高积木一样,添加任何你需要的功能。
|
</details>
|
||||||
|
|
||||||
并且,一旦这些自定力的能力被加入到 KubeVela 控制平面中,你立即就能从上面的输出中看到了。
|
* 通过 `vela` CLI 来看看有哪些运维功能:
|
||||||
|
```shell script
|
||||||
|
vela traits
|
||||||
|
```
|
||||||
|
<details> <summary> 查看输出 </summary>
|
||||||
|
|
||||||
|
```console
|
||||||
|
NAME NAMESPACE APPLIES-TO CONFLICTS-WITH POD-DISRUPTIVE DESCRIPTION
|
||||||
|
annotations vela-system * true Add annotations on K8s pod for your workload which follows
|
||||||
|
the pod spec in path 'spec.template'.
|
||||||
|
configmap vela-system * true Create/Attach configmaps on K8s pod for your workload which
|
||||||
|
follows the pod spec in path 'spec.template'.
|
||||||
|
cpuscaler vela-system deployments.apps false Automatically scale the component based on CPU usage.
|
||||||
|
env vela-system * false add env on K8s pod for your workload which follows the pod
|
||||||
|
spec in path 'spec.template.'
|
||||||
|
expose vela-system false Expose port to enable web traffic for your component.
|
||||||
|
hostalias vela-system * false Add host aliases on K8s pod for your workload which follows
|
||||||
|
the pod spec in path 'spec.template'.
|
||||||
|
ingress vela-system false Enable public web traffic for the component.
|
||||||
|
ingress-1-20 vela-system false Enable public web traffic for the component, the ingress API
|
||||||
|
matches K8s v1.20+.
|
||||||
|
init-container vela-system deployments.apps true add an init container and use shared volume with pod
|
||||||
|
kustomize-json-patch vela-system false A list of JSON6902 patch to selected target
|
||||||
|
kustomize-patch vela-system false A list of StrategicMerge or JSON6902 patch to selected
|
||||||
|
target
|
||||||
|
kustomize-strategy-merge vela-system false A list of strategic merge to kustomize config
|
||||||
|
labels vela-system * true Add labels on K8s pod for your workload which follows the
|
||||||
|
pod spec in path 'spec.template'.
|
||||||
|
lifecycle vela-system * true Add lifecycle hooks for the first container of K8s pod for
|
||||||
|
your workload which follows the pod spec in path
|
||||||
|
'spec.template'.
|
||||||
|
node-affinity vela-system * true affinity specify node affinity and toleration on K8s pod for
|
||||||
|
your workload which follows the pod spec in path
|
||||||
|
'spec.template'.
|
||||||
|
pvc vela-system deployments.apps true Create a Persistent Volume Claim and mount the PVC as volume
|
||||||
|
to the first container in the pod
|
||||||
|
resource vela-system * true Add resource requests and limits on K8s pod for your
|
||||||
|
workload which follows the pod spec in path 'spec.template.'
|
||||||
|
rollout vela-system false rollout the component
|
||||||
|
scaler vela-system * false Manually scale K8s pod for your workload which follows the
|
||||||
|
pod spec in path 'spec.template'.
|
||||||
|
service-binding vela-system webservice,worker false Binding secrets of cloud resources to component env
|
||||||
|
sidecar vela-system * true Inject a sidecar container to K8s pod for your workload
|
||||||
|
which follows the pod spec in path 'spec.template'.
|
||||||
|
volumes vela-system deployments.apps true Add volumes on K8s pod for your workload which follows the
|
||||||
|
pod spec in path 'spec.template'.
|
||||||
|
```
|
||||||
|
|
||||||
|
</details>
|
||||||
|
|
||||||
|
|
||||||
|
以上的这些能力都是已经内置的,随取随用。而由于 KubeVela 从一开始就被设计成可编程的,你可以按玩乐高积木一样,添加任何你需要的功能。
|
||||||
|
|
||||||
## 下一步
|
## 下一步
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,10 @@ title: 自定义安装
|
||||||
|
|
||||||
## 带着证书管理器安装 KubeVela
|
## 带着证书管理器安装 KubeVela
|
||||||
|
|
||||||
KubeVela 可以使用证书管理器为你的应用生成证书,但是你需要提前安装好证书管理器。
|
默认情况下,KubeVela 使用 [kube-webhook-certgen](https://github.com/jet/kube-webhook-certgen) 提供的自签名证书以便使用参数校验等 Webhook 功能。
|
||||||
|
你可以对接证书管理软件(Cert Manager),但是你需要提前安装好。
|
||||||
|
|
||||||
|
1. 安装 Cert Manager (如果已经安装,可省略)
|
||||||
|
|
||||||
```shell script
|
```shell script
|
||||||
helm repo add jetstack https://charts.jetstack.io
|
helm repo add jetstack https://charts.jetstack.io
|
||||||
|
|
@ -12,7 +15,7 @@ helm repo update
|
||||||
helm install cert-manager jetstack/cert-manager --namespace cert-manager --version v1.2.0 --create-namespace --set installCRDs=true
|
helm install cert-manager jetstack/cert-manager --namespace cert-manager --version v1.2.0 --create-namespace --set installCRDs=true
|
||||||
```
|
```
|
||||||
|
|
||||||
安装 KubeVela 同时启用证书管理器:
|
2. 安装 KubeVela 同时启用证书管理器:
|
||||||
|
|
||||||
```shell script
|
```shell script
|
||||||
helm install --create-namespace -n vela-system --set admissionWebhooks.certManager.enabled=true kubevela kubevela/vela-core
|
helm install --create-namespace -n vela-system --set admissionWebhooks.certManager.enabled=true kubevela kubevela/vela-core
|
||||||
|
|
@ -100,6 +103,39 @@ kubectl apply -f https://raw.githubusercontent.com/oam-dev/kubevela/v1.1.0/chart
|
||||||
helm upgrade --install --create-namespace --namespace vela-system kubevela kubevela/vela-core --version <the_new_version>
|
helm upgrade --install --create-namespace --namespace vela-system kubevela kubevela/vela-core --version <the_new_version>
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## 插件列表
|
||||||
|
|
||||||
|
| 插件 | 简介 | 对应的内置功能 | 插件对应开源项目 |
|
||||||
|
|---------------------|-------------------------------------------------|----------------|-------------------------------------------------|
|
||||||
|
| terraform | 提供云资源(默认已安装) | - | https://github.com/oam-dev/terraform-controller |
|
||||||
|
| fluxcd | 提供 Helm、Kustomize 组件的部署功能 | kustomize、helm | https://fluxcd.io/ |
|
||||||
|
| kruise | 提供比 Kubernetes 原生更强大的工作负载套件 | cloneset | https://openkruise.io/ |
|
||||||
|
| prometheus | 提供基于 Promethus 的基础监控功能 | - | https://prometheus.io/ |
|
||||||
|
| keda | 提供基于事件驱动的工作负载自动扩缩容功能 | - | https://keda.sh/ |
|
||||||
|
| ocm | 提供多集群功能的系统插件 | - | http://open-cluster-management.io/ |
|
||||||
|
| observability | 为 KubeVela core 提供系统级别的监控,也可以为应用提供业务级别的监控。 | - | - |
|
||||||
|
|
||||||
|
1. 查看可用的插件
|
||||||
|
|
||||||
|
```shell
|
||||||
|
vela addon list
|
||||||
|
```
|
||||||
|
|
||||||
|
2. 安装插件,以 fluxcd 插件为例
|
||||||
|
|
||||||
|
```shell
|
||||||
|
vela addon enable fluxcd
|
||||||
|
```
|
||||||
|
|
||||||
|
3. 禁用插件
|
||||||
|
|
||||||
|
```
|
||||||
|
vela addon disable fluxcd
|
||||||
|
```
|
||||||
|
|
||||||
|
禁用前请先清理使用插件功能的应用,否则将禁用失败。
|
||||||
|
|
||||||
|
|
||||||
## 卸载
|
## 卸载
|
||||||
|
|
||||||
运行命令:
|
运行命令:
|
||||||
|
|
@ -140,35 +176,3 @@ rm -r ~/.vela
|
||||||
workflowstepdefinitions.core.oam.dev \
|
workflowstepdefinitions.core.oam.dev \
|
||||||
workloaddefinitions.core.oam.dev
|
workloaddefinitions.core.oam.dev
|
||||||
```
|
```
|
||||||
|
|
||||||
## 插件列表
|
|
||||||
|
|
||||||
| 插件 | 简介 | 对应的内置功能 | 插件对应开源项目 |
|
|
||||||
|---------------------|-------------------------------------------------|----------------|-------------------------------------------------|
|
|
||||||
| terraform | 提供云资源(默认已安装) | - | https://github.com/oam-dev/terraform-controller |
|
|
||||||
| fluxcd | 提供 Helm、Kustomize 组件的部署功能 | kustomize、helm | https://fluxcd.io/ |
|
|
||||||
| kruise | 提供比 Kubernetes 原生更强大的工作负载套件 | cloneset | https://openkruise.io/ |
|
|
||||||
| prometheus | 提供基于 Promethus 的基础监控功能 | - | https://prometheus.io/ |
|
|
||||||
| keda | 提供基于事件驱动的工作负载自动扩缩容功能 | - | https://keda.sh/ |
|
|
||||||
| ocm | 提供多集群功能的系统插件 | - | http://open-cluster-management.io/ |
|
|
||||||
| observability | 为 KubeVela core 提供系统级别的监控,也可以为应用提供业务级别的监控。 | - | - |
|
|
||||||
|
|
||||||
1. 查看可用的插件
|
|
||||||
|
|
||||||
```shell
|
|
||||||
vela addon list
|
|
||||||
```
|
|
||||||
|
|
||||||
2. 安装插件,以 fluxcd 插件为例
|
|
||||||
|
|
||||||
```shell
|
|
||||||
vela addon enable fluxcd
|
|
||||||
```
|
|
||||||
|
|
||||||
3. 禁用插件
|
|
||||||
|
|
||||||
```
|
|
||||||
vela addon disable fluxcd
|
|
||||||
```
|
|
||||||
|
|
||||||
禁用前请先清理使用插件功能的应用,否则将禁用失败。
|
|
||||||
|
|
|
||||||
|
|
@ -7,9 +7,6 @@ KubeVela 中的 Trait 特性可以从基于Helm的组件无缝添加.
|
||||||
在以下应用实例中,我们将基于 Helm 组件添加两个 Trait 特性 [scaler](https://github.com/oam-dev/kubevela/blob/master/charts/vela-core/templates/defwithtemplate/manualscale.yaml) 和 [virtualgroup](https://github.com/oam-dev/kubevela/blob/master/docs/examples/helm-module/virtual-group-td.yaml).
|
在以下应用实例中,我们将基于 Helm 组件添加两个 Trait 特性 [scaler](https://github.com/oam-dev/kubevela/blob/master/charts/vela-core/templates/defwithtemplate/manualscale.yaml) 和 [virtualgroup](https://github.com/oam-dev/kubevela/blob/master/docs/examples/helm-module/virtual-group-td.yaml).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
apiVersion: core.oam.dev/v1beta1
|
apiVersion: core.oam.dev/v1beta1
|
||||||
kind: Application
|
kind: Application
|
||||||
|
|
|
||||||
23
sidebars.js
23
sidebars.js
|
|
@ -101,6 +101,17 @@ module.exports = {
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
type: 'category',
|
||||||
|
label: 'Case Studies',
|
||||||
|
collapsed: false,
|
||||||
|
items: [
|
||||||
|
'case-studies/jenkins-cicd'
|
||||||
|
// 'case-studies/workflow-edge-computing', // 待完成
|
||||||
|
// 'case-studies/li-auto-inc', 暂时下掉,应该改写成一个 10 - 15 分钟体验的产品 lab 例子
|
||||||
|
// 'case-studies/workflow-with-ocm',
|
||||||
|
],
|
||||||
|
},
|
||||||
{
|
{
|
||||||
type: 'category',
|
type: 'category',
|
||||||
label: 'Platform Admin Guide',
|
label: 'Platform Admin Guide',
|
||||||
|
|
@ -169,18 +180,6 @@ module.exports = {
|
||||||
'platform-engineers/advanced-install',
|
'platform-engineers/advanced-install',
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
|
||||||
type: 'category',
|
|
||||||
label: 'Case Studies',
|
|
||||||
collapsed: false,
|
|
||||||
items: [
|
|
||||||
'case-studies/jenkins-cicd'
|
|
||||||
// 'case-studies/paas',
|
|
||||||
// 'case-studies/workflow-edge-computing', // 待完成
|
|
||||||
// 'case-studies/li-auto-inc', 暂时下掉,应该改写成一个 10 - 15 分钟体验的产品 lab 例子
|
|
||||||
// 'case-studies/workflow-with-ocm',
|
|
||||||
],
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
type: 'category',
|
type: 'category',
|
||||||
label: 'Using KubeVela CLI',
|
label: 'Using KubeVela CLI',
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue