独立安装 KubeVela
本文档将向你展示如何以独立模式安装 KubeVela。 有两种选择:
- 本地机器:在本地机器中安装,支持 Linux,macOS 和 Windows。
- 远程 Linux 服务器:在具有可访问IP地址的远程 Linux 服务器中安装
提示
在非 Linux 系统的远程服务器中安装 KubeVela 尚未经过完全测试。
以上两种选项中,我们都将使用 VelaD 来以独立模式安装 KubeVela。它是一个命令行工具, 将 KubeVela 最小安装以及使用 VelaUX 的一切依赖打包为一个可执行文件。你可以使用 VelaD 在安装有 Docker 的 macOS/Windows 中或 Linux 中安装 KubeVela。
- VelaD 集成了 K3s 和 k3d 用于自动化管理 Kubernetes 集群,用户无需关心 Kubernetes 集群管理的细节。
- VelaD 打包了镜像等依赖,可以在没有网络的环境中最小化安装 KubeVela 以及其 VelaUX 插件。
警告
以独立模式安装仅适用于开发和测试目的,这时你无需了解其中的 Kubernetes。但是当你想要在生产中使用它时,你需要能够理解和维护 K3s,即承担管理 Kubernetes 的工作。
VelaD 支持在这些操作系统中安装 KubeVela:Linux, macOS, Windows。
要求
- 如果你在使用 Linux 或者 macOS,确保你的机器上安装了
curl
。 - 如果你在使用 macOS or Windows, 确保你已经安装 Docker Desktop。
下面等脚本将下载二进制文件并将其放置在你的系统“PATH”中,
- Linux
- Windows
在安装过程中你可能需要 root 权限。 如果你不需要 root 权限和自动化,你可以从发布页面下载并手动解压缩。
curl -fsSl https://static.kubevela.net/script/install-velad.sh | bash
检查 velad
安装到 /usr/local/bin/
以管理员身份启动 PowerShell 并执行如下命令:
powershell -Command "iwr -useb https://static.kubevela.net/script/install-velad.ps1 | iex"
检查 velad
安装到 C:\vela\
信息
VelaD 会帮助安装 Vela CLI,这要求管理员权限。
如何以管理员身份启动 PowerShell
- 点击”开始”按钮打开开始菜单。
- 在开始菜单中,向下滚动找到”Windows PowerShell”目录,右键点击其中的”Windows Powershell”选项,并选择”以管理员身份运行”。
velad install
期望输出
Preparing K3s images...
Successfully prepare k3s image: /Users/sunjianbo/.vela/velad/k3s/k3s-airgap-images-amd64.tgz
Successfully prepare k3d images
...snip...
KubeVela control plane has been successfully set up on your cluster.
If you want to enable dashboard, please run "vela addon enable /Users/sunjianbo/.vela/addons/velaux"
Keep the token below if you want to restart the control plane
K1075e7f6c77555e6ebdaf4854e4a2f39ae4287cfad23f27cdac5b33608d44633fe::server:zSpzbdbGzVxOwfBvvjgT
🚀 Successfully install KubeVela control plane
🔭 See available commands with `vela help`
设置 kubeconfig 并列出所有内置的组件定义:
- Linux/macOS
- Windows
export KUBECONFIG=$(velad kubeconfig --host)
vela comp
$env:PATH += ";$HOME\.vela\bin;"
$env:KUBECONFIG = $(velad kubeconfig --host)
vela comp
提示
- 在macOS/Linux中,执行
velad install
时,已经安装了 vela CLI (vela
) 并自动添加到PATH
。 所以你可以直接使用它。 - 用于配置对集群的访问的文件称为 kubeconfig 文件
期望输出
NAME DEFINITION DESCRIPTION
config-helm-repository autodetects.core.oam.dev Config information to authenticate helm chart repository
daemon daemonsets.apps Describes daemonset services in Kubernetes.
cron-task cronjobs.batch Describes cron jobs that run code or a script to completion.
worker deployments.apps Describes long-running, scalable, containerized services
that running at backend. They do NOT have network endpoint
to receive external network traffic.
task jobs.batch Describes jobs that run code or a script to completion.
webservice deployments.apps Describes long-running, scalable, containerized services
that have a stable network endpoint to receive external
network traffic from customers.
config-image-registry autodetects.core.oam.dev Config information to authenticate image registry
k8s-objects autodetects.core.oam.dev K8s-objects allow users to specify raw K8s objects in
properties
raw autodetects.core.oam.dev Raw allow users to specify raw K8s object in properties.
This definition is DEPRECATED, please use 'k8s-objects'
instead.
ref-objects autodetects.core.oam.dev Ref-objects allow users to specify ref objects to use.
Notice that this component type have special handle logic.
VelaUX 是 KubeVela 的仪表板。 它是在你的集群中运行的 Web 应用程序。 你可以使用浏览器访问它。 如果你不使用 KubeVela 的 UI 控制台,这是可选的。
- Linux/macOS
- Windows
vela addon enable ~/.vela/addons/velaux
vela addon enable $HOME\.vela\addons\velaux
期望输出
Addon: velaux enabled Successfully.
默认情况下,velaux 没有任何暴露的端口,你可以通过以下方式查看:
vela port-forward addon-velaux -n vela-system 8080:80
选择 > local | velaux | velaux
来访问 VelaUX
备注
如需更多 VelaUX 选项,请参阅 VelaUX 插件 文档了解其他高级安装参数。
VelaUX 需要身份验证。 默认用户名是 admin
,密码是 VelaUX12345
。首次登录时需要使用新密码覆盖,请务必记住新密码。
此命令将清理 KubeVela 控制器以及 Kubernetes 集群,有关更详细的步骤,请参阅 高级指南。
velad uninstall
下面向你展示如何在远程服务器(如 aws EC2 或 阿里云 ECS)上以独立模式安装 KubeVela。
准备一台 Linux 系统的远程服务器,对机器有如下要求
要求
- 确保你的机器安装了
curl
。 - 此服务器有一个公网 IP,或者在企业内网中你可以访问该服务器的 IP。
- 如果你使用的是云服务器,请确保你在安全组中打开了 6443 端口。
下面等脚本将下载二进制文件并将其放置在你的系统“PATH”中, 因此在安装过程中你可能需要 root 权限。 如果你不需要root权限和自动化,你可以从发布页面下载并手动解压缩。
curl -fsSl https://static.kubevela.net/script/install-velad.sh | bash
检查 velad
已经安装到 /usr/local/bin/
运行以下命令并将$SERVER_PUBLIC_IP
替换为服务器的公共 IP。
velad install --bind-ip=$SERVER_PUBLIC_IP
期望输出
Preparing K3s images...
Successfully prepare k3s image: /Users/sunjianbo/.vela/velad/k3s/k3s-airgap-images-amd64.tgz
Successfully prepare k3d images
...snip...
KubeVela control plane has been successfully set up on your cluster.
If you want to enable dashboard, please run "vela addon enable /Users/sunjianbo/.vela/addons/velaux"
Keep the token below if you want to restart the control plane
K1075e7f6c77555e6ebdaf4854e4a2f39ae4287cfad23f27cdac5b33608d44633fe::server:zSpzbdbGzVxOwfBvvjgT
🚀 Successfully install KubeVela control plane
🔭 See available commands with `vela help`
🔑 To access the cluster, set KUBECONFIG:
export KUBECONFIG=$(velad kubeconfig --name default --host)
设置 kubeconfig 并列出所有内置的组件定义:
export KUBECONFIG=$(velad kubeconfig --host)
vela comp
提示
- 执行
velad install
时,已经安装了 vela CLI (vela
) 并自动添加到PATH
。 所以你可以直接使用它。 稍后我们将在本地机器上访问 KubeVela,我们将再次在本地机器上安装 vela CLI。 - 用于配置对集群的访问的文件称为 kubeconfig 文件,vela CLI也使用该文件访问 KubeVela。
期望输出
NAME DEFINITION DESCRIPTION
config-helm-repository autodetects.core.oam.dev Config information to authenticate helm chart repository
daemon daemonsets.apps Describes daemonset services in Kubernetes.
cron-task cronjobs.batch Describes cron jobs that run code or a script to completion.
worker deployments.apps Describes long-running, scalable, containerized services
that running at backend. They do NOT have network endpoint
to receive external network traffic.
task jobs.batch Describes jobs that run code or a script to completion.
webservice deployments.apps Describes long-running, scalable, containerized services
that have a stable network endpoint to receive external
network traffic from customers.
config-image-registry autodetects.core.oam.dev Config information to authenticate image registry
k8s-objects autodetects.core.oam.dev K8s-objects allow users to specify raw K8s objects in
properties
raw autodetects.core.oam.dev Raw allow users to specify raw K8s object in properties.
This definition is DEPRECATED, please use 'k8s-objects'
instead.
ref-objects autodetects.core.oam.dev Ref-objects allow users to specify ref objects to use.
Notice that this component type have special handle logic.
VelaUX 是 KubeVela 的仪表板。 它是在你的集群中运行的 Web 应用程序。 你可以使用浏览器访问它。 如果你不使用 KubeVela 的 UI 控制台,可以跳过。
vela addon enable ~/.vela/addons/velaux serviceType=NodePort
期望输出
Addon: velaux enabled Successfully.
...
I0907 12:03:11.462606 98769 utils.go:156] find cluster gateway service vela-system/kubevela-cluster-gateway-service:9443
Please access addon-velaux from the following endpoints:
+---------+-----------+-------------------------------+----------------------------+-------+
| CLUSTER | COMPONENT | REF(KIND/NAMESPACE/NAME) | ENDPOINT | INNER |
+---------+-----------+-------------------------------+----------------------------+-------+
| local | apiserver | Service/vela-system/apiserver | apiserver.vela-system:8000 | true |
| local | velaux | Service/vela-system/velaux | http://47.252.17.47:30000 | false |
+---------+-----------+-------------------------------+----------------------------+-------+
通过添加 serviceType=NodePort
参数,我们告诉 VelaUX 通过 K8s NodePort 的方式暴露服务。 使用以下命令查询 VelaUX 的端点:
vela status addon-velaux -n vela-system --endpoint
它将显示类似 http://PUBLIC-IP:PORT
的 URL。 你可以使用浏览器访问该 URL。
开启端口
如果你使用的是云服务器,请在安全组中打开此端口。
备注
如需更多 VelaUX 选项,请参阅 VelaUX 插件 文档了解其他高级安装参数。
VelaUX 需要身份验证。 默认用户名是 admin
,密码是 VelaUX12345
。首次登录时需要使用新密码覆盖,请务必记住新密码。
你可以使用本地计算机访问 KubeVela。 请确认在上一步服务器上执行 velad install
时加了 --bind-ip
参数。
在远程服务器上执行如下命令,它将打印集群的 kubeconfig。 --external
表示打印的 kubeconfig 可以从其他机器使用(如你的本地机器)。
cat $(velad kubeconfig --external)
然后你需要手动把这个 kubeconfig 内容复制到你的本地机器的一个文件里。 假设你将这个文件保存在本地机器的 ~/.kube/velad-config
中。
要访问集群,还需要在本地机器上安装 vela CLI (vela
)。
curl -fsSl https://static.kubevela.net/script/install.sh | bash
设置 kubeconfig 并列出所有内置的组件定义:
export KUBECONFIG=~/.kube/velad-config
vela comp
在远程服务器上运行如下命令。此命令将清理 KubeVela 控制器以及 Kubernetes 集群,有关更详细的步骤,请参阅 高级指南。
velad uninstall
Last updated on 2023年2月9日 by dependabot[bot]