Skip to content

自己跑一台机器

你租一台服务器,把它切成容器,再转卖出去 —— 这一页讲的就是这件事, 从一台空机器,一直带到「一份容器已经在别人手里」。 自己的硬件走法完全一样;租来的是更常见的情况,所以这一页按它来写。

这件事的另一面 —— 你的租户看到什么、要做什么 —— 是快速上手。读一遍那一页, 是最快看懂自己在卖什么的办法。


1. 什么必须从外面进得来

机器是自己往面板拨号并保持连着的,所以面板完全不需要进得来。但你的租户需要:

从公网进来到这台机器port 80, 443租户的网站port 22租户的登录什么都不用面板从不主动连进来 —— 是机器往外拨并保持在线

三个数字,其中一个已经被你自己的 sshd 占着。按这个顺序来:

1放开防火墙80、443,再加一个备用端口 —— 2222 就行2把自己的 sshd 挪走挪到那个备用端口上322 空出来了网关接管它,给你的租户用

先放开备用端口,再挪 sshd。 顺序反了,你就把自己锁在自己的服务器外面了, 而租来的机器没有一根救命的控制台线。

你要放开的是云厂商的防火墙 —— 安全组、网络规则,各家叫法不同 —— 新开的机器往往只放行 22。这里没有什么要转发,也不经过你自己的路由器: 机器的公网地址本来就是它自己的。

挪 sshd 用机器页面上的「端口」卡片,别自己开编辑器。 在一条马上要被改掉的连接上, 去编辑服务器上最吓人的那个文件,是丢机器的经典方式。卡片会写好端口、 重启之前先校验配置,并且不动你正在敲字的这个会话。它也分得清 OpenSSH 的两种形态 —— Debian 13 和较新的 Ubuntu 上,socket 是 systemd 持有的,sshd_config 里的 Port 根本不起作用,不少人就是栽在这里丢了远程登录。

22 也不是非交出去不可:网关可以待在别的端口上,租户自己加 -p,同一张卡片也能这么设。 但一个要记端口号的租户,就是会来找你的租户。

其它要求很短:

一个不太老的 Linux机器上的管理员权限能往外联网不需要固定地址

容器要用到的那些配套软件,机器每次启动都会自己装,装得怎么样,面板上那台机器的页面会告诉你。


2. 没有什么要打开的

这里没有单独的「主机方账号」,也不用申请。任何账号都能接一台机器,同一个登录还能同时持有别人 给你的容器:

你这一个账号你自己跑的机器别人给你的容器

所以这一步整个内容就是:登录,打开 机器


3. 把机器接进来

机器 → 添加一台机器,两步。

添加机器 · 第 1 / 2 步在那台机器上用 root 执行:curl -fsSL http://panel.example.com/agent | sh我装好了添加机器 · 第 2 / 2 步然后把这个粘贴到同一台机器里:hqnode enroll --panel http://panel.example.com --code A1B2-C3D4一次性 · 15 分钟内有效等待 agent 上线 ⟳

两条命令里你面板自己的地址都是页面填好的,复制就行,不用手打。如果你的面板有多个地址能访问, 页面会问那台机器该用哪一个,并且先从你的浏览器测一遍每个地址的快慢 —— 你走的路不一定就是 机器走的路。

你应该看到它自己出现,就在第二条命令跑完的几秒钟内:

机器hk-1在线8 核 · 32 GB · 1.8 TB0 个容器 · CPU 3% · 内存 11%

两件事现在知道比以后知道好:

租户连的那个地址在接进来的时候就定下了以后解绑面板忘掉它;机器上照旧在跑

4. 设置逐项看

在那台机器的页面上:

主机策略默认 vCPU50 %一个核的百分比默认内存1024 MB默认 swap512 MB默认磁盘20480 MB默认流量 / 月500 GB流量重置日1允许用户自带镜像保存主机设置那几个默认值只是预填到新建容器的表单里,已经发出去的容器一个都不动重置日这台机器上每个容器重新开始计流量的那一天自带镜像租户可以用自己的镜像重装;代价是每次都要下载一遍,算他自己的流量

两个数字就是这门生意的全部

vCPU卖出 ½ 核机器闲的时候跑得更快,忙起来回到 ½ —— 是地板内存卖出 1 GB再要就被杀掉 —— 是墙

定价之前先读懂这两行。CPU 份额是下限保证、不是上限封顶 —— 所以同一份容器在夜里空闲时跑分能快 一倍,而「这份到底多快」的诚实答案是忙时那个。内存没有这种好脾气:到线上,那份容器里最大的 进程会被杀掉。

一台机器能塞几份,你不用猜。塞不下的时候机器会拒绝创建,并且用一句话说清原因;页面上那行话会 告诉你风往哪边吹:

租户在排队 —— 这台主机已经把自己有的都卖出去了。还算宽松:还有余量可卖。

页面上其余的部分,各一行

端口把网页或登录的门挪到别处存储容器的文件放在哪高级缺什么,以及一个替你装上的按钮镜像在机器上备好一个系统,创建容器就只要几秒而且不下载任何东西

有一项值得早点打开,在高级里:不装它的话,容器里的 freetop 显示的是整台机器的内存 而不是它自己的。限额两种情况下都完全按售出的执行 —— 变的只是数字 —— 但租户看的就是那些数字, 然后就来找你。


5. 创建一份容器

新建容器放在哪hk-1给谁用我自己的给某个用户ana容器名wp-1shell 登录名u7k2m9p•••••••••镜像Alpine 3.24 ▾来自这台主机限额1 核 · 2 GB · 20 GB · 500 GB到期永不 —— 或者挑一个日期域名(可选)创建

给谁用是决定后面走向的那个选择:

我自己的不挂在任何人名下。登录信息给你,你想什么时候交出去都行给某个用户创建的同时就交出去,交给你填的那个用户名。他在自己页面上改登录,你之后再也看不到

选一个机器上已经有的镜像,创建就不下载任何东西、只要几秒 —— 机器上存的那一份,会被所有用它建 出来的容器共用。

镜像那一行有三个来源。来自市场就是上面说的共用那份。自己的镜像地址是你自己推到某个 registry 上的镜像,只要机器访问得到:机器会在建容器的时候把它下载下来、解包进这个容器自己的 盘,下载的量算这个容器的流量 —— 所以得给它一个磁盘大小。来自这台主机是你自己拷进机器镜像 目录的文件,一点流量都不花。

你应该看到:

wp-1 正在运行ssh [email protected]密码8Kd2-vQx7-mR只显示一次ana 持有这一份

只显示一次就是只显示一次:面板不留着它。丢了就在那份容器的页面上重设。


6. 交出去

我自己的登录信息先在你手上,之后按「把它交出去」给某个用户创建时就交出去了两种都一样:登录被重写,你手上那份进不去

把它交出去会给你一个链接和一串码,发哪个都行:

把它交出去https://hqno.de/redeem?code=HQ-7F3K-2M9P或者只发这串码:HQ-7F3K-2M9P14 天后过期

在对方领取之前,什么都不会变;一串码过期了,随时可以从那份容器的页面上再生成一串。他一领取, shell 登录立刻被重写 —— 你手上那份就用不了了,这正是它该有的样子。

然后把快速上手发给他。那一页正好从你这串分享码停下的地方开始。


7. 长期跑下去

改限额或到期日对正在跑的那份立刻生效暂停停下、留着、可恢复到期日过了停掉;什么都不删,日期往后一挪就回来流量 80% / 100%警告 / 暂停删除一份容器销毁;空间还回来解绑一台机器面板忘掉它;容器还在机器上跑

最后两条不一样,所以:要退掉一台机器,先把上面的容器删掉才是干净的做法。只解绑的话,那些容器 会继续跑在面板已经不认识的硬件上。

机器上软件的更新从它的页面上驱动;账号要更大的额度 —— 比套餐允许的容器数更多 —— 是发消息谈, 不是在线下单,具体看套餐页面。


8. 出问题的时候

你看到的通常是什么
机器显示离线它连不上面板。看机器是否开着、能不能往外联网;它不需要任何对外开放的端口。
创建被拒绝机器在内存或 CPU 上放不下这个规格,并且会说清是哪一项。卖小一点,或者等负载降下来。
从市场创建失败,再建同名的又说名字已被占用面板等下载系统等到超时就不等了,而机器其实把容器建完了,面板没记下来。先在镜像里把系统缓存到机器上,再选「来自这台主机」创建,那样不下载任何东西。机器上那份多出来的用 hqnode rm <名字> 清掉。
租户登不进去他那份容器停了、到期了或因流量被暂停了 —— 也可能是云厂商的防火墙没放行 22。
租户的域名解析到了但没人回应要么他容器里面没程序在听,要么云厂商的防火墙没把 80、443 放进这台机器。
所有租户的证书都申请不下来机器上负责加密的那个门被挪离了常用端口。请求会在联系签发方之前就被拒掉。
容器里看到的是整台机器的内存高级里那一项没装。已经在跑的容器要重启之后才会看到自己的数字。
刚接进来就缺软件每次启动它都会自己装;那台机器的页面会说哪一步失败了,以及装不上时该手动跑什么。

接下来