Ironic映象說明
目錄
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 passwd
Password:
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
相關文章
- openjdk映象的tag說明JDK
- zabbix-server-pgsql docker映象說明ServerSQLDocker
- kafka的Docker映象使用說明(wurstmeister/kafka)KafkaDocker
- 簡單聊聊 Ironic
- 說明
- Hack 說明
- 使用說明
- 專利說明書及其說明書附圖
- openssh版本更新與說明 openssl版本更新與說明
- 轉換說明
- cmake使用說明
- certbot 使用說明
- rust配置說明Rust
- FreeSql 使用說明SQL
- SpringBoot整合說明Spring Boot
- postman 使用說明Postman
- QLExpress使用說明Express
- WebApiClientCore使用說明WebAPIclient
- ThinkSNS 更新說明
- flowable 更新說明
- ApplicationContextAware使用說明APPContext
- 說明符%d
- SDWebImage中文說明Web
- git 操作說明Git
- objc物件說明OBJ物件
- MOBIM介面說明
- Oracle Latch 說明Oracle
- Jupiter 使用說明
- winscp操作說明,winscp操作說明的詳細解讀
- CentOS 7升級核心簡明說明CentOS
- 實驗說明 - ssti
- Sybase的效能說明
- TOP引數說明
- oracle orapwd使用說明Oracle
- Rest 風格說明REST
- java String類說明Java
- Flowable - 6.7.1 更新說明
- Flowable - 6.7.0 更新說明