SuperAPI AI 工具集

zeabur-server-ssh

部署与运维

查看项目

更新于 10-16 01:11

技能介绍

用途:在用户的专用服务器上通过 SSH 执行命令,并在运行 ZeaburOS 的服务器上用 kubectl 调试 Kubernetes 工作负载。

主要能力:先用 CLI 判断服务器类型。ZeaburOS 运行 k3s 且预装 kubectl;Ubuntu 为租用的普通服务器,无 k3s 与 kubectl,kubectl 命令会报 command not found,但 server exec 仍可执行普通 shell 命令。判断命令:npx zeabur@latest server get <server-id> -i=false --json | jq -r .os,需 CLI 0.21.0 或更新;os 为 null 时可用 GraphQL 查询 hasK3s,注意 hasK3s === false 才是普通 Ubuntu,null 表示旧服务器但仍运行 ZeaburOS。

使用方式:始终用 npx zeabur@latest 调用 CLI。推荐用 server exec 一步执行命令:npx zeabur@latest server exec --id <server-id> -- <command>。复合命令需作为单个参数加引号,stdout/stderr 实时输出并传递退出码(管道只反映最后一段状态)。不知道服务器 ID 时先运行 npx zeabur@latest server list -i=false。

kubectl 常用命令(仅 ZeaburOS):sudo kubectl get pods -A -o wide、sudo kubectl logs <pod> -n <ns> --tail=100、sudo kubectl top nodes、sudo kubectl describe pod <pod> -n <ns>、sudo kubectl rollout restart deployment/<name> -n <ns> 等,均需 sudo,含管道或 && 的命令要整体加引号。

回退方案:仅当 server exec 不可用时,用 npx zeabur@latest server ssh-info --id <server-id> -i=false 获取凭据,再用 sshpass 或 Node.js ssh2 连接。

限制:普通 Ubuntu VPS 上 kubectl 不可用;安装 ZeaburOS 才会加入 kubectl。若用户询问某二进制是否存在,需实际检查机器,OS 字段无法判断。服务器 ID 可参考 zeabur-server-list 技能,简单容器命令可用 zeabur-service-exec 技能。