k3s部署最新版本k8s

目录

前言

一、下载地址

二、安装部署

1.将安装包上传至所有服务器

2.所有服务器修改版本v1为v2

3.所有节点统一初始化

4.主节点

5.从节点

6.后续部署

三、验证

总结



前言

K3s 是一个由 Rancher 开发的‌轻量级 Kubernetes 发行版‌,专为资源受限环境(如边缘计算、物联网、ARM 设备)及开发测试场景设计

一、下载地址

|-------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 包名 | 下载地址 |
| k3s | https://github.com/k3s-io/k3s/releases/download/v1.36.2-rc2%2Bk3s1/k3s |
| k3s-airgap-images | https://github.com/k3s-io/k3s/releases/download/v1.36.2-rc2%2Bk3s1/k3s-airgap-images-amd64.tar.gz |

二、安装部署

|------------|--------------|-----|----|
| 主机名 | ip | 处理器 | 内存 |
| k8s-master | 10.168.1.200 | 2核 | 4G |
| k8s-node1 | 10.168.1.201 | 2核 | 4G |
| k8s-node2 | 10.168.1.202 | 2核 | 4G |

1.将安装包上传至所有服务器

2.所有服务器修改版本v1为v2

复制代码
vim /etc/default/grub
GRUB_CMDLINE_LINUX="systemd.unified_cgroup_hierarchy=1" ----末尾新增
grub2-mkconfig -o /boot/grub2/grub.cfg
reboot   ----重启服务器

3.所有节点统一初始化

cs 复制代码
# 1. 关闭防火墙、SELinux
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
sed -i 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
# 2. 关闭 Swap
swapoff -a
sed -i '/swap/s/^/#/' /etc/fstab
# 3. 加载内核模块
modprobe overlay
modprobe br_netfilter
# 4. 配置内核参数
cat >> /etc/sysctl.conf <<EOF
net.bridge.bridge-nf-call-iptables=1
net.bridge.bridge-nf-call-ip6tables=1
net.ipv4.ip_forward=1
EOF
sysctl -p
# 5. 准备 K3s 离线文件
cd /data/k3s-k8s
chmod +x k3s
cp k3s /usr/bin/
mkdir -p /var/lib/rancher/k3s/agent/images/
cp k3s-airgap-images-amd64.tar.gz /var/lib/rancher/k3s/agent/images/

4.主节点

cpp 复制代码
# 1. 创建服务文件
cat > /etc/systemd/system/k3s.service <<EOF
[Unit]
Description=Lightweight Kubernetes
Documentation=https://k3s.io
After=network.target

[Service]
Type=notify
Environment="INSTALL_K3S_SKIP_DOWNLOAD=true"
ExecStart=/usr/bin/k3s server \
  --https-listen-port 6443 \
  --node-ip 10.168.1.200 \
  --disable=traefik \
  --disable=metrics-server
KillMode=process
Delegate=yes
LimitNOFILE=1048576
LimitNPROC=infinity
TasksMax=infinity
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target
EOF
# 2. 启动服务
systemctl daemon-reload
systemctl enable k3s
systemctl start k3s
systemctl status k3s
# 3. 获取主节点 Token
cat /var/lib/rancher/k3s/server/node-token   ----根据自己主机去复制到从节点
K10b06695e045c9e6eeebf333de8d9769ea3d7bdf809fe772101be60a5ded186f8d::server:3face6fdc634d300b9bd1820389836db
# 4. 配置kubectl
# 将K3s生成的集群配置文件复制到kubectl默认路径,配置默认集群访问权限
mkdir -p ~/.kube
cp /etc/rancher/k3s/k3s.yaml  ~/.kube/config
chmod 600 ~/.kube/config

5.从节点

cpp 复制代码
# 1. 创建服务文件(替换为上一步复制的 Token)
cat > /etc/systemd/system/k3s-agent.service <<EOF
[Unit]
Description=Lightweight Kubernetes Agent
Documentation=https://k3s.io
After=network.target

[Service]
Type=notify
Environment="INSTALL_K3S_SKIP_DOWNLOAD=true"
ExecStart=/usr/bin/k3s agent \
  --server https://10.168.1.200:6443 \
  --token "K10b06695e045c9e6eeebf333de8d9769ea3d7bdf809fe772101be60a5ded186f8d::server:3face6fdc634d300b9bd1820389836db"
KillMode=process
Delegate=yes
LimitNOFILE=1048576
LimitNPROC=infinity
TasksMax=infinity
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target
EOF
# 2. 启动服务
systemctl daemon-reload
systemctl enable k3s-agent
systemctl start k3s-agent
# 3. 镜像仓库
vim /etc/rancher/k3s/registries.yaml
mirrors:
"10.168.1.10:5001":
    endpoint:
      - "http://10.168.1.10:5001"

configs:
  "10.168.1.10:5001":
    auth:
      username: "admin"
      password: "根据实际填写"
    tls:
      insecure_skip_verify: true
# 4.重启所有节点
 主节点:systemctl restart k3s.service
 从节点:systemctl restart k3s-agent.service

6.后续部署

cpp 复制代码
# 1. 二进制文件查找
find / -name kubectl
cp -r /var/lib/rancher/k3s/data/de9b0caa8f816156d5d728b4bee13f7a0746299da2e57d325d015b43f70acef5/bin/kubectl /usr/bin
# 2. 分发至从节点
scp -r /root/.kube/ root@10.168.1.201:/root
scp -r /root/.kube/ root@10.168.1.202:/root
scp -r /usr/bin/kubectl  root@10.168.1.201:/usr/bin
scp -r /usr/bin/kubectl  root@10.168.1.202:/usr/bin
# 3.从节点互联配置
vim /root/.kube/config
server: https://127.0.0.1:6443 改为 server: https://10.168.1.20:6443

原始文件

修改后的文件

三、验证

kuboard部署在之前的博客有写可以回顾一下,在这里就不写了

仓库采用的是nexus,在之前的博客也有部署方法


总结

sealos目前最新的版本是1.33.6,和k8s官网已经不在同步,后续可采取k3s部署最新版本,文章不存在抄袭,有问题可以随时评论