リモートサーバーを追加するには

リモートサーバーは Incus コマンドラインクライアント内の概念です。 デフォルトでは、コマンドラインクライアントはローカルの Incus デーモンとやりとりしますが、他のサーバーやクラスタを追加できます。

リモートサーバーの用途の 1 つはローカルサーバーでインスタンスを作成するのに使えるイメージを配布することです。 詳細はデフォルトイメージサーバーを参照してください。

完全な Incus サーバーをお使いのクライアントにリモートサーバーとして追加することもできます。 この場合、ローカルのデーモンと同様にリモートサーバーとやりとりできます。 たとえば、リモートサーバー上のインスタンスを管理したりサーバー設定を更新できます。

認証

Incus サーバーをリモートサーバーとして追加できるようにするには、サーバーの API が公開されている必要があります。 それはつまり、core.https_addressサーバー設定オプションが設定されている必要があることを意味します。

サーバーを追加する際は、リモートAPI認証の方法で認証する必要があります。

詳細はIncusをネットワークに公開するにはを参照してください。

追加されたリモートを一覧表示する

設定されたすべてのリモートサーバーを見るには、以下のコマンドを入力します:

incus remote list

simple streams形式を使用するリモートサーバーは純粋なイメージサーバーです。 incus形式を使用するサーバーは Incus サーバーであり、イメージサーバーだけとして稼働しているか、通常の Incus サーバーとして稼働するのに加えて追加のイメージを提供しているかのどちらかです。 詳細はイメージサーバータイプを参照してください。

リモートのIncusサーバーを追加する

Incus サーバーをリモートして追加するには、以下のコマンドを入力します:

incus remote add <remote_name> <IP|FQDN|URL> [flags]

認証方法によっては固有のフラグが必要です(たとえば、OIDC 認証ではincus remote add <remote_name> <IP|FQDN|URL> --auth-type=oidcを使います)。 詳細はIncusサーバーでの認証リモートAPI認証を参照してください。

たとえば、IP アドレスを指定してリモートを追加するには以下のコマンドを入力します:

incus remote add my-remote 192.0.2.10

リモートサーバーのフィンガープリントを確認するプロンプトが表示され、トークンの入力を求められます。

デフォルトのリモートを選択する

Incus コマンドラインクライアントはlocalリモート、つまりローカルの Incus デーモン、に接続する用に初期設定されています。

別のリモートをデフォルトのリモートとして選択するには、以下のように入力します:

incus remote switch <remote_name>

どのサーバーがデフォルトのリモートとして設定されているか確認するには、以下のように入力します。

incus remote get-default

グローバルのリモートを設定する

グローバルなシステム毎の設定としてリモートを設定できます。 これらのリモートは、設定を追加した Incus サーバーのすべてのユーザーで利用できます。

ユーザーはこれらのシステムで設定されたリモートを(たとえば incus remote renameまたはincus remote set-urlを実行することで)オーバーライドできます。 その結果、リモートと対応する証明書がユーザー設定にコピーされます。

グローバルリモートを設定するには、/etc/incus/に置かれたconfig.ymlファイルを編集します。

リモートへの接続用の証明書は同じ場所のservercertsディレクトリー(たとえば、 /etc/incus/servercerts/)に保管する必要があります。 証明書はリモート名に対応する(たとえば、foo.crt)必要があります。

clientcerts ディレクトリーに配置することでリモート毎のクライアント証明書を 提供することもできます。 リモートの名前に対応したファイル名にする必要があります(たとえばfoo.crtfoo.key)。

以下の設定例を参照してください:

remotes:
  foo:
    addr: https://192.0.2.4:8443
    auth_type: tls
    project: default
    protocol: incus
    public: false
  bar:
    addr: https://192.0.2.5:8443
    auth_type: tls
    project: default
    protocol: incus
    public: false

keepalive を有効にする

特定のリモートと頻繁にやりとりするユーザーは、新しい keepalive モードを有効にすることもできます。

有効にすると、Incus はターゲットサーバーとの接続を設定されたタイムアウトまで維持します。 これにより多くの incus コマンドを実行する際に遅延をかなり減らせます。

有効にするには(たいていは ~/.config/incus にある)config.ymlを編集し、リモートを以下のように変更します:

  my-remote:
    addr: https://192.0.2.5:8443
    auth_type: tls
    project: default
    protocol: incus
    public: false
    keepalive: 30

この例では、30 秒のタイムアウトが使われます。