OpenStack安装流程(juno版)- 启动一个实例
所谓实例就是OpenStack在compute节点上创建的虚拟机。
使用OpenStack网络(neutron)启动一个实例
生成密钥对
在启动实例前,必须用ssh-keygen
先生成一个公钥/私钥对,并把公钥添加到OpenStack环境中。
- 启动
demo
租户的证书:
$ source demo-openrc.sh
- 生成密钥对:
$ ssh-keygen
过程中会要求输入存放密钥的文件名,本文采用默认的/root/.ssh/id_rsa
文件名。随后将在/root/.ssh/
产生密钥文件对:
<pre>Your identification has been saved in /root/.ssh/id_rsa.<br>Your public key has been saved in /root/.ssh/id_rsa.pub.
</pre>
- 把公钥添加到OpenStack环境中:
$ nova keypair-add --pub-key ~/.ssh/id_rsa.pub demo-key
- 验证是否添加成功:
<pre>$ nova keypair-list
Name | Fingerprint |
---|---|
demo-key | 49:f9:6f:e7:f2:1c:ae:27:56:f6:cf:65:ca:f3:a2:13 |
+----------+-------------------------------------------------+</pre>
启动实例
要启动实例,至少要先指定方案(flavor),镜像名字,网络,安全组(security group),密钥和实例名字。
- 方案是用来指定虚拟资源分配的,包括处理器,内存和存储。
列出可用方案:
<pre>$ nova flavor-list
ID | Name | Memory_MB | Disk | Ephemeral | Swap | VCPUs | RXTX_Factor | Is_Public |
---|---|---|---|---|---|---|---|---|
1 | m1.tiny | 512 | 1 | 0 | 1 | 1.0 | True | |
2 | m1.small | 2048 | 20 | 0 | 1 | 1.0 | True | |
3 | m1.medium | 4096 | 40 | 0 | 2 | 1.0 | True | |
4 | m1.large | 8192 | 80 | 0 | 4 | 1.0 | True | |
5 | m1.xlarge | 16384 | 160 | 0 | 8 | 1.0 | True |
+----+-----------+-----------+------+-----------+------+-------+-------------+-----------+</pre>
本文实例使用的方案为m1.tiny
。
- 列出可用镜像:
<pre>$ nova image-list
ID | Name | Status | Server |
---|---|---|---|
6db9f9c9-4011-4cf5-a12b-dc70423ec0c3 | cirros-0.3.3-x86_64 | ACTIVE |
+--------------------------------------+---------------------+--------+--------+</pre>
- 列出可用的网络:
<pre>$ neutron net-list
id | name | subnets |
---|---|---|
e6f3606d-2bf6-4b01-8fb4-c10d299dbe75 | ext-net | 963754fb-73c4-4a1b-93ee-27d2c2beb97a |
830379a4-cc69-4165-a18f-f9430d999d5f | demo-net | a6593d6d-1992-4207-ae61-7784f0aa5a3c 192.162.1.0/24 |
+--------------------------------------+----------+-----------------------------------------------------+</pre>
本文实例使用demo-net
租户网络。需注意的是,在设定时必须使用网络ID而不是名字。
- 列出可用安全组:
<pre>$ nova secgroup-list
Id | Name | Description |
---|---|---|
86d1711a-3237-4c1a-ac2c-4d6ef99287c9 | default | default |
+--------------------------------------+---------+-------------+</pre>
默认这个安全组会启动防火墙阻止远程访问实例。如果需要远程访问,需设定远程访问的选项。
- 启动实例
$ nova boot --flavor m1.tiny --image cirros-0.3.3-x86_64 --nic net-id=DEMO_NET_ID --security-group default --key-name demo-key demo-instance1
其中DEMO_NET_ID用上述demo-net
的ID替代。<pre>
$ nova boot --flavor m1.tiny --image cirros-0.3.3-x86_64 --nic net-id=830379a4-cc69-4165-a18f-f9430d999d5f \
--security-group default --key-name demo-key demo-instance1 | |
---|---|
Property | Value |
OS-DCF:diskConfig | MANUAL |
OS-EXT-AZ:availability_zone | nova |
OS-EXT-STS:power_state | 0 |
OS-EXT-STS:task_state | scheduling |
OS-EXT-STS:vm_state | building |
OS-SRV-USG:launched_at | - |
OS-SRV-USG:terminated_at | - |
accessIPv4 | |
accessIPv6 | |
adminPass | PFuniZWVFTg9 |
config_drive | |
created | 2015-12-02T07:19:18Z |
flavor | m1.tiny (1) |
hostId | |
id | a5f857ec-09d0-4148-a671-daf4a7afaea3 |
image | cirros-0.3.3-x86_64 (6db9f9c9-4011-4cf5-a12b-dc70423ec0c3) |
key_name | demo-key |
metadata | {} |
name | demo-instance1 |
os-extended-volumes:volumes_attached | [] |
progress | 0 |
security_groups | default |
status | BUILD |
tenant_id | d1f7caccc65840b68258997a759da07f |
updated | 2015-12-02T07:19:18Z |
user_id | 812116bcca5b4a01981669fcef09ee11 |
+--------------------------------------+------------------------------------------------------------+</pre>
- 查看实例的状态:
<pre>$ nova list