kubevela.github.io/i18n/zh/docusaurus-plugin-content-docs/current/getting-started/quick-install.mdx

229 lines
6.6 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: 快速安装
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
> 如果是要升级现有的 KubeVela请直接阅读[升级指南](../platform-engineers/advanced-install#升级).
## 1. 选择放置控制平面的集群
确保:
- Kubernetes 集群版本 >= v1.18.0
- 安装并配置 kubectl 命令行工具
KubeVela 得以成为控制平面,主要是依赖 Kubernetes 。它可以放置在任何托管 Kubernetes 作为底座的产品或你自己的集群中。
下面,我们使用 minikube 或 kind 在本地部署、测试来熟悉学习 KubeVela
> 注意: 如果你不是使用 minikube 或 kind 来进行学习,请确保[安装或启用 ingress-nginx](https://kubernetes.github.io/ingress-nginx/deploy/)。
<Tabs
className="unique-tabs"
defaultValue="minikube"
values={[
{label: 'Minikube', value: 'minikube'},
{label: 'KinD', value: 'kind'},
]}>
<TabItem value="minikube">
先使用 minikube [安装指南](https://minikube.sigs.k8s.io/docs/start/)。
安装 minikube 后,创建一个集群:
```shell script
minikube start
```
安装 ingress:
```shell script
minikube addons enable ingress
```
</TabItem>
<TabItem value="kind">
请按照本[指南](https://kind.sigs.k8s.io/docs/user/quick-start/#installation)进行安装。
然后拉起一个 kind 集群:
```shell script
cat <<EOF | kind create cluster --image=kindest/node:v1.18.15 --config=-
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
- role: control-plane
kubeadmConfigPatches:
- |
kind: InitConfiguration
nodeRegistration:
kubeletExtraArgs:
node-labels: "ingress-ready=true"
extraPortMappings:
- containerPort: 80
hostPort: 80
protocol: TCP
- containerPort: 443
hostPort: 443
protocol: TCP
EOF
```
然后安装 [ingress for kind](https://kind.sigs.k8s.io/docs/user/ingress/#ingress-nginx):
```shell script
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/provider/kind/deploy.yaml
```
</TabItem>
</Tabs>
## 2. 安装 KubeVela
1. 添加 KubeVela helm chart 仓库
```shell script
helm repo add kubevela https://charts.kubevela.net/core
```
2. 更新 chart 仓库
```shell script
helm repo update
```
3. 安装 KubeVela
```shell script
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) 安装。
4. 验证 chart 安装是否成功
```shell script
helm test kubevela -n vela-system
```
<details> <summary> 可以点开看看输出会是什么样子 </summary>
```shell
Pod kubevela-application-test pending
Pod kubevela-application-test pending
Pod kubevela-application-test running
Pod kubevela-application-test succeeded
NAME: kubevela
LAST DEPLOYED: Tue Apr 13 18:42:20 2021
NAMESPACE: vela-system
STATUS: deployed
REVISION: 1
TEST SUITE: kubevela-application-test
Last Started: Fri Apr 16 20:49:10 2021
Last Completed: Fri Apr 16 20:50:04 2021
Phase: Succeeded
TEST SUITE: first-vela-app
Last Started: Fri Apr 16 20:49:10 2021
Last Completed: Fri Apr 16 20:49:10 2021
Phase: Succeeded
NOTES:
Welcome to use the KubeVela! Enjoy your shipping application journey!
```
</details>
## 3. 安装 KubeVela CLI
KubeVela CLI 可以让你更便捷地来管理应用交付。不过,它不是必须使用的。
KubeVela CLI 也可以通过 [kubectl plugin](../platform-engineers/advanced-install#install-kubectl-vela-plugin) 的方式来安装,或者通过二进制文件.
<Tabs
className="unique-tabs"
defaultValue="script"
values={[
{label: 'Script', value: 'script'},
{label: 'Homebrew', value: 'homebrew'},
{label: 'Download directly from releases', value: 'download'},
]}>
<TabItem value="script">
** macOS/Linux **
```shell script
curl -fsSl https://kubevela.io/script/install.sh | bash
```
**Windows**
```shell script
powershell -Command "iwr -useb https://kubevela.io/script/install.ps1 | iex"
```
</TabItem>
<TabItem value="homebrew">
**macOS/Linux**
先更新下你的 brew
```shell script
brew update
```
紧接着安装 KubeVela
```shell script
brew install kubevela
```
</TabItem>
<TabItem value="download">
- 通过[发布日志](https://github.com/oam-dev/kubevela/releases)下载最新的 `vela` 二进制文件。
- 解压二进制文件,并且在 `$PATH` 中配好环境变量,就搞定啦。
```shell script
sudo mv ./vela /usr/local/bin/vela
```
> [安装提示](https://github.com/oam-dev/kubevela/issues/625):
> 如果你使用的是 Mac 系统,它会弹出 “vela” 无法打开的警告,因为来自开发者的包无法验证。
>
> MacOS 对能够在系统中运行的软件,采取了更加严格的限制。你暂时可以通过打开 'System Preference' -> 'Security & Privacy' -> General 并点击 'Allow Anyway' 来解决这个问题。
</TabItem>
</Tabs>
## 4. 打开 Helm 支持
KubeVela 调用 [Flux v2](https://github.com/fluxcd/flux2) 的 [Helm](https://helm.sh/) 控制器来部署组件系统。
你可以通过如下命令打开这个功能:
```shell
vela addon enable fluxcd
```
或者你也可以通过 Flux v2 的文档来安装完整版本。
## 5. 验证是否安装成功
通过 `vela` CLI 来看看有哪些应用程序的组件和特征:
```shell script
vela components
```
```console
NAME NAMESPACE WORKLOAD DESCRIPTION
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
that have a stable network endpoint to receive external
network traffic from customers.
worker vela-system deployments.apps Describes long-running, scalable, containerized services
that running at backend. They do NOT have network endpoint
to receive external network traffic.
```
以上的这些能力都是已经内置的,随取随用。而由于 KubeVela 从一开始就被设计成可编程的,你可以按玩乐高积木一样,添加任何你需要的功能。
并且,一旦这些自定力的能力被加入到 KubeVela 控制平面中,你立即就能从上面的输出中看到了。
## 下一步
安装完毕 KubeVela开始动手编写[第一个应用部署计划](./first-application)。