跳至主要内容

环境变量

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

此命令的最简单形式如下所示

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

使用此方法安装 K3s 时,可以使用以下环境变量来配置安装。

环境变量描述
INSTALL_K3S_SKIP_DOWNLOAD如果设置为 true,则不会下载 K3s 哈希或二进制文件。
INSTALL_K3S_SYMLINK默认情况下,如果路径中不存在 kubectl、crictl 和 ctr 二进制文件,则会为其创建符号链接。如果设置为“skip”,则不会创建符号链接,而“force”将覆盖现有链接。
INSTALL_K3S_SKIP_ENABLE如果设置为 true,则不会启用或启动 K3s 服务。
INSTALL_K3S_SKIP_START如果设置为 true,则不会启动 K3s 服务。
INSTALL_K3S_VERSION要从 Github 下载的 K3s 版本。如果未指定,将尝试从稳定通道下载。
INSTALL_K3S_BIN_DIR安装 K3s 二进制文件、链接和卸载脚本的目录,或使用 /usr/local/bin 作为默认目录。
INSTALL_K3S_BIN_DIR_READ_ONLY如果设置为 true,则不会将文件写入 INSTALL_K3S_BIN_DIR,强制设置 INSTALL_K3S_SKIP_DOWNLOAD=true
INSTALL_K3S_SYSTEMD_DIR安装 systemd 服务和环境文件的目录,或使用 /etc/systemd/system 作为默认目录。
INSTALL_K3S_EXEC用于在服务中启动 K3s 的带有标志的命令。如果未指定命令,并且已设置 K3S_URL,则它将默认为“agent”。如果未设置 K3S_URL,则它将默认为“server”。有关帮助,请参考 此示例。
INSTALL_K3S_NAME要创建的 systemd 服务的名称,如果以服务器模式运行 K3s,则默认为“k3s”,如果以代理模式运行 K3s,则默认为“k3s-agent”。如果指定,则名称将以“k3s-”为前缀。
INSTALL_K3S_TYPE要创建的 systemd 服务类型,如果未指定,则默认为 K3s exec 命令。
INSTALL_K3S_SELINUX_WARN如果设置为 true,则如果找不到 k3s-selinux 策略,将继续执行。
INSTALL_K3S_SKIP_SELINUX_RPM如果设置为 true,则会跳过自动安装 k3s RPM。
INSTALL_K3S_CHANNEL_URL用于获取 K3s 下载 URL 的通道 URL。默认为 https://update.k3s.io/v1-release/channels.
INSTALL_K3S_CHANNEL用于获取 K3s 下载 URL 的通道。默认为“stable”。选项包括:stablelatesttesting

此示例显示了将上述环境变量放置为选项的位置(在管道之后)。

curl -sfL https://get.k3s.io | INSTALL_K3S_CHANNEL=latest sh -

K3S_ 开头的环境变量将被保留以供 systemd 和 openrc 服务使用。

设置 K3S_URL 而不显式设置 exec 命令将使命令默认为“agent”。

运行代理时,还必须设置 K3S_TOKEN

版本限制

从 2024 年 10 月的版本开始提供:v1.28.15+k3s1、v1.29.10+k3s1、v1.30.6+k3s1、v1.31.2+k3s1。

K3s 现在将使用 PATH 查找替代容器运行时,此外还检查容器运行时软件包使用的默认路径。要使用此功能,您必须修改 K3s 服务的 PATH 环境变量以添加包含容器运行时二进制文件的目录。

建议您修改以下两个环境文件之一

  • /etc/default/k3s # 或 k3s-agent
  • /etc/sysconfig/k3s # 或 k3s-agent

此示例将在 /etc/default/k3s 中添加 PATH

echo PATH=$PATH >> /etc/default/k3s
警告

PATH 更改应谨慎进行,以避免将不受信任的二进制文件放置在以 root 身份运行的服务的路径中。