K3s 安裝選項(xiàng)介紹

2022-08-19 09:27 更新

使用腳本安裝的選項(xiàng)

正如快速啟動指南中提到的那樣,你可以使用 https://get.k3s.io 提供的安裝腳本在基于 systemd 和 openrc 的系統(tǒng)上安裝 K3s 作為服務(wù)。

該命令的最簡單形式如下:

curl -sfL https://get.k3s.io | sh -
提示
國內(nèi)用戶,可以使用以下方法加速安裝:
curl -sfL https://rancher-mirror.oss-cn-beijing.aliyuncs.com/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -

使用此方法安裝 K3s 時,可使用以下環(huán)境變量來配置安裝:

Environment Variable Description
INSTALL_K3S_SKIP_DOWNLOAD 如果設(shè)置為 "true "將不會下載 K3s 的哈希值或二進(jìn)制。
INSTALL_K3S_SYMLINK 默認(rèn)情況下,如果路徑中不存在命令,將為 kubectl、crictl 和 ctr 二進(jìn)制文件創(chuàng)建符號鏈接。如果設(shè)置為'skip'將不會創(chuàng)建符號鏈接,而'force'將覆蓋。
INSTALL_K3S_SKIP_ENABLE 如果設(shè)置為 "true",將不啟用或啟動 K3s 服務(wù)。
INSTALL_K3S_SKIP_START 如果設(shè)置為 "true "將不會啟動 K3s 服務(wù)。
INSTALL_K3S_VERSION 從 Github 下載 K3s 的版本。如果沒有指定,將嘗試從"stable"頻道下載。
INSTALL_K3S_BIN_DIR 安裝 K3s 二進(jìn)制文件、鏈接和卸載腳本的目錄,或者使用/usr/local/bin作為默認(rèn)目錄。
INSTALL_K3S_BIN_DIR_READ_ONLY 如果設(shè)置為 true 將不會把文件寫入INSTALL_K3S_BIN_DIR,強(qiáng)制設(shè)置INSTALL_K3S_SKIP_DOWNLOAD=true。
INSTALL_K3S_SYSTEMD_DIR 安裝 systemd 服務(wù)和環(huán)境文件的目錄,或者使用/etc/systemd/system作為默認(rèn)目錄。
INSTALL_K3S_EXEC 帶有標(biāo)志的命令,用于在服務(wù)中啟動 K3s。如果未指定命令,并且設(shè)置了K3S_URL,它將默認(rèn)為“agent”。如果未設(shè)置K3S_URL,它將默認(rèn)為“server”。
INSTALL_K3S_NAME 要創(chuàng)建的 systemd 服務(wù)名稱,如果以服務(wù)器方式運(yùn)行 k3s,則默認(rèn)為'k3s';如果以 agent 方式運(yùn)行 k3s,則默認(rèn)為'k3s-agent'。如果指定了服務(wù)名,則服務(wù)名將以'k3s-'為前綴。
INSTALL_K3S_TYPE 要創(chuàng)建的 systemd 服務(wù)類型,如果沒有指定,將默認(rèn)使用 K3s exec 命令。
INSTALL_K3S_SELINUX_WARN 如果設(shè)置為 true,則在沒有找到 k3s-selinux 策略的情況下將繼續(xù)。
INSTALL_K3S_SKIP_SELINUX_RPM 如果設(shè)置為 "true "將跳過 k3s RPM 的自動安裝。
INSTALL_K3S_CHANNEL_URL 用于獲取 K3s 下載網(wǎng)址的頻道 URL。默認(rèn)為 https://update.k3s.io/v1-release/channels 。
INSTALL_K3S_CHANNEL 用于獲取 K3s 下載 URL 的通道。默認(rèn)值為 "stable"。選項(xiàng)包括:stablelatesttesting。
K3S_CONFIG_FILE 指定配置文件的位置。默認(rèn)目錄為/etc/rancher/k3s/config.yaml。
K3S_TOKEN 用于將 server 或 agent 加入集群的共享 secret。
K3S_TOKEN_FILE 指定 cluster-secret,token 的文件目錄。

這個例子介紹了如何使用上述的環(huán)境變量(在管道之后):

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

以 "K3S_"開頭的環(huán)境變量將被保留,供 systemd 和 openrc 服務(wù)使用。

在沒有明確設(shè)置 exec 命令的情況下設(shè)置?K3S_URL?,會將命令默認(rèn)為 "agent"。

運(yùn)行 agent 時還必須設(shè)置?K3S_TOKEN?。

從二進(jìn)制安裝的選項(xiàng)

如上所述,安裝腳本主要是配置 K3s 作為服務(wù)運(yùn)行。如果你選擇不使用腳本,你可以通過從我們的發(fā)布頁面下載二進(jìn)制文件,將其放在你的路徑上,然后執(zhí)行它來運(yùn)行 K3s。K3s 二進(jìn)制支持以下命令:

命令 描述
k3s server 運(yùn)行 K3s server,它還將啟動 Kubernetes control-plane 組件,如 API server, controller-manager, 和 scheduler。
k3s agent 運(yùn)行 K3s agent 節(jié)點(diǎn)。這將使 K3s 作為工作節(jié)點(diǎn)運(yùn)行,啟動 Kubernetes 節(jié)點(diǎn)服務(wù)kubeletkube-proxy。
k3s kubectl 運(yùn)行嵌入式kubectl CLI。如果沒有設(shè)置KUBECONFIG環(huán)境變量,當(dāng)啟動 K3s 服務(wù)器節(jié)點(diǎn)時,將自動嘗試使用在/etc/rancher/k3s/k3s.yaml創(chuàng)建的配置文件。
k3s crictl 運(yùn)行一個嵌入式crictl。這是一個用于與 Kubernetes 的容器運(yùn)行時接口(CRI)交互的 CLI。對調(diào)試很有用。
k3s ctr 運(yùn)行一個嵌入式的ctr。這是為 containerd(K3s 使用的容器守護(hù)進(jìn)程)提供的 CLI。對調(diào)試很有用。
k3s help 顯示一個命令的命令列表或幫助。

?k3s server? 和 ?k3s agent? 命令有額外的配置選項(xiàng),可以通過 ?k3s server --help? 或 ?k3s agent --help? 查看.

配置文件

Available as of v1.19.1+k3s1

除了使用環(huán)境變量和 CLI 參數(shù)來配置 K3s,K3s 還可以使用配置文件。

默認(rèn)情況下,位于?/etc/rancher/k3s/config.yaml?的 YAML 文件中的值將在安裝時使用。

下面是一個基本的?server?配置文件的例子。

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

一般來說,CLI 參數(shù)映射到各自的 YAML 鍵,可重復(fù)的 CLI 參數(shù)被表示為 YAML 列表。

下面展示了一個完全使用 CLI 參數(shù)的相同配置來證明這一點(diǎn)。

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

也可以同時使用配置文件和 CLI 參數(shù)。 在這種情況下,值將從兩個來源加載,但 CLI 參數(shù)將優(yōu)先。 對于可重復(fù)的參數(shù),如?--node-label?,CLI 參數(shù)將覆蓋列表中的所有值。

最后,配置文件的位置可以通過 cli 參數(shù)?--config FILE?,?-c FILE?或者環(huán)境變量?$K3S_CONFIG_FILE?來改變。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號