メインコンテンツまでスキップ

k3s エージェント

このセクションでは、K3sエージェントの設定方法を学びます。

サーバーもエージェントを実行するため、このページに記載されているすべてのフラグはサーバーでも使用可能です。

オプションはCLIフラグとしてこのページに記載されていますが、設定ファイルオプションとしても渡すことができます。YAML設定ファイルの使用方法については、設定ファイルのドキュメントを参照してください。

ロギング

フラグデフォルト説明
-v0ログレベルの冗長度の数値
--vmoduleN/AファイルフィルタリングされたログのためのFILE_PATTERN=LOG_LEVEL設定のカンマ区切りリスト
--log 値, -lN/Aファイルにログを記録
--alsologtostderrN/Aファイルに設定されている場合、標準エラーにもログを記録

クラスターオプション

フラグ環境変数説明
--token 値, -tK3S_TOKEN認証に使用するトークン
--token-fileK3S_TOKEN_FILE認証に使用するトークンファイル
--server 値, -sK3S_URL接続するサーバー

データ

フラグデフォルト説明
--data-dir 値, -d"/var/lib/rancher/k3s"状態を保持するフォルダー

ノード

フラグ環境変数説明
--node-nameK3S_NODE_NAMEノード名
--with-node-idN/Aノード名にIDを追加
--node-labelN/Aラベルのセットでkubeletを登録および開始
--node-taintN/Ataintsのセットでkubeletを登録
--protect-kernel-defaultsN/Aカーネルのチューニング動作。設定されている場合、カーネルのチューナブルがkubeletのデフォルトと異なる場合にエラーを発生させます。
--selinuxK3S_SELINUXcontainerdでSELinuxを有効にする
--lb-server-portK3S_LB_SERVER_PORTスーパーバイザークライアントのロードバランサーのローカルポート。スーパーバイザーとapiserverが同じ場所にない場合、このポートの1つ少ない追加ポートもapiserverクライアントのロードバランサーに使用されます。(デフォルト: 6444)

ランタイム

フラグデフォルト説明
--container-runtime-endpointN/A組み込みのcontainerdを無効にし、指定されたパスのCRIソケットを使用します。--dockerと一緒に使用する場合、cri-dockerソケットパスを設定します
--pause-image"docker.io/rancher/pause:3.1"containerdまたはdockerサンドボックス用のカスタマイズされたpauseイメージ
--private-registry"/etc/rancher/k3s/registries.yaml"プライベートレジストリの設定ファイル

ネットワーキング

フラグ環境変数説明
--node-ip 値, -iN/Aノードの広告用IPアドレス
--node-external-ipN/Aノードの広告用外部IPアドレス
--resolv-confK3S_RESOLV_CONFKubeletのresolv.confファイル
--flannel-ifaceN/Aデフォルトのflannelインターフェースを上書き
--flannel-confN/Aデフォルトのflannel設定ファイルを上書き
--flannel-cni-confN/Aデフォルトのflannel cni設定ファイルを上書き

カスタマイズされたフラグ

フラグ説明
--kubelet-argkubeletプロセス用のカスタマイズされたフラグ
--kube-proxy-argkube-proxyプロセス用のカスタマイズされたフラグ

実験的

フラグ説明
--rootlessルートレスで実行
--dockercontainerdの代わりにcri-dockerdを使用
--prefer-bundled-binホストバイナリよりもバンドルされたユーザースペースバイナリを優先
--disable-default-registry-endpoint"デフォルトエンドポイントフォールバック"を参照

廃止予定

フラグ環境変数説明
--no-flannelN/A--flannel-backend=noneを使用
--cluster-secretK3S_CLUSTER_SECRET--tokenを使用

エージェントのノードラベルとtaints

K3sエージェントは、--node-labelおよび--node-taintオプションを使用して設定でき、これによりkubeletにラベルとtaintが追加されます。これらのオプションは登録時にのみラベルおよび/またはtaintを追加するため、一度だけ追加され、その後K3sコマンドを実行しても変更できません。

以下は、ラベルとtaintを追加する方法を示す例です:

     --node-label foo=bar \
--node-label hello=world \
--node-taint key1=value1:NoExecute

ノード登録後にノードラベルとtaintを変更したい場合は、kubectlを使用する必要があります。taintsの追加方法については公式のKubernetesドキュメントを参照してください。taintsおよびノードラベルの追加方法についての詳細を参照してください。

K3sエージェントCLIヘルプ

以下にオプションが角括弧で表示されている場合、例えば[$K3S_URL]、そのオプションはその名前の環境変数として渡すことができることを意味します。

NAME:
k3s agent - ノードエージェントを実行

USAGE:
k3s agent [OPTIONS]

OPTIONS:
--config FILE, -c FILE (config) FILEから設定を読み込む (デフォルト: "/etc/rancher/k3s/config.yaml") [$K3S_CONFIG_FILE]
--debug (logging) デバッグログを有効にする [$K3S_DEBUG]
-v 値 (logging) ログレベルの冗長度の数値 (デフォルト: 0)
--vmodule 値 (logging) ファイルフィルタリングされたログのためのFILE_PATTERN=LOG_LEVEL設定のカンマ区切りリスト
--log 値, -l 値 (logging) ファイルにログを記録
--alsologtostderr (logging) ファイルに設定されている場合、標準エラーにもログを記録
--token 値, -t 値 (cluster) 認証に使用するトークン [$K3S_TOKEN]
--token-file 値 (cluster) 認証に使用するトークンファイル [$K3S_TOKEN_FILE]
--server 値, -s 値 (cluster) 接続するサーバー [$K3S_URL]
--data-dir 値, -d 値 (agent/data) 状態を保持するフォルダー (デフォルト: "/var/lib/rancher/k3s")
--node-name 値 (agent/node) ノード名 [$K3S_NODE_NAME]
--with-node-id (agent/node) ノード名にIDを追加
--node-label 値 (agent/node) ラベルのセットでkubeletを登録および開始
--node-taint 値 (agent/node) taintsのセットでkubeletを登録
--image-credential-provider-bin-dir 値 (agent/node) クレデンシャルプロバイダープラグインバイナリが配置されているディレクトリのパス (デフォルト: "/var/lib/rancher/credentialprovider/bin")
--image-credential-provider-config 値 (agent/node) クレデンシャルプロバイダープラグイン設定ファイルのパス (デフォルト: "/var/lib/rancher/credentialprovider/config.yaml")
--selinux (agent/node) containerdでSELinuxを有効にする [$K3S_SELINUX]
--lb-server-port 値 (agent/node) スーパーバイザークライアントのロードバランサーのローカルポート。スーパーバイザーとapiserverが同じ場所にない場合、このポートの1つ少ない追加ポートもapiserverクライアントのロードバランサーに使用されます。(デフォルト: 6444) [$K3S_LB_SERVER_PORT]
--protect-kernel-defaults (agent/node) カーネルのチューニング動作。設定されている場合、カーネルのチューナブルがkubeletのデフォルトと異なる場合にエラーを発生させます。
--container-runtime-endpoint 値 (agent/runtime) 組み込みのcontainerdを無効にし、指定されたパスのCRIソケットを使用します。--dockerと一緒に使用する場合、dockerソケットパスを設定します
--pause-image 値 (agent/runtime) containerdまたはdockerサンドボックス用のカスタマイズされたpauseイメージ (デフォルト: "rancher/mirrored-pause:3.6")
--snapshotter 値 (agent/runtime) デフォルトのcontainerdスナップショッターを上書き (デフォルト: "overlayfs")
--private-registry 値 (agent/runtime) プライベートレジストリの設定ファイル (デフォルト: "/etc/rancher/k3s/registries.yaml")
--node-ip 値, -i 値 (agent/networking) ノードの広告用IPv4/IPv6アドレス
   --node-external-ip value                   (agent/networking) ノードの広告用IPv4/IPv6外部IPアドレス
--resolv-conf value (agent/networking) Kubeletのresolv.confファイル [$K3S_RESOLV_CONF]
--flannel-iface value (agent/networking) デフォルトのflannelインターフェースを上書き
--flannel-conf value (agent/networking) デフォルトのflannel設定ファイルを上書き
--flannel-cni-conf value (agent/networking) デフォルトのflannel cni設定ファイルを上書き
--kubelet-arg value (agent/flags) kubeletプロセスのカスタマイズフラグ
--kube-proxy-arg value (agent/flags) kube-proxyプロセスのカスタマイズフラグ
--rootless (experimental) ルートレスで実行
--prefer-bundled-bin (experimental) ホストのバイナリよりもバンドルされたユーザースペースバイナリを優先
--docker (agent/runtime) (experimental) containerdの代わりにcri-dockerdを使用