|
|
1.虚拟机创建时设置密码
8 J* [" A C( S计算节点安装以下软件包
+ t$ H! x: S5 {/ @% E. [+ yyum install libguestfs python-libguestfs libguestfs-tools-c
/ K4 e' ?, n% {8 Y( r# p' y3 e配置计算节点nova配置文件/etc/nova/nova.conf,添加如下选项
, |' C- V. h3 Q8 [$ o8 H[libvirt]
- A7 K0 N' [' `8 ]inject_password=true9 p# D W# \' ?1 t* D& X) I
inject_key=true/ C; W9 w' h7 u' ^
inject_partition=-1
1 H3 M' N. I# b6 C
- {; {2 O1 _" L9 H; ]重启计算节点的nova服务
4 d& n* P1 F# `) ^systemctl restart openstack-nova-compute libvirtd5 J+ O& d% D) g* H# L/ j
user data 也可以是 cloud-init 支持的一个 yaml 结构文件,所以还可以通过如下方式改密码
& O+ S) o' i1 x# cat ./cloud-config.txt- a1 x/ u! ~. ~9 e
#cloud-configchpasswd: list: | root:123456 expire: False
4 j/ T9 I+ \, B. A" w; a; z
1 |4 O& @. F& r, s. D' e创建虚拟机并设置密码的命令如下: W) ^: _; u# b1 H) h/ S
nova boot --user-data ./cloud-config.txt --image ... 或者openstack server create --user-data ./cloud-config.txt --image ...
4 @6 L" X D8 G4 K% s! O8 L4 [% t& K示范如下5 V Z: f0 w8 z2 {- ~
openstack server create --flavor 1c2g --user-data ./cloud-config.txt --availability-zone nova --image 75398b9c-5cd6-4936-a093-eba02984f7f0 \/ m3 R% K8 ^" d5 b
--nic net-id=5ac5c948-909f-47ff-beba-a2ffaf917c5f,v4-fixed-ip=172.16.99.134 \2 C( X" R* {' I. R5 V$ _& M
--nic net-id=85ae5035-203b-4ef7-b65c-397f80b5a8af,v4-fixed-ip=172.16.100.34 \3 u% g" q) y- v, @7 s. l
--security-group 5bb5f2b1-9210-470f-a4a7-2715220b2920 tomcat-vm4# u+ t7 K5 o$ d5 g" }
. L4 G9 ?! g0 X4 k1 x
4 o! b1 {; o6 Q' R. Z( M2.虚拟机启动后修改密码 l& V9 n% k$ P4 c- {% d0 \7 q# b
如果需要nova set-password起作用,需要image中装有qemu-guest-agent,另外需要设置meta中的 hw_qemu_guest_agent为yes0 n% u' R% x; @. |
2.1首先需要在openstack镜像中增加metadata信息:hw_qemu_guest_agent=yes,命令如下:1 [ M. y( D- N2 b$ L
# glance image-update 75398b9c-5cd6-4936-a093-eba02984f7f0 --property hw_qemu_guest_agent=yes
+ @6 v3 u" {+ G. ?- R; m[url=] [/url]
: Y+ o1 l+ W" L2 e4 K+---------------------+--------------------------------------------------------------------+| Property | Value |+---------------------+--------------------------------------------------------------------+| checksum | fc345c82d1f2f28c63a1be8b386a15e4 || container_format | bare || created_at | 2020-02-19T08:45:40Z || direct_url | file:///var/lib/glance/images/75398b9c-5cd6-4936-a093-eba02984f7f0 || disk_format | raw || hw_qemu_guest_agent | yes || id | 75398b9c-5cd6-4936-a093-eba02984f7f0 || min_disk | 0 || min_ram | 0 || name | CentOS 7.6 64位 || owner | 75aed7016c86445198356e78dddde4ba || protected | False || size | 5368709120 || status | active || tags | [] || updated_at | 2020-02-20T05:05:58Z || virtual_size | None || visibility | public |+---------------------+--------------------------------------------------------------------+[url=] [/url]
& _$ W4 L6 x, }6 `, F: a( R/ P$ o) f" Z- Z2 r9 F
& f R" {0 h: S$ A T5 z- l" P. U" [2 D- y
其中75398b9c-5cd6-4936-a093-eba02984f7f0为镜像ID7 C Z0 S1 ]6 e) z7 Z
5 o; t8 h/ i$ A' W/ M0 z
修改启动后的虚拟机密码为123456, G3 f8 A; B3 ?* G% Y0 q9 g A
# nova set-password 550e9a70-8064-4180-8bab-502ee15e6647 或者 openstack server set --root-password 550e9a70-8064-4180-8bab-502ee15e6647- l. ?1 H" M# j" A4 ?) b+ _( l
New password:
! q7 A: I! C& [+ mAgain:
0 t+ t- Y# K7 N
3 \1 Q* F+ `- b+ u* w o% S% o: o其中550e9a70-8064-4180-8bab-502ee15e6647为虚拟机ID
' q {4 l3 C. L4 a7 l# nova help set-password7 \. ?, a1 J' Y" Z3 I3 ?, F- m6 J
usage: nova set-password <server>9 p% Y3 T# G& g1 L
4 L- b0 V; E0 T4 V% E# g, Z* @/ r
Change the admin password for a server.
2 e6 [/ k# s, k
. v. _* j0 M4 ~. ^Positional arguments:$ ^ `$ [. l' p; I0 s8 E" }
<server> Name or ID of server.
+ M+ Q* ]- A* M# v- E# {( [& l) C! i; r' q7 J% Y% ~0 v
测试密码是否修改成功" V# @3 W1 M+ h6 _, C' o
# sshpass -p '123456' ssh root@172.16.99.134 w( b. f2 @" }$ U* @: E
13:28:54 up 14 min, 1 user, load average: 0.04, 0.08, 0.130 ^/ l. f6 H( |- y6 S S2 m J. P1 b6 r
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT3 F% K8 B4 L2 d8 R
root pts/0 10.30.1.103 13:20 8:28 0.03s 0.03s -bash
. d2 e/ G, ~* M" t( Q( h5 T9 |% r1 R. N8 @9 \+ q
6 C% v) n7 [$ T H/ ^$ H
在openstack horizon中重建实例时支持设置密码,同样可以生效了。
* M5 A3 n- w: [ G* L( j" K
- a4 z* V4 f8 C& F扩展1:给单个云主机中增加metadata信息:hw_qemu_guest_agent=yes,命令如下:
, I+ t, V0 ~ ?3 _* Nnova meta 550e9a70-8064-4180-8bab-502ee15e6647 set hw_qemu_guest_agent=yes& P) I9 ]7 I2 J, y0 n& y0 ?) l
" q0 i) P9 W7 j" r- M" o扩展2:) W" g# z0 N$ H1 g, E* |5 v4 l
上传镜像前修改密码$ u4 C: T* \: @ V
virt-customize -a /tmp/CentOS7.6_x86_64.raw --root-password password:123456
- C; l0 F1 Y* }( M+ ^上传镜像
" i; U, l! e: hopenstack image create "CentOS 7.6 64位 V2" --file /tmp/CentOS7.6_x86_64.raw --disk-format raw --container-format bare --public
! Q" `# I+ W3 s/ H. q" b0 v4 D0 k+ f' N+ c* _7 v
# E) g+ G5 K- o2 s
|
|