K8s集群快速部署实战指南
·
第 1 步:系统基础环境准备
关闭防火墙和 SELinux
systemctl disable --now firewalld
setenforce 0
sed -i 's/^SELINUX=enforcing$/SELINUX=disabled/' /etc/selinux/config
2. 关闭 Swap 分区(K8s 强制要求)
swapoff -a
sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
3. 加载基础内核模块并配置网络参数
cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf
overlay
br_netfilter
EOF
modprobe overlay
modprobe br_netfilter
cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.ipv4.ip_forward = 1
EOF
sysctl --system
第2步.配置 IPVS 内核模块(生产级网络准备)
kube-proxy 使用 IPVS 模式需要内核支持。我们提前加载好相关模块,避免后续切换时找不到模块。
1. 安装 ipvsadm 管理工具
yum install -y ipvsadm # (如果是 Ubuntu 系统,请使用 apt install -y ipvsadm)
2. 临时加载 IPVS 相关的内核模块
modprobe -- ip_vs
modprobe -- ip_vs_rr
modprobe -- ip_vs_wrr
modprobe -- ip_vs_sh
modprobe -- nf_conntrack
3. 确保开机自动加载这些模块(永久生效)
cat <<EOF | sudo tee /etc/modules-load.d/ipvs.conf
ip_vs
ip_vs_rr
ip_vs_wrr
ip_vs_sh
nf_conntrack
EOF
第 3 步:1.安装并配置 containerd
yum install -y containerd.io
或下载 RPM 包到服务器
请在终端执行以下命令,直接从阿里云镜像下载适合麒麟 V10(基于 CentOS 8)的 containerd 包:
wget https://mirrors.aliyun.com/docker-ce/linux/centos/8/x86_64/stable/Packages/containerd.io-1.6.32-3.1.el8.x86_64.rpm
2. 验证文件是否下载成功
ls -l containerd.io-*.rpm
3.使用本地命令安装
文件下载好后,再执行本地安装命令:
sudo yum localinstall -y containerd.io-*.rpm
启动 Containerd
systemctl daemon-reload
systemctl enable --now containerd
4.执行命令查看我们集群需要用得镜像:
kubeadm config images list
以下就是初始化需要得镜像需要提前准备:

以下是提前准备得镜像:可自行拉取

执行加载全部tar包命令
for img in *.tar; do echo "正在加载: $img"; docker load -i "$img"; done
第 4 步:初始化集群
kubeadm init \
--image-repository registry.cn-hangzhou.aliyuncs.com/google_containers \
--kubernetes-version v1.30.14 \
--pod-network-cidr 10.244.0.0/16 \
--apiserver-advertise-address=10.0.1.107 # 实际服务器IP填写
如果执行完初始化秒出现error执行以下命令:临时开启 Linux 系统的 IPv4 数据包转发功能
echo 1 > /proc/sys/net/ipv4/ip_forward
拉取网络插件:(后续kube-flannel.yml需要的镜像)
docker pull flannel/flannel:v0.26.7
docker pull flannel/flannel-cni-plugin:v1.6.2-flannel1
第 5 步:配置 kubectl 并安装 Flannel 网络
1.配置 kubectl 访问权限
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
2.拉取kube-flannel.yml文件
curl -o kube-flannel.yml https://mirror.ghproxy.com/https://raw.githubusercontent.com/flannel-io/flannel/master/Documentation/kube-flannel.yml
如果上边未成功更换以下链接:
curl -L -o kube-flannel.yml https://gh-proxy.com/https://github.com/flannel-io/flannel/releases/download/v0.26.7/kube-flannel.yml
查看文件是否存在;
ls -lh kube-flannel.yml
拉取成功:👇

3.修改yml镜像内容
sed -i 's|docker.io/flannel/flannel|docker.m.daocloud.io/flannel/flannel|g' kube-flannel.yml
4.执行应用文件:
kubectl apply -f kube-flannel.yml
5.等待 30 秒,验证集群状态
sleep 30
kubectl get nodes
kubectl get pods -n kube-system
6.这样得结果说明k8s部署成功:

更多推荐

所有评论(0)