一、项目背景
目前个人混合云硬件拓扑:
- 阿里云节点:承载公网流量入口、Nginx 反向代理、旧版生产服务;
- HP 本地服务器:核心算力节点,运行 Jenkins、MySQL 主库、Redis、商助慧平台(Docker Compose),FRP 打通阿里云内网隧道;
- 联想本地服务器:备用算力、MySQL 从库节点。
原有服务均基于 Docker Compose 单机部署,无容器编排、无集群调度能力。为实现混合云统一容器编排、服务弹性管理、后续跨节点扩容,决定引入轻量 K3s Kubernetes 发行版。
本次核心目标:在 HP 核心服务器离线安装 K3s Server 主控节点,全程零侵入、不改动现有 Docker、Jenkins、数据库、FRP 隧道等业务,仅新增集群底座。
二、环境前置说明
- 操作系统:Ubuntu
- 部署方式:离线 Airgap 安装(规避 GitHub 网络超时、SSL 连接重置问题)
- 集群模式:单节点主控(control-plane+master)
- 定制优化:默认关闭 Traefik、ServiceLB,避免占用 80/443 端口,不与现有 Nginx 冲突
- 运行时:K3s 内置 containerd,与宿主机 Docker 完全隔离,互不干扰
三、离线资源准备
通过 Rancher 国内镜像站下载对应 amd64 版本的 3 个核心文件,下载地址:https://mirror.rancher.cn/k3s/
- k3s 二进制可执行文件
- k3s-airgap-images-amd64.tar.gz 离线镜像包
- k3s-install.sh 官方安装脚本
上传至服务器统一目录:/home/xyy/k3s-offline
四、分步离线安装实操
1. 赋予文件执行权限
bash
运行
chmod +x k3s k3s-install.sh
2. 迁移二进制文件到系统全局路径
bash
运行
sudo mv k3s /usr/local/bin/
3. 创建 K3s 离线镜像固定目录
bash
运行
sudo mkdir -p /var/lib/rancher/k3s/agent/images/
4. 拷贝离线镜像包至指定目录
bash
运行
sudo cp k3s-airgap-images-amd64.tar.gz /var/lib/rancher/k3s/agent/images/
5. 离线安装 K3s(跳过下载 + 禁用多余组件)
bash
运行
sudo INSTALL_K3S_SKIP_DOWNLOAD=true ./k3s-install.sh \
server \
--disable traefik \
--disable servicelb
安装自动完成:创建 kubectl、crictl 软链接、生成 systemd 服务、设置开机自启。
6. 修复普通用户 kubectl 权限问题
默认 kubeconfig 文件仅 root 可读,普通用户执行会权限拒绝,执行以下命令修复:
bash
运行
sudo chmod 644 /etc/rancher/k3s/k3s.yaml
五、集群可用性验证
执行节点查看命令:
bash
运行
kubectl get nodes
执行过程与结果如下图所示:

plaintext
NAME STATUS ROLES AGE VERSION
hp-server Ready control-plane,master 76s v1.26.9+k3s1
- STATUS 为 Ready:集群主控节点正常就绪;
- 后续 metrics 相关临时告警为组件初始化延迟,无需处理,自动消失;
- 全程未中断、未影响服务器任何原有业务。
六、架构无侵入保障说明
- 网络端口:K3s 仅占用 6443 管理端口,不占用 80/443/3306/6379 等业务端口;
- 容器运行时:内置 containerd 与原生 Docker 两套环境隔离,互不抢占资源;
- 服务无改动:Jenkins、MySQL、Redis、Docker Compose 应用、FRP 隧道均保持原有运行状态;
- 可回滚性:内置一键卸载脚本,可随时还原环境,无残留配置。
七、后续规划路线
- 后续将阿里云服务器作为 Agent 节点接入 K3s,组建跨公私网混合云集群;
- 将商助慧平台从 Docker Compose 迁移为 K8s YAML 编排部署;
- 复用现有 MySQL、Redis 宿主机实例,通过 PV/PVC 做数据持久化;
- 改造 Jenkins 流水线,实现镜像构建→K3s 集群自动更新部署;
- 配置 Ingress 统一入口,由阿里云承接公网流量,内网转发至 HP 集群处理。
八、总结
本次成功在 HP 核心服务器离线部署 K3s 集群主控底座,解决国内网络 GitHub 下载失败问题,采用分步安装方式清晰掌握每一步原理与目录结构。
以零侵入方式完成容器编排架构升级,不影响现有生产与运维服务,为后续商助慧容器化迁移、混合云集群扩容、全自动 CI/CD 流水线搭建打下坚实基础。
本文是《技术底稿》系列第 29 篇,记录个人混合云 DevOps 架构升级实战,采用离线 Airgap 方式完成 HP 服务器 K3s 集群主控节点部署,完整覆盖离线资源准备、分步安装、权限修复、集群验证、环境无侵入避坑全流程,落地步骤可直接复刻复用。