Ironic镜像说明

2024-08-25 04:58
文章标签 镜像 说明 ironic

本文主要是介绍Ironic镜像说明,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

 

Deploy 映像

coreos 映像

dib 映像

User 映像

镜像驱动问题


 

ironic 整个部署流程中有两组映像,分别是 deploy 映像和 user 映像, 其中 deploy 映像用在 inspector 和 部署阶段, user 映像是用户需要安装的操作系统映像。

 

Deploy 映像

制作ironic deploy镜像其实就是在普通镜像中添加一个ipa服务,用来裸机和ironic通信。 官方推荐制作镜像的工具有两个,分别是CoreOS tools和disk-image-builder 具体链接如下: https://docs.openstack.org/project-install-guide/baremetal/ocata/deploy-ramdisk.html

 

coreos 映像

coreos 是一个 docker 镜像, 你可以自己构建,也可以直接下载社区 构建好的: http://tarballs.openstack.org/ironic-python-agent/coreos/files/

 

dib 映像

映像密码

有时候,部署会卡很长时间,我们希望能登录到裸机,查看原因。 这个时候需要有密码可以或者是 ssh 能免密码登录。

对应 dib 添加密码,是通过 dynamic-login element 来完成的。 首先制作带 dynamic-login 的映像:

 disk-image-create ironic-agent centos7 dynamic-login -o ironic-deploy

dynamic-login 的原理是在系统里起一个 dynamic-login 服务,在系统 上电时,解析 /proc/cmdline 里的参数,如果用户传了 rootpwd 或者 sshkey, 则写到对应的文件中,这样用户就可以登录系统了。

dynamic-login 使用的是密文,我们可以使用 openssl 生产密码:

 

$ openssl passwdPassword:
Verifying - Password:
mNw2hVHmny2Ho然后我们把在 /etc/ironic/ironic.conf 添加我们的密码。
$ cat /etc/ironic/ironic.conf[pxe]
pxe_append_params = rootpwd="mNw2hVHmny2Ho"如果使用 ssh 方式登录,则添加 sshkey
$ cat ~/.ssh/id_rsa.pub# 添加 sshkey="<your_sshkey>"
$ cat /etc/ironic/ironic.conf[pxe]
pxe_append_params = sshkey=""

 

User 映像

user 映像又分为 partition 映像和 whole disk 映像,两者的区别是 whole disk 映像包含分区表和 boot。目前 partition 映像已经很少 使用了,现在基本都使用 whole disk 映像。

 

镜像驱动问题

我们使用虚机制作的镜像安装在物理机上,很可能缺少驱动,而导致用户 系统起不来。这里我们以 CentOS 为例,说明如何重新制作驱动。

 

mount -o loop CentOS.iso /mnt
cd /mnt/isolinux
lsinitrd initrd.img | grep "\.ko" | awk -F / '{print $NF}' | tr "\n" " "# 将如上命令获得的ko列表拷贝到 /etc/dracut.conf 中
add_drivers+=""rm -rf /boot/*kdump.img
dracut --force

 

也可以用网上做好的镜像:

 

准备镜像文件
如果已经准备好了镜像文件,这一步可以跳过。首先,下载ironic deploy镜像
# cd /tftpboot/
# mkdir -p ironic
# cd ironic/
# wget http://tarballs.openstack.org/ironic-python-agent/coreos/files/coreos_production_pxe.vmlinuz
# wget http://tarballs.openstack.org/ironic-python-agent/coreos/files/coreos_production_pxe_image-oem.cpio.gz第二,准备user image,用户镜像。
安装diskimage-build
# git clone  https://github.com/openstack/dib-utils.git
# cd dib-utils/
# python setup.py install
# git clone git://git.openstack.org/openstack/diskimage-builder
# cd diskimage-builder/
# python setup.py install下载 fedora镜像
# disk-image-create fedora baremetal dhcp-all-interfaces grub2 -o my-fedora修改镜像的默认密码
# yum install libguestfs-tools-c
# cp my-fedora.qcow2 /tmp/
# chmod 777 /tmp/my-fedora.qcow2
# virt-sysprep -a /tmp/my-fedora.qcow2  --root-password password:111111
# mv my-fedora.initrd my-fedora.vmlinuz my-fedora.qcow2 /tftpboot/ironic/
# mv /tmp/my-fedora.qcow2 /tftpboot/ironic/将 /tftpboot 修改为ironic拥有。
# chown -R ironic:ironic /tftpboot
# chmod 664 /tftpboot/ironic/*最后,需要的镜像文件有五个:两个deploy镜像文件,三个user镜像文件。
# ll /tftpboot/ironic/
总用量 829436
-rw-rw-r-- 2 ironic ironic 347257429  coreos_production_pxe_image-oem.cpio.gz
-rw-rw-r-- 2 ironic ironic  33837088  coreos_production_pxe.vmlinuz
-rw-rw-r-- 2 ironic ironic  17685716  my-fedora.initrd
-rw-rw-r-- 2 ironic ironic   6679512  my-fedora.vmlinuz
-rw-rw-r-- 1 ironic ironic 443875328  my-fedora.qcow2

 

参考:https://www.cnblogs.com/gushiren/p/9512819.html

这篇关于Ironic镜像说明的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1104603

相关文章

Tomcat版本与Java版本的关系及说明

《Tomcat版本与Java版本的关系及说明》:本文主要介绍Tomcat版本与Java版本的关系及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Tomcat版本与Java版本的关系Tomcat历史版本对应的Java版本Tomcat支持哪些版本的pythonJ

Docker镜像pull失败两种解决办法小结

《Docker镜像pull失败两种解决办法小结》有时候我们在拉取Docker镜像的过程中会遇到一些问题,:本文主要介绍Docker镜像pull失败两种解决办法的相关资料,文中通过代码介绍的非常详细... 目录docker 镜像 pull 失败解决办法1DrQwWCocker 镜像 pull 失败解决方法2总

Nginx指令add_header和proxy_set_header的区别及说明

《Nginx指令add_header和proxy_set_header的区别及说明》:本文主要介绍Nginx指令add_header和proxy_set_header的区别及说明,具有很好的参考价... 目录Nginx指令add_header和proxy_set_header区别如何理解反向代理?proxy

使用国内镜像源优化pip install下载的方法步骤

《使用国内镜像源优化pipinstall下载的方法步骤》在Python开发中,pip是一个不可或缺的工具,用于安装和管理Python包,然而,由于默认的PyPI服务器位于国外,国内用户在安装依赖时可... 目录引言1. 为什么需要国内镜像源?2. 常用的国内镜像源3. 临时使用国内镜像源4. 永久配置国内镜

JAVA SE包装类和泛型详细介绍及说明方法

《JAVASE包装类和泛型详细介绍及说明方法》:本文主要介绍JAVASE包装类和泛型的相关资料,包括基本数据类型与包装类的对应关系,以及装箱和拆箱的概念,并重点讲解了自动装箱和自动拆箱的机制,文... 目录1. 包装类1.1 基本数据类型和对应的包装类1.2 装箱和拆箱1.3 自动装箱和自动拆箱2. 泛型2

MySQL常见的存储引擎和区别说明

《MySQL常见的存储引擎和区别说明》MySQL支持多种存储引擎,如InnoDB、MyISAM、MEMORY、Archive、CSV和Blackhole,每种引擎有其特点和适用场景,选择存储引擎时需根... 目录mysql常见的存储引擎和区别说明1. InnoDB2. MyISAM3. MEMORY4. A

MyBatis的配置对象Configuration作用及说明

《MyBatis的配置对象Configuration作用及说明》MyBatis的Configuration对象是MyBatis的核心配置对象,它包含了MyBatis运行时所需的几乎所有配置信息,这个对... 目录MyBATis配置对象Configuration作用Configuration 对象的主要作用C

在Dockerfile中copy和add的区别及说明

《在Dockerfile中copy和add的区别及说明》COPY和ADD都是Dockerfile中用于文件复制的命令,但COPY仅用于本地文件或目录的复制,不支持自动解压缩;而ADD除了复制本地文件或... 目录在dockerfile中,copy 和 add有什么区别?COPY 命令ADD 命令总结在Doc

解读Pandas和Polars的区别及说明

《解读Pandas和Polars的区别及说明》Pandas和Polars是Python中用于数据处理的两个库,Pandas适用于中小规模数据的快速原型开发和复杂数据操作,而Polars则专注于高效数据... 目录Pandas vs Polars 对比表使用场景对比Pandas 的使用场景Polars 的使用

Python使用国内镜像加速pip安装的方法讲解

《Python使用国内镜像加速pip安装的方法讲解》在Python开发中,pip是一个非常重要的工具,用于安装和管理Python的第三方库,然而,在国内使用pip安装依赖时,往往会因为网络问题而导致速... 目录一、pip 工具简介1. 什么是 pip?2. 什么是 -i 参数?二、国内镜像源的选择三、如何