網(wǎng)站做配置文件的作用專業(yè)做網(wǎng)站設(shè)計
K3s -輕量級Kubernetes
K3s 是輕量級的 Kubernetes。K3s 易于安裝,僅需要 Kubernetes 內(nèi)存的一半,所有組件都在一個小于 100 MB 的二進制文件中。
為什么叫 K3s?
我們希望安裝的 Kubernetes 只占用一半的內(nèi)存。Kubernetes 是一個 10 個字母的單詞,簡寫為 K8s。Kubernetes 的一半就是一個 5 個字母的單詞,因此簡寫為 K3s。K3s 沒有全稱,也沒有官方的發(fā)音。
官網(wǎng):https://docs.k3s.io/zh/quick-start
github:https://github.com/k3s-io/k3s
快速安裝
本次安裝系統(tǒng)是centos7.9
安裝腳本
K3s 提供了一個安裝腳本,可以方便地將其作為服務(wù)安裝在基于 systemd 或 openrc 的系統(tǒng)上。該腳本可在 https://get.k3s.io 獲得。要使用這種方法安裝 K3s,只需運行:
curl -sfL https://get.k3s.io | INSTALL_K3S_EXEC="--tls-san 1.1.1.1(公網(wǎng)IP)" sh -
備注-中國用戶,可以使用以下方法加速安裝:
curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn INSTALL_K3S_EXEC="--tls-san 1.1.1.1(公網(wǎng)IP)" sh -
運行此安裝后:
- K3s 服務(wù)將被配置為在節(jié)點重啟后或進程崩潰或被殺死時自動重啟。
- 將安裝其他實用程序,包括 kubectl、crictl、ctr、k3s-killall.sh 和 k3s-uninstall.sh。例如
kubectl get nodes
kubectl version
- kubeconfig 文件將寫入到 /etc/rancher/k3s/k3s.yaml,由 K3s 安裝的 kubectl 將自動使用該文件。
離線安裝
沒有網(wǎng)絡(luò)的環(huán)境或者想指定版本安裝,采用離線安裝。這里以v1.23.6+k3s1版本
為例
參考官網(wǎng):https://docs.k3s.io/installation/airgap
下載
從release下載k3s
、k3s-airgap-images-amd64.tar.zst
:https://github.com/k3s-io/k3s/releases/tag/v1.23.6%2Bk3s1
從源碼下載install.sh
:https://github.com/k3s-io/k3s/tree/v1.23.6%2Bk3s1
安裝
提前要裝好docker,然后
//docker加載離線資源
$ docker load -i /root/k3s-airgap-images-amd64.tar.zst//配置可執(zhí)行文件
$ chmod +x k3s
$ mv k3s /usr/local/bin//配置install.sh
$ vim install.sh
------------
export INSTALL_K3S_SKIP_DOWNLOAD=true #跳過下載文件
export INSTALL_K3S_BIN_DIR=/usr/local/bin
INSTALL_K3S_EXEC='server --docker --tls-san 公網(wǎng)IP' #使用docker作為runtime,并配置公網(wǎng)IP用于外部來連接
------------//運行腳本即可
$ chmod +x install.sh
$ ./install.sh
卸載 K3S
要從 server 節(jié)點卸載 K3s,請運行:
# 主節(jié)點
/usr/local/bin/k3s-uninstall.sh
要從 agent 節(jié)點卸載 K3s,請運行:
# 工作節(jié)點
/usr/local/bin/k3s-agent-uninstall.sh
問題
–tls-san – 在 TLS 證書中添加其他主機名或 IP 作為主題備用名稱
# 在公有云環(huán)境中使用較多,在K3s注冊集群的時候會將一些IP地址自動收藏了
# 以及使用多個K3s Server搭建的K3s集群,并且擁有一個LB負載均衡器,就需要將LB的地址添加# --tls-san
# 在TLS證書中添加其他主機名或IP作為主機備用名稱
# 即在公網(wǎng)環(huán)境下允許通過公網(wǎng)IP訪問控制、操作遠程集群
# 或者部署多個Server并使用LB進行負責,就需要保留公網(wǎng)地
$ curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | \INSTALL_K3S_MIRROR=cn \INSTALL_K3S_EXEC="--docker --tls-san 1.1.1.1" \K3S_KUBECONFIG_OUTPUT=/root/.kube/config \INSTALL_K3S_VERSION="v1.21.14+k3s1" \K3S_TOKEN="rancher" \sh -# 需要修改相應(yīng)的 ~/.kube/config 文件的URL地址# 獲取配置
# k3s 會將信任的IP地址存放到k3s-serving的secrets中
$ kubectl get secrets -n kube-system k3s-serving
NAME TYPE DATA AGE
k3s-serving kubernetes.io/tls 2 117m$ kubectl get secrets -n kube-system k3s-serving -o yaml
apiVersion: v1
data:tls.crt: [......]tls.key: [......]
kind: Secret
metadata:annotations:listener.cattle.io/cn-1.1.1.1: 1.1.1.1listener.cattle.io/cn-192.168.10.30: 192.168.10.30listener.cattle.io/cn-k8s-master: k8s-masterlistener.cattle.io/cn-kubernetes: kuberneteslistener.cattle.io/cn-kubernetes.default: kubernetes.defaultlistener.cattle.io/cn-kubernetes.default.svc: kubernetes.default.svclistener.cattle.io/cn-kubernetes.default.svc.cluster.local: kubernetes.default.svc.cluster.local[......]
type: kubernetes.io/tls# 然后本機復制公網(wǎng)主節(jié)點對應(yīng)的yaml文件即可本地操作了
$ scp root@1.1.1.1:/etc/rancher/k3s/k3s.yaml ~/.kube/config
其他問題參考:https://blog.csdn.net/weixin_40274679/article/details/130149545