⭐ 开源不易,如果本文对您有帮助,请给个 Star 支持一下! 🌹
中国大陆地区镜像封锁警告
- Docker 及其他仓库镜像已被 GFW 完全封锁
- 现有镜像已无法直接拉取,需要通过特殊方式访问
- 建议使用国内镜像源或代理方案
- 快速上手: 打开文档后,使用全文替换功能,将示例 IP 替换为您的实际主机 IP
- 自动化优先: 手动部署较为复杂,推荐以下自动化方案:
- kubeasz - 自动化部署工具
- kubeadm 安装指南 - 官方推荐方式
⚡ 建议: 能用自动部署就用自动部署,避免不必要的手动操作复杂度
重要提醒: 在最新的 IPv4/IPv6 双栈网络环境中,若使用 Docker 作为容器运行时(Runtime),可能会导致以下问题:
kubectl exec进入容器失败- 网络连接异常
根本原因: cri-dockerd 组件对双栈网络的兼容性存在缺陷
解决方案: Kubernetes 官方已正式弃用 Docker Shim,强烈建议生产环境使用 Containerd 作为默认容器运行时,以获得更稳定的支持和性能。
- 最新文档已对 IPv6 双栈配置进行详细说明
- 若不需要 IPv6 支持,请查阅文档中的**"纯 IPv4 配置"或"禁用 IPv6"**相关章节
- 避免不必要的网络配置复杂性
本文档支持以下 Kubernetes 版本,大版本之间通用(例如:使用 1.26.0 的文档可安装 1.26.x 系列各版本,只需下载对应版本的安装包即可):
| 版本系列 | 状态 | 备注 |
|---|---|---|
| 1.36.x | ✅ 最新 | 推荐使用 |
| 1.35.x | ✅ 稳定 | 推荐使用 |
| 1.34.x | ✅ 稳定 | - |
| 1.33.x | ✅ 稳定 | - |
| 1.32.x | ✅ 稳定 | - |
| 1.31.x | ✅ 稳定 | - |
| 1.30.x | ✅ 稳定 | - |
| 1.29.x | ✅ 稳定 | - |
| 1.28.x | ✅ 稳定 | - |
| 1.27.x | ✅ 稳定 | - |
| 1.26.x | ✅ 稳定 | - |
| 1.25.x | ✅ 稳定 | - |
| 1.24.x | Docker Shim 已移除 | |
| 1.23.x | - | |
| 1.22.x | - | |
| 1.21.x | - |
- 手动部署项目: GitHub - cby-chen/Kubernetes
- 脚本项目(已停更):
| 文档名称 | 链接 |
|---|---|
| kubeadm 安装指南(V1.32) | kubeadm-install.md |
| v1.36.0 CentOS 二进制安装(离线) | v1.36.0-CentOS-binary-install.md |
| v1.35.0 CentOS 二进制安装(离线) | v1.35.0-CentOS-binary-install.md |
⚠️ 注意: v1.23.3 版本命名不规范,后续版本已修正
| 文档主题 | 链接 |
|---|---|
| kube-proxy 证书权限修复 | kube-proxy_permissions.md |
| kubeadm 初始化 IPv4/IPv6 集群 | kubeadm-install-IPV6-IPV4.md |
| IPv4 集群启用 IPv6 / 关闭 IPv6 | Enable-implement-IPv4-IPv6.md |
| Kubernetes 集群升级指南 | Upgrade_Kubernetes.md |
| Minikube 初始化集群 | Minikube_init.md |
| K8s 1.24/1.25 使用 Docker 运行时 | Kubernetes_docker.md |
| Kubernetes 安装 Cilium | kubernetes_install_cilium.md |
| 来源 | 链接 |
|---|---|
| 123云盘 | https://www.123pan.com/s/Z8ArVv-PG60d |
| GitHub Releases | https://github.com/cby-chen/Kubernetes/releases |
⚠️ 注意: v1.23.3 版本当时未考虑到后续更新,命名不太规范,后续版本已修正
症状: 节点间通信失败
解决: 检查
/etc/hosts配置文件,确保主机名和 IP 地址正确对应
症状: 节点加入集群失败
解决: 在文档第 7.2 节,切记不要忘记执行以下命令:
kubectl create -f bootstrap.secret.yaml
症状: 重启服务器后集群异常
解决: 检查 kubelet 服务状态:
systemctl status kubelet.service
症状: 容器运行时异常
解决: 需要升级 runc 和 libseccomp
症状: kubelet 无法识别
--node-labels字段原因: 参数格式不正确
解决: 将
--node-labels=node.kubernetes.io/node=''替换为--node-labels=node.kubernetes.io/node=(删除末尾的'')
症状: IPv6 无法正常访问
解决: kubelet 服务需要添加
--node-ip=参数注意: 若动态获取 IP 地址发生变动,需要重新配置
高可用要求: 必须部署 3 个节点实现高可用
| 节点规模 | CPU | 内存 | 备注 |
|---|---|---|---|
| 0-100 节点 | 8 核 | 16 GB+ | 基础配置 |
| 100-250 节点 | 8 核 | 32 GB+ | 推荐配置 |
| 250-500 节点 | 16 核 | 32 GB+ | 高性能配置 |
高可用要求: 必须部署 3 个节点实现高可用
存储要求: 有条件必须使用高性能 SSD 硬盘,至少需要高效独立磁盘
| 节点规模 | CPU | 内存 | SSD 存储 |
|---|---|---|---|
| 0-50 节点 | 2 核 | 8 GB+ | 50 GB |
| 50-250 节点 | 4 核 | 16 GB+ | 150 GB |
| 250-1000 节点 | 8 核 | 32 GB+ | 250 GB |
磁盘要求:
- Docker 数据分区和系统分区必须单独使用,不可共用同一磁盘
- 系统分区: 100 GB+
- Docker 数据分区: 200 GB+
- 有条件使用 SSD 硬盘,必须独立于系统盘
对于集群规模不大的场景,可以将 etcd 和 master 部署在同一宿主机上:
- 部署方式: 每个 master 节点同时部署 K8s 组件和 etcd 服务
- 关键要求: etcd 数据目录必须独立,并使用 SSD
- 资源考虑: 两者部署在一起需要相对增加宿主机资源
⚡ 个人建议: 生产环境把 master 节点的资源一次性给够,此处费用不应节省
- 推荐配置: 16 核 32 GB 或 64 GB
- 优势: 后续集群扩容无需再扩容 master 节点资源,降低风险
- 系统分区: master 节点和 etcd 节点的系统分区 100 GB 即可
📖 建议在 GitHub 主仓库 查看最新文档,后续会持续更新
全网可搜《小陈运维》
文章主要发布于微信公众号
同步发布至:
- CSDN、GitHub、51CTO、知乎
- 开源中国、思否、掘金、简书
- 华为云、阿里云、腾讯云
- 哔哩哔哩、今日头条
- 新浪微博、个人博客
📝 文档最后更新时间: 2026-05-11
👤 作者: 小陈运维

