リモートサーバーを追加するには#
リモートサーバーは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