|
この文書は自動機械翻訳技術を使用して翻訳されています。 正確な翻訳を提供するように努めておりますが、翻訳された内容の完全性、正確性、信頼性については一切保証いたしません。 相違がある場合は、元の英語版 英語 が優先され、正式なテキストとなります。 |
設定オプション
このページでは、K3sを初めて設定する際に一般的に使用されるオプションに焦点を当てています。詳細な情報については、高度なオプションと設定およびサーバーとエージェントのコマンドドキュメントを参照してください。
インストールスクリプトによる設定
クイックスタートガイドに記載されているように、https://get.k3s.ioで利用可能なインストールスクリプトを使用して、systemdおよびopenrcベースのシステムにK3sをサービスとしてインストールできます。
INSTALL_K3S_EXEC、`K3S_`の環境変数、およびコマンドフラグの組み合わせを使用して、サービスの設定に設定を渡すことができます。
接頭辞付き環境変数、`INSTALL_K3S_EXEC`の値、および末尾のシェル引数はすべてサービス設定に永続化されます。
インストール後、環境ファイルを編集したり、サービス設定を編集したり、新しいオプションでインストーラーを再実行することで、設定を変更できます。
SUSE® Rancher Prime: K3sの場合、`INSTALL_K3S_ARTIFACT_URL`を使用する必要があります。これはhttps://scc.suse.com/rancher-docs/rancherprime/latest/en/reference-guide.html#prime-artifacts-url[プライムアーティファクトURL]を指します。
これを示すために、以下のコマンドはすべて、フランネルなしでトークンを使用してサーバーを登録する同じ動作を結果として得ます。
curl -sfL https://get.k3s.io | INSTALL_K3S_ARTIFACT_URL=<PRIME-ARTIFACTS-URL>/k3s INSTALL_K3S_EXEC="server" sh -s - --flannel-backend none --token 12345
curl -sfL https://get.k3s.io | INSTALL_K3S_ARTIFACT_URL=<PRIME-ARTIFACTS-URL>/k3s INSTALL_K3S_EXEC="server --flannel-backend none" K3S_TOKEN=12345 sh -s -
curl -sfL https://get.k3s.io | INSTALL_K3S_ARTIFACT_URL=<PRIME-ARTIFACTS-URL>/k3s K3S_TOKEN=12345 sh -s - server --flannel-backend none
# server is assumed below because there is no K3S_URL
curl -sfL https://get.k3s.io | INSTALL_K3S_ARTIFACT_URL=<PRIME-ARTIFACTS-URL>/k3s INSTALL_K3S_EXEC="--flannel-backend none --token 12345" sh -s -
curl -sfL https://get.k3s.io | INSTALL_K3S_ARTIFACT_URL=<PRIME-ARTIFACTS-URL>/k3s sh -s - --flannel-backend none --token 12345
エージェントを登録する際、以下のコマンドはすべて同じ動作を結果として得ます。
curl -sfL https://get.k3s.io | INSTALL_K3S_ARTIFACT_URL=<PRIME-ARTIFACTS-URL>/k3s INSTALL_K3S_EXEC="agent --server https://k3s.example.com --token mypassword" sh -s -
curl -sfL https://get.k3s.io | INSTALL_K3S_ARTIFACT_URL=<PRIME-ARTIFACTS-URL>/k3s INSTALL_K3S_EXEC="agent" K3S_TOKEN="mypassword" sh -s - --server https://k3s.example.com
curl -sfL https://get.k3s.io | INSTALL_K3S_ARTIFACT_URL=<PRIME-ARTIFACTS-URL>/k3s K3S_URL=https://k3s.example.com sh -s - agent --token mypassword
curl -sfL https://get.k3s.io | INSTALL_K3S_ARTIFACT_URL=<PRIME-ARTIFACTS-URL>/k3s K3S_URL=https://k3s.example.com K3S_TOKEN=mypassword sh -s - # agent is assumed because of K3S_URL
すべての環境変数の詳細については、環境変数。を参照してください。
|
注意
インストールスクリプトを実行する際に設定を行ったが、再実行時に再度設定しない場合、元の値は失われます。 設定ファイルの内容は、インストールスクリプトによって管理されません。 インストールスクリプトから独立した設定を希望する場合は、環境変数や引数をインストールスクリプトに渡すのではなく、設定ファイルを使用するべきです。 |
バイナリによる設定
インストールスクリプトは、K3sをシステムサービスとして実行するための設定に主に関心があります。インストールスクリプトを使用しないことを選択した場合は、https://github.com/k3s-io/k3s/releases/latest[GitHubリリースページ]からバイナリをダウンロードし、パスに配置して実行するだけでK3sを実行できます。これは恒久的なインストールには特に役立ちませんが、K3sをシステムサービスとして管理する必要がない迅速なテストを行う際には役立つかもしれません。
curl -Lo /usr/local/bin/k3s <PRIME-ARTIFACTS-URL>/k3s/v1.35.1%2Bk3s1/k3s; chmod a+x /usr/local/bin/k3s
`K3S_`の環境変数を設定することで、設定を渡すことができます。
K3S_KUBECONFIG_MODE="644" k3s server
コマンドフラグ:
k3s server --write-kubeconfig-mode=644
k3sエージェントはこのようにも設定できます:
k3s agent --server https://k3s.example.com --token mypassword
K3sサーバーの設定の詳細については、k3s server`ドキュメントを参照してください。
K3sエージェントの設定の詳細については、`k3s agent`ドキュメントを参照してください。
また、--help`フラグを使用して、すべての利用可能なオプションとそれに対応する環境変数のリストを表示することもできます。
|
一致するフラグ
サーバーノードで重要なフラグを一致させることが重要です。例えば、マスターノードでフラグ`--disable servicelb`または`--cluster-cidr=10.200.0.0/16`を使用する場合、他のサーバーノードで設定しないと、ノードは参加できなくなります。次のようなエラーが表示されます: `failed to validate server configuration: critical configuration value mismatch.`サーバー構成のドキュメント(上記のリンク)を参照して、サーバーノードで同一に設定する必要があるフラグについての詳細を確認してください。 |
コンテナイメージによる設定
K3sコンテナイメージ(https://hub.docker.com/r/rancher/k3s[`docker.io/rancher/k3s`])は、GitHubリリースページで入手可能なバイナリと同じ設定方法をサポートしています。
設定ファイル
K3sを環境変数やCLI引数で設定することに加えて、K3sは設定ファイルも使用できます。設定ファイルは、K3sがどのようにインストールまたは実行されても読み込まれます。
デフォルトでは、設定は`/etc/rancher/k3s/config.yaml`から読み込まれ、ドロップインファイルは`/etc/rancher/k3s/config.yaml.d/*.yaml`からアルファベット順に読み込まれます。
このパスは、--config CLIフラグまたは`K3S_CONFIG_FILE`環境変数を介して設定可能です。
デフォルトの設定ファイル名を上書きする場合、ドロップインディレクトリのパスも変更されます。
基本的な`server`設定ファイルの例は以下の通りです:
write-kubeconfig-mode: "0644"
tls-san:
- "foo.local"
node-label:
- "foo=bar"
- "something=amazing"
cluster-init: true
これは次のCLI引数と同等です:
k3s server \
--write-kubeconfig-mode "0644" \
--tls-san "foo.local" \
--node-label "foo=bar" \
--node-label "something=amazing" \
--cluster-init
一般的に、CLI引数はそれぞれのYAMLキーにマッピングされ、繰り返し可能なCLI引数はYAMLリストとして表されます。ブール値フラグはYAMLファイル内で`true`または`false`として表されます。
設定ファイルとCLI引数の両方を使用することも可能です。このような状況では、両方のソースから値が読み込まれますが、CLI引数が優先されます。`--node-label`のような繰り返し可能な引数の場合、CLI引数はリスト内のすべての値を上書きします。
値のマージ動作
複数のファイルに存在する場合、特定のキーに対して見つかった最後の値が使用されます。キーに``を追加することで、値を既存の文字列やスライスに追加することができ、置き換えるのではありません。その後のファイル内のこのキーのすべての出現も、蓄積された値を上書きしないようにするために``が必要です。
複数の設定ファイルからマージされた値の例は以下の通りです:
token: boop
node-label:
- foo=bar
- bar=baz
write-kubeconfig-mode: 600
node-taint:
- alice=bob:NoExecute
write-kubeconfig-mode: 777
node-label:
- other=what
- foo=three
node-taint+:
- charlie=delta:NoSchedule
これにより、最終的な設定は次のようになります:
write-kubeconfig-mode: 777
token: boop
node-label:
- other=what
- foo=three
node-taint:
- alice=bob:NoExecute
- charlie=delta:NoSchedule
すべてをまとめる
上記のすべてのオプションを1つの例に組み合わせることができます。
`/etc/rancher/k3s/config.yaml`に`config.yaml`ファイルが作成されます:
token: "secret"
debug: true
次に、環境変数とフラグの組み合わせでインストールスクリプトが実行されます:
curl -sfL https://get.k3s.io | INSTALL_K3S_ARTIFACT_URL=<PRIME-ARTIFACTS-URL>/k3s K3S_KUBECONFIG_MODE="644" INSTALL_K3S_EXEC="server" sh -s - --flannel-backend none
または、すでにK3sバイナリをインストールしている場合:
K3S_KUBECONFIG_MODE="644" k3s server --flannel-backend none
これにより、次のようなサーバーが生成されます:
-
権限`644`のkubeconfigファイル
-
Flannelバックエンドが`none`に設定されています
-
トークンが`secret`に設定されています
-
デバッグログが有効になりました
Kubeletの設定ファイル
Kubernetesは、CLIフラグと設定ファイルの両方を介してkubeletの設定をサポートしています。CLIフラグを介してkubeletを設定することは長い間非推奨とされていますが、依然としてサポートされており、基本的なオプションを設定する最も簡単な方法です。一部の高度なkubelet設定は、設定ファイルを介してのみ設定できます。詳細については、https://kubernetes.io/docs/reference/command-line-tools-reference/kubelet/[kubelet]およびhttps://kubernetes.io/docs/tasks/administer-cluster/kubelet-config-file/[設定ファイルを介してkubeletパラメータを設定する]に関するKubernetesのドキュメントを参照してください。
kubeletのドロップイン設定ファイルまたは設定ファイル(以下のオプション1および2)のサポートは、v1.32以降でのみ利用可能です。古いリリースでは、kubelet引数を直接使用する必要があります(以下のオプション番号3)。
K3sは、`/var/lib/rancher/k3s/agent/etc/kubelet.conf.d/00-k3s-defaults.conf`の下に保存されているデフォルトのkubelet設定を使用します。デフォルトの設定パラメータを変更したい場合は、次の3つの方法があります:
-
`/var/lib/rancher/k3s/agent/etc/kubelet.conf.d/`にドロップイン設定ファイルを配置します(推奨)。
-
フラグ`--kubelet-arg=config=$PATHTOFILE`を使用すること、ここで`$PATHTOFILE`はkubelet設定パラメータを含むファイルへのパス(例:
/etc/rancher/k3s/kubelet.conf)です。または、フラグ`--kubelet-arg=config-dir=$PATHTODIR`を使用すること、ここで`$PATHTODIR`はkubelet設定パラメータを含むファイルを格納できるディレクトリへのパス(例:/etc/rancher/k3s/kubelet.conf.d)です。 -
フラグ`--kubelet-arg=$FLAG`を使用すること、ここで`$FLAG`はkubelet設定パラメータ(例:
image-gc-high-threshold=100)です。
kubelet CLIフラグと設定ファイルのドロップインを混在させる場合は、https://kubernetes.io/docs/tasks/administer-cluster/kubelet-config-file/#kubelet-configuration-merging-order[優先順位の順序]に注意してください。