CentOS 9安装Kubernetes(k8s)集群

[复制链接]
发表于 2026-10-4 17:11:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×

用 kubeadm 在三台 CentOS 9 上搭一个 k8s 集群,前置动作比集群本身更容易卡住:虚拟机克隆后 MAC、主机名、UUID 撞车,网络不通;防火墙没关导致 kubelet 起不来;镜像拉不动导致 Control Plane 初始化失败。这篇先把「三台机器准备到能跑 kubeadm」这一步做扎实,把这几类坑逐个填掉。

一、版本与环境说明

  • 系统:CentOS 9;
  • k8s:v1.29.5;
  • docker:26.1.3;
  • 私有镜像仓库:Harbor v2.9.4(可选,但生产环境建议有)。

集群规划(4 台虚拟机):

节点主机名IP
主节点k8s-master192.168.65.130
工作节点 1k8s-node1192.168.65.131
工作节点 2k8s-node2192.168.65.132
私有镜像仓库k8s-harbor192.168.65.135

参考官方文档: kubeadm 创建集群、Calico 网络插件安装。

二、从一台克隆出三台并改身份

1. 克隆

已经装好一台带 docker 的 CentOS 9 之后:右键虚拟机 → 克隆 → 下一步 → 选「当前状态」→ 选「创建完整克隆」→ 填名称、选存储位置 → 完成。重复出 node1、node2 两台。

2. 改 MAC 与虚拟化选项

克隆出来的机器 MAC 相同,会导致网络异常,必须改:

  • 编辑虚拟机设置 → 硬件 → 网络适配器 → 高级 → 点「生成」换新 MAC → 确定;
  • 处理器 → 勾选「虚拟化引擎」→ 确定;
  • 另外两台同样处理。

3. 改主机名、IP 与 UUID

# 改主机名
hostnamectl set-hostname k8s-master
# 查看
hostname

# 生成新 UUID
uuidgen

# 改网卡配置(文件名按实际网卡来)
vim /etc/NetworkManager/system-connections/ens160.nmconnection

把 UUID 与新的 IP 填进去(新 IP 要在 VMware 分配的网段内),保存后重载网卡:

nmcli connection reload ens160

4. 关机打快照(可选但推荐)

关掉机器再打快照,恢复速度快;之后再开机继续。集群跑崩了还能回滚。

三、三台机器都要做的集群前置

1. 改 hosts

echo "192.168.65.130 k8s-master.com k8s-master" >> /etc/hosts
echo "192.168.65.131 k8s-node1.com k8s-node1" >> /etc/hosts
echo "192.168.65.132 k8s-node2.com k8s-node2" >> /etc/hosts
echo "192.168.65.135 k8s-harbor.com k8s-harbor" >> /etc/hosts

三台都加,后面组件之间按名字互相找,省掉一堆 IP 改动。

2. 关防火墙

k8s 组件之间端口很多,防火墙没关会让节点加入失败。改完防火墙状态记得重启 docker:

systemctl stop firewalld.service
systemctl disable firewalld.service
systemctl restart docker

3. Docker 镜像加速

写 /etc/docker/daemon.json:

  • registry-mirrors:填可用的镜像加速器地址;
  • insecure-registries:如果你用自建 Harbor,把仓库地址填进来,否则 pull 会报证书错。
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json

改完 sudo systemctl restart docker 生效。

四、这一步之后

  • 三台机器互 ping 主机名能通、docker 正常、防火墙已关,就可以按 kubeadm 官方流程 init master、join 节点;
  • 容器网络插件用 Calico,按官方文档装,别用已经废弃的 flannel 老方案;
  • 节点 join 失败先看 journalctl -u kubelet,九成是前置没做干净(hosts 没同步、防火墙没关、SWAP 没关);
  • 打快照是集群搭建阶段的保命手段,每过一关打一次。

qidao123.com企服评测-应用市场 编辑提示

回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表