简介
当完成keystone、glance、nova、neutron组件的部署(部署方法参考之前的博文)之后,我们就可以创建第一个虚拟机实例了,下边具体操作下创建第一个虚拟机实例。
创建第一个实例
创建provider network
- 设置环境变量,这个在所有服务部署中都会用到,所以如果有报错,首先考虑是否设置环境变量
[root@localhost ~]# source admin-openstack.sh
- 创建网络
$ openstack network create --share --external \ --provider-physical-network provider \ --provider-network-type flat providerCreated a new network:+---------------------------+--------------------------------------+| Field | Value |+---------------------------+--------------------------------------+| admin_state_up | UP || availability_zone_hints | || availability_zones | || created_at | 2017-03-14T14:37:39Z || description | || dns_domain | None || id | 54adb94a-4dce-437f-a33b-e7e2e7648173 || ipv4_address_scope | None || ipv6_address_scope | None || is_default | None || mtu | 1500 || name | provider || port_security_enabled | True || project_id | 4c7f48f1da5b494faaa66713686a7707 || provider:network_type | flat || provider:physical_network | provider || provider:segmentation_id | None || qos_policy_id | None || revision_number | 3 || router:external | External || segments | None || shared | True || status | ACTIVE || subnets | || updated_at | 2017-03-14T14:37:39Z |+---------------------------+--------------------------------------+
- 创建子网
openstack subnet create --network provider \ --allocation-pool start=192.168.46.100,end=192.168.46.200 \ #设置创建的实例的地址范围 --dns-nameserver 223.5.5.5 --gateway 192.168.46.1 \ #设置dns,在此使用的是阿里的DNS,设置网关 --subnet-range 192.168.46.0/24 provider #设置子网掩码,网络名称为provider
- 检查创建的网络和子网
[root@localhost ~]# openstack network list+--------------------------------------+----------+--------------------------------------+| ID | Name | Subnets |+--------------------------------------+----------+--------------------------------------+| 20583a37-6c4b-4f26-a5d6-fc7e643200d9 | provider | 4b8c0017-6ea7-4d7e-920c-4ea143d0b3ac |+--------------------------------------+----------+--------------------------------------+[root@localhost ~]# openstack subnet list+--------------------------------------+----------+--------------------------------------+-----------------+| ID | Name | Network | Subnet |+--------------------------------------+----------+--------------------------------------+-----------------+| 4b8c0017-6ea7-4d7e-920c-4ea143d0b3ac | provider | 20583a37-6c4b-4f26-a5d6-fc7e643200d9 | 192.168.46.0/24 |+--------------------------------------+----------+--------------------------------------+-----------------+
创建云主机规格
$ openstack flavor create --id 0 --vcpus 1 --ram 64 --disk 1 m1.nano+----------------------------+---------+| Field | Value |+----------------------------+---------+| OS-FLV-DISABLED:disabled | False || OS-FLV-EXT-DATA:ephemeral | 0 || disk | 1 || id | 0 || name | m1.nano || os-flavor-access:is_public | True || properties | || ram | 64 || rxtx_factor | 1.0 || swap | || vcpus | 1 |+----------------------------+---------+
创建key pair
- 设置demo环境变量
[root@localhost ~]# source demo-openstack.sh
- 生成key
$ ssh-keygen -q -N ""$ openstack keypair create --public-key ~/.ssh/id_rsa.pub mykey+-------------+-------------------------------------------------+| Field | Value |+-------------+-------------------------------------------------+| fingerprint | ee:3d:2e:97:d4:e2:6a:54:6d:0d:ce:43:39:2c:ba:4d || name | mykey || user_id | 58126687cbcc4888bfa9ab73a2256f27 |+-------------+-------------------------------------------------+
可以直接使用key登录虚拟机
- 查看key
[root@localhost ~]# openstack keypair list+-------+-------------------------------------------------+| Name | Fingerprint |+-------+-------------------------------------------------+| mykey | 5b:ab:e1:3d:2f:0a:5c:a9:17:b5:d1:0d:85:05:fa:89 |+-------+-------------------------------------------------+
- 在安全组中增加两个规则,设置ping和22端口(为了可以ssh连接虚拟机)
$ openstack security group rule create --proto icmp default+-------------------+--------------------------------------+| Field | Value |+-------------------+--------------------------------------+| created_at | 2017-03-30T00:46:43Z || description | || direction | ingress || ether_type | IPv4 || id | 1946be19-54ab-4056-90fb-4ba606f19e66 || name | None || port_range_max | None || port_range_min | None || project_id | 3f714c72aed7442681cbfa895f4a68d3 || protocol | icmp || remote_group_id | None || remote_ip_prefix | 0.0.0.0/0 || revision_number | 1 || security_group_id | 89ff5c84-e3d1-46bb-b149-e621689f0696 || updated_at | 2017-03-30T00:46:43Z |+-------------------+--------------------------------------+$ openstack security group rule create --proto tcp --dst-port 22 default+-------------------+--------------------------------------+| Field | Value |+-------------------+--------------------------------------+| created_at | 2017-03-30T00:43:35Z || description | || direction | ingress || ether_type | IPv4 || id | 42bc2388-ae1a-4208-919b-10cf0f92bc1c || name | None || port_range_max | 22 || port_range_min | 22 || project_id | 3f714c72aed7442681cbfa895f4a68d3 || protocol | tcp || remote_group_id | None || remote_ip_prefix | 0.0.0.0/0 || revision_number | 1 || security_group_id | 89ff5c84-e3d1-46bb-b149-e621689f0696 || updated_at | 2017-03-30T00:43:35Z |+-------------------+--------------------------------------+
-
查看安全组
[root@localhost ~]# openstack security group list+--------------------------------------+---------+-------------+----------------------------------+| ID | Name | Description | Project |+--------------------------------------+---------+-------------+----------------------------------+| f9ccf579-326e-41a2-8125-67290fcb5888 | default | 缺省安全组 | 9ce357d324a84c84a940e3db27a3bbde |+--------------------------------------+---------+-------------+----------------------------------+
启动实例
- 创建实例需要使用到network id,先通过如下命令查看
[root@localhost ~]# openstack network list+--------------------------------------+----------+--------------------------------------+| ID | Name | Subnets |+--------------------------------------+----------+--------------------------------------+| 20583a37-6c4b-4f26-a5d6-fc7e643200d9 | provider | 4b8c0017-6ea7-4d7e-920c-4ea143d0b3ac |+--------------------------------------+----------+--------------------------------------+
- 启动实例
$ openstack security group rule create --proto tcp --dst-port 22 default+-------------------+--------------------------------------+| Field | Value |+-------------------+--------------------------------------+| created_at | 2017-03-30T00:43:35Z || description | || direction | ingress || ether_type | IPv4 || id | 42bc2388-ae1a-4208-919b-10cf0f92bc1c || name | None || port_range_max | 22 || port_range_min | 22 || project_id | 3f714c72aed7442681cbfa895f4a68d3 || protocol | tcp || remote_group_id | None || remote_ip_prefix | 0.0.0.0/0 || revision_number | 1 || security_group_id | 89ff5c84-e3d1-46bb-b149-e621689f0696 || updated_at | 2017-03-30T00:43:35Z |+-------------------+--------------------------------------+