サーバー設定

Incus サーバーは key/value 設定オプションで設定できます。

key/value 設定は名前空間が分けられています。 以下のオプションが利用可能です:

設定オプションをどのように設定するかについての手順はIncusサーバーを設定するにはを参照してください。

注釈

このページの表でglobalスコープと表記されたオプションは即時に全てのクラスタメンバーに適用されます。 localスコープと表記されたオプションはメンバーごとに設定する必要があります。

コア設定

以下のサーバーオプションはコアデーモンの設定を制御します:

core.bgp_address

BGPサーバーをバインドするアドレス

Key: core.bgp_address
Type:

string

Scope:

local

Incus を BGP サーバーとして設定するには参照。

core.bgp_asn

ローカルサーバーのBGP AS番号(Autonomous System Number)

Key: core.bgp_asn
Type:

string

Scope:

global

core.bgp_routerid

BGPサーバーのユニーク識別子

Key: core.bgp_routerid
Type:

string

Scope:

local

識別子はIPv4アドレスの形式である必要があります。

core.debug_address

pprofデバッグサーバーがバインドするアドレス

Key: core.debug_address
Type:

string

Scope:

local

core.dns_address

権威DNSサーバーがバインドするアドレス

Key: core.dns_address
Type:

string

Scope:

local

組み込みの DNS サーバーを有効にする参照。

core.https_address

リモートAPI (HTTPS)用にバインドするアドレス

Key: core.https_address
Type:

string

Scope:

local

Incusをネットワークに公開するには参照。

core.https_allowed_credentials

Access-Control-Allow-Credentialsを設定するかどうか

Key: core.https_allowed_credentials
Type:

bool

Default:

false

Scope:

global

有効にすると、Access-Control-Allow-Credentials HTTPヘッダーの値がtrueに設定されます。

core.https_allowed_headers

Access-Control-Allow-Headers HTTPヘッダーの値

Key: core.https_allowed_headers
Type:

string

Scope:

global

core.https_allowed_methods

Access-Control-Allow-Methods HTTPヘッダーの値

Key: core.https_allowed_methods
Type:

string

Scope:

global

core.https_allowed_origin

Access-Control-Allow-Origin HTTPヘッダーの値

Key: core.https_allowed_origin
Type:

string

Scope:

global

core.https_trusted_proxy

クライアントのアドレスを提供するトラストサーバー

Key: core.https_trusted_proxy
Type:

string

Scope:

global

プロキシの接続ヘッダーを通してクライアントのアドレスを提供するトラストサーバーのIPアドレスのカンマ区切りリストを指定します。

core.metrics_address

メトリクスサーバーをバインドするアドレス (HTTPS)

Key: core.metrics_address
Type:

string

Scope:

local

メトリクスを監視するには参照。

core.metrics_authentication

メトリクスエンドポイントに認証を強制するかどうか

Key: core.metrics_authentication
Type:

bool

Default:

true

Scope:

global

core.proxy_http

使用するHTTPプロキシ

Key: core.proxy_http
Type:

string

Scope:

global

このオプションが設定されない場合、デーモンは(設定されていれば)HTTP_PROXY環境変数にフォールバックします。

core.proxy_https

使用するHTTPSプロキシ

Key: core.proxy_https
Type:

string

Scope:

global

このオプションが設定されない場合、デーモンは(設定されていれば)HTTPS_PROXY環境変数にフォールバックします。

core.proxy_ignore_hosts

プロキシを必要としないホスト

Key: core.proxy_ignore_hosts
Type:

string

Scope:

global

NO_PROXYと同様な形式(例えば、 1.2.3.4,1.2.3.5)でこのオプションを指定します。

このオプションが指定されない場合、デーモンは(設定されていれば)NO_PROXY環境変数にフォールバックします。

core.remote_token_expiry

リモート追加トークンが期限切れになるまでの時間

Key: core.remote_token_expiry
Type:

string

Default:

no expiry

Scope:

global

core.shutdown_action

サーバーのシャットダウン時に実行するアクション

Key: core.shutdown_action
Type:

string

Default:

shutdown

Scope:

global

デーモンがシャットダウンされる際に実行するアクションを指定します。 指定できる値はshutdown(すべてのインスタンスを停止)、evacuate(クラスター化されたサーバーを退避させる)。

core.shutdown_timeout

停止までどれぐらいの時間待つか

Key: core.shutdown_timeout
Type:

integer

Default:

5

Scope:

global

デーモンが停止するまで実行中の操作を何分待つかの分の数。

core.storage_buckets_address

ストレージオブジェクトサーバーがバインドするアドレス (HTTPS)

Key: core.storage_buckets_address
Type:

string

Scope:

local

ストレージバケットとキーを管理するには参照。

core.syslog_socket

syslogのunixgramのソケットリスナーを有効にするかどうか

Key: core.syslog_socket
Type:

bool

Default:

false

Scope:

local

このオプションをtrueに設定すると、外部プロセスからのログメッセージを受信するsyslogのunixgramのソケットが有効化されます。

core.trust_ca_certificates

CAで署名されたクライアントを自動的に信頼するかどうか

Key: core.trust_ca_certificates
Type:

bool

Default:

false

Scope:

global

ACME設定

以下のサーバーオプションはACME設定を制御します:

acme.agree_tos

ACMEの利用規約に同意する

Key: acme.agree_tos
Type:

bool

Default:

false

Scope:

global

acme.ca_url

ACMEサービスのディレクトリリソースのURL

Key: acme.ca_url
Type:

string

Default:

https://acme-v02.api.letsencrypt.org/directory

Scope:

global

acme.challenge

使用するACMEチャレンジ

Key: acme.challenge
Type:

string

Default:

HTTP-01

Scope:

global

設定可能な値はDNS-01HTTP-01

acme.domain

証明書を発行する対象のドメイン

Key: acme.domain
Type:

string

Scope:

global

acme.email

アカウント登録に使用するEmailアドレス

Key: acme.email
Type:

string

Scope:

global

acme.http.port

(HTTP-01で使われる)HTTPサーバのポートとインターフェース

Key: acme.http.port
Type:

string

Default:

:80

Scope:

global

HTTPベースのチャレンジでリッスンするポートとインターフェースを設定します。

acme.provider

(DNS-01で使用される)チャレンジ用のバックエンドプロバイダー

Key: acme.provider
Type:

string

Default:

``

Scope:

global

acme.provider.environment

(DNS-01で使用される)チャレンジ中にセットする環境変数

Key: acme.provider.environment
Type:

string

Default:

``

Scope:

global

acme.provider.resolvers

(DNS-01で使用される)DNSリゾルバーのカンマ区切りリスト

Key: acme.provider.resolvers
Type:

string

Default:

``

Scope:

global

DNS-01チャレンジ中に(再帰的な)CNAMEの名前解決とapexドメインの判定を実行するために使うDNSレゾルバー。

OpenID Connect 設定

以下のサーバーオプションはOpenID Connect認証による外部ユーザー認証を設定します:

oidc.audience

アプリケーション用に期待されるaudienceの値

Key: oidc.audience
Type:

string

Scope:

global

この値はいくつかのプロバイダーで必要です。

oidc.claim

ユーザー名として使用するOpenID Connectクレーム

Key: oidc.claim
Type:

string

Scope:

global

アクセストークン内にクレームが含まれる必要があることに注意してください。

oidc.client.id

OpenID ConnectクライアントID

Key: oidc.client.id
Type:

string

Scope:

global

oidc.issuer

プロバイダーで使用するOpenID Connect Discovery URL

Key: oidc.issuer
Type:

string

Scope:

global

oidc.scopes

OpenID Connectスコープのカンマ区切りリスト

Key: oidc.scopes
Type:

string

Scope:

global

OpenFGA 設定

以下のサーバーオプションは Open Fine-Grained Authorization (OpenFGA) を使った外部ユーザー認可を設定します:

openfga.api.token

OpenFGAサーバーのAPIトークン

Key: openfga.api.token
Type:

string

Scope:

global

openfga.api.url

OpenFGAサーバーのURL

Key: openfga.api.url
Type:

string

Scope:

global

openfga.store.id

OpenFGAパーミッションストアーのID

Key: openfga.store.id
Type:

string

Scope:

global

クラスタ設定

以下のサーバーオプションはクラスタリングを制御します:

cluster.healing_threshold

オフラインのクラスタメンバーをいつ退避するかの閾値

Key: cluster.healing_threshold
Type:

integer

Default:

0

Scope:

global

オフラインのクラスタメンバーが退避されるまでの秒数を指定します。 オフラインメンバーの退避を無効化するには、このオプションを0に設定します。

cluster.https_address

クラスタトラフィックに使用するアドレス

Key: cluster.https_address
Type:

string

Scope:

local

See 個別の REST API とクラスタネットワーク.

cluster.images_minimal_replica

イメージを複製するクラスタメンバー数

Key: cluster.images_minimal_replica
Type:

integer

Default:

3

Scope:

global

特定のイメージのコピーを保持するクラスタメンバーの最小数を指定します。 このオプションを1にすると複製なし、-1にするとすべてのメンバーでイメージを複製します。

cluster.join_token_expiry

クラスタ参加トークンが期限切れになるまでの時間

Key: cluster.join_token_expiry
Type:

string

Default:

3H

Scope:

global

cluster.max_standby

データベースのスタンバイメンバー数

Key: cluster.max_standby
Type:

integer

Default:

2

Scope:

global

データベースのスタンバイロールが割り当てられるクラスタメンバーの最大数を指定します。 これは05の間の整数である必要があります。

cluster.max_voters

データベースのvoterメンバー数

Key: cluster.max_voters
Type:

integer

Default:

3

Scope:

global

データベースのvoterロールが割り当てられるクラスタメンバーの最大数を指定します。 これは3以上の奇数である必要があります。

cluster.offline_threshold

反応しないメンバーがオフラインと判定されるまでの時間の閾値

Key: cluster.offline_threshold
Type:

integer

Default:

20

Scope:

global

反応しないメンバーがオフラインと判定されるまでの秒数を指定します。

cluster.rebalance.batch

1回のリバランスの実行で移動するインスタンスの最大数

Key: cluster.rebalance.batch
Type:

integer

Default:

1

Scope:

global

cluster.rebalance.cooldown

一度動かしたインスタンスを再度動かさないように維持する期間

Key: cluster.rebalance.cooldown
Type:

string

Default:

6H

Scope:

global

cluster.rebalance.interval

リバランスを検討する頻度(分単位)。無効にするには0を指定(デフォルト)

Key: cluster.rebalance.interval
Type:

integer

Default:

0

Scope:

global

cluster.rebalance.threshold

マイグレーションをトリガーするのに必要なもっとも忙しいサーバーともっとも暇なサーバーの負荷の差異のパーセンテージ

Key: cluster.rebalance.threshold
Type:

integer

Default:

20

Scope:

global

イメージ設定

以下のサーバーオプションはImagesをどう取り扱うかを設定します:

images.auto_update_cached

キャッシュされたイメージを自動的に更新するかどうか

Key: images.auto_update_cached
Type:

bool

Default:

true

Scope:

global

images.auto_update_interval

キャッシュされたイメージの更新を確認する間隔

Key: images.auto_update_interval
Type:

integer

Default:

6

Scope:

global

間隔を時間単位で指定します。 キャッシュされたイメージの更新の確認を無効化するには、このオプションを0に設定します。

images.compression_algorithm

新しいイメージに使用する圧縮アルゴリズム

Key: images.compression_algorithm
Type:

string

Default:

gzip

Scope:

global

設定できる値はbzip2gziplz4lzmaxzzstdnoneです。

images.default_architecture

アーキテクチャー混在のクラスターで使用するデフォルトのアーキテクチャー

Key: images.default_architecture
Type:

string

images.remote_cache_expiry

使用していないキャッシュされたリモートのイメージをいつ削除するか

Key: images.remote_cache_expiry
Type:

integer

Default:

10

Scope:

global

使用していないキャッシュされたイメージが期限切れになる日数を指定します。

ログ設定

ログシステムは複数のターゲットが設定できるようになりました。ターゲットはユニークな名前(例:loki1syslog01)により識別されます。 各ターゲットは独立して設定でき、固有のログ種別が割り当てられます。

サポートされるターゲット

  • loki - Grafana Lokiサーバーにログを送信

  • syslog - リモートのsyslogエンドポイントにログを送信

設定例

logging.loki01.target.type: loki
logging.loki01.target.address: https://loki01.int.example.net
logging.loki01.target.username: foo
logging.loki01.target.password: bar
logging.loki01.types: lifecycle,network-acl
logging.loki01.lifecycle.types: instance

logging.syslog01.target.type: syslog
logging.syslog01.target.address: syslog01.int.example.net
logging.syslog01.target.facility: security
logging.syslog01.types: logging
logging.syslog01.logging.level: warning
logging.NAME.lifecycle.projects

プロジェクトのカンマ区切りリスト、空はすべての意味

Key: logging.NAME.lifecycle.projects
Type:

string

Scope:

global

logging.NAME.lifecycle.types

例、instance、カンマ区切り、空はすべての意味

Key: logging.NAME.lifecycle.types
Type:

string

Scope:

global

logging.NAME.logging.level

ロガーに送る最小のログレベル

Key: logging.NAME.logging.level
Type:

string

Default:

info

Scope:

global

logging.NAME.target.address

ロガーのアドレス

Key: logging.NAME.target.address
Type:

string

Scope:

global

プロトコル、名前かIP、ポートを指定。例えばtcp://syslog01.int.example.net:514

logging.NAME.target.ca_cert

サーバーのCA証明書

Key: logging.NAME.target.ca_cert
Type:

string

Scope:

global

logging.NAME.target.facility

ログメッセージのカテゴリを定義するsyslog facility

Key: logging.NAME.target.facility
Type:

string

Scope:

global

logging.NAME.target.instance

Lokiイベント内のインスタンスフィールドで使用する名前

Key: logging.NAME.target.instance
Type:

string

Default:

ローカルサーバーのホスト名かクラスターのメンバー名

Scope:

global

これによりデフォルトのインスタンスの値(サーバーホスト名)をクラスターIDのようなより関連する値に置き換えられます。

logging.NAME.target.labels

Lokiログエントリーのラベル

Key: logging.NAME.target.labels
Type:

string

Scope:

global

Lokiログエントリーのラベルとして使われる値のカンマ区切りリストを指定します。

logging.NAME.target.password

認証に使うパスワード

Key: logging.NAME.target.password
Type:

string

Scope:

global

logging.NAME.target.retry

配信リトライ回数、デフォルトは3

Key: logging.NAME.target.retry
Type:

integer

Scope:

global

logging.NAME.target.type

ロガーの種別。lokisyslogwebhookのいずれか。

Key: logging.NAME.target.type
Type:

string

Scope:

global

logging.NAME.target.username

認証に使うユーザー名

Key: logging.NAME.target.username
Type:

string

Scope:

global

logging.NAME.types

ロガーに送信するイベント

Key: logging.NAME.types
Type:

string

Default:

lifecycle,logging

Scope:

global

ロガーに送信するイベントのカンマ区切りリストを指定します。 lifecycleloggingnetwork-aclの組み合わせを指定できます。

その他設定

以下のサーバーオプションはInstancesのサーバー固有設定、MAAS 統合、OVN統合、バックアップストレージを設定します:

authorization.scriptlet

認可スクリプトレット

Key: authorization.scriptlet
Type:

string

Scope:

global

スクリプトレットベースの認可を使用する際に、このオプションにスクリプトレットを保管します。

backups.compression_algorithm

バックアップに使用できる圧縮アルゴリズム

Key: backups.compression_algorithm
Type:

string

Default:

gzip

Scope:

global

設定できる値はbzip2gziplz4lzmaxzzstdnoneです。

instances.lxcfs.per_instance

インスタンスごとにLXCFSを動かすかどうか

Key: instances.lxcfs.per_instance
Type:

bool

Default:

false

Scope:

global

一般的な/proc/sys配下のファイルへのオーバーレイを提供するのにLXCFSが使用され、コンテナに適用されるリソース制限を反映します。

LXCFSは通常はホスト上の単一のファイルシステムを経由して操作し、それがすべてのコンテナで共有されます。 これは非常に効率が良いですが、LXCFSがクラッシュするとすべてのコンテナが壊れてしまうという欠点があります。

このオプションにより、代わりにコンテナごとにLXCFSのインスタンスを動かすことができます。 この結果、より多くのシステムリソースを使いますが、クラッシュの影響範囲を狭められます。

instances.nic.host_name

NICにホスト名をどのように設定するか

Key: instances.nic.host_name
Type:

string

Default:

random

Scope:

global

設定できる値はrandommacです。

randomと設定すると、ランダムなホストのインタフェース名をホスト名として使用します。 macと設定すると、inc<mac_address> (先頭の2桁を除いたMAC without leading two digits)の形式でホスト名を生成します。

instances.placement.scriptlet

自動インスタンス配置のためのインスタンス配置スクリプトレット

Key: instances.placement.scriptlet
Type:

string

Scope:

global

カスタムのインスタンス配置ロジックを使用する際、このオプションでスクリプトレットを保管します。 詳細はインスタンス配置スクリプトレットを参照してください。

instances.tpm.platform_cert

TPM Endorsement Keysのプロビジョンに使うプラットフォームCA証明書

Key: instances.tpm.platform_cert
Type:

string

Scope:

global

新しく作られるTPMデバイスのEndorsement Keyとプラットフォーム証明書を署名するのに使うPEM形式のプラットフォームCA証明書。 instances.tpm.platform_keyとともに設定する必要があります。

instances.tpm.platform_key

PMプラットフォームCA証明書の秘密鍵

Key: instances.tpm.platform_key
Type:

string

Scope:

global

instances.tpm.platform_certに対応するPEM形式の秘密鍵。 新しく作られるTPMデバイスのEndorsement Keyとプラットフォーム証明書を署名するのに使います。

network.ovn.ca_cert

OVN SSL証明書認証局

Key: network.ovn.ca_cert
Type:

string

Default:

存在する場合/etc/ovn/ovn-central.crtの中身

Scope:

global

network.ovn.client_cert

OVN SSLクライアント証明書

Key: network.ovn.client_cert
Type:

string

Default:

存在する場合/etc/ovn/cert_hostの中身

Scope:

global

network.ovn.client_key

OVN SSLクライアント鍵

Key: network.ovn.client_key
Type:

string

Default:

存在する場合/etc/ovn/key_hostの中身

Scope:

global

network.ovn.integration_bridge

OVNネットワークで使用するOVS統合ブリッジ

Key: network.ovn.integration_bridge
Type:

string

Default:

br-int

Scope:

global

network.ovn.northbound_connection

OVN northboundデータベース接続文字列

Key: network.ovn.northbound_connection
Type:

string

Default:

unix:/run/ovn/ovnnb_db.sock

Scope:

global

network.ovs.connection

OVSソケットパス

Key: network.ovs.connection
Type:

string

Default:

unix:/run/openvswitch/db.sock

Scope:

global

storage.backups_volume

バックアップtarballを保管するのに使用するボリューム

Key: storage.backups_volume
Type:

string

Scope:

local

POOL/VOLUMEの形式でボリュームを指定します。

storage.images_volume

イメージtarballを保管するのに使用するボリューム

Key: storage.images_volume
Type:

string

Scope:

local

POOL/VOLUMEの形式でボリュームを指定します。

storage.linstor.ca_cert

LINSTOR SSL証明書認証局

Key: storage.linstor.ca_cert
Type:

string

Scope:

global

storage.linstor.client_cert

LINSTOR SSLクライアント証明書

Key: storage.linstor.client_cert
Type:

string

Scope:

global

storage.linstor.client_key

LINSTOR SSLクライアント鍵

Key: storage.linstor.client_key
Type:

string

Scope:

global

storage.linstor.controller_connection

LINSTORコントローラー接続文字列

Key: storage.linstor.controller_connection
Type:

string

Scope:

global

storage.linstor.satellite.name

LINSTORサテライトノード名のオーバーライド

Key: storage.linstor.satellite.name
Type:

string

Scope:

global

このオプションをローカルのLINSTORサテライトノードの名前に設定します。Incusのサーバー名とは異なる必要があります。

storage.logs_volume

インスタンスのログディレクトリーを保管するのに使うボリューム

Key: storage.logs_volume
Type:

string

Scope:

local

POOL/VOLUMEの形式でボリュームを指定します。

ユーザーオプション

追加のユーザー定義キーはuser.ネームスペース内で利用可能です。 ユーザー定義のキーは常にstring型でglobalスコープになります。 user.ui.で始まるキーはウェブUI設定オプションで使用され、認証していないユーザーにも見えることに注意してください。