天天看点

Openstack 实战讲解之-----09-启动实例

检查

在进行实例的启动的时候,我们要先确认各个服务是否都启动了,可以通过下面的命令来看端口和服务是否启动

1

2

<code>1、</code><code>ps</code> <code>aux|</code><code>grep</code> <code>python</code>

<code>2、</code><code>netstat</code> <code>-lntup</code>

检查镜像服务

3

4

5

6

<code>[root@linux-node1 ~]</code><code># openstack image list</code>

<code>^L+--------------------------------------+--------+--------+</code>

<code>| ID                                   | Name   | Status |</code>

<code>+--------------------------------------+--------+--------+</code>

<code>| 63d8947e-5224-40b6-92e5-8c939e75d45e | cirros | active |</code>

创建网络

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

<code>[root@linux-node1 ~]</code><code># openstack network create --share --provider-physical-network public --provider-network-type flat public</code>

<code>+---------------------------+--------------------------------------+</code>

<code>| Field                     | Value                                |</code>

<code>| admin_state_up            | UP                                   |</code>

<code>| availability_zone_hints   |                                      |</code>

<code>| availability_zones        |                                      |</code>

<code>| created_at                | 2017-01-02T21:19:16Z                 |</code>

<code>| description               |                                      |</code>

<code>| headers                   |                                      |</code>

<code>| </code><code>id</code>                        <code>| 7f7b08e7-ea61-433f-bb3d-6195d893558e |</code>

<code>| ipv4_address_scope        | None                                 |</code>

<code>| ipv6_address_scope        | None                                 |</code>

<code>| mtu                       | 1500                                 |</code>

<code>| name                      | public                               |</code>

<code>| port_security_enabled     | True                                 |</code>

<code>| project_id                | 7ae0fb7deb5342d885a07c2c890a1ff4     |</code>

<code>| provider:network_type     | flat                                 |</code>

<code>| provider:physical_network | public                               |</code>

<code>| provider:segmentation_id  | None                                 |</code>

<code>| revision_number           | 3                                    |</code>

<code>| router:external           | Internal                             |</code>

<code>| shared                    | True                                 |</code>

<code>| status                    | ACTIVE                               |</code>

<code>| subnets                   |                                      |</code>

<code>| tags                      | []                                   |</code>

<code>| updated_at                | 2017-01-02T21:19:16Z                 |</code>

查看网络

<code>[root@linux-node1 ~]</code><code># openstack network list</code>

<code>+--------------------------------------+--------+---------+</code>

<code>| ID                                   | Name   | Subnets |</code>

<code>| 7f7b08e7-ea61-433f-bb3d-6195d893558e | public |         |</code>

创建子网

<code>[root@linux-node1 ~]</code><code># openstack subnet create --network public --allocation-pool start=192.168.56.100,end=192.168.56.200 --dns-nameserver 192.168.56.2 --gateway 102.168.56.2 --subnet-range 192.168.56.0/24 public-subnet</code>

<code>+-------------------+--------------------------------------+</code>

<code>| Field             | Value                                |</code>

<code>| allocation_pools  | 192.168.56.100-192.168.56.200        |</code>

<code>| cidr              | 192.168.56.0</code><code>/24</code>                      <code>|</code>

<code>| created_at        | 2017-01-02T21:26:06Z                 |</code>

<code>| description       |                                      |</code>

<code>| dns_nameservers   | 192.168.56.2                         |</code>

<code>| enable_dhcp       | True                                 |</code>

<code>| gateway_ip        | 102.168.56.2                         |</code>

<code>| headers           |                                      |</code>

<code>| host_routes       |                                      |</code>

<code>| </code><code>id</code>                <code>| 422abca4-ac78-400f-aa7c-2296c69a1643 |</code>

<code>| ip_version        | 4                                    |</code>

<code>| ipv6_address_mode | None                                 |</code>

<code>| ipv6_ra_mode      | None                                 |</code>

<code>| name              | public-subnet                        |</code>

<code>| network_id        | 7f7b08e7-ea61-433f-bb3d-6195d893558e |</code>

<code>| project_id        | 7ae0fb7deb5342d885a07c2c890a1ff4     |</code>

<code>| revision_number   | 2                                    |</code>

<code>| service_types     | []                                   |</code>

<code>| subnetpool_id     | None                                 |</code>

<code>| updated_at        | 2017-01-02T21:26:06Z                 |</code>

子网检查

<code>[root@linux-node1 ~]</code><code># neutron subnet-list</code>

<code>+--------------------------------------+---------------+-----------------+------------------------------------------------------+</code>

<code>| </code><code>id</code>                                   <code>| name          | cidr            | allocation_pools                                     |</code>

<code>| 422abca4-ac78-400f-aa7c-2296c69a1643 | public-subnet | 192.168.56.0</code><code>/24</code> <code>| {</code><code>"start"</code><code>: </code><code>"192.168.56.100"</code><code>, </code><code>"end"</code><code>: </code><code>"192.168.56.200"</code><code>} |</code>

<code>[root@linux-node1 ~]</code><code># openstack subnet list</code>

<code>+--------------------------------------+---------------+--------------------------------------+-----------------+</code>

<code>| ID                                   | Name          | Network                              | Subnet          |</code>

<code>| 422abca4-ac78-400f-aa7c-2296c69a1643 | public-subnet | 7f7b08e7-ea61-433f-bb3d-6195d893558e | 192.168.56.0</code><code>/24</code> <code>|</code>

创建虚拟类型、只能定义不能选

创建mi.nano类型

默认的最小规格的主机需要512 MB内存。对于环境中计算节点内存不足4 GB的,我们推荐创建只需要64 MB的``m1.nano``规格的主机。若单纯为了测试的目的,请使用``m1.nano``规格的主机来加载CirrOS镜像

<code>[root@linux-node1 ~]</code><code># openstack flavor create --id 0 --vcpus 1 --ram 64 --disk 1 m1.nano</code>

<code>+----------------------------+---------+</code>

<code>| Field                      | Value   |</code>

<code>| OS-FLV-DISABLED:disabled   | False   |</code>

<code>| OS-FLV-EXT-DATA:ephemeral  | 0       |</code>

<code>| disk                       | 1       |</code>

<code>| </code><code>id</code>                         <code>| 0       |</code>

<code>| name                       | m1.nano |</code>

<code>| os-flavor-access:is_public | True    |</code>

<code>| properties                 |         |</code>

<code>| </code><code>ram</code>                        <code>| 64      |</code>

<code>| rxtx_factor                | 1.0     |</code>

<code>| swap                       |         |</code>

<code>| vcpus                      | 1       |</code>

生成一个键值对

导入``demo``项目凭证

<code>[root@linux-node1 ~]</code><code># . demo-openstack </code>

<code>[root@linux-node1 ~]</code><code># cat demo-openstack </code>

<code>export</code> <code>OS_PROJECT_DOMAIN_NAME=default</code>

<code>export</code> <code>OS_USER_DOMAIN_NAME=default</code>

<code>export</code> <code>OS_PROJECT_NAME=demo</code>

<code>export</code> <code>OS_USERNAME=demo</code>

<code>export</code> <code>OS_PASSWORD=demo</code>

<code>export</code> <code>OS_AUTH_URL=http:</code><code>//192</code><code>.168.56.11:5000</code><code>/v3</code>

<code>export</code> <code>OS_IDENTITY_API_VERSION=3</code>

<code>export</code> <code>OS_IMAGE_API_VERSION=2</code>

2. 生成和添加秘钥对:

<code>[root@linux-node1 ~]</code><code># ssh-keygen -q -N ""</code>

<code>Enter </code><code>file</code> <code>in</code> <code>which</code> <code>to save the key (</code><code>/root/</code><code>.</code><code>ssh</code><code>/id_rsa</code><code>): </code>

<code>[root@linux-node1 ~]</code><code># </code>

<code>[root@linux-node1 ~]</code><code># openstack keypair create --public-key ~/.ssh/id_rsa.pub mykey</code>

<code>+-------------+-------------------------------------------------+</code>

<code>| Field       | Value                                           |</code>

<code>| fingerprint | e9:a3:e6:4c:97:73:12:25:ea:8e:39:ea:a0:d5:d2:e6 |</code>

<code>| name        | mykey                                           |</code>

<code>| user_id     | f0c69bad72b54e0daef92c2295425932                |</code>

另外,你可以跳过执行 <code>ssh-keygen</code> 命令而使用已存在的公钥。

3. 验证公钥的添加

<code>[root@linux-node1 ~]</code><code># openstack keypair list</code>

<code>+-------+-------------------------------------------------+</code>

<code>| Name  | Fingerprint                                     |</code>

<code>| mykey | e9:a3:e6:4c:97:73:12:25:ea:8e:39:ea:a0:d5:d2:e6 |</code>

增加安全组规则

添加规则到 <code>default</code> 安全组。

<code>[root@linux-node1 ~]</code><code># openstack security group rule create --proto icmp default</code>

<code>| created_at        | 2017-01-02T21:44:26Z                 |</code>

<code>| direction         | ingress                              |</code>

<code>| ethertype         | IPv4                                 |</code>

<code>| </code><code>id</code>                <code>| b4f7536d-86f1-491e-b167-069a09507e2b |</code>

<code>| port_range_max    | None                                 |</code>

<code>| port_range_min    | None                                 |</code>

<code>| project_id        | 9b913d25891849baa55b21d837e9b63d     |</code>

<code>| protocol          | icmp                                 |</code>

<code>| remote_group_id   | None                                 |</code>

<code>| remote_ip_prefix  | 0.0.0.0</code><code>/0</code>                            <code>|</code>

<code>| revision_number   | 1                                    |</code>

<code>| security_group_id | be5584d7-7e14-4bc9-a74c-109f216b09c4 |</code>

<code>| updated_at        | 2017-01-02T21:44:26Z                 |</code>

允许安全 shell (SSH) 的访问:

<code>[root@linux-node1 ~]</code><code># openstack security group rule create --proto tcp --dst-port 22 default</code>

<code>| created_at        | 2017-01-02T21:46:29Z                 |</code>

<code>| </code><code>id</code>                <code>| 4572dc39-6723-49f7-9556-c0f90ca7cc96 |</code>

<code>| port_range_max    | 22                                   |</code>

<code>| port_range_min    | 22                                   |</code>

<code>| protocol          | tcp                                  |</code>

<code>| updated_at        | 2017-01-02T21:46:29Z                 |</code>

<code>[root@linux-node1 ~]</code><code>#</code>

启动一个实例

如果选择网络选项1,你只能在公网创建实例。如果选择网络选项2,你可以在公网或私网创建实例。

确定实例选项

启动一台实例,您必须至少指定一个类型、镜像名称、网络、安全组、密钥和实例名称。

在控制节点上,获得 <code>admin</code> 凭证来获取只有管理员能执行的命令的访问权限:

<code>root@linux-node1 ~]</code><code># . demo-openstack</code>

 2 .一个实例指定了虚拟机资源的大致分配,包括处理器、内存和存储。

列出可用类型:

<code>[root@linux-node1 ~]</code><code>#  openstack flavor list</code>

<code>+----+---------+-----+------+-----------+-------+-----------+</code>

<code>| ID | Name    | RAM | Disk | Ephemeral | VCPUs | Is Public |</code>

<code>| 0  | m1.nano |  64 |    1 |         0 |     1 | True      |</code>

您也可以以 ID 引用类型。

 3. 列出可用镜像:(这个实例使用``cirros``镜像。)

  4.列出可用网络:

<code>+--------------------------------------+--------+--------------------------------------+</code>

<code>| ID                                   | Name   | Subnets                              |</code>

<code>| 7f7b08e7-ea61-433f-bb3d-6195d893558e | public | 422abca4-ac78-400f-aa7c-2296c69a1643 |</code>

  5. 列出可用的安全组:

<code>[root@linux-node1 ~]</code><code># openstack security group list </code>

<code>+--------------------------------------+---------+------------------------+----------------------------------+</code>

<code>| ID                                   | Name    | Description            | Project                          |</code>

<code>| be5584d7-7e14-4bc9-a74c-109f216b09c4 | default | Default security group | 9b913d25891849baa55b21d837e9</code>

启动云主机

30

31

32

33

34

<code>[root@linux-node1 ~]</code><code># openstack server create --flavor m1.nano --image cirros \</code>

<code>&gt; --nic net-</code><code>id</code><code>=7f7b08e7-ea61-433f-bb3d-6195d893558e --security-group default \</code>

<code>&gt; --key-name mykey demo-instance</code>

<code>+--------------------------------------+-----------------------------------------------+</code>

<code>| Field                                | Value                                         |</code>

<code>| OS-DCF:diskConfig                    | MANUAL                                        |</code>

<code>| OS-EXT-AZ:availability_zone          |                                               |</code>

<code>| OS-EXT-STS:power_state               | NOSTATE                                       |</code>

<code>| OS-EXT-STS:task_state                | scheduling                                    |</code>

<code>| OS-EXT-STS:vm_state                  | building                                      |</code>

<code>| OS-SRV-USG:launched_at               | None                                          |</code>

<code>| OS-SRV-USG:terminated_at             | None                                          |</code>

<code>| accessIPv4                           |                                               |</code>

<code>| accessIPv6                           |                                               |</code>

<code>| addresses                            |                                               |</code>

<code>| adminPass                            | vLpymTa8sfzK                                  |</code>

<code>| config_drive                         |                                               |</code>

<code>| created                              | 2017-01-02T22:01:06Z                          |</code>

<code>| flavor                               | m1.nano (0)                                   |</code>

<code>| hostId                               |                                               |</code>

<code>| </code><code>id</code>                                   <code>| f0778b83-e6f9-41f4-a514-dffe86aff6aa          |</code>

<code>| image                                | cirros (63d8947e-5224-40b6-92e5-8c939e75d45e) |</code>

<code>| key_name                             | mykey                                         |</code>

<code>| name                                 | demo-instance                                 |</code>

<code>| os-extended-volumes:volumes_attached | []                                            |</code>

<code>| progress                             | 0                                             |</code>

<code>| project_id                           | 9b913d25891849baa55b21d837e9b63d              |</code>

<code>| properties                           |                                               |</code>

<code>| security_groups                      | [{u</code><code>'name'</code><code>: u</code><code>'default'</code><code>}]                       |</code>

<code>| status                               | BUILD                                         |</code>

<code>| updated                              | 2017-01-02T22:01:07Z                          |</code>

<code>| user_id                              | f0c69bad72b54e0daef92c2295425932              |</code>

检查实例状态

<code>[root@linux-node1 ~]</code><code># openstack server list</code>

<code>+--------------------------------------+---------------+--------+-----------------------+------------+</code>

<code>| ID                                   | Name          | Status | Networks              | Image Name |</code>

<code>| f0778b83-e6f9-41f4-a514-dffe86aff6aa | demo-instance | ACTIVE | public=192.168.56.104 | cirros     |</code>

使用虚拟控制台访问实例

<code>[root@linux-node1 ~]</code><code># openstack console url show demo-instance</code>

<code>+-------+------------------------------------------------------------------------------------+</code>

<code>| Field | Value                                                                              |</code>

<code>| </code><code>type</code>  <code>| novnc                                                                              |</code>

<code>| url   | http:</code><code>//192</code><code>.168.56.11:6080</code><code>/vnc_auto</code><code>.html?token=c88bb128-97de-4a48-bb96-3f97023b3e6e |</code>

<a href="http://s3.51cto.com/wyfs02/M02/8C/69/wKiom1hrcGXy3TfTAADp_KMRGP4867.png-wh_500x0-wm_3-wmp_4-s_2905488079.png" target="_blank"></a>

验证ping外网

这里出现一个小bug,ping不同外网,

添加一条默认路由就可以了

route add default gw 192.168.56.2

本文转自 kesungang 51CTO博客,原文链接:http://blog.51cto.com/sgk2011/1888696,如需转载请自行联系原作者

继续阅读