跳到正文

新增伺服器 ​

還沒有伺服器?可以透過 Zenavo 購買一台。

開啟 伺服器 → 新增伺服器,填寫:

  • 名稱:為專案選擇伺服器時顯示,例如 東京 4C 8GB。
  • 公開 IP 或網域 和 SSH 連接埠(通常是 22)。
  • SSH 使用者:root,或能免密 sudo 的使用者。雲端映像檔通常禁止 root 登入;Ubuntu 映像檔用 ubuntu,Debian 用 debian,Amazon Linux 用 ec2-user。
  • 認證方式:密碼 或 私鑰(上傳金鑰檔案或直接貼上)。金鑰必須是未加密的 OpenSSH 或 PEM 私鑰,不是 .pub 檔案。如果金鑰有密碼短語,用 ssh-keygen -p -f <file> 去掉。

兩者都只供初始化任務使用。初始化成功後立即清除;初始化失敗時會加密保留一天,方便你不用重新輸入就能重試,之後再清除。伺服器正常運作後,Zenavo 不保留對它的 SSH 存取:只透過 Zenavo agent 存取伺服器,由 agent 從伺服器主動向外連線(防火牆與安全)。

找到金鑰檔案

金鑰通常在 ~/.ssh 中,檔案選擇器預設會隱藏它。在 macOS 的檔案選擇器中按 ⌘ ⇧ G 輸入路徑,或按 ⌘ ⇧ . 顯示隱藏資料夾。

點選 連線並初始化。Zenavo 會:

  1. 透過 SSH 連線,並顯示伺服器的 主機金鑰指紋。再次執行初始化時,如果指紋變了,Zenavo 會拒絕連線。
  2. 檢查作業系統、CPU、記憶體和 sudo 權限。
  3. 在伺服器上測量是否應該使用中國大陸的安裝源,然後安裝固定版本的 K3s,再安裝 cert-manager 和 Let's Encrypt 簽發器。
  4. 確認節點、Traefik、儲存供應器和監控元件都已就緒。
  5. 安裝 Zenavo agent,並等待它透過 HTTPS 連上控制面。
  6. 清除 SSH 憑據。

進度即時顯示在伺服器的 狀態 分頁。如果初始化失敗,按顯示的原因處理後點選 重試初始化;已完成的步驟會被跳過。失敗後一天內可以沿用你填寫的 SSH 憑據(使用上次嘗試的憑據);超過一天則需要重新輸入。

核對主機金鑰 ​

為了確認你連線的是正確的機器,可以把控制台顯示的指紋和伺服器上的指紋進行比對:

sh
ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub

在大多數雲端平台上,也可以不用 SSH,直接從實例的序列控制台讀取。

中國大陸的伺服器 ​

在中國大陸存取 GitHub 和 Docker Hub 很慢或者無法存取,所以初始化可以改用國內的映像檔源安裝。

初始化會在伺服器上對三個小請求計時:GitHub、Docker Hub 和 Rancher 在中國的 K3s 映像檔。如果中國映像檔能存取而 Docker Hub 或 GitHub 不能,或者 GitHub 慢了四倍以上,就使用國內源。如果中國映像檔無法存取,則始終使用國際源。Zenavo 不會透過 GeoIP 服務查詢伺服器的位置。狀態 分頁的日誌會顯示選擇了哪些安裝源以及原因。香港、澳門和台灣的伺服器通常能直接存取 GitHub,因此使用國際源。

使用國內源時:

  • K3s 來自 Rancher 官方的中國映像檔(rancher-mirror.rancher.cn,INSTALL_K3S_MIRROR=cn),與 K3s 文件為中國使用者描述的方式一致。Zenavo 固定版本,並用 K3s 在 GitHub 上發布的校驗和檢查安裝的二進位制檔案。如果不匹配,就刪除該檔案並停止。
  • 公開映像檔(K3s 系統映像檔、cert-manager,以及來自 Docker Hub、Quay、GHCR、registry.k8s.io 和 gcr.io 的映像檔)透過 /etc/rancher/k3s/registries.yaml 從 Zenavo 在國內的映像檔拉取。每個映像檔在映像檔站下保留完整的原始名稱,例如 docker.io/library/nats:2.14 會變成 <mirror>/docker.io/library/nats:2.14。如果某個映像檔沒有被同步,伺服器會從它原來的映像檔儲存庫拉取。
  • Zenavo 建置的映像檔(來自你的 Git 儲存庫)會在部署前複製到 Zenavo 位於上海的映像檔儲存區,伺服器從那裡下載,不需要離開中國大陸。部署日誌會顯示這次複製(「copying the image to mainland China」),每個映像檔只複製一次。

如果 /etc/rancher/k3s/registries.yaml 已經存在且不是 Zenavo 寫入的,初始化不會改動它。

與 Zeabur 無關聯。