云其它

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > 云和虚拟化 > 云其它 > K8s集群快速部署

K8s集群快速部署全过程

作者:爱吃蔬菜0913

想轻松搞定K8s集群部署?本文手把手教你从零搭建生产级Kubernetes环境,涵盖关闭防火墙、配置IPVS内核模块、安装Containerd及初始化集群,无需踩坑,直接获取完整部署教程,快速掌握K8s集群搭建核心步骤

第 1 步:系统基础环境准备

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

拉取网络插件:

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

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部署成功

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文