gushiren

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
针对dib制作的deploy image,注入密码有两种方式:
devuser/dynamic-login
 
1、对应 dib 添加密码,是通过 dynamic-login element 来完成的。
首先制作带 dynamic-login 的映像:
 
disk-image-create ironic-agent centos7 dynamic-login -o ironic-deploy
centos7 可换为fedora或者ubuntu
 
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=""
 
2、devuser
这种方式一般在测试时使用,在正式环境中不推荐使用。原理是在制作镜像的时候,通过环境变量注入密码,然后diskimage-builder在做镜像的时候把密码写进去。
 
export DIB_DEV_USER_USERNAME=username
export DIB_DEV_USER_PWDLESS_SUDO=yes
export DIB_DEV_USER_AUTHORIZED_KEYS=$HOME/.ssh/id_rsa.pub
 
disk-image-create -o ironic-deploy ubuntu ironic-agent devuser
重启服务
systemctl restart ironic-*
ssh root@node_ip
参考:
https://docs.openstack.org/diskimage-builder/latest/elements/dynamic-login/README.html
https://leetpy.github.io/2017/04/04/ironic%E9%95%9C%E5%83%8F%E5%88%B6%E4%BD%9C/
http://ironic-book.readthedocs.io/zh_CN/latest/ironic/images.html#deploy

 

posted on 2018-08-22 10:37  gushiren  阅读(654)  评论(0编辑  收藏  举报