1. Kubernetes集群部署全流程实录
作为容器编排领域的事实标准,Kubernetes的部署过程往往成为许多开发者的"第一道门槛"。本文将基于裸机环境(Bare Metal)详细记录从系统准备到集群验证的完整过程,重点解析每个环节的技术选型依据和常见避坑要点。不同于官方文档的标准化流程,这里会结合笔者在金融、互联网行业落地K8s的实际经验,分享那些"手册上不会写"的实操细节。
提示:本文采用kubeadm工具部署Kubernetes 1.28版本,适用于生产环境的最小化高可用架构,所有操作在CentOS 7.9系统验证通过。
1.1 基础环境准备
1.1.1 系统参数调优
在3台物理服务器上执行以下核心配置(分别作为master1、master2、worker1):
bash复制# 关闭Swap避免内存调度冲突
swapoff -a
sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
# 设置透明大页和内存过量使用
echo 'vm.swappiness=0' >> /etc/sysctl.conf
echo 'vm.overcommit_memory=1' >> /etc/sysctl.conf
sysctl -p
# 配置iptables看到桥接流量
cat <<EOF | tee /etc/modules-load.d/k8s.conf
br_netfilter
EOF
cat <<EOF | tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
关键点解析:
swappiness=0表示尽量使用物理内存而非swap,避免容器性能抖动- 桥接流量配置是Calico等网络插件正常工作前提
- 生产环境建议永久关闭SELinux(需评估安全需求)
1.1.2 容器运行时选型
对比主流容器运行时特性:
| 运行时 | 兼容性 | 性能 | 资源占用 | 生产建议 |
|---|
