潇湘夜雨移动版

主页 > 系统 > 云计算与云原生 >

openstack-havana云平台实验(6)

nova-scheduler   node1.test.com                       internal         enabled    :-)   2016-10-06 05:23:09
nova-cert        node1.test.com                       internal         enabled    :-)   2016-10-06 05:23:17
nova-network     node1.test.com                       internal         enabled    :-)   2016-10-06 05:23:17
nova-conductor   node1.test.com                       internal         enabled    :-)   2016-10-06 05:23:11
nova-compute     node1.test.com                       nova             enabled    :-)   2016-10-06 05:23:16
 
检验服务启动时是否有错误产生:
# grep -i ERROR /var/log/nova/*
 
3.3.5 创建nova网络
 
创建nova网络要通过“nova-manager network create”命令进行,其可以接受许多选项,获取使用帮助的方式如下所示:
# nova-manage network create --help
 
例如,下面创建一个名为“private”的网络,桥接设备的名称为br100。
 
nova-manage network create  --label=private --multi_host=T --fixed_range_v4=172.18.109.192/26 --bridge_interface=eth0 --bridge=br100 --num_networks=1 --network_size=62
 
[root@node1 nova(keystone_admin)]# nova-manage network list #查看创建的网络
id   IPv4               IPv6           start address   DNS1           DNS2           VlanID         project         uuid           
1     172.18.109.192/26 None           172.18.109.194 8.8.4.4         None           None     
 
3.4 在KeyStone中注册Nova compute API
 
接下来需要将Nova Compute API在KeyStone中注册,dashboard需要基于此与Nova交互。下面的部分要以keystone的管理员admin身份执行,如果当前未为连接KeyStone设置环境变量,可以使用“source ~/.keystonerc_admin”进行。
 
[root@node1 nova(keystone_admin)]#  keystone service-create --name=nova --type=compute --description="Nova Compute Service"
+-------------+----------------------------------+
|   Property  |              Value               |
+-------------+----------------------------------+
| description |       Nova Compute Service       |
|      id     | b7df5283bd7a4572819408fc4d55c09f |
|     name    |               nova               |
|     type    |             compute              |
+-------------+----------------------------------+
keystone endpoint-create --service_id b7df5283bd7a4572819408fc4d55c09f \
  --publicurl "http://172.18.109.235:8774/v1.1/\$(tenant_id)s" \
  --adminurl "http://172.18.109.235:8774/v1.1/\$(tenant_id)s" \
  --internalurl "http://172.18.109.235:8774/v1.1/\$(tenant_id)s"
  
 +-------------+-----------------------------------------------+
|   Property  |                     Value                     |
+-------------+-----------------------------------------------+
|   adminurl  | http://172.18.109.235:8774/v1.1/$(tenant_id)s |
|      id     |        ce236fdddf09490f8ac5b3e3409219f4       |
| internalurl | http://172.18.109.235:8774/v1.1/$(tenant_id)s |
|  publicurl  | http://172.18.109.235:8774/v1.1/$(tenant_id)s |
|    region   |                   regionOne                   |
|  service_id |        b7df5283bd7a4572819408fc4d55c09f       |
+-------------+-----------------------------------------------+
 
四、运行VM实例
 
4.1 安全组(security group)
 
Compute服务通过安全组(security group)控制通过哪些网络协议(TCP,UDP,ICMP)、端口及IP地址允许对实例进行访问。安全组是tenant级别的概念,每个tenant都有其自己的安全组,且都有一个默认的“default”组。在某VM实例启动时,如果没有为其指定特定的安全组,其将使用默认的安全组。使用“nova secgroup-list”命令可以查看安全组。
 
[root@node1 nova(keystone_admin)]# nova secgroup-list
+----+---------+-------------+
| Id | Name    | Description |
+----+---------+-------------+
| 1  | default | default     |
+----+---------+-------------+
“nova secgroup-add-rule”可用于为安全组定义访问规则,如下面的命令就实现了允许所有IP地址通过TCP协议的22端口访问关联的VM实例。
[root@node1 nova(keystone_admin)]# nova secgroup-add-rule default tcp 22 22 0.0.0.0/0
+-------------+-----------+---------+-----------+--------------+
| IP Protocol | From Port | To Port | IP Range  | Source Group |
+-------------+-----------+---------+-----------+--------------+
| tcp         | 22        | 22      | 0.0.0.0/0 |              |
+-------------+-----------+---------+-----------+--------------+
如果要允许对VM实例发起ping请求,还要开放其ICMP协议。不过,ICMP协议的相关规则需要指定
ICMP报文类型(号码)而非类似TCP或UDP协议的端口。如果要开放所有的报文类型,则使用“-1”这个
号码。例如,允许所有主机对VM实例发起任意类型的ICMP请求,则可以使用下面的命令来定义规则。
 
[root@node1 nova(keystone_admin)]# nova secgroup-add-rule default icmp -1 -1 0.0.0.0/0
+-------------+-----------+---------+-----------+--------------+
| IP Protocol | From Port | To Port | IP Range  | Source Group |
+-------------+-----------+---------+-----------+--------------+
| icmp        | -1        | -1      | 0.0.0.0/0 |              |
+-------------+-----------+---------+-----------+--------------+
4.2 SSH公钥注入
 
只要对应的VM实例支持使用SSH服务,Compute服务可以注入SSH公钥信息至此实例的某帐号中。
“nova keypair-add”命令能够生成一对密钥(不保存至文件中),并将其公钥添加至Compute服务;当
然,也可以只用于将现有的某密钥对儿的公钥添加至Compute服务中。为了使用上的方便,这里先
使用ssh-keygen命令生成一对密钥文件,而后将其公钥上传至Compute服务中。
 
[root@node1 ~(keystone_admin)]#  nova keypair-add  --pub-key  .ssh/id_rsa.pub  testkey
显示添加的密钥信息,并确保其与本地密钥文件的Fingerprint信息完全匹配。
[root@node1 ~(keystone_admin)]# nova keypair-list
+---------+-------------------------------------------------+
| Name    | Fingerprint                                     | (责任编辑:liangzh)