启动云主机

启动云主机

实例是运行在云中的虚拟机

在您可以启动一个云主机之前,收集以下参数:

  • **云主机源**可以是镜像,快照或者含有镜像和快照的块存储卷。
  • 实例的**名称**(name)
  • 实例的 类型**(**flavor) , 用于定义实例的计算能力、内存和存储容量。类型是一个云主机的可访问硬件配置,它定义了一个可启动的虚拟云主机的size.
  • 任意**用户数据**(user data). 用户数据是元数据服务中一个特殊的键,映射一个可供客户机中云应用访问的文件。例如,一个使用了用户数据的应用是`cloud-init <https://help.ubuntu.com/community/CloudInit>`__系统。这是一个Ubuntu系统使用的开源包,也应用于多个Linux发行版,用于执行实例初始化相关处理。
  • 访问和安全凭证,包括以下凭证的部分或全部:
    • 实例的**密钥**对(key pair), 是一种启动时注入到镜像中的SSH凭证。成功注入密钥对要求镜像中须包含``cloud-init`` 包。应为每个项目创建一个密钥对。如果你已经使用外部工具创建了密钥对,可以将其导入OpenStack. 密钥对可供同一项目下多个实例使用。
    • 安全组**(**security group)定义了哪些网络流量可以到达实例。安全组包含一些防火墙规则,即*安全组规则*(security group rules).
  • 可以将一个**floating floating (public) IP address**浮动IP地址)分配给一个实例。
  • 也可以连接一个快存储设备,或持久化存储的一个**卷**(volume).

注解

使用默认安全组的实例,默认允许任意IP地址访问。如需做具体限制,需修改默认安全组的规则。

也可以为运行中的实例分配一个浮动IP以从公网访问该实例。请参考:doc:cli-manage-ip-addresses

确定所需各项参数后,可以通过:doc:`image<cli-nova-launch-instance-from-image>`或:doc:`volume<cli-nova-launch-instance-from-volume>`来启动一个实例。可以通过一个OpenStack可用镜像或者一个拷贝至持久存储的自定义镜像来启动实例。OpenStack的镜像服务提供了一个镜像池供不同项目的用户访问。

确定启动实例所需参数

开始之前,使用source命令执行 OpenStack RC 文件。

  1. Create a flavor.

    $  openstack flavor create --ram 512 --disk 1 --vcpus 1 m1.tiny
    
  2. 列出可用云主机类型。

    $ openstack flavor list
    

    记录用于启动实例的云主机类型的ID:

    +-----+-----------+-------+------+-----------+-------+-----------+
    | 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      |
    +-----+-----------+-------+------+-----------+-------+-----------+
    
  3. 列出可用镜像。

    $ openstack image list
    

    记录用于启动实例的镜像ID:

    +--------------------------------------+---------------------------------+--------+
    | ID                                   | Name                            | Status |
    +--------------------------------------+---------------------------------+--------+
    | 397e713c-b95b-4186-ad46-6126863ea0a9 | cirros-0.3.5-x86_64-uec         | active |
    | df430cc2-3406-4061-b635-a51c16e488ac | cirros-0.3.5-x86_64-uec-kernel  | active |
    | 3cf852bd-2332-48f4-9ae4-7d926d50945e | cirros-0.3.5-x86_64-uec-ramdisk | active |
    +--------------------------------------+---------------------------------+--------+
    

    也可以使用:command:`grep`来查找所需镜像,例如:

    $ openstack image list | grep 'kernel'
    
    | df430cc2-3406-4061-b635-a51c16e488ac | cirros-0.3.5-x86_64-uec-kernel  | active |
    
  4. 列出可用的安全组:

    $ openstack security group list
    

    注解

    如果是管理员,该命令可列出所有租户的安全组。

    记录用于启动实例的安全组ID:

    +--------------------------------------+---------+------------------------+----------------------------------+
    | ID                                   | Name    | Description            | Project                          |
    +--------------------------------------+---------+------------------------+----------------------------------+
    | b0d78827-0981-45ef-8561-93aee39bbd9f | default | Default security group | 5669caad86a04256994cdf755df4d3c1 |
    | ec02e79e-83e1-48a5-86ad-14ab9a8c375f | default | Default security group | 1eaaf6ede7a24e78859591444abf314a |
    +--------------------------------------+---------+------------------------+----------------------------------+
    

    如果未创建任何安全组,则只能为实例分配默认安全组。

    可以查看一个安全组的规则:

    $ openstack security group rule list default
    
  5. 列出可用密钥对,选择一个用于SSH访问并记录其名称。

    $ openstack keypair list
    
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.