Enrollment¶
准备镜像¶
如果您不使用 Image 服务,可以通过 URL 提供镜像给 Bare Metal 服务。
目前,只有两种类型的 URL 可以替代 Image 服务 UUID:HTTP(S) URL(例如,“http://my.server.net/images/img”)和 file URL(file:///images/img)。
然而,对于不同的硬件接口,存在一些限制
如果您使用 直接部署 并使用 HTTP(S) URL,则必须向 Bare Metal 服务提供实例镜像的校验和。
为了向后兼容,默认使用 MD5。要计算 MD5 校验和,可以使用以下命令
$ md5sum image.qcow2 ed82def8730f394fb85aef8a208635f6 image.qcow2
或者,使用 SHA256 校验和或其他 Python 的 hashlib 支持的算法,例如:
$ sha256sum image.qcow2 9f6c942ad81690a9926ff530629fb69a82db8b8ab267e2cbd59df417c1a28060 image.qcow2
如果您使用 直接部署 并使用
file://URL,则必须确保镜像满足所有要求文件镜像必须可供每个 conductor 访问
文件镜像不能位于
/dev、/sys、/proc、/etc、/boot、/run或其他系统路径中。文件镜像必须位于
conductor.file_url_allowed_paths中列出的路径中
警告
Ironic CLI 工具不会将文件从本地机器传输到 conductor(s)。操作员应使用共享文件系统或配置管理来确保镜像的一致可用性。
注意
Bare Metal 服务通过检查其修改日期和时间来跟踪非 Glance 镜像的内容更改。例如,对于 HTTP 镜像,如果对“http://my.server.net/images/deploy.ramdisk”的 HEAD 请求的响应中的 ‘Last-Modified’ 标头值大于缓存的镜像修改时间,Ironic 将重新下载内容。对于“file://”镜像,使用文件系统的修改时间。
如果 HTTP 服务器未提供最后的修改日期和时间,则每次使用镜像时都会重新下载。
注册节点¶
在 Bare Metal 服务中创建一个节点。至少,您必须指定驱动程序名称(例如,
ipmi)。您还可以在一个命令中指定所有必需的驱动程序参数。这将返回节点 UUID$ baremetal node create --driver ipmi \ --driver-info ipmi_address=ipmi.server.net \ --driver-info ipmi_username=user \ --driver-info ipmi_password=pass \ --driver-info deploy_kernel=file:///images/deploy.vmlinuz \ --driver-info deploy_ramdisk=http://my.server.net/images/deploy.ramdisk +--------------+--------------------------------------------------------------------------+ | Property | Value | +--------------+--------------------------------------------------------------------------+ | uuid | be94df40-b80a-4f63-b92b-e9368ee8d14c | | driver_info | {u'deploy_ramdisk': u'http://my.server.net/images/deploy.ramdisk', | | | u'deploy_kernel': u'file:///images/deploy.vmlinuz', u'ipmi_address': | | | u'ipmi.server.net', u'ipmi_username': u'user', u'ipmi_password': | | | u'******'} | | extra | {} | | driver | ipmi | | chassis_uuid | | | properties | {} | +--------------+--------------------------------------------------------------------------+
请注意,这里 deploy_kernel 和 deploy_ramdisk 包含镜像的链接,而不是 Image 服务 UUID。
与 Compute 服务类似,您还可以提供
capabilities到节点属性,但它们仅由 Bare Metal 服务使用(例如,启动模式)。然后创建一个端口,通过创建包含每个 NIC 的 MAC 地址的端口,告知 Bare Metal 服务节点的一部分网络接口卡。在这种情况下,它们用于为节点命名 PXE 配置
baremetal port create $MAC_ADDRESS --node $NODE_UUID