个人使用:在小型服务器上安装
只有自己使用时,用 KubeSolo 在 1.5 GiB 内存的服务器上安装 Kubernetes 和组件,也可以勾选 Zeabur Builder,再在自己的电脑上用 zeaburctl ui 打开 Zeabur。
只有自己使用时,installer 可以改用 KubeSolo。服务器上只有 Kubernetes 和组件,不运行 Zeabur 面板和 Zeabur Identity。要使用 Zeabur,在自己的电脑上运行 zeaburctl ui,用服务器提供的 kubeconfig 连接。
个人使用和团队使用有什么区别
Section titled “个人使用和团队使用有什么区别”| 个人使用 | 团队使用 | |
|---|---|---|
| Kubernetes | KubeSolo | K3s 或 RKE2 |
| 内存 | 1.5 GiB 起 | 4 GiB 起 |
| 如何打开 Zeabur | 在自己的电脑上运行 zeaburctl ui | 打开服务器上的 Zeabur 网址,用通行密钥登录 |
| 成员和权限 | 没有。拿到 kubeconfig 的人可以控制整个集群 | Zeabur Identity 账号和项目角色 |
| 项目之间的网络 | 不隔离。KubeSolo 不执行网络策略 | 用网络策略隔离 |
| 节点 | 只有这一台 | 可以继续添加节点 |
| 组件 | Ingress 和证书,也可以勾选 Zeabur Builder(含 zot) | Catalog 的全部组件 |
| 数据库 | 有 | 有 |
个人版默认不安装 Zeabur Builder 和 zot(存放构建结果的镜像仓库),因此只能部署现成的容器镜像。要从 Git 或文件夹构建,安装时勾选 Zeabur Builder,zot 会一并安装。这两个组件需要额外使用约 300 MiB 内存,服务器内存不足 1800 MiB 时,安装程序不允许勾选。
个人版也没有成员和权限。Zeabur Identity 签发的登录凭证,需要 kube-apiserver 用 --authentication-config 加载配置后才能识别,KubeSolo 目前没有开放这项配置(portainer/kubesolo#231)。因此只能用服务器提供的 kubeconfig 连接,拿到这份 kubeconfig 的人可以控制整个集群,不适合多人或多个团队共用。
服务器报告的内存不足 2700 MiB 时,安装程序只接受个人使用。以后要供团队使用,无法直接升级,需要重新安装,服务器报告的内存至少要有:
| 不装 Zeabur Builder | 装 Zeabur Builder | |
|---|---|---|
| K3s | 2700 MiB | 3900 MiB |
| RKE2 | 3500 MiB | 4800 MiB |
Zeabur Builder 本身要占内存,还要留出一次构建的空间。内存不够时,安装程序照样安装为团队使用,但不装 Zeabur Builder,VictoriaMetrics 和 VictoriaLogs 也一样。内核为崩溃转储(kdump)保留的内存不计入报告的内存,用不到的话可以关掉,安装程序检查服务器时会给出命令。
先准备服务器
Section titled “先准备服务器”- 使用 systemd 的 Linux,架构为 amd64 或 arm64。
- 具备 root 权限。
- 内存至少 1.5 GiB。
/var/lib/kubesolo至少有 10 GiB 可用空间。- TCP 端口 80、443、6443、10250、10443 未占用。
- 未安装 RKE2、K3s、kubeadm、k0s 或 MicroK8s。
- 未安装 Docker,也没有运行 Docker。Docker 默认会丢弃转发的数据包,导致副本无法连接外部网络,也无法申请证书。installer 检测到 Docker(可执行文件、服务、socket),或防火墙转发策略为 DROP 时会停止,请先停止并移除 Docker 再安装。
自己的电脑需要安装 zeaburctl,并且能连接服务器的 TCP 6443 端口。Windows 请在 WSL 中使用 Linux 版的 zeaburctl。
installer 固定 KubeSolo、helm-controller 和 kubectl 的版本,下载后校验 SHA-256。helm-controller 的镜像用 digest 指定。安装组件的 Job 镜像只能指定标签,Job 运行结束后,installer 会校验 Job 实际使用的 digest,不匹配就停止。
用网页界面安装
Section titled “用网页界面安装”按在一台服务器上安装 Zeabur 的说明打开安装界面。在“检查服务器”的“给谁用”中选择“自己用”,安装流程会省去“连接方式”这一步。

服务器报告的内存不足 2700 MiB 时,“团队用”不可选,只能选择“自己用”。

先处理未通过的检查项。如果服务器安装了 Docker,“Docker”会提示需要修正,请先停止并移除 Docker,再点击“重新检查”。检查项未全部通过时,即使进入“确认”也无法点击“安装”。

在“选择组件”中,Ingress 和证书默认选中。要从 Git 或文件夹构建,勾选“Zeabur Builder”,zot 会一并安装。

内存不足时,Zeabur Builder 不可选,旁边会注明所需内存。

在“确认”中核对内容后,点击“安装”。
用配置文件安装
Section titled “用配置文件安装”以 root 权限创建 /etc/zeabur-installer/config.yaml:
use: personal先查看安装步骤,再安装:
sudo zeabur-installer plansudo zeabur-installer apply要从 Git 或文件夹构建,添加 enable: [builds],zot 会一并安装。要使用数据库,添加 enable: [databases]。其他字段见 Installer 配置。
在自己的电脑上打开 Zeabur
Section titled “在自己的电脑上打开 Zeabur”安装完成后,网页界面的“集群已就绪”和终端都会列出两行命令。在自己的电脑上运行,将 <服务器> 替换为服务器地址,<名称> 为服务器的主机名:
ssh <你>@<服务器> sudo cat /etc/zeabur-installer/kubeconfig.yaml > ~/.kube/<名称>.yamlKUBECONFIG=~/.kube/<名称>.yaml zeaburctl ui --context <名称>
kubeconfig 中的 API 地址由服务器自行选择。如果自己的电脑需要用其他地址或域名连接,修改文件中的 server:,并将同一地址或域名添加到配置文件的 host.tlsSan,再运行一次 apply。
用 zeaburctl up 构建文件夹
Section titled “用 zeaburctl up 构建文件夹”安装 Zeabur Builder 后,在自己的电脑上使用同一份 kubeconfig,上传文件夹进行构建:
KUBECONFIG=~/.kube/<名称>.yaml zeaburctl up --context <名称> --project <项目> --service <服务>文件夹通过端口转发传到服务器上的 zot,构建在服务器上运行,结果存回 zot,节点从 zot 拉取镜像。installer 会将 zot 的证书交给节点的 containerd,并将 zot 的地址和证书写入 kube-public 中的 ConfigMap zeabur-info,zeaburctl 从中读取。未勾选 Zeabur Builder 时,zeaburctl up 会提示集群没有 Builder,不会上传任何内容。
不用 installer 也能管理
Section titled “不用 installer 也能管理”安装完成后,无需再运行 installer。集群中的内容都能用 kubectl 管理:
- KubeSolo 是 systemd 服务
kubesolo,配置文件位于/etc/kubesolo/config.yaml,用journalctl -u kubesolo查看日志。 - 每个组件对应
kube-system中的一个HelmChart,由 helm-controller 安装。用kubectl get helmcharts -n kube-system列出,修改配置时修改对应的HelmChart。 - 安装记录保存在
kube-system的 ConfigMapzeabur-installer中,仅供doctor读取。
installer 完成的操作也可以手动完成:按 KubeSolo 的说明安装 KubeSolo,用 kubectl apply 应用 helm-controller 的 release manifest,再为每个组件创建 HelmChart。手动安装时还需要修改两处,否则 HelmChart 会不断重新安装:
- KubeSolo 的 webhook 会在 Job 的
nodeSelector里加上节点,helm-controller 发现 Job 有变动,就会删除并重建。installer 让 systemd 在 KubeSolo 每次启动后运行/usr/local/libexec/zeabur-kubesolo-webhook,从 MutatingWebhookConfigurationwebhook.kubesolo.io的规则中移除 Job。这个脚本用 kubectl 等待规则出现,并持续监控一分钟;如果 KubeSolo 重写规则,就再次移除,不读取系统日志。副本和卷仍由同一个 webhook 指定节点。 - helm-controller release manifest 中的 klipper-helm 版本过旧,安装完成后不会标记配置的哈希值,导致 helm-controller 不断升级同一个 chart。installer 将
DEFAULT_JOB_IMAGE替换为 k3s 搭配同版 helm-controller 使用的rancher/klipper-helm:v0.13.3-build20261021。
检查安装结果
Section titled “检查安装结果”sudo zeabur-installer doctor这会检查 KubeSolo、每个组件和 Catalog 为组件提供的健康检查,以及默认存储类,也会提醒这台服务器没有隔离。安装了 Zeabur Builder 时,还会检查 Zeabur Builder 是否正在运行,以及 containerd 信任的证书是否为 zot 当前使用的证书。退出码与团队版相同,见检查安装结果。
sudo zeabur-installer uninstall 不会删除任何内容,只会输出移除命令。要连同应用和卷一起删除,依次运行:
sudo systemctl disable --now kubesolosudo rm -f /etc/systemd/system/kubesolo.service /usr/local/bin/kubesolo /usr/local/libexec/zeabur-kubesolo-webhook /etc/apparmor.d/cri-containerd.apparmor.dsudo systemctl daemon-reloadsudo reboot停止服务后,容器及其挂载点仍然存在,需要重启服务器才能清除。重启后再删除数据:
sudo rm -rf /var/lib/kubesolo /etc/kubesolo /var/lib/zeabur-installer /etc/zeabur-installer