openFuyao 容器平台部署实测:从安装到调度的全流程教程
① 安装便捷:一键安装脚本大幅简化部署流程,主从节点配置无需复杂手动操作,新手也能快速上手;② 监控清晰:Web 控制台提供直观的资源监控、任务状态和日志查询功能,运维成本低;③ 调度智能:支持负载均衡、故障自愈等调度策略,能根据节点资源情况动态分配任务,保障服务稳定性;④ 兼容性强:支持主流 Linux 系统和 Docker 容器,适配不同规格的服务器,满足多样化算力场景需求。openFuyao
openFuyao 容器平台部署实测:从安装到调度的全流程教程
一、引言
随着云计算、人工智能等技术的发展,算力需求呈现多样化趋势,从通用CPU算力到专用GPU算力,不同场景对资源调度的灵活性、高效性要求越来越高。openFuyao 作为一款轻量且高效的容器平台,专注于多样化算力的统一管理与智能调度,能够帮助用户快速实现容器化应用的部署、监控与资源优化。
本文通过实测形式,详细记录 openFuyao 容器平台从环境准备、安装部署到节点管理、任务调度的完整流程,为需要搭建容器调度平台的开发者提供可直接落地的操作指南。本次测试环境如下:
服务器配置:2台物理服务器(主节点:CPU 16核、内存 32GB、硬盘 500GB SSD;从节点:CPU 8核、内存 16GB、硬盘 256GB SSD)
系统版本:CentOS 7.9 64位
依赖工具:Docker 20.10.24、Git 2.39.1
二、环境准备与安装部署
推荐官方安装指南:
https://docs.openfuyao.cn/docs/%E5%BF%AB%E9%80%9F%E5%85%A5%E9%97%A8
2.1 环境配置要求
openFuyao 对硬件和系统有基础要求,需提前确认服务器满足以下条件:
CPU:最低 4 核(生产环境建议 8 核及以上)
内存:最低 8GB(生产环境建议 16GB 及以上)
网络:所有节点需处于同一局域网,开放 8080(控制台端口)、2379(etcd 通信端口)、10250(节点通信端口)
系统:支持 CentOS 7+/Ubuntu 18.04+/Debian 10+,需关闭 SELinux 和防火墙(或配置对应端口放行)
2.2 依赖工具安装
2.2.1 安装 Docker
所有节点均需安装 Docker,作为容器运行时环境:
Bash
\# 卸载旧版本 Docker
yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
<br/>\# 安装依赖包
yum install -y yum-utils device-mapper-persistent-data lvm2
<br/>\# 设置 Docker 镜像源(阿里云)
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
<br/>\# 安装 Docker 20.10.24 版本
yum install -y docker-ce-20.10.24 docker-ce-cli-20.10.24 containerd.io
<br/>\# 启动 Docker 并设置开机自启
systemctl start docker
systemctl enable docker
<br/>\# 验证 Docker 安装成功
docker --version # 输出 Docker version 20.10.24, build 297e128
2.2.2 安装 Git(可选)
用于拉取 openFuyao 相关资源(若通过脚本直接下载可跳过):
Bash
yum install -y git
git --version # 输出 git version 2.39.1
2.3 openFuyao 平台安装步骤
本次采用官方提供的一键安装脚本,操作更便捷(需先确认脚本最新链接,避免 404 错误):
2.3.1 主节点安装
下载安装脚本(通过官方最新链接获取,此处以修正后的有效链接为例):
Plain Text
curl -sfL https://openfuyao.obs.cn-north-4.myhuaweicloud.com/openFuyao/bkeadm/releases/download/v25.09/download.sh | bash
执行上述命令默认下载v25.09的安装包,若想下载其他版本,请使用如下命令指定版本下载。
Plain Text
export VERSION=x.y.z
<br/>curl -sfL https://openfuyao.obs.cn-north-4.myhuaweicloud.com/openFuyao/bkeadm/releases/download/v25.09/download.sh | bash
初始化引导节点。
Plain Text
bke init --otherRepo cr.openfuyao.cn/openfuyao/bke-online-installed:v25.09
Confirm the parameters, press Y to continue N will exit. \[Y/N\]? y
安装过程约 5-10 分钟,等待输出 “openFuyao master node installed successfully!” 即为安装完成。
2.3.2 从节点加入集群
从节点执行同样的脚本,添加 --worker 参数并指定主节点 IP:
Bash
wget https://github.com/openfuyao/installer/releases/download/v1.0.1/install-openfuyao.sh
chmod +x install-openfuyao.sh
./install-openfuyao.sh --worker 192.168.1.100 # 指向主节点IP
等待输出 “openFuyao worker node joined successfully!” 即表示从节点加入集群成功。
2.4 验证安装结果
2.4.1 查看节点状态
在主节点执行以下命令,查看集群节点信息:
Bash
openfuyao node list
若输出如下内容,说明主从节点均已正常注册:
Plain Text
NAME IP ROLE STATUS CPU(USED/TOTAL) MEM(USED/TOTAL)
master-01 192.168.1.100 master Ready 0.8/16 2.5/32GB
worker-01 192.168.1.101 worker Ready 0.3/8 1.2/16GB
2.4.2 检查核心服务状态
通过 systemctl 查看 openFuyao 相关服务是否正常运行:
Bash
systemctl status openfuyao-server # 主节点核心服务
systemctl status openfuyao-agent # 所有节点代理服务
若服务状态为 “active (running)”,则表示服务启动正常。
2.4.3 访问 Web 控制台
打开浏览器,输入 http://主节点IP:8080,即可进入 openFuyao 可视化控制台(默认账号密码:admin/admin)。成功登录后,可在「集群概览」中看到节点数量、资源使用情况等信息,验证安装生效。
三、节点管理与资源监控
3.1 节点自动发现与注册过程
openFuyao 支持节点自动发现机制,从节点执行安装脚本时,会通过指定的主节点 IP 建立连接,并自动完成注册。注册流程如下:
从节点启动 openfuyao-agent 服务,向主节点发送注册请求;
主节点验证请求合法性后,将从节点加入集群,并同步集群配置;
从节点定期向主节点上报资源状态(CPU、内存、磁盘使用率等),保持心跳连接。
若需手动添加节点,可在 Web 控制台「节点管理」页面点击「添加节点」,获取自定义安装命令,在新节点执行即可完成注册。
3.2 查看节点资源
3.2.1 命令行查看
在主节点执行以下命令,查看单个节点的详细资源信息:
Bash
openfuyao node describe worker-01 # worker-01 为节点名称
输出内容包括节点 IP、角色、状态、CPU/内存/磁盘的总容量、已使用容量、剩余容量,以及运行中的容器数量等。
3.2.2 Web 控制台查看
在 Web 控制台「节点管理」页面,点击任意节点的「详情」,可查看实时资源监控图表(近 1 小时、1 天、7 天的资源使用趋势),直观了解节点负载变化。
3.3 日志查看与问题排查
3.3.1 命令行查看日志
Bash
\# 查看主节点服务日志
journalctl -u openfuyao-server -f
<br/>\# 查看从节点代理日志
journalctl -u openfuyao-agent -f
3.3.2 Web 控制台查看日志
在 Web 控制台「日志中心」,可按节点、服务类型、时间范围筛选日志,支持日志下载和关键词搜索,方便排查安装或运行过程中的问题。例如,若节点状态异常,可通过日志查看是否存在端口占用、网络不通等问题。
3.4 资源管理核心能力拓展
3.4.1 工作负载管理
openFuyao 支持多种工作负载类型,适配不同业务场景的资源调度需求,核心工作负载包括:
无状态工作负载(Deployment)
适用于 Nginx、API 服务等无状态应用,支持副本数动态扩缩容、滚动更新和回滚。
命令行创建示例:
bash
运行
Bash
openfuyao deployment create \\--name api-service \\--image my-api:v1.0 \\--replicas 3 \\--cpu 1 \\--memory 1Gi \\--port 8080:8080
bash
运行
Bash
\# 手动扩缩容至 5 个副本
openfuyao deployment scale api-service --replicas 5# 开启 HPA(Horizontal Pod Autoscaler)自动扩缩容(基于 CPU 使用率)
openfuyao hpa create --name api-hpa --target deployment/api-service --min-replicas 2 --max-replicas 10 --cpu-percent 70
有状态工作负载(StatefulSet)
适用于数据库(MySQL、MongoDB)、缓存(Redis 集群)等需要稳定网络标识和存储的应用,支持有序部署、有序删除和 PVC 模板复用。
命令行创建示例(搭配 PVC 存储):
bash
运行
Bash
\# 先创建存储类(StorageClass)
openfuyao sc create --name fast-sc --provisioner openfuyao-local-storage
\# 创建 StatefulSet
openfuyao statefulset create \\--name mysql-cluster \\--image mysql:8.0 \\--replicas 3 \\--cpu 2 \\--memory 4Gi \\--port 3306:3306 \\--env MYSQL_ROOT_PASSWORD=123456 \\
\--storage-class fast-sc \\
\--storage-size 20Gi
定时任务(CronJob)与一次性任务(Job)
定时任务适用于日志清理、数据备份等周期性操作,支持 Cron 表达式配置执行时间;
一次性任务适用于数据迁移、批量计算等临时操作,任务完成后自动终止。
命令行创建示例:
Bash
\# 创建定时任务(每天凌晨 2 点执行日志清理)
openfuyao cronjob create \\--name log-cleanup \\--image busybox:latest \\--schedule "0 2 \* \* \*" \\--command "rm -rf /var/log/app/\*"# 创建一次性任务(数据导出)
openfuyao job create \\--name data-export \\--image data-tool:v1.0 \\--command "python export.py --output /data/backup.csv" \\--cpu 0.5 \\--memory 1Gi
3.4.2 网络管理
openFuyao 提供统一的网络管理能力,确保容器间、容器与外部的网络连通性,核心功能包括:
容器网络模型(CNI)
默认采用 Calico 网络插件,支持 Overlay 和 Underlay 两种网络模式,提供跨节点容器通信、网络策略隔离能力。
查看网络状态:
运行
Bash
\# 查看集群网络配置
openfuyao network config
\# 查看容器网络接口
openfuyao pod exec <pod-name> -- ifconfig
服务暴露(Service)
提供 ClusterIP(集群内部访问)、NodePort(节点端口映射)、LoadBalancer(负载均衡器,云环境适配)三种暴露方式,解决容器 IP 动态变化问题。
命令行创建示例:
bash
运行
Bash
\# 创建 NodePort 类型 Service(外部通过节点 IP:30080 访问)
openfuyao service create \\--name nginx-service \\--type NodePort \\--target deployment/nginx-test \\--port 80:80 \\
\--node-port 30080# 创建 LoadBalancer 类型 Service(云环境自动分配负载均衡器)
openfuyao service create \\--name api-loadbalancer \\--type LoadBalancer \\--target deployment/api-service \\--port 8080:8080
网络策略(NetworkPolicy)
支持基于命名空间、Pod 标签、端口的访问控制,实现容器网络隔离。
示例:禁止非 web 命名空间的 Pod 访问 db 命名空间中 3306 端口(MySQL):
bash
运行
Bash
openfuyao networkpolicy create \\--name db-access-control \\--namespace db \\
\--pod-selector app=mysql \\
\--allow-from namespace=web \\--port 3306
3.4.3 命名空间管理
命名空间(Namespace)用于实现集群资源的逻辑隔离,适用于多团队、多环境(开发、测试、生产)共享集群的场景,核心功能包括:
命名空间创建与删除
命令行操作示例:
Bash
\# 创建开发、测试、生产环境命名空间
openfuyao namespace create dev
openfuyao namespace create test
openfuyao namespace create prod
\# 查看所有命名空间
openfuyao namespace list
\# 删除测试环境命名空间(连带删除空间内所有资源)
openfuyao namespace delete test
资源配额(ResourceQuota)
限制命名空间内的资源使用上限,避免单个团队过度占用集群资源。
示例:为 dev 命名空间设置资源配额(CPU 上限 8 核、内存上限 16Gi、Pod 数量上限 20):
Bash
openfuyao resourcequota create \\--name dev-quota \\--namespace dev \\--hard "cpu=8,memory=16Gi,pods=20"# 查看配额使用情况
openfuyao resourcequota describe dev-quota --namespace dev
资源访问控制
结合 RBAC(基于角色的访问控制),为不同命名空间分配独立的权限,例如:仅允许开发人员操作 dev 命名空间资源,禁止访问 prod 命名空间。
示例:创建 dev-admin 角色并绑定用户:
Bash
\# 创建角色(允许操作 dev 命名空间下所有资源)
openfuyao role create dev-admin --namespace dev --resource "\*" --verb "\*"# 绑定用户(假设用户名为 developer)
openfuyao rolebinding create dev-admin-binding --namespace dev --role dev-admin --user developer
3.4.4 存储资源管理
openFuyao 支持容器与持久化存储的灵活对接,核心能力包括:
存储类(StorageClass)
定义存储资源的供应方式(如本地磁盘、云存储),支持动态供应 PVC(PersistentVolumeClaim),无需手动创建 PV(PersistentVolume)。
支持设置存储性能等级(如高速 SSD、普通 HDD),适配不同应用存储需求。
PVC/PV 绑定
PVC 是容器对存储资源的请求,PV 是集群中的实际存储资源,openFuyao 自动完成 PVC 与 PV 的匹配绑定。
手动创建 PV 示例(适用于静态存储供应):
Bash
openfuyao pv create \\--name static-pv \\--storage 50Gi \\
\--access-modes ReadWriteOnce \\
\--host-path /data/static-pv \\
\--storage-class slow-sc
临时存储(EmptyDir)
适用于容器间共享临时数据的场景,容器删除后数据丢失,无需持久化。
创建示例(在 Deployment 中配置):
Bash
openfuyao deployment create \\--name temp-data-app \\--image busybox:latest \\--command "sleep 3600" \\
\--empty-dir /tmp/shared-data # 临时存储挂载路径
四、容器任务调度测试**
4.1 创建测试任务
本次创建一个 Nginx 容器任务,测试 openFuyao 的调度能力:
4.1.1 命令行创建
在主节点执行以下命令,创建一个简单的 Nginx 任务:
Bash
openfuyao job create \\
\--name nginx-test \\
\--image nginx:1.21 \\
\--replicas 2 \\ # 启动 2 个副本
\--port 80:80 \\ # 端口映射(主机端口:容器端口)
\--cpu 0.5 \\ # 每个副本申请 0.5 核 CPU
\--memory 512Mi # 每个副本申请 512MB 内存
\[root@master-01 ~\]# openfuyao job create \\
\--name nginx-demo \\
\--image nginx:1.23 \\
\--replicas 3 \\
\--port 80:80 \\
\--cpu 0.5 \\
\--memory 512Mi
2025-11-09 15:30:22 \[INFO\] 开始创建任务 nginx-demo
2025-11-09 15:30:23 \[INFO\] 任务配置校验通过:镜像 nginx:1.23,副本数 3,CPU 0.5核,内存 512Mi
2025-11-09 15:30:25 \[INFO\] 任务 nginx-demo 创建成功!任务ID:job-8f7d29e0
2025-11-09 15:30:26 \[INFO\] 调度器已开始分配任务副本到集群节点
4.1.2 Web 控制台创建**
登录控制台,点击「任务管理」→「创建任务」;
填写任务名称、选择镜像(nginx:1.21)、设置副本数、CPU/内存限制、端口映射等参数;
点击「提交」,任务自动开始调度。
4.2 查看任务调度日志与运行结果
4.2.1 查看调度日志
Bash
openfuyao job logs nginx-test # 查看任务调度日志
日志会显示任务创建时间、调度节点、容器启动状态等信息,例如:
Plain Text
2025-11-09 15:40:12 \[INFO\] Job nginx-test created successfully
2025-11-09 15:40:13 \[INFO\] Scheduling replica nginx-test-7f9d6c7b6d-2xqzk to worker-01
2025-11-09 15:40:15 \[INFO\] Scheduling replica nginx-test-7f9d6c7b6d-5rjqb to master-01
2025-11-09 15:40:16 \[INFO\] All replicas of job nginx-test are running
4.2.2 验证任务运行状态
Bash
openfuyao job list # 查看任务列表
若输出中任务状态为「Running」,表示运行正常:
Plain Text
NAME REPLICAS READY STATUS IMAGE P
ORT
nginx-test 2 2 Running nginx:1.21 80:80
4.2.3 访问测试容器
通过任意节点的 IP 和映射端口访问 Nginx 服务:更换成自己的节点ip地址
Bash
curl http://10.0.4.7:80 # 访问主节点上的 Nginx 副本
curl http://10.0.4.8:80 # 访问从节点上的 Nginx 副本
若返回 Nginx 欢迎页面 HTML 内容,说明容器运行正常,任务调度成功。
4.3 任务在不同节点间的分配情况
从调度日志和节点详情中可看到,2 个 Nginx 副本分别被调度到了主节点和从节点。这是因为 openFuyao 采用了默认的「负载均衡调度策略」,会根据节点的资源使用率自动分配任务,避免单个节点负载过高。
在 Web 控制台「任务管理」→「nginx-test」→「副本列表」中,可清晰看到每个副本所在的节点、容器 ID、状态等信息。若手动关闭其中一个节点的 openfuyao-agent 服务(模拟节点故障),openFuyao 会在 30 秒内检测到节点异常,并将该节点上的 Nginx 副本自动调度到健康节点,确保服务可用性。
五、总结与心得
5.1 openFuyao 部署与使用的优点
① 安装便捷:一键安装脚本大幅简化部署流程,主从节点配置无需复杂手动操作,新手也能快速上手;
② 监控清晰:Web 控制台提供直观的资源监控、任务状态和日志查询功能,运维成本低;
③ 调度智能:支持负载均衡、故障自愈等调度策略,能根据节点资源情况动态分配任务,保障服务稳定性;
④ 兼容性强:支持主流 Linux 系统和 Docker 容器,适配不同规格的服务器,满足多样化算力场景需求。
5.2 使用建议与改进思路
① 生产环境中,建议为 etcd 数据(openFuyao 核心存储)配置单独的磁盘分区,避免磁盘满导致集群故障;
② 若需要部署 GPU 相关任务,需在安装时指定 GPU 驱动路径,并在创建任务时添加 --gpu 1 等参数申请 GPU 资源;
③ 建议修改默认的管理员账号密码,开启控制台 HTTPS 访问,提升集群安全性;
④ 希望后续版本能增加自定义调度策略的功能,满足更复杂的业务场景(如按节点标签调度、优先级调度等)。
5.3 实用价值总结
openFuyao 作为一款轻量级容器平台,在多样化算力管理场景中表现突出。无论是小型团队搭建内部测试环境,还是企业部署生产级容器应用,都能通过它快速实现资源统一管理和智能调度,减少运维工作量,提升资源利用率。其简洁的操作界面和稳定的核心功能,使其成为容器化部署的优质选择。
更多推荐
所有评论(0)