启动实例¶
实例是在云中运行的虚拟机。
在启动实例之前,请收集以下参数
实例源可以是包含镜像或快照的镜像、快照或块存储卷。
您的实例的名称。
您的实例的规格(flavor),它定义了 nova 计算实例的计算、内存和存储容量。规格是服务器可用的硬件配置。它定义了可以启动的虚拟服务器的大小。
任何用户数据文件。一个 用户数据 文件是元数据服务中的一个特殊键,它保存了一个云感知应用程序可以在访客实例中访问的文件。例如,一个使用用户数据的应用程序是 cloud-init 系统,它是一个来自 Ubuntu 的开源软件包,可在各种 Linux 发行版上使用,并处理云实例的早期初始化。
访问和安全凭证,包括以下凭证之一或两者
您的实例的密钥对,它们是在启动镜像时注入到镜像中的 SSH 凭证。为了成功注入密钥对,镜像必须包含
cloud-init包。为每个项目至少创建一个密钥对。如果您已经使用外部工具生成了密钥对,可以将其导入到 OpenStack。您可以使用密钥对用于属于该项目中的多个实例。一个安全组,定义了哪些传入的网络流量被转发到实例。安全组包含一组防火墙策略,称为安全组规则。
如果需要,您可以为正在运行的实例分配一个浮动(公网)IP 地址,使其可以从云外部访问。请参阅 管理 IP 地址。
您还可以附加一个块存储设备,或卷,用于持久存储。
注意
使用默认安全组的实例默认情况下无法从云外部的任何 IP 地址访问。如果您希望这些 IP 地址访问实例,则必须修改默认安全组的规则。
在收集启动实例所需的参数后,您可以从 镜像 或 卷 启动它。您可以直接从可用的 OpenStack 镜像或您已复制到持久卷的镜像启动实例。OpenStack 镜像服务提供了一个可供不同项目成员访问的镜像池。
收集启动实例的参数¶
在开始之前,请激活 OpenStack RC 文件。
创建一个规格。
创建规格通常仅对云的管理员可用,因为这会影响云中高效的调度。
$ openstack flavor create --ram 512 --disk 1 --vcpus 1 m1.tiny
列出可用的规格。
$ 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 | +-----+-----------+-------+------+-----------+-------+-----------+
列出可用的镜像。
$ 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 | +--------------------------------------+---------------------------------+--------+
您还可以使用 grep 过滤镜像列表,以查找特定的镜像,如下所示
$ openstack image list | grep 'kernel' | df430cc2-3406-4061-b635-a51c16e488ac | cirros-0.3.5-x86_64-uec-kernel | active |
列出可用的安全组。
$ 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
列出可用的密钥对,并记下您用于 SSH 访问的密钥对名称。
$ openstack keypair list
启动实例¶
您可以从各种来源启动实例。