✅ 总体任务流程(主机分为 master 与 node)


一、环境准备(所有节点)

  1. 升级内核到 5.9.12(可选但推荐) bash复制编辑wget http://193.49.22.109/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-5.9.12-1.el7.elrepo.x86_64.rpm wget http://193.49.22.109/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-devel-5.9.12-1.el7.elrepo.x86_64.rpm yum install -y kernel-ml*.rpm awk -F\' ' $1=="menuentry " {print i++ " : "$2 }' /etc/grub2.cfg grub2-set-default 0 reboot
  2. 启用 IPVS 内核模块 bash复制编辑modprobe br_netfilter cat >/etc/sysconfig/modules/ipvs.modules <<EOF #!/bin/bash modprobe -- ip_vs modprobe -- ip_vs_rr modprobe -- ip_vs_wrr modprobe -- ip_vs_sh modprobe -- nf_conntrack EOF chmod 755 /etc/sysconfig/modules/ipvs.modules bash /etc/sysconfig/modules/ipvs.modules lsmod | grep -e ip_vs -e nf_conntrack_ipv4

二、配置 Kubernetes YUM 源(所有节点)

bash复制编辑cd /etc/yum.repos.d/
gedit kubernetes.repo

填入内容如下:

ini复制编辑[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
bash复制编辑yum makecache
yum repolist
yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes
yum install -y ipvsadm

三、配置 Docker 加速器与 cgroup driver(所有节点)

bash复制编辑cat > /etc/docker/daemon.json <<EOF
{
  "registry-mirrors": ["https://b9pmyelo.mirror.aliyuncs.com"],
  "exec-opts": ["native.cgroupdriver=systemd"]
}
EOF

systemctl daemon-reload
systemctl restart docker
docker info

四、Master 节点操作

1. 拉取镜像(查看版本后下载 + 标记)

bash复制编辑kubeadm config images list
# 然后逐个 pull
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/xxx
docker tag ... k8s.gcr.io/xxx
# 依次处理:
# kube-controller-manager、kube-proxy、kube-apiserver、kube-scheduler、coredns、etcd、pause

2. 生成 kubeadm 配置文件

bash复制编辑kubeadm config print init-defaults > kubeadm-config.yaml
gedit kubeadm-config.yaml

修改内容如下:

yaml复制编辑advertiseAddress: 192.168.200.142
kubernetesVersion: v1.32.3
podSubnet: "10.244.0.0/16"  # 在 dnsDomain 下添加

# 添加 IPVS 相关配置(scheduler: {} 之后)
---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
featureGates:
  SupportIPVSProxyMode: true
mode: ipvs

3. 初始化集群

bash复制编辑kubeadm reset
kubeadm init \
  --apiserver-advertise-address=192.168.200.142 \
  --image-repository registry.aliyuncs.com/google_containers \
  --kubernetes-version v1.32.3 \
  --service-cidr=10.96.0.0/12 \
  --pod-network-cidr=10.244.0.0/16

注意:成功后会输出 kubeadm join ... 命令,复制备用。


五、配置网络插件 Flannel(master)

bash复制编辑yum install -y flannel

六、配置 Containerd(如果使用)

bash复制编辑containerd config default > /etc/containerd/config.toml
sed -i 's/registry.k8s.io/registry.aliyuncs.com\/google_containers/' /etc/containerd/config.toml
systemctl daemon-reload
systemctl restart containerd

七、Node 节点加入集群

  1. 同样设置 Docker 加速器与 IPVS
  2. 使用 master 输出的 kubeadm join ... 命令加入集群:
bash复制编辑kubeadm join 192.168.200.135:6443 --token xxx \
--discovery-token-ca-cert-hash sha256:xxxxxxxxxxxxxxx


https://chatgpt.com/share/68341cfb-b068-8007-a089-be279e4361c9