尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

Kubernetes 1.32 集群部署:Ubuntu 24.04 双节点 10 分钟快速初始化

Kubernetes 1.32 集群部署:Ubuntu 24.04 双节点 10 分钟快速初始化
📅 发布时间:2026/7/6 2:03:53

Kubernetes 1.32 集群部署:Ubuntu 24.04 双节点 10 分钟快速初始化

1. 环境准备与系统配置

在开始部署 Kubernetes 1.32 集群之前,我们需要确保两台 Ubuntu 24.04 服务器已经完成基础配置。以下是两台节点的推荐配置:

  • Master节点:2核CPU/4GB内存/50GB存储
  • Worker节点:2核CPU/2GB内存/30GB存储

首先在两台服务器上执行以下系统配置命令:

# 禁用交换分区(所有节点执行) sudo swapoff -a sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab # 关闭SELinux(如已安装) sudo setenforce 0 sudo sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config # 加载内核模块(所有节点执行) sudo modprobe overlay sudo 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 sudo sysctl --system

提示:确保两台服务器之间可以互相ping通,且主机名解析正常。可以通过编辑/etc/hosts文件或配置DNS实现。

2. 容器运行时安装与配置

Kubernetes 1.32 默认使用 containerd 作为容器运行时。以下是安装步骤:

# 安装containerd(所有节点执行) sudo apt-get update sudo apt-get install -y containerd # 生成默认配置文件 sudo mkdir -p /etc/containerd containerd config default | sudo tee /etc/containerd/config.toml # 修改配置文件使用systemd作为cgroup驱动 sudo sed -i 's/SystemdCgroup = false/SystemdCgroup = true/' /etc/containerd/config.toml # 重启并启用containerd sudo systemctl restart containerd sudo systemctl enable containerd

验证containerd安装:

sudo ctr version

3. Kubernetes组件安装

在所有节点上安装kubeadm、kubelet和kubectl:

# 添加Kubernetes官方GPG密钥 sudo curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.32/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg # 添加Kubernetes APT仓库 echo "deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.32/deb/ /" | sudo tee /etc/apt/sources.list.d/kubernetes.list # 安装组件 sudo apt-get update sudo apt-get install -y kubelet=1.32.* kubeadm=1.32.* kubectl=1.32.* sudo apt-mark hold kubelet kubeadm kubectl

4. 集群初始化

在Master节点上执行初始化命令:

sudo kubeadm init \ --pod-network-cidr=10.244.0.0/16 \ --control-plane-endpoint=$(hostname -f) \ --upload-certs \ --image-repository=registry.aliyuncs.com/google_containers

初始化完成后,按照输出提示配置kubectl:

mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config

5. 网络插件安装

我们选择Flannel作为网络插件:

kubectl apply -f https://raw.githubusercontent.com/flannel-io/flannel/master/Documentation/kube-flannel.yml

验证网络插件安装:

kubectl get pods -n kube-system -l app=flannel

6. Worker节点加入集群

使用Master节点初始化时提供的join命令将Worker节点加入集群:

sudo kubeadm join <master-ip>:6443 --token <token> --discovery-token-ca-cert-hash <hash>

注意:如果忘记了join命令,可以在Master节点上运行kubeadm token create --print-join-command重新生成。

7. 验证集群状态

在Master节点上运行以下命令验证集群状态:

kubectl get nodes -o wide

输出应显示两个节点均为Ready状态:

NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME master01 Ready control-plane 5m v1.32.2 192.168.1.10 <none> Ubuntu 24.04 LTS 6.8.0-31-generic containerd://1.7.0 worker01 Ready <none> 3m v1.32.2 192.168.1.11 <none> Ubuntu 24.04 LTS 6.8.0-31-generic containerd://1.7.0

8. 部署测试应用

验证集群功能是否正常:

kubectl create deployment nginx --image=nginx:latest kubectl expose deployment nginx --port=80 --type=NodePort kubectl get svc nginx

访问测试应用:

curl http://<node-ip>:<node-port>

9. 集群管理技巧

9.1 快速重置节点

如果初始化过程中出现问题,可以使用以下命令重置节点:

sudo kubeadm reset sudo rm -rf /etc/cni/net.d sudo rm -rf $HOME/.kube/config

9.2 常用命令速查表

命令描述
kubectl cluster-info查看集群信息
kubectl get pods -A查看所有命名空间的Pod
kubectl describe node <node-name>查看节点详细信息
kubectl logs <pod-name>查看Pod日志
kubectl exec -it <pod-name> -- /bin/bash进入Pod容器

9.3 性能优化建议

  1. 为kubelet配置资源预留:
sudo vi /var/lib/kubelet/config.yaml

添加或修改以下内容:

systemReserved: cpu: "500m" memory: "500Mi" kubeReserved: cpu: "500m" memory: "500Mi"
  1. 调整containerd资源限制:
sudo vi /etc/containerd/config.toml

在[plugins."io.containerd.grpc.v1.cri".containerd]部分添加:

sandbox_cpu = "500m" sandbox_memory = "512Mi"

10. 自动化部署脚本

为了简化部署过程,可以创建一个自动化脚本k8s-init.sh:

#!/bin/bash # 系统配置 swapoff -a sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab setenforce 0 sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config # 安装containerd apt-get update apt-get install -y containerd mkdir -p /etc/containerd containerd config default | tee /etc/containerd/config.toml sed -i 's/SystemdCgroup = false/SystemdCgroup = true/' /etc/containerd/config.toml systemctl restart containerd systemctl enable containerd # 安装Kubernetes组件 curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.32/deb/Release.key | gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg echo "deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.32/deb/ /" | tee /etc/apt/sources.list.d/kubernetes.list apt-get update apt-get install -y kubelet=1.32.* kubeadm=1.32.* kubectl=1.32.* apt-mark hold kubelet kubeadm kubectl # 仅Master节点执行 if [[ $1 == "master" ]]; then kubeadm init \ --pod-network-cidr=10.244.0.0/16 \ --control-plane-endpoint=$(hostname -f) \ --upload-certs \ --image-repository=registry.aliyuncs.com/google_containers mkdir -p $HOME/.kube cp -i /etc/kubernetes/admin.conf $HOME/.kube/config chown $(id -u):$(id -g) $HOME/.kube/config kubectl apply -f https://raw.githubusercontent.com/flannel-io/flannel/master/Documentation/kube-flannel.yml fi

使用方式:

  • Master节点:sudo bash k8s-init.sh master
  • Worker节点:sudo bash k8s-init.sh

相关新闻

  • 8086中断系统 256个中断向量表:从DOS功能调用到自定义中断服务程序
  • 临界分词的存在性与最优性:从统计临界态到神经语言模型的双语实证检验 -更新
  • AEB/ACC/LKA 等 27 项 ADAS 功能解析:从传感器融合到 ECU 控制的完整技术栈

最新新闻

  • 【硬核干货】透彻理解相机标定:从底磁数学推导到 OpenCV 完整落地实现方案
  • 两轮BMS 电源模式管理 (PMM) 详解
  • 2024年全国外贸工艺品资讯公司选购指南:3招帮你挑对靠谱公司
  • 相机拓扑全局关联建模,CameraGraph 实现视频孪生全域目标无缝接力追踪
  • UDS 29服务实战:CANoe 16.0配置PKI证书实现双向认证3步验证
  • Planetoid 数据集 PyG 2.6.0 加载实战:Cora/CiteSeer/PubMed 3 种分割方式对比

日新闻

  • AI智能体安全防护框架AgentGuard:从原理到实战部署指南
  • KMX63与PIC18F26K40硬件组合及低功耗设计实践
  • 基于YOLO13改进的门体检测模型:C3k2模块与PoolingFormer技术解析

周新闻

  • 基于YOLOv12的番茄成熟度智能检测系统开发
  • 终极RimWorld模组管理指南:用RimSort告别模组冲突烦恼
  • AI Agent框架开发:从理论到实践的完整指南

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号