五、上传虚拟机实例

1.1 下载虚拟机镜像

xiaoyuwang@localhost:/OpenStack_Lab/ubuntu_server/i386$ wget http://uec-images.ubuntu.com/releases/precise/release/ubuntu-12.04.2-server-cloudimg-i386.tar.gz

1.2 安装上传实例的工具

xiaoyuwang@localhost:~/openstack$ sudo apt-get -y install cloud-utils

1.3 上传镜像

xiaoyuwang@localhost:~/openstack$ cloud-publish-tarball /OpenStack_Lab/ubuntu_server/i386/ubuntu-12.04.2-server-cloudimg-i386.tar.gz images i386

Sun Sep 15 14:59:37 HKT 2013: ====== extracting image ======
Warning: no ramdisk found, assuming '--ramdisk none'
kernel : precise-server-cloudimg-i386-vmlinuz-virtual
ramdisk: none
image  : precise-server-cloudimg-i386.img
Sun Sep 15 14:59:56 HKT 2013: ====== bundle/upload kernel ======
Sun Sep 15 14:59:59 HKT 2013: ====== bundle/upload image ======
Sun Sep 15 15:01:04 HKT 2013: ====== done ======
emi="ami-00000002"; eri="none"; eki="aki-00000001";

1.4 查看已上传的镜像

可以通过执行euca-describe-images或者是nova image-list都可以。

xiaoyuwang@localhost:~/openstack$ euca-describe-images
IMAGE     aki-00000001     images/precise-server-cloudimg-i386-vmlinuz-virtual.manifest.xml          available     private          i386     kernel             instance-store
IMAGE     ami-00000002     images/precise-server-cloudimg-i386.img.manifest.xml          available     private          i386     machine     aki-00000001             instance-store

或者:

xiaoyuwang@localhost:~/openstack$ nova image-list

Image(1)

ID在这里很重要,接下来加载实例的时候,都是通过它唯一识别镜像的。

其中aki-和ami-这类ID是提供给euca2tools工具使用的,而一长串ID值的是提供给nova工具使用的。

1.5 配置虚拟机实例的火墙访问策略

使用 euca2ools;

xiaoyuwang@localhost:~/openstack$ euca-authorize default -P tcp -p 22 -s 0.0.0.0/0

GROUP     default
PERMISSION     default     ALLOWS     tcp     22     22     FROM     CIDR     0.0.0.0/0
xiaoyuwang@localhost:~/openstack$ euca-authorize default -P icmp -t -1:-1
GROUP     default
PERMISSION     default     ALLOWS     icmp     -1     -1     FROM     CIDR     0.0.0.0/0

也可以使用Nova Client:

nova secgroup-add-rule default tcp 22 22 0.0.0.0/0

nova secgroup-add-rule default icmp -1 -1 0.0.0.0/0

这里就不再演示。

1.6 加载实例

使用euca2ools工具加载实例

xiaoyuwang@localhost:~/openstack$ euca-run-instances ami-00000002 -t m1.tiny -k openstack

RESERVATION r-y66sdm0a cookbook default

INSTANCE i-00000001 ami-00000002 pending openstack (cookbook, None) 0 m1.tiny 2013-09-15T16:57:29.000Z    unknown zone aki-00000001 monitoring-disabled instance-store                                   
xiaoyuwang@localhost:~/openstack$

也可以使用nova client工具加载

nova boot myInstance --image fc0953ed-b6fc-4b31-88b8-65a8bb1d097b --flavor 2 --key_name openstack

这里就不再演示。

1.7 查看实例状态

使用nova client工具查看

xiaoyuwang@localhost:~/openstack$ nova list

OpenStack云计算口袋书-第一章-开始OpenStack之旅(四)_第1张图片

xiaoyuwang@localhost:~/openstack$ nova show d0283ee8-7fce-4eb1-9b64-8679fa41f008

OpenStack云计算口袋书-第一章-开始OpenStack之旅(四)_第2张图片

也可以使用ecua2ools工具查看

这里就不再演示。

euca-describe-instances