跳到主要内容

配置选项

本文重点介绍首次设置 K3s 时可以使用的选项:

如需更多高级选项,请参阅此页面

使用安装脚本的选项

快速入门指南中所述,你可以使用 https://get.k3s.io 上提供的安装脚本在基于 systemd 和 openrc 的系统上将 K3s 安装为服务。

你可以结合使用 INSTALL_K3S_EXECK3S_ 环境变量和命令标志来配置安装。

为了说明这一点,以下命令均同样地没有 Flannel 和使用令牌的情况下注册 Server:

curl -sfL https://get.k3s.io | INSTALL_K3S_EXEC="--flannel-backend none --token 12345" sh -s -
curl -sfL https://get.k3s.io | INSTALL_K3S_EXEC="server --flannel-backend none" K3S_TOKEN=12345 sh -s -
curl -sfL https://get.k3s.io | INSTALL_K3S_EXEC="server" sh -s - --flannel-backend none
curl -sfL https://get.k3s.io | K3S_TOKEN=12345 sh -s - server --flannel-backend none
curl -sfL https://get.k3s.io | sh -s - --flannel-backend none --token 12345

有关所有环境变量的详细信息,请参阅环境变量

二进制配置

如前所述,安装脚本主要是将 K3s 配置为服务来运行。
如果你选择不使用该脚本,你可以通过我们的 Releases 页面下载二进制文件,将其放在你的路径上,然后执行它即可运行 K3s。或者你可以安装 K3s 而不将其作为服务启用:

curl -sfL https://get.k3s.io | INSTALL_K3S_SKIP_ENABLE=true sh -

你可以通过 K3S_ 环境变量配置 K3s:

K3S_KUBECONFIG_MODE="644" k3s server

或使用命令标志:

k3s server --write-kubeconfig-mode 644

K3s Agent 也可以这样配置:

k3s agent --server https://k3s.example.com --token mypassword

有关配置 K3s Server 的详细信息,请参阅 Server 配置
有关配置 K3s Agent 的详细信息,请参阅 Agent 配置。
你还可以使用 --help 标志查看所有可用的选项。

匹配标志

匹配 Server/Agent 上的关键标志是非常重要的。例如,如果你在 master 节点上使用了 --disable servicelb--cluster-cidr=10.42.0.0/16 标志,但是没有在其他 Server 节点上进行相同的设置,节点将无法加入。它们会显示 failed to validate server configuration: critical configuration value mismatch 错误。

配置文件

版本

v1.19.1+k3s1 起可用

除了使用环境变量和 CLI 参数之外,你还可以使用配置文件配置 K3s。

默认情况下,安装时将使用位于 /etc/rancher/k3s/config.yaml 的 YAML 文件中的值。

下面是一个 server 配置文件的基本示例:

write-kubeconfig-mode: "0644"
tls-san:
- "foo.local"
node-label:
- "foo=bar"
- "something=amazing"

一般来说,CLI 参数映射到各自的 YAML 键,可重复的 CLI 参数被表示为 YAML 列表。

下面展示了一个完全使用 CLI 参数的相同配置:

k3s server \
--write-kubeconfig-mode "0644" \
--tls-san "foo.local" \
--node-label "foo=bar" \
--node-label "something=amazing"

也可以同时使用配置文件和 CLI 参数。 在这种情况下,值将从两个来源加载,但 CLI 参数将优先。 对于 --node-label 等可重复参数,CLI 参数将覆盖列表中的所有值。

最后,配置文件的位置可以通过 CLI 参数 --config FILE, -c FILE 或者环境变量 $K3S_CONFIG_FILE 来改变。

组合使用

你可以把上述所有选项组合成一个示例。

config.yaml 文件创建在 /etc/rancher/k3s/config.yaml 中:

token: "secret"
debug: true

然后使用环境变量和标志组合来运行安装脚本:

curl -sfL https://get.k3s.io | K3S_KUBECONFIG_MODE="644" INSTALL_K3S_EXEC="server" sh -s - --flannel-backend none

或者,如果你已经安装了 K3s 二进制文件:

K3S_KUBECONFIG_MODE="644" k3s server --flannel-backend none