SF-FastGPT1.3.0_X86.vma(保姆教程)
  

稻草人0228 179

{{ttag.title}}
本帖最后由 稻草人0228 于 2026-6-23 14:06 编辑

一、前置准备1.1 硬件要求(单节点 x86)
资源
规格
说明
CPU
12 核
负载 80% 建议扩容
内存
24 GB
负载 80% 建议扩容
磁盘
150G(系统) + 50G(etcd) + 100G(容器) + 300G(业务数据)
共 600G,4 块盘
1.2 部署包
  • SF-FastGPT1.3.0_X86.vma — 虚拟机模板
  • fastgpt-help-installer-x86_64-1.3.0.sh — 运维工具(可选)



二、导入虚拟机模板HCI 平台
  • 登录 HCI 控制台 → 虚拟机新增导入虚拟机
  • 上传 SF-FastGPT1.3.0_X86.vma,点击开始导入
  • 导入完成后编辑虚拟机:




    • 网卡:绑定业务出口,配置静态 IP/网关/掩码(提前 ping 确认 IP 未占用)
    • 添加 3 块磁盘:50G(etcd) + 100G(容器) + 300G(业务数据)


  • 保存并启动虚拟机


SCP 云平台
  • SCP 控制台 → 计算云主机导入
  • 上传 VMA 包,选择 VPC 子网,开始导入
  • 导入完成 → 编辑云主机:




    • CPU/内存保持 12C/24G
    • 添加 3 块数据盘:50G + 100G + 300G


  • 保存并开机



三、SSH 登录虚拟机
ssh root@<虚拟机IP> -p 22345
四、拉取 MongoDB 4.4.30 镜像(必须前置)
⚠️ 在线/离线二选一,不用两个都做!
  • 虚拟机能上网 → 走 4.1~4.3(在线拉取)
  • 虚拟机不能上网 → 走 4.4(离线导入)


在线环境(机器能连外网)
4.1 拉取镜像
# 首选:华为云源(推荐)nerdctl -n k8s.io image pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/mongo:4.4.30
如果上面命令报错,换 DaoCloud 源:
nerdctl -n k8s.io image pull docker.m.daocloud.io/library/mongo:4.4.30

4.2 打标(改个名,让集群能认出这个镜像)
nerdctl -n k8s.io image tag swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/mongo:4.4.30 mongo:4.4.30
注意:上面那个长名字是镜像的原名,mongo:4.4.30 是集群要用的名字,不改名后面 Pod 拉不到镜像。

4.3 校验
nerdctl -n k8s.io image list | grep mongo
看到输出里有 mongo 4.4.30 这行就算搞定。


离线环境(机器不能上网)
4.4 从别的机器导入镜像包
先在有网的电脑上执行:
nerdctl -n k8s.io image save -o mongo-4.4.30.tar mongo:4.4.30
会生成一个 mongo-4.4.30.tar 文件,把这个文件传到没网的虚拟机上(用 U 盘、scp 什么的都行),然后在虚拟机上执行:
nerdctl -n k8s.io image load -i mongo-4.4.30.tar
加载完也可以跑一下 nerdctl -n k8s.io image list | grep mongo 确认有没有成功。

五、执行 K8s 集群初始化
5.1 创建日志目录
mkdir -p /sf/log/today

5.2 后台启动初始化
⚠️ 这个脚本一生只能跑一次! 如果不小心跑了第二次,集群会坏掉,只能重建虚拟机重来。
nohup /sf/deployment/init_k8s_cluster.sh --mode install > /sf/log/today/init_k8s_cluster_nohup.log 2>&1 &

5.3 监控进度
tail -f /sf/log/today/init_k8s_cluster_nohup.log
等就完事了,大概 5~10 分钟。看到 "init k8s cluster success" 这几个字就说明部署完了。

5.4 部署完成后重新开启 SSH
⚠️ 注意:脚本跑完会自动关掉 SSH! 所以部署完第一件事就是把 SSH 重新打开,不然你就要去 HCI/SCP 控制台操作了。
/sf/bin/ssh-acl.sh enable-ssh

5.5 验证集群
# 看节点状态,必须显示 Ready,不是 Ready 说明有问题kubectl get node# 看所有 Pod,必须全是 Running 或 Completed,如果有 CrashLoopBackOff、Error、Pending 就是不正常kubectl get pods -A


六、验证访问
服务
地址
业务前台
https://<IP>:19443
管理后台
https://<IP>:29443
默认管理员账号:root / 密码:Admin@1234


七、运维命令速查
# 查看初始化进程ps aux | grep init_k8s_cluster.sh
# 查看 Pod 详情kubectl describe pod <pod名> [-n fastgpt-system]
# 查看 Pod 日志kubectl logs <pod名> [-n fastgpt-system] -f
# 查看 Helm 部署helm list [-n fastgpt-system]
# 查看容器镜像nerdctl -n k8s.io image list#
SSH 开关
/sf/bin/ssh-acl.sh enable-ssh    # 开启
/sf/bin/ssh-acl.sh disable-ssh   # 关闭


八、注意事项
  • 初始化脚本只能执行一次,跑坏了只能删掉虚拟机重新导入 VMA 重来
  • 必须先搞定 mongo:4.4.30 镜像再跑初始化脚本,不然 Pod 启动时会卡在 ImagePullBackOff
  • 部署完成后 SSH 会被脚本自动关掉,记得马上 enable-ssh 开回来
  • 磁盘满了服务会挂,建议盯着磁盘用量的告警
  • coredns Pod 刚开始会是 Pending 状态,别慌——它在等网络插件(cilium)装好,过几分钟自己就变 Running 了
  • kubectl get node 在执行初始化过程中会报 "connection refused",这是正常的,等脚本跑完就好了


打赏鼓励作者,期待更多好文!

打赏
暂无人打赏

发表新帖
热门标签
全部标签>
GIF动图学习
新版本体验
信服课堂视频
每日一问
标准化排查
功能体验
纪元平台
2025年技术争霸赛
测试报告
每周精选
秒懂零信任
技术盲盒
高手请过招
有一说一
产品连连看
畅聊IT
答题自测
专家问答
技术笔记
技术圆桌
在线直播
MVP
网络基础知识
安装部署配置
升级
安全攻防
上网策略
日志审计
问题分析处理
流量管理
每日一记
运维工具
用户认证
原创分享
解决方案
sangfor周刊
VPN 对接
项目案例
SANGFOR资讯
专家分享
技术顾问
信服故事
SDP百科
功能咨询
终端接入
授权
设备维护
资源访问
地址转换
虚拟机
存储
迁移
排障笔记本
产品预警公告
玩转零信任
S豆商城资讯
技术争霸赛
「智能机器人」
追光者计划
2023技术争霸赛专题
卧龙计划
华北区拉练
天逸直播
以战代练
技术晨报
平台使用
山东区技术晨报
文档捉虫
齐鲁TV
华北区交付直播
2024年技术争霸赛
北京区每日一练
场景专题
故障笔记
排障那些事
西北区每日一问
升级&主动服务
高频问题集锦
社区新周刊
【 社区to talk】
POC测试案例
全能先锋系列
安全效果
云化安全能力
专家说
热门活动
产品动态
行业实践
产品解析
关键解决方案
声音值千金
工具体验官
产品知识周周练
产品体验官
VMware替换

本版达人

新手89785...

本周建议达人

YangZhe...

本周分享达人