Cloudpods Baremetal - 裸金属自动化

张开发
2026/4/6 3:42:52 15 分钟阅读

分享文章

Cloudpods Baremetal - 裸金属自动化
cloudpods 云平台支持 Baremetal(物理机) 管理提供的功能如下:自动化上架: 物理机上架加电启动后自动注册到云管平台自动分配BMC IP地址初始化IPMI账号密码自动上报物理机硬件配置CPU、内存、序列号、网卡、磁盘等自动化装机: 根据配置要求自动配置 RAID自动分区格式化磁盘自动部署操作系统镜像自动初始化操作系统账号密码自动分配IP地址可以植入配置文件生命周期管理: 支持物理机自动化开机关机重装系统远程带外管理卸载操作系统等操作与虚拟机共享镜像: 使用虚拟机镜像部署物理机便于虚拟机和物理机统一操作系统运行环境API 支持: 以上操作均支持API操作便于与其他系统的自动化流程集成服务器型号支持: 支持Dell、HP、华为、浪潮、联想、超微等主流x86/ARM服务器厂商和机型RAID 控制器支持: LSI MegaRaid, HP Smart Array, LSI MPT2SAS, LSI MPT3SAS, Mrarvell RAID等 也支持软RAID转换为宿主机: 直接将物理机转换为运行虚拟机的宿主机托管已有服务器 托管已有并装好系统的物理机支持 Legacy(传统模式)或者UEFI的 PXE 引导网络启动网卡支持自动化配置IP、掩码、网关、DNS、VLAN、Bond支持安装的操作系统openEuler: 22.03 LTS SP3, 22.03 LTS SP4, 24.03 LTS SP2CentOS: 7.9, 8 stream, 9 stream, 10 streamDebian: 11, 12, 13Ubuntu Server: 20.04 LTS, 22.04 LTS, 24.04 LTS, 25.04AnolisOS: 8.8. 8.10OpenCloudOS: 8.8, 8.10, 9.2, 9.4Rocky Linux: 8.x, 9.x, 10.xAlma Linux: 8.x, 9.x, 10.xDocker Compose 快速安装和使用使用 Docker Compose 快速部署 Cloudpods Baremetal 物理机管理服务。(单节点)环境准备服务器配置要求最低配置要求: CPU 4核, 内存8 GiB, 存储 200GiBdocker 版本: ce-26.1.3docker 建议安装最新的 ce 版本新版本已经包含 docker-compose 插件docker 需要开启容器网络以及 iptables底层系统推荐使用Rocky Linux 9 / Debian 12服务器网卡要求外网网卡用于管理和下载文件连接物理机IPMI。内网网卡用于PXEDHCP 让需要PXE启动的物理服务器网卡在一个广播域。可只配置IP和掩码安装配置Docker CE国内参考文档https://help.mirror.nju.edu.cn/docker-ce/?mirrorNJU官方文档安装Install Docker Engine部署运行 Cloudpods Baremetal 服务在部署机器上创建 cloudpods-baremetal 目录并且进入该目录。cd /optmkdir cloudpods-baremetalcd cloudpods-baremetal使用下面的命令把运行物理机管理的 docker compose 配置文件下载下来。curl https://raw.githubusercontent.com/yunionio/ocboot/master/compose/baremetal/docker-compose.yml -o docker-compose.yamlPS也可以用国内的Gitee下载https://gitee.com/songxwn/ocboot/raw/master/compose/baremetal/docker-compose.yml在 cloudpods-baremetal 目录运行下面的 docker compose 命令正式开始安装运行服务注意需要设置 LISTEN_INTERFACE 和 PUBLIC_IP 两个环境变量。LISTEN_INTERFACE: 服务监听的网卡比如 eth0 此网卡会负责接受 DHCP 请求。(即内网网卡)PUBLIC_IP: 服务监听的 IP 地址为对应 LISTEN_INTERFACE 网卡上的 IP 地址可通过ip addr show查看对应网卡上的地址。下面命令假设 eth0 网卡上的 ip 地址为 10.168.222.205具体设置请根据自己的环境设置。LISTEN_INTERFACEeth0 PUBLIC_IP10.168.222.205 docker compose up -d等服务启动完成后就可以登陆https://$PUBLIC_IP访问前端服务默认登陆用户密码为admin 和 admin123。纳管物理机教程物理机管理服务部署完成后接下来纳管物理机测试。注意待纳管的物理机需要和运行服务的节点在同一个广播域下内网网卡该广播域中需要禁用其他 dhcp 服务因为 baremetal 物理机管理服务会运行 dhcp 服务如果待管理的物理机运行在其他广播域则需要在交换机上配置 dhcp relay 到物理机管理服务的 PUBLIC_IP 地址待纳管的物理机信息型号: Lenovo RD640IPMI 带外信息:IP: 192.168.222.203用户: root密码: YourIPMIPasswordBIOS/UEFI引导选项设置 PXE 网络启动为第一启动顺序1. 创建网段纳管物理机需要创建PXE、IPMI、物理机 3个类型的 IP 子网。PXE类型: 该网段用于物理机的 PXE 网络引导启动和裸金属安装操作系统IPMI 类型: 用于记录物理机 BMC 带外控制的地址物理机类型用于物理机的业务网段可配置VLAN。这三个网段最好是运行服务所在节点网络可达的请根据自己的网络环境设置。点击前端“网络/IP子网/新建创建以下的三个子网。创建一个PXE类型的子网假设需要给物理机 PXE 启动的网段为 192.168.77.100 到 192.168.77.200网关为 192.168.77.1并设置 dhcp_relay 为 PUBLIC_IP名称为 bmnet-0服务器类型选择PXE。注意此物理机类型网段的开始和结束 ip 范围以及默认网关是和实际环境网络环境相关的是对应到交换机和路由器上的配置注意划分的 ip 不要和已有环境的冲突了这里一定要设置 dhcp_relay 为 PUBLIC_IP在这个环境中是 192.168.77.12请根据自己环境修改。因为 baremetal-agent 服务只会响应从 dhcp_relay 过来的单播 dhcp 请求用 docker compose 部署的服务中包含了一个 dhcp_relay 服务也监听到 PUBLIC_IP 上会把 dhcp 广播 relay 到 agent 服务。创建一个 IPMI 类型的子网该网段需要包含物理机的 ipmi ip假设为 192.168.222.200 到 192.168.222.210网关为 192.168.222.1名称为 ipmi-0类型为IPMI。创建一个物理机类型的业务子网该网段需要包含物理机的业务网卡的网段其他要求一样。查看创建好的3个网段2.1 PXE引导注册纳管物理机(有IPMIBMC)在Web管理控制台添加物理机点击”主机/基础资源/物理机/添加”选择 “PXE 注册引导”输入对应的物理机纳管信息。名称: test-bm-songxwnIPMI 信息这些以具体机器所在环境为准IPMI 地址: 192.168.222.203IPMI 用户名: rootIPMI 密码: YourIPMIPassword管理口 MAC 地址: 00:0C:29:01:3E:C1PXE 网络启动的网卡 MAC 地址如果物理机支持 Redfish API 可以不填平台能自动探测到管理口 IP: 选择刚才创建的 bmnet-0 子网创建完成后在物理机列表可以看到机器处于“准备中”的状态并且探测到了品牌为 Lenovo 。(得确保IPMI 可连接到)可以通过访问物理机的带外控制台会看到物理机开始 PXE 引导如果网络配置没有问题物理机会获得物理机管理服务下发的 grub 引导配置。获取 grub 配置后物理机会从管理服务的 PUBLIC_IP 下载内核和 initramfs。下载完成后就会进入 yunionos 内存系统。之后平台的服务会通过 ssh 远程探测收集物理机的硬件信息等物理机变成“运行中”的状态就算纳管成功了。勾选对应的物理机点击启用就可以进行后续的安装操作系统等操作。2.2 预注册纳管物理机(无IPMIBMC)适用于无IPMIBMC的物理机PXE服务器需要注册MAC地址才能被引导。注意勾选无BMC控制器。注意选择管理口IP为PXE 子网。3. 导入装机镜像点击“主机/系统镜像/上传”按钮导入需要装机的镜像。名称CentOS-7.6.1810-20190430.qcow2输入镜像 URLhttps://iso.yunion.cn/vm-images/CentOS-7.6.1810-20190430.qcow2等待镜像状态变成“可用”就可以将此镜像用于安装操作系统了。Debian 12 AMD64 通用物理机QCOW2镜像https://cloud.debian.org/images/cloud/bookworm/latest/debian-12-generic-amd64.qcow2Debian 12 自定义包KVM安装一个Debian 12虚拟机(安装好软件包和配置)将镜像下载下来。qemu-img convert -f qcow2 -O raw debian-disk.qcow2 debian-disk.raw安装包 cloud-init 用于初始化安装包 vlan、ifenslave 用于VLAN和Bond或是点击社区镜像在线导入等待镜像状态变成“可用”就可以将此镜像用于安装操作系统了。4. 为物理机安装操作系统)前提条件物理机PXE已启动 YunionOS For PXE 系统YunionOS For PXE 是一个通过网络PXE启动在内存中临时运行的工具系统用于启动后由Cloudpods Baremetal 系统连接检测所有硬件信息并根据硬件信息来配置网卡、硬盘、密码/密钥来安装系统。安装系统到物理机硬盘点击“主机/基础资源/物理机”选择一个物理机 点击更多选择启用然后选择安装操作系统。配置安装信息配置系统主机名配置安装系统镜像配置硬盘 可配置软RAID配置root密码/公钥配置网络 可配置Bond 和 VLAN最后点击新建则开始安装安装日志可去主机 - 裸金属查看。操作说明1. 将服务放到后台运行可以使用 -d/--detach 参数把所有服务放到后台运行命令如下# 所有服务放到后台运行# 下面命令假设 eth0 网卡上的 ip 地址为 10.168.222.205具体设置请根据自己的环境设置。$ LISTEN_INTERFACEeth0 PUBLIC_IP10.168.222.205 docker compose up -d# 服务放到后台后可以通过 logs 自命令查看输出日志$ docker compose logs -f2. 登陆 climc 命令行容器如果要使用命令行工具对平台做操作可以使用下面的方法进入容器$ docker exec -ti cloudpods-baremetal-climc-1 bashWelcome to Cloud Shell :-) You may execute climc and other command tools in this shell.Please exec climc to get started# source 管理员认证信息bash-5.1# source /etc/yunion/rcadminbash-5.1# climc user-list3. 登录物理机 pxe 内存系统当物理机通过 pxe 启动成功后会引导进入一个内存 linux 系统可以通过下面的方式 ssh 进入这个系统遇到错误的时候方便排查。# 1. 进入 climc 容器docker exec -ti cloudpods-baremetal-climc-1 bash# 2. 查看物理机 idclimc host-list# 3. ssh 到 host 的内存系统climc host-ssh $对应物理机id另外也可以通过climc host-logininfo $对应物理机id获取 root 用户的登录密码。如果物理机 pxe 内存系统上报登录信息失败则会设置成默认的密码mosbaremetal对应逻辑可参考通知代码。4. 查看服务配置和持久化数据所有服务的持久化数据都是存储在cloudpods-baremetal/data目录下面的所有配置都是自动生成的一般不需要手动修改下面对各个目录做说明$ tree datadata├── etc│ ├── nginx│ │ └── conf.d│ │ └── default.conf # 前端 nginx 配置│ └── yunion│ ├── *.conf # cloudpods 各个服务配置│ ├── pki # 证书目录│ ├── rcadmin # 命令行认证信息├── opt│ └── cloud│ └── workspace│ └── data│ └── glance # 镜像服务存储的镜像目录└── var└── lib├── influxdb # influxdb 持久化数据目录└── mysql # mysql 数据库持久化数据目录5. 删除所有容器所有服务的持久化数据都是存储在cloudpods-baremetal/compose/data目录下面的删除容器不会丢失数据下次直接用docker compose up重启即可操作如下# 删除服务$ docker compose down升级更新 compose 配置文件当上游的 ocboot/compose/baremetal/docker-compose.yml 更新了就可以通过 curl 命令下载最新的配置文件然后重新启动就可以了步骤如下# 注意切换到对应的 cloudpods-baremetal 目录cd /opt/cloudpods-baremetal# 下载配置文件curl https://raw.githubusercontent.com/yunionio/ocboot/master/compose/baremetal/docker-compose.yml -o docker-compose.yaml# 重启服务docker compose up -d重启 compose 服务拉取最新的 docker-compose.yml 配置文件后使用下面命令重启服务就行了。cd /opt/cloudpods-baremetaldocker compose down# 下面命令假设 eth0 网卡上的 ip 地址为 10.168.222.205具体设置请根据自己的环境设置。LISTEN_INTERFACEeth0 PUBLIC_IP10.168.222.205 docker compose up

更多文章