本文へスキップ

サーバーを追加 ​

まだサーバーがない場合は、Zenavo から購入することもできます。

Servers → New Server を開き、次の項目を入力します。

  • Name:プロジェクトのサーバーを選ぶときに表示されます。例:Tokyo 4C 8GB。
  • Public IP or hostname と SSH port(通常は 22)。
  • SSH user:root、またはパスワードなしで sudo できるユーザー。クラウドイメージは root ログインを無効にしていることが多いので、Ubuntu なら ubuntu、Debian なら debian、Amazon Linux なら ec2-user を使います。
  • Authentication:パスワードか秘密鍵(鍵ファイルをアップロードするか貼り付け)。鍵は暗号化されていない OpenSSH または PEM 形式の秘密鍵で、.pub ファイルではありません。パスフレーズがある場合は ssh-keygen -p -f <file> で外してください。

どちらもセットアップジョブだけが使います。セットアップが成功するとすぐに消去され、失敗した場合は再入力なしで再試行できるよう 1 日間暗号化して保持し、その後消去します。稼働中のサーバーへの SSH アクセスを Zenavo は保持しません。サーバーから外向きに接続する Zenavo エージェントを通じてのみアクセスします(ファイアウォールとセキュリティ)。

鍵ファイルの探し方

鍵は通常 ~/.ssh にあり、ファイル選択画面では隠されています。macOS のファイル選択画面で ⌘ ⇧ G を押してパスを入力するか、⌘ ⇧ . で隠しフォルダーを表示してください。

Connect and set up をクリックすると、Zenavo は次のことを行います。

  1. SSH で接続し、サーバーのホスト鍵のフィンガープリントを表示します。セットアップを再実行したときにフィンガープリントが変わっていれば、接続を拒否します。
  2. OS、CPU、メモリ、sudo の権限を確認します。
  3. 中国本土向けのソースを使うべきかをサーバー上で測定し、バージョンを固定した K3s、続いて cert-manager と Let's Encrypt の発行者をインストールします。
  4. ノード、Traefik、ストレージプロビジョナー、メトリクスの準備ができていることを確認します。
  5. Zenavo エージェントをインストールし、HTTPS でコントロールプレーンに接続するのを待ちます。
  6. SSH の認証情報を消去します。

進捗はサーバーの Status タブにリアルタイムで表示されます。セットアップが失敗したら、表示された原因を直して Retry setup をクリックしてください。完了したステップはスキップされます。失敗から 1 日以内なら入力した SSH の認証情報を再利用でき(Use the credentials from the last attempt)、それを過ぎたら再入力が必要です。

ホスト鍵を確認する ​

正しいマシンに接続したことを確かめるには、コンソールに表示されたフィンガープリントとサーバー上のものを比べます。

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

ほとんどのクラウドでは、SSH を使わずにインスタンスのシリアルコンソールから読むこともできます。

中国本土のサーバー ​

中国本土からは GitHub や Docker Hub が遅いかブロックされているため、セットアップでは中国国内のミラーからインストールできます。

セットアップは、サーバー自身から GitHub、Docker Hub、Rancher の中国向け K3s ミラーへの 3 つの小さなリクエストの時間を測って、ソースを選びます。中国ミラーに応答があり Docker Hub か GitHub に応答がない場合、または GitHub が 4 倍以上遅い場合に中国のソースを使います。中国ミラーに応答がなければ、常にグローバルのソースを使います。Zenavo は GeoIP サービスでサーバーの所在地を調べません。どのソースをなぜ選んだかは Status タブのログに表示されます。香港、マカオ、台湾のサーバーは通常 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 の中国国内ミラーから pull します。各イメージはミラーの下で元の完全な名前を保ちます。たとえば docker.io/library/nats:2.14 は <mirror>/docker.io/library/nats:2.14 になります。ミラーにないイメージは、サーバーが元のレジストリから pull します。
  • Git リポジトリから Zenavo がビルドしたイメージは、デプロイ前に上海にある Zenavo のイメージストアにコピーされ、サーバーは中国本土の外に出ることなくそこからダウンロードします。デプロイのログにコピーが表示され(「copying the image to mainland China」)、コピーはイメージごとに 1 回だけ行われます。

/etc/rancher/k3s/registries.yaml がすでに存在し、Zenavo が書いたものでない場合、セットアップはそれに手を付けません。

Zeabur とは関係ありません。