k3s部署

操作系统初始化配置

1
2
3
4
5
6
7
8
9
10
# 关闭防火墙
sudo systemctl stop firewalld
sudo systemctl disable firewalld

# 关闭SeLinux
sudo setenforce 0
sudo sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config

# 设置主机名
hostnamectl set-hostname <hostname>

离线部署

下载 K3s 资源包
1
2
3
wget http://rancher-mirror.rancher.cn/k3s/v1.24.17-k3s1/k3s-airgap-images-amd64.tar.gz # 依赖包
wget http://rancher-mirror.rancher.cn/k3s/v1.24.17-k3s1/k3s # 二进制文件
wget http://rancher-mirror.rancher.cn/k3s/k3s-install.sh # 安装脚本

部署(Docker方式)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
mkdir -p /var/lib/rancher/k3s/agent/images/
chmod +x k3s
chmod +x k3s-install.sh
mv k3s /usr/local/bin
mv k3s-airgap-images-amd64.tar.gz /var/lib/rancher/k3s/agent/images/
docker load -i /var/lib/rancher/k3s/agent/images/k3s-airgap-images-amd64.tar.gz

INSTALL_K3S_SKIP_START=true \
INSTALL_K3S_SKIP_ENABLE=true \
INSTALL_K3S_SKIP_DOWNLOAD=true \
K3S_NODE_NAME=k3s-node-01 \
K3S_TOKEN=vDABBTHmy2xMdkjP \
INSTALL_K3S_EXEC='server --write-kubeconfig ~/.kube/config \
--write-kubeconfig-mode 644 \
--cluster-cidr 10.20.0.0/16 \
--service-cidr 10.21.0.0/16 \
--tls-san k3s-local.suosihulian.cn \
--docker \
--node-ip 172.12.1.150' ./k3s-install.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
安装时的一些参数解释
-–datastore-endpoint value:指定 etcd、Mysql、Postgres 或 Sqlite(默认)数据源名称
-–docker:用docker代替containerd
-–no-deploy value:不需要部署的组件 (有效选项: coredns, servicelb, traefik, local-storage, metrics-server)
-–write-kubeconfig value:将管理客户端的kubeconfig写入这个文件
-–write-kubeconfig-mode value:用这种模式编写kubeconfig,例如:644
-–tls-san value:在 TLS 证书中添加其他主机名或 IP 作为主题备用名称
-–node-ip value:为节点发布的 IP 地址
-–node-taint value:用一组污点注册kubelet(默认情况下,k3s 启动 master 节点也同时具有 worker 角色,是可调度的,因此可以在它们上启动工作,可以采用此方式解决)
--cluster-cidr 10.20.0.0/16
--service-cidr 10.21.0.0/16
--service-node-port-range 80-32767
--disable-helm-controller
1
2
3
4
5
6
7
8
9
10
参数对应使用示例:

export INSTALL_K3S_EXEC="server --datastore-endpoint mysql://root:root@tcp(k3s-mysql-server:3306)/k3s \
--docker \
--no-deploy traefik \
--write-kubeconfig ~/.kube/config \
--write-kubeconfig-mode 644 \
--tls-san 152.136.181.95 \
--node-ip 152.136.181.95 \
--node-taint k3s-controlplane=true:NoExecute

加入 Node 节点

下载资源

二进制文件

安装脚本

参考

https://blog.csdn.net/qq_42889280/article/details/123994851