✅ 总体任务流程(主机分为 master 与 node)
一、环境准备(所有节点)
- 升级内核到 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
- 启用 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 节点加入集群
- 同样设置 Docker 加速器与 IPVS
- 使用 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