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

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

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

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

認証#

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

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

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

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

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

lxc remote list

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

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

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

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

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

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

lxc remote add my-remote 192.0.2.10

リモートサーバーのフィンガープリントを確認するプロンプトが表示され、リモートで使用している認証方法によってパスワードまたはトークンの入力を求められます。

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

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

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

lxc remote switch <remote_name>

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

lxc remote get-default

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

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

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

グローバルリモートを設定するには、以下のいずれかのディレクトリに置かれたconfig.ymlファイルを編集します。

  • (定義されていれば)LXD_GLOBAL_CONFで指定されるディレクトリ

  • /var/snap/lxd/common/global-conf/ (snapをお使いの場合)

  • /etc/lxd/ (snap以外の場合)

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

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

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