在私有网络上创建实例

在私有网络上创建实例

确定实例选项

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

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

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

    列出可用类型:

    $ openstack flavor list
    +----+-----------+-------+------+-----------+-------+-----------+
    | ID | Name      |   RAM | Disk | Ephemeral | VCPUs | Is Public |
    +----+-----------+-------+------+-----------+-------+-----------+
    | 1  | m1.tiny   |   512 |    1 |         0 |     1 | True      |
    | 2  | m1.small  |  2048 |   20 |         0 |     1 | True      |
    | 3  | m1.medium |  4096 |   40 |         0 |     2 | True      |
    | 4  | m1.large  |  8192 |   80 |         0 |     4 | True      |
    | 5  | m1.xlarge | 16384 |  160 |         0 |     8 | True      |
    +----+-----------+-------+------+-----------+-------+-----------+
    

    这个实例使用``m1.tiny``规格的主机。如果你创建了``m1.nano``这种主机规格,使用``m1.nano``来代替``m1.tiny``。

    注解

    您也可以以 ID 引用类型。

  3. 列出可用镜像:

    $ openstack image list
    +--------------------------------------+--------+--------+
    | ID                                   | Name   | Status |
    +--------------------------------------+--------+--------+
    | 390eb5f7-8d49-41ec-95b7-68c0d5d54b34 | cirros | active |
    +--------------------------------------+--------+--------+
    

    这个实例使用``cirros``镜像。

  4. 列出可用网络:

    $ openstack network list
    +--------------------------------------+-------------+--------------------------------------+
    | ID                                   | Name        | Subnets                              |
    +--------------------------------------+-------------+--------------------------------------+
    | 4716ddfe-6e60-40e7-b2a8-42e57bf3c31c | selfservice | 2112d5eb-f9d6-45fd-906e-7cabd38b7c7c |
    | b5b6993c-ddf9-40e7-91d0-86806a42edb8 | provider    | 310911f6-acf0-4a47-824e-3032916582ff |
    +--------------------------------------+-------------+--------------------------------------+
    

    这个实例使用 ``self-service``私有网络。 你必须使用ID而不是名称才可以使用这个网络。

  5. 列出可用的安全组:

    $ openstack security group list
    +--------------------------------------+---------+------------------------+
    | ID                                   | Name    | Description            |
    +--------------------------------------+---------+------------------------+
    | dd2b614c-3dad-48ed-958b-b155a3b38515 | default | Default security group |
    +--------------------------------------+---------+------------------------+
    

    这个实例使用 default 安全组。

  6. 启动实例:

    使用``selfservice ``网络的ID替换``SELFSERVICE_NET_ID ``

    $ openstack server create --flavor m1.tiny --image cirros \
      --nic net-id=SELFSERVICE_NET_ID --security-group default \
      --key-name mykey selfservice-instance
    +--------------------------------------+---------------------------------------+
    | Field                                | Value                                 |
    +--------------------------------------+---------------------------------------+
    | OS-DCF:diskConfig                    | MANUAL                                |
    | OS-EXT-AZ:availability_zone          |                                       |
    | OS-EXT-STS:power_state               | 0                                     |
    | OS-EXT-STS:task_state                | scheduling                            |
    | OS-EXT-STS:vm_state                  | building                              |
    | OS-SRV-USG:launched_at               | None                                  |
    | OS-SRV-USG:terminated_at             | None                                  |
    | accessIPv4                           |                                       |
    | accessIPv6                           |                                       |
    | addresses                            |                                       |
    | adminPass                            | 7KTBYHSjEz7E                          |
    | config_drive                         |                                       |
    | created                              | 2016-02-26T14:52:37Z                  |
    | flavor                               | m1.tiny (1)                           |
    | hostId                               |                                       |
    | id                                   | 113c5892-e58e-4093-88c7-e33f502eaaa4  |
    | image                                | cirros (390eb5f7-8d49-41ec-95b7-68c0d |
    |                                      | 5d54b34)                              |
    | key_name                             | mykey                                 |
    | name                                 | selfservice-instance                  |
    | os-extended-volumes:volumes_attached | []                                    |
    | progress                             | 0                                     |
    | project_id                           | ed0b60bf607743088218b0a533d5943f      |
    | properties                           |                                       |
    | security_groups                      | [{u'name': u'default'}]               |
    | status                               | BUILD                                 |
    | updated                              | 2016-02-26T14:52:38Z                  |
    | user_id                              | 58126687cbcc4888bfa9ab73a2256f27      |
    +--------------------------------------+---------------------------------------+
    
  7. 检查实例的状态:

    $ openstack server list
    +--------------------------------------+----------------------+--------+---------------------------------+
    | ID                                   | Name                 | Status | Networks                        |
    +--------------------------------------+----------------------+--------+---------------------------------+
    | 113c5892-e58e-4093-88c7-e33f502eaaa4 | selfservice-instance | ACTIVE | selfservice=172.16.1.3 |
    | 181c52ba-aebc-4c32-a97d-2e8e82e4eaaf | provider-instance    | ACTIVE | provider=203.0.113.103 |
    +--------------------------------------+----------------------+--------+---------------------------------+
    

    当构建过程完全成功后,状态会从 BUILD``变为``ACTIVE

使用虚拟控制台访问实例

  1. 获取你实例的 Virtual Network Computing (VNC) 会话URL并从web浏览器访问它:

    $ openstack console url show selfservice-instance
    +-------+---------------------------------------------------------------------------------+
    | Field | Value                                                                           |
    +-------+---------------------------------------------------------------------------------+
    | type  | novnc                                                                           |
    | url   | http://controller:6080/vnc_auto.html?token=5eeccb47-525c-4918-ac2a-3ad1e9f1f493 |
    +-------+---------------------------------------------------------------------------------+
    

    注解

    如果你运行浏览器的主机无法解析``controller`` 主机名,你可以将 ``controller``替换为你控制节点管理网络的IP地址。

    CirrOS 镜像包含传统的用户名/密码认证方式并需在登录提示中提供这些这些认证。登录到 CirrOS 后,我们建议您验证使用``ping``验证网络的连通性。

  2. 验证能否ping通私有网络的网关:

    $ ping -c 4 172.16.1.1
    PING 172.16.1.1 (172.16.1.1) 56(84) bytes of data.
    64 bytes from 172.16.1.1: icmp_req=1 ttl=64 time=0.357 ms
    64 bytes from 172.16.1.1: icmp_req=2 ttl=64 time=0.473 ms
    64 bytes from 172.16.1.1: icmp_req=3 ttl=64 time=0.504 ms
    64 bytes from 172.16.1.1: icmp_req=4 ttl=64 time=0.470 ms
    
    --- 172.16.1.1 ping statistics ---
    4 packets transmitted, 4 received, 0% packet loss, time 2998ms
    rtt min/avg/max/mdev = 0.357/0.451/0.504/0.055 ms
    
  3. 验证能否连接到互联网

    $ ping -c 4 openstack.org
    PING openstack.org (174.143.194.225) 56(84) bytes of data.
    64 bytes from 174.143.194.225: icmp_req=1 ttl=53 time=17.4 ms
    64 bytes from 174.143.194.225: icmp_req=2 ttl=53 time=17.5 ms
    64 bytes from 174.143.194.225: icmp_req=3 ttl=53 time=17.7 ms
    64 bytes from 174.143.194.225: icmp_req=4 ttl=53 time=17.5 ms
    
    --- openstack.org ping statistics ---
    4 packets transmitted, 4 received, 0% packet loss, time 3003ms
    rtt min/avg/max/mdev = 17.431/17.575/17.734/0.143 ms
    

验证能否远程访问实例

  1. 在公有网络上创建浮动IP地址池:

    $ openstack ip floating create provider
    +-------------+--------------------------------------+
    | Field       | Value                                |
    +-------------+--------------------------------------+
    | fixed_ip    | None                                 |
    | id          | 3d05a9b1-b1af-4884-be1c-833a69744449 |
    | instance_id | None                                 |
    | ip          | 203.0.113.104                        |
    | pool        | provider                             |
    +-------------+--------------------------------------+
    
  2. 为实例分配浮动IP:

    $ openstack ip floating add 203.0.113.104 selfservice-instance
    

    注解

    这个命令执行后没有输出。

  3. 检查这个浮动 IP 地址的状态:

    $ openstack server list
    +--------------------------------------+----------------------+--------+---------------------------------------+
    | ID                                   | Name                 | Status | Networks                              |
    +--------------------------------------+----------------------+--------+---------------------------------------+
    | 113c5892-e58e-4093-88c7-e33f502eaaa4 | selfservice-instance | ACTIVE | selfservice=172.16.1.3, 203.0.113.104 |
    | 181c52ba-aebc-4c32-a97d-2e8e82e4eaaf | provider-instance    | ACTIVE | provider=203.0.113.103                |
    +--------------------------------------+----------------------+--------+---------------------------------------+
    
  4. 验证控制节点或者其他公有网络上的主机通过浮动IP地址ping通实例:

    $ ping -c 4 203.0.113.104
    PING 203.0.113.104 (203.0.113.104) 56(84) bytes of data.
    64 bytes from 203.0.113.104: icmp_req=1 ttl=63 time=3.18 ms
    64 bytes from 203.0.113.104: icmp_req=2 ttl=63 time=0.981 ms
    64 bytes from 203.0.113.104: icmp_req=3 ttl=63 time=1.06 ms
    64 bytes from 203.0.113.104: icmp_req=4 ttl=63 time=0.929 ms
    
    --- 203.0.113.104 ping statistics ---
    4 packets transmitted, 4 received, 0% packet loss, time 3002ms
    rtt min/avg/max/mdev = 0.929/1.539/3.183/0.951 ms
    
  5. 在控制节点或其他公有网络上的主机使用 SSH远程访问实例:

    $ ssh cirros@203.0.113.104
    The authenticity of host '203.0.113.104 (203.0.113.104)' can't be established.
    RSA key fingerprint is ed:05:e9:e7:52:a0:ff:83:68:94:c7:d1:f2:f8:e2:e9.
    Are you sure you want to continue connecting (yes/no)? yes
    Warning: Permanently added '203.0.113.104' (RSA) to the list of known hosts.
    $
    

如果你的实例无法启动或者没有像你希望的那样正常工作,参考OpenStack Operations Guide下` Instance Boot Failures<http://docs.openstack.org/ops-guide/ops-maintenance-compute.html#instances>`章节获取更多信息或者使用 many other options 来寻找帮助。我们希望你第一次安装就可以正常工作!

返回 Launch an instance

Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.