Kubernetes-v1.34-安装
🚀 第一步:准备系统环境
# 更新系统
dnf update -y
# 设置主机名
hostnamectl set-hostname <node-name>
# 将主机名加入 /etc/hosts
echo "127.0.0.1 $(hostname)" >> /etc/hosts
# 关闭 SELinux(临时 + 永久)
setenforce 0
sed -i 's/^SELINUX=enforcing/SELINUX=permissive/' /etc/selinux/config
# 禁用 Swap(临时 + 永久)
swapoff -a
sed -i '/ swap / s/^/#/' /etc/fstab
# 启用网桥转发模块
modprobe br_netfilter
# 配置内核模块自动加载
cat <<EOF | tee /etc/modules-load.d/k8s.conf
br_netfilter
EOF
# 配置系统网络参数
cat <<EOF | tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF
# 使配置立即生效
sysctl --system🐳 第二步:安装 Containerd 容器运行时
# 安装依赖
dnf -y install dnf-plugins-core
# 添加 Docker 官方仓库
dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 安装 containerd
dnf install -y containerd
# 创建配置目录
mkdir -p /etc/containerd
# 生成默认配置文件
containerd config default | tee /etc/containerd/config.toml
# 修改 cgroup 驱动为 systemd
sed -i 's/SystemdCgroup = false/SystemdCgroup = true/' /etc/containerd/config.toml
# 启动并设置开机自启
systemctl enable --now containerd🧩 第三步:安装 Kubernetes 组件
添加 Kubernetes 官方仓库
cat <<EOF | tee /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://pkgs.k8s.io/core:/stable:/v1.34/rpm/
enabled=1
gpgcheck=1
gpgkey=https://pkgs.k8s.io/core:/stable:/v1.34/rpm/repodata/repomd.xml.key
EOF安装 kubelet、kubeadm、kubectl
dnf install -y kubelet kubeadm kubectl
# 启用 kubelet 服务
systemctl enable kubelet🧠 第四步:初始化控制节点(Master)
kubeadm init \
--pod-network-cidr=10.244.0.0/16 \
--apiserver-advertise-address=<MASTER_IP>
# 配置 kubectl 管理权限
mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config🌐 第五步:部署 Flannel 网络插件
kubectl apply -f https://raw.githubusercontent.com/flannel-io/flannel/master/Documentation/kube-flannel.yml🧑🤝🧑 第六步:将工作节点加入集群
在控制节点上运行以下命令以生成加入命令:
kubeadm token create --print-join-command输出示例:
kubeadm join MASTER_IP:6443 --token 0iax3l.5xa5l61mspqet \
--discovery-token-ca-cert-hash sha256:5660b8sfak43e56sf3dpi13jdd1d4ecde06d55bfed842g3mf1d793daeb9549f4ba3👉 将以上命令复制到 每个工作节点 上执行,即可加入集群。
🔍 第七步:验证集群状态
# 创建一个测试应用
kubectl create deployment nginx --image=nginx
# 暴露服务(NodePort 方式)
kubectl expose deployment nginx --port=80 --type=NodePort
# 查看服务信息
kubectl get svc输出示例:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
nginx NodePort 10.96.232.101 <none> 80:31547/TCP 10s然后使用浏览器访问:
http://<NodeIP>:31547