news 2026/8/24 19:31:51

K8s v1.32.13 Rocky8.6 完整版离线移植V2打包方案

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
K8s v1.32.13 Rocky8.6 完整版离线移植V2打包方案

K8s v1.32.13 Rocky8.6 完整版离线移植打包方案(cgroup-v2专属)

关注博主,可以分享到完整文件包哦!

一、方案说明(专属你的环境)

适配环境:Rocky 8.6 全部机器、cgroup-v2、containerd 1.6、K8s 1.32.13、Calico 3.28.0

实现效果:

  • 当前已经跑通的集群,完整打包

  • 新机器只要是 Rocky8.6,执行几条命令即可一键复刻一模一样的集群

  • 全程无外网、无拉取、零报错、版本完全对齐

  • 打包内容:二进制 + containerd镜像 + calico镜像 + 配置文件 + 一键部署脚本

二、第一步:在当前成功的机器上【完整打包】

1. 建立离线打包目录

mkdir -p /root/k8s-offline/{bin,images,yaml,conf,scripts} cd /root/k8s-offline

2. 打包 K8s 三大二进制文件

Rocky8.6 直接拷贝即可,无需安装包

cp /usr/bin/kubeadm /root/k8s-offline/bin/ cp /usr/bin/kubelet /root/k8s-offline/bin/ cp /usr/bin/kubectl /root/k8s-offline/bin/ # 拷贝kubelet系统服务 cp /etc/systemd/system/kubelet.service /root/k8s-offline/conf/ cp /etc/systemd/system/kubelet.service.d/10-kubeadm.conf /root/k8s-offline/conf/

3. 打包全部离线镜像(最核心)

包含:k8s核心组件 + calico完整镜像,全部导入k8s.io命名空间

# 导出k8s基础镜像 ctr -n k8s.io image export ./images/k8s-base.tar \ registry.aliyuncs.com/google_containers/kube-apiserver:v1.32.13 \ registry.aliyuncs.com/google_containers/kube-controller-manager:v1.32.13 \ registry.aliyuncs.com/google_containers/kube-scheduler:v1.32.13 \ registry.aliyuncs.com/google_containers/kube-proxy:v1.32.13 \ registry.aliyuncs.com/google_containers/etcd:3.5.24-0 \ registry.aliyuncs.com/google_containers/coredns:v1.11.3 \ registry.aliyuncs.com/google_containers/pause:3.10 # 导出calico v3.28.0 全套镜像 ctr -n k8s.io image export ./images/calico.tar \ docker.io/calico/cni:v3.28.0 \ docker.io/calico/node:v3.28.0 \ docker.io/calico/kube-controllers:v3.28.0

4. 拷贝配置文件

# containerd完整配置(适配rocky8.6 cgroup-v2) cp /etc/containerd/config.toml /root/k8s-offline/conf/ # 当前成功的calico.yaml cp /root/calico.yaml /root/k8s-offline/yaml/ # 导出kubeadm初始化配置 kubeadm config print init-defaults > /root/k8s-offline/conf/kubeadm-config.yaml

5. 修改kubeadm配置(核心离线修复)+ 生成专属一键部署脚本

默认导出的kubeadm配置会优先外网拉取镜像,需手动修改为强制离线、阿里云镜像仓库、适配本机网段,杜绝外网请求。

# 修改离线配置:关闭镜像校验、固定镜像仓库、适配离线初始化 sed -i 's#imageRepository: k8s.gcr.io#imageRepository: registry.aliyuncs.com/google_containers#g' /root/k8s-offline/conf/kubeadm-config.yaml sed -i 's#kubernetesVersion: v1.32.0#kubernetesVersion: v1.32.13#g' /root/k8s-offline/conf/kubeadm-config.yaml # 禁止kubeadm校验外网镜像,纯离线运行 echo 'skipImagePullCheck: true' >> /root/k8s-offline/conf/kubeadm-config.yaml # 生成Rocky8.6专属一键离线部署脚本 cat > /root/k8s-offline/scripts/deploy.sh <<'EOF' #!/bin/bash set -e # Rocky8.6 纯离线K8s v1.32.13部署脚本(cgroup-v2专属) OFFLINE_ROOT=$(cd $(dirname $0)/..;pwd) echo "==================== 部署K8s二进制工具 ====================" cp ${OFFLINE_ROOT}/bin/* /usr/bin/ chmod +x /usr/bin/kubeadm /usr/bin/kubelet /usr/bin/kubectl echo "==================== 注册kubelet系统服务 ====================" cp ${OFFLINE_ROOT}/conf/kubelet.service /etc/systemd/system/ mkdir -p /etc/systemd/system/kubelet.service.d cp ${OFFLINE_ROOT}/conf/10-kubeadm.conf /etc/systemd/system/kubelet.service.d/ systemctl daemon-reload systemctl enable --now kubelet echo "==================== 导入全部离线镜像(k8s.io命名空间) ====================" ctr -n k8s.io image import ${OFFLINE_ROOT}/images/k8s-base.tar ctr -n k8s.io image import ${OFFLINE_ROOT}/images/calico.tar echo "==================== 纯离线初始化K8s集群(无外网拉取) ====================" kubeadm init --config ${OFFLINE_ROOT}/conf/kubeadm-config.yaml --skip-pull-image echo "==================== 配置kubectl管理员权限 ====================" mkdir -p $HOME/.kube cp -i /etc/kubernetes/admin.conf $HOME/.kube/config chown $(id -u):$(id -g) $HOME/.kube/config echo "==================== 部署Calico v3.28.0网络插件 ====================" kubectl apply -f ${OFFLINE_ROOT}/yaml/calico.yaml echo "==================== 解除主控节点污点,允许Pod调度 ====================" kubectl taint nodes --all node-role.kubernetes.io/control-plane- echo "==================== 等待集群组件就绪 ====================" sleep 20 echo "========== Rocky8.6 纯离线K8s集群部署完成 ==========" kubectl get nodes kubectl get pods -n kube-system EOF chmod +x /root/k8s-offline/scripts/deploy.sh

6. 打包最终压缩包(唯一需要拷贝的文件)

cd /root tar -zcvf k8s-rocky8.6-v1.32.13-full-offline.tar.gz k8s-offline/

得到最终包:k8s-rocky8.6-v1.32.13-full-offline.tar.gz

三、新机器 Rocky8.6 前置固定环境(必须执行)

所有新机器统一执行一遍,只做一次

# 关闭swap swapoff -a sed -i '/swap/s/^/#/' /etc/fstab # 内核模块 modprobe overlay modprobe br_netfilter # sysctl内核参数 cat > /etc/sysctl.d/k8s.conf <<EOF net.bridge.bridge-nf-call-iptables = 1 net.bridge.bridge-nf-call-ip6tables = 1 net.ipv4.ip_forward = 1 EOF sysctl --system

关键:新机器必须已经开启 cgroup-v2(和源机器一致)

检查命令:stat /sys/fs/cgroup/cgroup.controllers有输出即为正常

四、新机器极简离线部署流程(全程0外网、无冗余操作)

1. 将打包好的k8s-rocky8.6-v1.32.13-full-offline.tar.gz上传至新机器 /root 目录

2. 执行解压、覆盖适配配置、重启服务、一键部署

tar -zxvf k8s-rocky8.6-v1.32.13-full-offline.tar.gz # 替换适配cgroup-v2的containerd核心配置(关键步骤) cp /root/k8s-offline/conf/config.toml /etc/containerd/ systemctl daemon-reload systemctl restart containerd systemctl enable containerd # 一键全自动离线部署集群 cd /root/k8s-offline ./scripts/deploy.sh

2. 解压 + 替换containerd配置 + 一键部署

五、专属适配说明(只针对你的环境)

  • 100%适配Rocky 8.6系统,剔除所有不兼容高版本系统配置

  • 固定cgroup-v2运行架构,与当前成功集群环境完全一致,无架构报错

  • Calico版本强锁定v3.28.0,统一yaml与镜像版本,彻底解决镜像拉取、版本不匹配问题

  • 纯离线机制,新增跳过外网镜像校验、跳过拉取逻辑,全程零外网请求、零超时报错

  • 全程一键自动化,无需手动修改IP、版本、仓库地址,新手可直接落地

  • 集群一致性复刻,复刻后的集群组件版本、配置、网络模式与原集群完全一致

六、最终校验命令

kubectl get nodes kubectl get pods -n kube-system

全部 Ready、Running 即复刻成功

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/24 19:29:29

FMA 音乐数据集快速上手指南:10 万首免费音频数据

FMA 音乐数据集快速上手指南&#xff1a;10 万首免费音频数据 【免费下载链接】fma FMA: A Dataset For Music Analysis 项目地址: https://gitcode.com/gh_mirrors/fm/fma FMA 是 2017 年发布的大规模开放音乐分析数据集&#xff0c;解决音乐信息检索领域难以合法获取高…

作者头像 李华
网站建设 2026/8/24 19:27:00

软件测试面试:如何回答团队规模与分工问题,展现专业深度

1. 面试官到底在问什么&#xff1f;拆解问题背后的真实意图“你们项目有多少个开发&#xff0c;多少个测试&#xff1f;测试之间是怎么分工的&#xff1f;”这几乎是软件测试面试中&#xff0c;特别是针对有项目经验的候选人时&#xff0c;一个必问的“经典开场白”。很多朋友第…

作者头像 李华
网站建设 2026/8/24 19:21:48

信号链设计全解析:从传感器到ADC的硬件设计核心与调试实战

1. 项目概述&#xff1a;为什么信号链是电子系统的“生命线”&#xff1f;在电子工程师的日常工作中&#xff0c;无论是设计一个简单的传感器接口&#xff0c;还是构建一套复杂的通信系统&#xff0c;我们总在和各种“信号”打交道。你可能调过运放的增益&#xff0c;也可能被A…

作者头像 李华
网站建设 2026/8/24 19:19:58

LM Studio本地大模型如何通过DeepSeek Harness实现专业级API调试与集成

如果你已经用 LM Studio 在本地部署了大模型&#xff0c;但每次测试都要打开那个图形界面&#xff0c;或者想把它集成到自己的脚本、应用里&#xff0c;是不是感觉有点割裂&#xff1f;这正是很多开发者从“玩一玩”到“用起来”的关键一步。 LM Studio 确实让本地部署大模型变…

作者头像 李华