一、快速安装(单节点)
1. 使用默认配置安装
# 使用默认配置一键安装(包含containerd和traefik ingress)
curl -sfL https://get.k3s.io | sh -
# 获取kubectl配置
sudo cat /etc/rancher/k3s/k3s.yaml
2. 设置环境变量
# 使kubectl可用
export KUBECONFIG=/etc/rancher/k3s/k3s.yaml
kubectl get nodes
二、高级安装选项
1. 使用外部数据库(高可用)
# 安装时指定外部数据库(MySQL/PostgreSQL/etcd)
curl -sfL https://get.k3s.io | sh -s - server \
--datastore-endpoint="mysql://username:password@tcp(hostname:3306)/database-name"
2. 禁用组件
# 禁用内置组件
curl -sfL https://get.k3s.io | sh -s - server \
--disable traefik \
--disable servicelb \
--disable local-storage
三、多节点集群部署
1. 主节点安装
# 在主节点执行
curl -sfL https://get.k3s.io | K3S_TOKEN=my-secret-token sh -s - server \
--cluster-init
2. 获取节点令牌
# 在主节点查看token
sudo cat /var/lib/rancher/k3s/server/node-token
3. 工作节点加入
# 在工作节点执行
curl -sfL https://get.k3s.io | K3S_URL=https://<主节点IP>:6443 \
K3S_TOKEN=<节点令牌> sh -
四、Docker作为容器运行时
1. 使用Docker代替containerd
curl -sfL https://get.k3s.io | sh -s - server \
--docker
五、配置文件
1. 配置文件位置
/etc/rancher/k3s/k3s.yaml # kubeconfig文件
/var/lib/rancher/k3s/server # 服务端数据
/var/lib/rancher/k3s/agent # 代理数据
2. 配置示例
# 创建配置文件
sudo mkdir -p /etc/rancher/k3s
sudo cat > /etc/rancher/k3s/config.yaml << EOF
write-kubeconfig-mode: "0644"
tls-san:
- "k3s.example.com"
- "192.168.1.100"
cluster-init: true
datastore-endpoint: "mysql://username:password@tcp(hostname:3306)/k3s"
EOF
# 使用配置文件安装
curl -sfL https://get.k3s.io | sh -s - server --config /etc/rancher/k3s/config.yaml
六、卸载k3s
1. 完全卸载
# 使用官方卸载脚本
/usr/local/bin/k3s-uninstall.sh # 单节点卸载
/usr/local/bin/k3s-agent-uninstall.sh # 工作节点卸载
七、常用管理命令
1. 服务管理
# 查看服务状态
sudo systemctl status k3s
sudo systemctl status k3s-agent
# 重启服务
sudo systemctl restart k3s
sudo systemctl restart k3s-agent
# 查看日志
sudo journalctl -u k3s -f
2. 集群管理
# 查看集群信息
kubectl get nodes -o wide
kubectl cluster-info
# 查看所有pods
kubectl get pods --all-namespaces
# 查看k3s版本
k3s --version
八、注意事项
端口要求:确保 6443(API)、8472(Flannel VXLAN)端口开放
硬件要求:至少 512MB RAM,1 CPU 核心
网络要求:节点间网络互通
存储:默认使用 sqlite,生产环境建议使用外部数据库
安全:及时更新到最新版本
九、故障排查
# 查看k3s日志
sudo journalctl -u k3s -xe
# 检查证书是否有效
sudo k3s kubectl get secrets
# 重置集群(慎用)
sudo k3s-killall.sh
sudo rm -rf /var/lib/rancher/k3s/
十、资源清理
# 清理不需要的镜像
sudo k3s crictl rmi --prune
# 查看资源使用
sudo k3s kubectl top nodes
sudo k3s kubectl top pods -A
这是基本的 k3s 安装流程,具体配置可根据实际需求调整。