CentOS7.6 部署 k3s 单机版
CentOS7.6 部署 k3s 单机版
1、完全卸载 k3s
# 执行官方卸载脚本(清理服务、配置、数据)
sudo /usr/local/bin/k3s-uninstall.shsudo /usr/local/bin/k3s-agent-uninstall.sh
# # 额外清理残留目录(避免旧配置干扰)
sudo rm -rf /etc/rancher/k3s/ /var/lib/rancher/k3s/# 手动清理残留文件(确保彻底干净)
sudo rm -rf /etc/rancher/k3s/ # 配置文件
sudo rm -rf /var/lib/rancher/k3s/ # 数据目录(含etcd数据、镜像等)
sudo rm -rf ~/.kube/config # kubectl配置
2、环境准备
2.1、 服务器要求
- 操作系统:CentOS 7.x(最小化安装即可)
- 硬件:至少 1 核 CPU、2GB 内存(生产环境建议 2 核 4GB 以上)
- 网络:服务器间能互通,建议关闭防火墙或开放必要端口(见步骤 2)
- 账户:使用
root权限操作(或sudo权限)
2.2、 环境初始化
(1)关闭防火墙
# 关闭firewalld
systemctl stop firewalld
systemctl disable firewalld# 关闭SELinux(临时+永久)
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
(2)关闭 Swap
Kubernetes 要求关闭 Swap,否则会报错:
# 临时关闭
swapoff -a# 永久关闭(注释swap行)
sed -i '/swap/s/^/#/' /etc/fstab
(3)配置内核参数
# 1、添加内核模块
cat > /etc/modules-load.d/k3s.conf <<EOF
overlay
br_netfilter
EOF# 2、加载模块
modprobe overlay
modprobe br_netfilter# 3、配置内核参数
cat > /etc/sysctl.d/k3s.conf <<EOF
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.ipv4.ip_forward = 1
EOF# 生效配置
sysctl --system
(4)更新系统并安装依赖
yum update -y
yum install -y curl policycoreutils openssh-server
(5)配置DNS
加速访问github
vim /etc/resolv.confnameserver 185.199.108.153
nameserver 185.199.109.153
nameserver 185.199.110.153
nameserver 185.199.111.153#刷新DNS缓存
sudo systemctl restart network
3、单节点部署
单节点部署适用于测试或小型应用,K3s 会同时启动控制平面和工作节点组件。
3.1、安装 k3s Server
使用官方脚本安装,默认会启动k3s.service并设置开机自启:
# 安装最新稳定版(默认包含containerd容器运行时)
curl -sfL https://get.k3s.io | sh -# 如需指定版本(例如v1.28.6+k3s1),添加INSTALL_K3S_VERSION参数:
# curl -sfL https://get.k3s.io | INSTALL_K3S_VERSION=v1.28.6+k3s1 sh -
若在线安装网络不通,可离线安装
# 下载安装脚本 install.sh
curl -sfL https://get.k3s.io -o install.sh# 查看最新稳定版标签(如v1.28.6+k3s1)
curl -s https://api.github.com/repos/k3s-io/k3s/releases/latest | grep tag_name | cut -d '"' -f 4# 下载 K3s 二进制包(以 v1.28.6+k3s1 为例,根据实际版本替换)
# 下载适合Linux x86_64架构的二进制包(大多数服务器适用)
wget https://github.com/k3s-io/k3s/releases/download/v1.28.6+k3s1/k3s -O k3s# 将文件下载到目标服务器目录/root,并将下载好的k3s文件放到/usr/local/bin/目录
chmod +x k3s install.sh
cp k3s /usr/local/bin/# 离线执行安装脚本,在服务器执行一下命令
INSTALL_K3S_SKIP_DOWNLOAD=true ./install.sh
离线安装文件 https://download.csdn.net/download/qq_25863973/92247578
4、验证安装
# 检查k3s服务状态
systemctl status k3s# 查看节点状态(应为Ready)
kubectl get nodes
