安装

如果你之前已经安装了 KubeVela chart,请直接阅读升级步骤。

要求:

  • Kubernetes 集群版本 >= v1.15.0
  • 安装并配置 kubectl

KubeVela是一个简单的自定义控制器,可以安装在任何 Kubernetes 集群上,包括托管产品或你自己的集群。唯一的要求是请确保已安装并启用了 。

  • Minikube
  • KinD

遵循 minikube 安装指南

安装 minikube 后,创建一个集群:

安装 ingress:

请按照本进行安装。

然后拉起一个 kind 集群:

  1. cat <<EOF | kind create cluster --image=kindest/node:v1.18.15 --config=-
  2. kind: Cluster
  3. apiVersion: kind.x-k8s.io/v1alpha4
  4. nodes:
  5. - role: control-plane
  6. kubeadmConfigPatches:
  7. - |
  8. kind: InitConfiguration
  9. nodeRegistration:
  10. kubeletExtraArgs:
  11. node-labels: "ingress-ready=true"
  12. extraPortMappings:
  13. - containerPort: 80
  14. hostPort: 80
  15. protocol: TCP
  16. - containerPort: 443
  17. hostPort: 443
  18. protocol: TCP
  19. EOF

然后安装 ingress for kind:

  1. kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/provider/kind/deploy.yaml

2. 安装 KubeVela 控制器

这些步骤将安装 KubeVela 控制器及其依赖项。

  1. 添加 KubeVela helm chart 仓库
    1. 更新 chart 仓库
    1. helm repo update
    1. 安装 KubeVela
    1. helm install --create-namespace -n vela-system kubevela kubevela/vela-core

    如果你想尝试最新的 master 分支, 在命令 helm search 中添加标志 --devel 以选择预发布版本 格式为 <下个版本号>-rc-master 的版本, 表示这是建立在 master 分支上的下一个候选发行版应, 例如 0.4.0-rc-master

    1. helm search repo kubevela/vela-core -l --devel
    1. NAME CHART VERSION APP VERSION DESCRIPTION
    2. kubevela/vela-core 0.4.0-rc-master 0.4.0-rc-master A Helm chart for KubeVela core
    3. kubevela/vela-core 0.3.1 0.3.1 A Helm chart for KubeVela core

    尝试使用以下命令进行安装。

    1. NAME: kubevela
    2. LAST DEPLOYED: Thu Apr 1 19:41:30 2021
    3. NAMESPACE: vela-system
    4. STATUS: deployed
    5. REVISION: 1
    6. NOTES:
    7. Welcome to use the KubeVela! Enjoy your shipping application journey!
    1. (可选)使用 cert-manager 安装 Kubevela

    如果已经安装了 cert-manager,则可以使用它来生成证书。

    1. helm repo add jetstack https://charts.jetstack.io
    2. helm repo update
    3. helm install cert-manager jetstack/cert-manager --namespace cert-manager --version v1.2.0 --create-namespace --set installCRDs=true

    安装 KubeVela,启用 certmanager:

    1. helm install --create-namespace -n vela-system --set admissionWebhooks.certManager.enabled=true kubevela kubevela/vela-core

    3. (可选)安装 flux2

    这个安装步骤是可选的,如果你想将 作为 KubeVela 的能力,那么这一步是必需的。

    KubeVela 依赖于 fluxcd/flux2 的几个 CRD 和控制器。

    你可以从其上安装整个 flux2,也可以安装由 KubeVela 提供的近包含最小集的 helm chart:

    1. $ helm install --create-namespace -n flux-system helm-flux http://oam.dev/catalog/helm-flux2-0.1.0.tgz

    这里有三种获取 KubeVela Cli 的方法:

    • Script
    • Homebrew
    • Download directly from releases

    macOS/Linux

    1. curl -fsSl https://kubevela.io/script/install.sh | bash

    Windows

    1. powershell -Command "iwr -useb https://kubevela.io/script/install.ps1 | iex"

    首先更新你的 brew 缓存。

    1. brew update

    安装 KubeVela 客户端.

    1. brew install kubevela
    • 版本发布页面下载最新的 vela 二进制版本.
    • 解压缩 vela 二进制文件并将其添加到 $PATH 开始使用.

    5. (可选)从群集同步功能

    如果要从 vela cli 运行应用程序,则应首先同步功能,如下所示:

    1. vela components
    1. NAME NAMESPACE WORKLOAD DESCRIPTION
    2. task vela-system jobs.batch Describes jobs that run code or a script to completion.
    3. webservice vela-system deployments.apps Describes long-running, scalable, containerized services
    4. that have a stable network endpoint to receive external
    5. worker vela-system deployments.apps Describes long-running, scalable, containerized services
    6. that running at backend. They do NOT have network endpoint
    7. to receive external network traffic.

    6. (可选)清理

    运行:

    1. helm uninstall -n vela-system kubevela
    2. rm -r ~/.vela

    这将卸载 KubeVela 服务器组件及其依赖组件。 这也会清理本地 CLI 缓存。

    然后清除 CRDs (CRDs 默认不会通过 helm 移除):

    1. appdeployments.core.oam.dev \
    2. applicationconfigurations.core.oam.dev \
    3. applicationcontexts.core.oam.dev \
    4. applicationdeployments.core.oam.dev \
    5. applicationrevisions.core.oam.dev \
    6. applications.core.oam.dev \
    7. approllouts.core.oam.dev \
    8. componentdefinitions.core.oam.dev \
    9. components.core.oam.dev \
    10. containerizedworkloads.core.oam.dev \
    11. healthscopes.core.oam.dev \
    12. manualscalertraits.core.oam.dev \
    13. podspecworkloads.standard.oam.dev \
    14. scopedefinitions.core.oam.dev \
    15. traitdefinitions.core.oam.dev \
    16. workloaddefinitions.core.oam.dev

    升级

    如果你已经安装了 KubeVela,并希望升级到新版本,可以按照以下说明进行操作。

    1. helm repo update

    你可以通过运行以下命令获取新版本的 KubeVela 图表:

    1. helm search repo kubevela/vela-core -l

    Step 2. 升级 KubeVela CRDs

    1. kubectl apply -f https://raw.githubusercontent.com/oam-dev/kubevela/master/charts/vela-core/crds/core.oam.dev_componentdefinitions.yaml
    2. kubectl apply -f https://raw.githubusercontent.com/oam-dev/kubevela/master/charts/vela-core/crds/core.oam.dev_workloaddefinitions.yaml
    3. kubectl apply -f https://raw.githubusercontent.com/oam-dev/kubevela/master/charts/vela-core/crds/core.oam.dev_traitdefinitions.yaml
    4. kubectl apply -f https://raw.githubusercontent.com/oam-dev/kubevela/master/charts/vela-core/crds/core.oam.dev_applications.yaml
    5. kubectl apply -f https://raw.githubusercontent.com/oam-dev/kubevela/master/charts/vela-core/crds/core.oam.dev_approllouts.yaml
    6. kubectl apply -f https://raw.githubusercontent.com/oam-dev/kubevela/master/charts/vela-core/crds/core.oam.dev_applicationrevisions.yaml
    7. kubectl apply -f https://raw.githubusercontent.com/oam-dev/kubevela/master/charts/vela-core/crds/core.oam.dev_scopedefinitions.yaml
    8. kubectl apply -f https://raw.githubusercontent.com/oam-dev/kubevela/master/charts/vela-core/crds/core.oam.dev_appdeployments.yaml
    9. kubectl apply -f https://raw.githubusercontent.com/oam-dev/kubevela/master/charts/vela-core/crds/core.oam.dev_applicationcontexts.yaml
    10. kubectl apply -f https://raw.githubusercontent.com/oam-dev/kubevela/master/charts/vela-core/crds/core.oam.dev_definitionrevisions.yaml
    1. kubectl delete crd \
    2. scopedefinitions.core.oam.dev \
    3. workloaddefinitions.core.oam.dev

    Step 3. 升级 KubeVela helm chart