K3s Kubernetes Deploy

👤 xuelin314-bot 📦 v1.0.0 ⭐ 4.2 ⬇️ 955 下载
🔒 IT运维与安全 免费

📖 技能介绍


name: k3s-deploy description: 自动化部署 K3s Kubernetes 集群到多台 Linux 服务器。支持自动镜像拉取、网络配置检测、CNI 插件安装。使用场景:(1) 从零部署 K3s 集群,(2) 修复 NotReady 节点,(3) 批量部署多节点集群。触发条件:用户提到 K3s、Kubernetes 部署、集群安装、节点加入等。


K3s 自动化部署技能

快速开始

# 使用部署脚本(推荐)
./scripts/deploy-k3s.sh \
  --master 10.1.9.177 \
  --masters-user root \
  --masters-pass 'your-password' \
  --worker 10.1.9.178,10.1.9.179 \
  --workers-user root \
  --workers-pass 'your-password'

工作流程

1. 部署前检查

  • 检查服务器连通性
  • 验证 SSH 凭据
  • 检测操作系统版本(支持 CentOS 7+/Ubuntu 18.04+)

2. 安装 K3s

  • Master 节点:安装 K3s server
  • Worker 节点:加入集群

3. 部署网络插件

  • 自动检测网络接口(ens192/eth0 等)
  • 拉取国内镜像源 flannel
  • 创建 CNI 配置文件

4. 健康检查

  • 验证所有节点 Ready
  • 验证 CoreDNS 运行
  • 测试 Pod 调度

可用脚本

脚本 用途
scripts/deploy-k3s.sh 一键部署完整集群
scripts/pull-images.sh 预拉取必要镜像
scripts/check-cluster.sh 集群健康检查

故障排查

常见问题见 references/troubleshooting.md

快速诊断

# 检查节点状态
kubectl get nodes

# 检查系统 Pod
kubectl get pods -n kube-system

# 查看 Pod 详情
kubectl describe pod <pod-name> -n kube-system

# 查看 kubelet 日志
journalctl -u kubelet -n 50

配置说明

网络接口自动检测

脚本会自动执行以下命令检测默认路由接口:

ip route | grep default | awk '{print $5}'

镜像源

默认使用华为云镜像: - Flannel: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/quay.io/coreos/flannel:v0.15.1 - Pause: registry.aliyuncs.com/google_containers/pause:3.9

CNI 配置

7w4.net小葱技能站收录全网优质技能,值得收藏。

Flannel v0.15.1 需要手动创建 CNI 配置文件,脚本会自动完成:

# 在所有节点创建 /etc/cni/net.d/10-flannel.conflist

最佳实践

  1. 提前拉取镜像 - 使用 pull-images.sh 在所有节点预拉取
  2. 统一时间 - 确保所有节点 NTP 同步
  3. 防火墙 - 关闭防火墙或开放必要端口
  4. Swap - K3s 要求关闭 Swap

输出

部署完成后生成: - cluster-info.md - 集群配置摘要 - deployment-log.txt - 详细部署日志

🤖 AI 评测

这个 Skill 整体质量中等偏上,功能基本完整,文档写得很详细,脚本能自动处理网络检测和多节点部署。但存在几个明显问题:部署脚本里有代码错误会导致配置失败、两个脚本的镜像列表不一致、用明文密码不够安全。普通用户使用时可能会遇到脚本执行成功但集群配置不对的情况,需要谨慎使用或等待修复后再使用。

📊 多维度评分

适应性4
规范性4
有效性4.4
可靠性3.9
可信度4.8

📁 包含文件 (5 个)

📄 SKILL.md 2.5 KB
📄 _meta.json 129 B
📄 references/troubleshooting.md 5.7 KB
📄 scripts/deploy-k3s.sh 11.2 KB
📄 scripts/pull-images.sh 990 B