正如快速啟動指南中提到的那樣,你可以使用 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)包括:stable , latest , testing 。 |
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
?。
如上所述,安裝腳本主要是配置 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ù)kubelet 和kube-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
?來改變。
更多建議: