温馨提示×

centos k8s怎么集群

小樊
40
2026-09-15 12:24:17
栏目: 智能运维

下面给你一个在 CentOS 上搭建 Kubernetes(K8s)集群实战步骤教程,以 kubeadm + CentOS 7/8 为例,适合学习和生产入门。


一、环境准备

1. 机器规划

至少 2 台 CentOS 机器:

角色 主机名 IP
Master k8s-master 192.168.1.10
Worker k8s-node1 192.168.1.11

建议:Master ≥ 2核4G,Node ≥ 2核2G


2. 系统基础配置(所有节点)

# 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld

# 关闭 SELinux
setenforce 0
sed -i 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

# 关闭 swap
swapoff -a
sed -i '/swap/s/^/#/' /etc/fstab

# 设置主机名
hostnamectl set-hostname k8s-master   # master
hostnamectl set-hostname k8s-node1    # node

# 配置 hosts
cat >> /etc/hosts <<EOF
192.168.1.10 k8s-master
192.168.1.11 k8s-node1
EOF

3. 内核参数 & 模块

modprobe br_netfilter

cat > /etc/sysctl.d/k8s.conf <<EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF

sysctl --system

二、安装容器运行时(containerd)

K8s 1.24+ 默认不再支持 docker

yum install -y yum-utils
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

yum install -y containerd.io

mkdir -p /etc/containerd
containerd config default > /etc/containerd/config.toml

# 修改 SystemdCgroup = true
sed -i 's/SystemdCgroup = false/SystemdCgroup = true/' /etc/containerd/config.toml

systemctl restart containerd
systemctl enable containerd

三、安装 kubeadm / kubelet / kubectl

cat > /etc/yum.repos.d/kubernetes.repo <<EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
EOF

yum install -y kubelet kubeadm kubectl

systemctl enable kubelet

四、初始化 Master 节点

kubeadm init \
  --apiserver-advertise-address=192.168.1.10 \
  --image-repository registry.aliyuncs.com/google_containers \
  --pod-network-cidr=10.244.0.0/16

初始化成功后会看到:

kubeadm join 192.168.1.10:6443 --token xxx --discovery-token-ca-cert-hash xxx

⚠️ 保存好这一段

配置 kubectl:

mkdir -p $HOME/.kube
cp /etc/kubernetes/admin.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config

五、安装网络插件(Flannel)

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

查看状态:

kubectl get nodes
kubectl get pods -n kube-system

六、Node 节点加入集群

Node 节点执行:

kubeadm join 192.168.1.10:6443 \
  --token xxx \
  --discovery-token-ca-cert-hash sha256:xxx

七、验证集群

kubectl get nodes

状态为 Ready 即成功 ✅


八、常见问题

1. token 过期

kubeadm token create --print-join-command

2. 重置集群

kubeadm reset

九、可选增强

  • 多 Master(HA)
  • Calico 网络
  • Helm
  • Metrics Server

如果你愿意,我可以: ✅ 给你 一键脚本 ✅ 教你 CentOS Stream / Rocky ✅ 帮你 排错 ✅ 给你 生产级方案

你现在是 学习还是生产环境

0