サーバ設定#
key/value 設定は現在サポートされている以下のネームスペースによって 名前空間が分けられています。
backups
バックアップ設定candid
Candid を使った外部のユーザー認証 (External user authentication through Candid)cluster
クラスタ設定core
コア・デーモン設定images
イメージ設定maas
MAAS 統合rbac
外部の Candid と Canonical の RBAC を使ったロールベースのアクセス制御 (Role Based Access Control)
キー |
型 |
スコープ |
デフォルト値 |
説明 |
---|---|---|---|---|
backups.compression_algorithm |
string |
global |
gzip |
新規のイメージに用いる圧縮アルゴリズム (bzip2, gzip, lzma, xz, none のいずれか) |
candid.api.key |
string |
global |
- |
Candid サーバの公開鍵(HTTPのみのサーバで必要) |
candid.api.url |
string |
global |
- |
Candid を使用する外部認証エンドポイントの URL |
candid.domains |
string |
global |
- |
許可される Candid ドメインのカンマ区切りリスト (空文字は全てのドメインが有効という意味になります) |
candid.expiry |
integer |
global |
3600 |
Canded macaroon の有効期間 (秒で指定) |
cluster.https_address |
string |
local |
- |
クラスタのトラフィックに使用するアドレス |
cluster.images_minimal_replica |
integer |
global |
3 |
特定のイメージのコピーを持つべきクラスタメンバーの最小数 (リプリケーションなしは 1 を、全メンバーにコピーは -1 を設定) |
cluster.max_standby |
integer |
global |
2 |
データベースのスタンバイの役割を割り当てられるクラスタメンバーの最大数 |
cluster.max_voters |
integer |
global |
3 |
データベースの投票者の役割を割り当てられるクラスタメンバーの最大数 |
cluster.offline_threshold |
integer |
global |
20 |
無反応なノードをオフラインとみなす秒数 |
core.bgp_address |
string |
local |
- |
BGP サーバをバインドさせるアドレス (BGP) |
core.bgp_asn |
string |
global |
- |
ローカルサーバに使用する BGP の AS番号 (Autonomous System Number) |
core.bgp_routerid |
string |
local |
この BGP サーバのユニークな ID (IPv4 アドレス形式) |
|
core.debug_address |
string |
local |
- |
pprof デバッグサーバがバインドするアドレス (HTTP) |
core.dns_address |
string |
local |
- |
権威 DNS サーバをバインドするアドレス (DNS) |
core.https_address |
string |
local |
- |
リモート API がバインドするアドレス (HTTPS) |
core.https_allowed_credentials |
boolean |
global |
- |
Access-Control-Allow-Credentials HTTP ヘッダの値を "true" にするかどうか |
core.https_allowed_headers |
string |
global |
- |
Access-Control-Allow-Headers HTTP ヘッダの値 |
core.https_allowed_methods |
string |
global |
- |
Access-Control-Allow-Methods HTTP ヘッダの値 |
core.https_allowed_origin |
string |
global |
- |
Access-Control-Allow-Origin HTTP ヘッダの値 |
core.https_trusted_proxy |
string |
global |
- |
プロキシの connection ヘッダーでクライアントのアドレスを渡す信頼するサーバの IP アドレスのカンマ区切りリスト |
core.metrics_address |
string |
global |
- |
メトリクスサーバをバインドさせるアドレス (HTTPS) |
core.metrics_authentication |
boolean |
global |
true |
メトリクスエンドポイントの認証を強制するかどうか |
core.proxy_https |
string |
global |
- |
HTTPS プロキシを使用する場合はその URL (未指定の場合は HTTPS_PROXY 環境変数を参照) |
core.proxy_http |
string |
global |
- |
HTTP プロキシを使用する場合はその URL (未指定の場合は HTTP_PROXY 環境変数を参照) |
core.proxy_ignore_hosts |
string |
global |
- |
プロキシが不要なホスト (NO_PROXY と同様な形式、例えば 1.2.3.4,1.2.3.5, を指定。未指定の場合は NO_PROXY 環境変数を参照) |
core.shutdown_timeout |
integer |
global |
5 |
LXD サーバがシャットダウンを完了するまでに待つ時間を分で指定 |
core.trust_ca_certificates |
boolean |
global |
- |
CA に署名されたクライアント証明書を自動的に信頼するかどうか |
core.trust_password |
string |
global |
- |
信頼を確立するためにクライアントに要求するパスワード |
images.auto_update_cached |
boolean |
global |
true |
LXD がキャッシュしているイメージを自動的に更新するかどうか |
images.auto_update_interval |
integer |
global |
6 |
キャッシュされているイメージが更新されているかチェックする間隔を時間単位で指定 |
images.compression_algorithm |
string |
global |
gzip |
新しいイメージに使用する圧縮アルゴリズム (bzip2, gzip, lzma, xz あるいは none) |
images.default_architecture |
string |
- |
- |
アーキテクチャーが混在するクラスタ内で使用するデフォルトのアーキテクチャー |
images.remote_cache_expiry |
integer |
global |
10 |
キャッシュされたが未使用のイメージを破棄するまでの日数 |
maas.api.key |
string |
global |
- |
MAAS を管理するための API キー |
maas.api.url |
string |
global |
- |
MAAS サーバの URL |
maas.machine |
string |
local |
hostname |
この LXD ホストの MAAS での名前 |
network.ovn.integration_bridge |
string |
global |
br-int |
OVN ネットワークに使用する OVN 統合ブリッジ |
network.ovn.northbound_connection |
string |
global |
unix:/var/run/ovn/ovnnb_db.sock |
OVN northbound データベース接続文字列 |
rbac.agent.public_key |
string |
global |
- |
RBAC 登録中に提供される Candid エージェントの公開鍵 |
rbac.agent.private_key |
string |
global |
- |
RBAC 登録中に提供される Candid エージェントの秘密鍵 |
rbac.agent.url |
string |
global |
- |
RBAC 登録中に提供される Candid エージェントの URL |
rbac.agent.username |
string |
global |
- |
RBAC 登録中に提供される Candid エージェントのユーザー名 |
rbac.api.expiry |
integer |
global |
- |
RBAC の macaroon の有効期限 (秒) |
rbac.api.key |
string |
global |
- |
RBAC サーバの公開鍵 (HTTP のみ有効なサーバで必要) |
rbac.api.url |
string |
global |
- |
外部の RBAC サーバの URL |
storage.backups_volume |
string |
local |
- |
バックアップの tarball を保管するのに使用するボリューム (POOL/VOLUME 形式で指定) |
storage.images_volume |
string |
local |
- |
イメージの tarball を保管するのに使用するボリューム (POOL/VOLUME 形式で指定) |
これらのキーは lxc コマンドで次のように設定します。
lxc config set <key> <value>
クラスタの一部として動作するときは、上記の表でスコープが global
のキーは全てのクラスタメンバーに即座に反映されます。スコープが local
のキーはコマンドラインツールの \-\-target
オプションを使ってメンバーごとに設定する必要があります。
LXD をネットワーク上に公開する#
デフォルトでは LXD は UNIX ソケット経由でローカルのユーザーのみが使用できます。
LXD をネットワーク上に公開するには core.https_address
を設定する必要があります。
すると全てのリモートクライアントが LXD に接続でき、公開利用可能とマークされた全てのイメージにアクセスできます。
信頼されたクライアントはサーバのトラストストアーに手動で追加できます。
lxc config trust add
を実行するか core.trust_password
キーを設定し、設定したパスワードを接続時に提供することでクライアントがトラストストアーに追加されます。
認証についての詳細は セキュリティ を参照してください。
外部認証#
ネットワーク経由で LXD にアクセスする場合は Candid による外部認証を使うように設定できます。
上記の candid.*
設定キーをデプロイ済みの Candid に対応する値に設定することでユーザーはウェブブラウザーで認証し LXD に信頼されることができます。
Candid サーバの手前に Canonical RBAC サーバがある場合、 candid.*
の代わりにそれらのスーパーセットである rbac.*
設定キーを設定でき、これにより LXD を RBAC サービスと統合できます。
RBAC と統合されると、個々のユーザーとグループはプロジェクト単位にさまざまなアクセスレベルで許可が与えられます。 これらは全て RBAC サービスにより外部で制御されます。
認証についての詳細は セキュリティ を参照してください。