1. Kubernetes集群部署全流程实录
作为容器编排领域的事实标准,Kubernetes的安装部署一直是运维人员必须掌握的技能。但官方文档的模块化结构往往让初学者感到无从下手,本文将基于我过去三年在金融、电商行业部署生产级集群的经验,梳理出一套完整的安装路线图。不同于碎片化的教程,这里会特别强调各组件间的协作关系,以及生产环境中必须关注的稳定性设计。
重要提示:所有操作均基于2023年Q3最新的Kubernetes 1.28版本验证,与旧版本存在显著差异的配置项会特别标注说明。
1.1 基础环境准备
在物理机或云主机上部署时,建议使用以下最低配置:
- 控制平面节点:4核CPU/8GB内存/50GB磁盘(需SSD)
- 工作节点:2核CPU/4GB内存/100GB磁盘(建议SSD)
关键系统配置包括:
bash复制# 关闭swap(kubelet强制要求)
sudo swapoff -a
sed -i '/ swap / s/^/#/' /etc/fstab
# 设置正确的时区(日志分析依赖)
timedatectl set-timezone Asia/Shanghai
# 加载内核模块(overlay网络需要)
cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf
br_netfilter
overlay
EOF
sudo modprobe br_netfilter
sudo modprobe overlay
网络拓扑规划需要特别注意:
- Pod网络CIDR不要与主机网络重叠(建议使用10.244.0.0/16)
- Service网络建议使用172.16.0.0/12段
- 确保各节点间ICMP和TCP 6443端口互通
1.2 容器运行时选型对比
当前主流选择及适用场景:
| 运行时 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|
| containerd | 性能最优,资源占用低 | 调试工具较少 | 生产环境首选 |
| Docker | 生态完善,工具链丰富 | 已被弃用,存在抽象层损耗 | 开发测试环境 |
| CRI-O | 轻量级,安全性高 | 社区支持较弱 | 安全敏感型环境 |
推荐containerd配置示例:
ini复制# /etc/containerd/config.toml
[plugins."io.containerd.grpc.v1.cri"]
sandbox_image = "registry.k8s.io/pause:3.9"
[plugins."io.containerd.grpc.v1.cri".containerd]
snapshotter = "overlayfs"
disable_snapshot_annotations = true
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 控制平面组件深度配置
2.1 kubeadm初始化实战
生成定制化配置文件:
bash复制kubeadm config print init-defaults > kubeadm.yaml
关键修改项说明:
yaml复制apiVersion: kubeadm.k8s.io/v1beta3
kind: InitCon
