一、创建网络:

  1、在控制节点上创建一个单一扁平网络(名字:flat),网络类型为flat,网络适共享的(share),网络提供者:physnet1,它是和eth0关联起来的 

[root@linux-node1 ~]# source admin-openrc.sh
[root@linux-node1 ~]# neutron net-create flat --shared --provider:physical_network physnet1 --provider:network_type flat
Created a new network:
+---------------------------+--------------------------------------+
| Field | Value |
+---------------------------+--------------------------------------+
| admin_state_up | True |
| availability_zone_hints | |
| availability_zones | |
| created_at | --07T06::06Z |
| description | |
| id | 252e8345--422e-a131-717747c03de8 |
| ipv4_address_scope | |
| ipv6_address_scope | |
| mtu | |
| name | flat |
| port_security_enabled | True |
| project_id | 503b0eab0420454e909a46e476bf1ede |
| provider:network_type | flat |
| provider:physical_network | physnet1 |
| provider:segmentation_id | |
| revision_number | |
| router:external | False |
| shared | True |
| status | ACTIVE |
| subnets | |
| tags | |
| tenant_id | 503b0eab0420454e909a46e476bf1ede |
| updated_at | --07T06::09Z |
+---------------------------+--------------------------------------+

  2、对上一步创建的网络创建一个子网,名字为:subnet-create flat,设置dns和网关

[root@linux-node1 ~]# neutron subnet-create flat 172.22.0.0/ --name flat-subnet --allocation-pool start=172.22.0.240,end=172.22.0.250 --dns-nameserver 172.16.9.60 --gateway 172.22.0.2
Created a new subnet:
+-------------------+--------------------------------------------------+
| Field | Value |
+-------------------+--------------------------------------------------+
| allocation_pools | {"start": "172.22.0.240", "end": "172.22.0.250"} |
| cidr | 172.22.0.0/ |
| created_at | --07T06::53Z |
| description | |
| dns_nameservers | 172.16.9.60 |
| enable_dhcp | True |
| gateway_ip | 172.22.0.2 |
| host_routes | |
| id | afb09c29-ae05-4ea5-820b-39dabbc42c0f |
| ip_version | |
| ipv6_address_mode | |
| ipv6_ra_mode | |
| name | flat-subnet |
| network_id | 252e8345--422e-a131-717747c03de8 |
| project_id | 503b0eab0420454e909a46e476bf1ede |
| revision_number | |
| service_types | |
| subnetpool_id | |
| tenant_id | 503b0eab0420454e909a46e476bf1ede |
| updated_at | --07T06::54Z |
+-------------------+--------------------------------------------------+

  3、查看创建的网络和子网

[root@linux-node1 ~]# neutron net-list
+-------------------------------------+------+-------------------------------------+
| id | name | subnets |
+-------------------------------------+------+-------------------------------------+
| 252e8345--422e-a131-717747c03de | flat | afb09c29-ae05-4ea5-820b- |
| | | 39dabbc42c0f 172.22.0.0/ |
+-------------------------------------+------+-------------------------------------+

  注:创建虚拟机之前,由于一个网络下不能存在多个dhcp,所以一定关闭其他的dhcp选项下面开始正式创建虚拟机,为了可以连上所创建的虚拟机,在这里要创建一对公钥和私钥,并添加到openstack中

二、创建虚拟主机:

  1、创建公钥:  

root@linux-node1 ~]# source demo-openrc.sh
[root@linux-node1 ~]# ssh-keygen -q -N ""
Enter file in which to save the key (/root/.ssh/id_rsa):
[root@linux-node1 ~]# openstack keypair create --public-key ~/.ssh/id_rsa.pub mykey
+-------------+-------------------------------------------------+
| Field | Value |
+-------------+-------------------------------------------------+
| fingerprint | :5c::9a::3c:d6:5f:a7:0d::cb:::c6: |
| name | mykey |
| user_id | d36d93abe45747468fdd46430a83e169 |
+-------------+-------------------------------------------------+
[root@linux-node1 ~]# openstack keypair list
+-------+-------------------------------------------------+
| Name | Fingerprint |
+-------+-------------------------------------------------+
| mykey | :5c::9a::3c:d6:5f:a7:0d::cb:::c6: |
+-------+-------------------------------------------------+

  2、创建一个安全组,打开icmp和开放22端口

[root@linux-node1 ~]# openstack security group rule create --proto icmp default
+-------------------+--------------------------------------+
| Field | Value |
+-------------------+--------------------------------------+
| created_at | --08T05::49Z |
| description | |
| direction | ingress |
| ethertype | IPv4 |
| headers | |
| id | 247ef297-f765-42b7-b2fe-ca4d1d3356c9 |
| port_range_max | None |
| port_range_min | None |
| project_id | b71d521156214c438b7024701e7e06e8 |
| project_id | b71d521156214c438b7024701e7e06e8 |
| protocol | icmp |
| remote_group_id | None |
| remote_ip_prefix | 0.0.0.0/ |
| revision_number | |
| security_group_id | 84596f26-932d-4de9-8dc4-1eb15b6ec0e1 |
| updated_at | --08T05::49Z |
+-------------------+--------------------------------------+
[root@linux-node1 ~]# openstack security group rule create --proto tcp --dst-port default
+-------------------+--------------------------------------+
| Field | Value |
+-------------------+--------------------------------------+
| created_at | --08T05::07Z |
| description | |
| direction | ingress |
| ethertype | IPv4 |
| headers | |
| id | c23a41fd-e37c-4a85-ba3b-4c373a5cec14 |
| port_range_max | |
| port_range_min | |
| project_id | b71d521156214c438b7024701e7e06e8 |
| project_id | b71d521156214c438b7024701e7e06e8 |
| protocol | tcp |
| remote_group_id | None |
| remote_ip_prefix | 0.0.0.0/ |
| revision_number | |
| security_group_id | 84596f26-932d-4de9-8dc4-1eb15b6ec0e1 |
| updated_at | --08T05::07Z |
+-------------------+--------------------------------------+

  3、创建虚拟机之前要进行的确认虚拟机类型flavor(相当于EC2的intance的type)、需要的镜像(EC2的AMI),需要的网络(EC2的VPC),安全组(EC2的sg)  

[root@linux-node1 ~]# source admin-openrc.sh
[root@linux-node1 ~]# openstack flavor create --id --vcpus --ram --disk m1.nano #创建虚拟机类型
+----------------------------+---------+
| Field | Value |
+----------------------------+---------+
| OS-FLV-DISABLED:disabled | False |
| OS-FLV-EXT-DATA:ephemeral | |
| disk | |
| id | |
| name | m1.nano |
| os-flavor-access:is_public | True |
| properties | |
| ram | |
| rxtx_factor | 1.0 |
| swap | |
| vcpus | |
+----------------------------+---------+
[root@linux-node1 ~]# source demo-openrc.sh
[root@linux-node1 ~]# openstack flavor list
+----+---------+-----+------+-----------+-------+-----------+
| ID | Name | RAM | Disk | Ephemeral | VCPUs | Is Public |
+----+---------+-----+------+-----------+-------+-----------+
| | m1.nano | | | | | True |
+----+---------+-----+------+-----------+-------+-----------+ [root@linux-node1 ~]# openstack image list
+--------------------------------------+--------+--------+
| ID | Name | Status |
+--------------------------------------+--------+--------+
| 8f5837b4-bbec-4ef5-96f6-aba989c27206 | cirros | active |
+--------------------------------------+--------+--------+
[root@linux-node1 ~]# openstack network list
+-------------------------------------+------+-------------------------------------+
| ID | Name | Subnets |
+-------------------------------------+------+-------------------------------------+
| 252e8345--422e-a131-717747c03de | flat | afb09c29-ae05-4ea5-820b- |
| | | 39dabbc42c0f |
+-------------------------------------+------+-------------------------------------+
[root@linux-node1 ~]# openstack security group list
+-----------------------+---------+-----------------------+------------------------+
| ID | Name | Description | Project |
+-----------------------+---------+-----------------------+------------------------+
| 84596f26-932d-4de9-8d | default | Default security | b71d521156214c438b7024 |
| c4-1eb15b6ec0e1 | | group | 701e7e06e8 |
+-----------------------+---------+-----------------------+------------------------+

  4、创建一台虚拟机,类型为m1.tiny,镜像为cirros(上文wget的),网络id为neutron net-list出来的,安全组就是默认的,选择刚开的创建的key-pair,虚拟机的名字为test-instance  

[root@linux-node1 ~]# openstack server create --flavor m1.nano --image cirros --nic net-id=252e8345--422e-a131-717747c03de8  --security-group default --key-name mykey test-instance
+--------------------------------------+-----------------------------------------------+
| Field | Value |
+--------------------------------------+-----------------------------------------------+
| OS-DCF:diskConfig | MANUAL |
| OS-EXT-AZ:availability_zone | |
| OS-EXT-STS:power_state | NOSTATE |
| 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 | GV8aK778PGP7 |
| config_drive | |
| created | --07T14::21Z |
| flavor | m1.nano () |
| hostId | |
| id | e6594567-62d9-452e-8bd9-709a63435ef5 |
| image | cirros (8f5837b4-bbec-4ef5-96f6-aba989c27206) |
| key_name | mykey |
| name | test-instance |
| os-extended-volumes:volumes_attached | [] |
| progress | |
| project_id | b71d521156214c438b7024701e7e06e8 |
| properties | |
| security_groups | [{u'name': u'default'}] |
| status | BUILD |
| updated | --07T14::25Z |
| user_id | d36d93abe45747468fdd46430a83e169 |
+--------------------------------------+-----------------------------------------------+

  5、查看虚拟机:  

[root@linux-node1 ~]# openstack server list
+--------------------------------------+---------------+--------+----------+------------+
| ID | Name | Status | Networks | Image Name |
+--------------------------------------+---------------+--------+----------+------------+
| 4695d193-9fb0-42aa-9aa9-043820388e4a | test-instance | BUILD | | cirros |
+--------------------------------------+---------------+--------+----------+------------+
[root@linux-node1 ~]# openstack server list
+--------------------------------------+---------------+--------+-------------------+------------+
| ID | Name | Status | Networks | Image Name |
+--------------------------------------+---------------+--------+-------------------+------------+
| 4695d193-9fb0-42aa-9aa9-043820388e4a | test-instance | ACTIVE | flat=172.22.0.248 | cirros |
+--------------------------------------+---------------+--------+-------------------+------------+

三、登录验证:

  1、SSH登录:  

[root@linux-node1 ~]# ssh cirros@172.22.0.248
The authenticity of host '172.22.0.248 (172.22.0.248)' can't be established.
RSA key fingerprint is SHA256:wjfS+uGVtyyrGl6ZmLp4nYA+4rcz5IYZU+cGF4DVaxY.
RSA key fingerprint is MD5:2f::4e:a0:a1::::ae:9a:e1:ff:b2::db:1c.
Are you sure you want to continue connecting (yes/no)? yes
cirros@172.22.0.248's password:
$ ifconfig
eth0 Link encap:Ethernet HWaddr FA::3E::4A:E4
inet addr:172.22.0.248 Bcast:172.22.0.255 Mask:255.255.255.0
inet6 addr: fe80::f816:3eff:fe79:4ae4/ Scope:Link
UP BROADCAST RUNNING MULTICAST MTU: Metric:
RX packets: errors: dropped: overruns: frame:
TX packets: errors: dropped: overruns: carrier:
collisions: txqueuelen:
RX bytes: (880.5 KiB) TX bytes: (32.0 KiB) lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::/ Scope:Host
UP LOOPBACK RUNNING MTU: Metric:
RX packets: errors: dropped: overruns: frame:
TX packets: errors: dropped: overruns: carrier:
collisions: txqueuelen:
RX bytes: (0.0 B) TX bytes: (0.0 B) $

  2、VNC登录:

[root@linux-node1 ~]# openstack console url show test-instance
+-------+-----------------------------------------------------------------------------------+
| Field | Value |
+-------+-----------------------------------------------------------------------------------+
| type | novnc |
| url | http://172.22.0.218:6080/vnc_auto.html?token=95a38c93-dbc1-4873-8c49-9778b4d41aed |

  网页登录:

创建完成

最新文章

  1. Mysql 备份
  2. vs快捷方式
  3. bfs简单题-poj2251
  4. 【转】Python中string的strip,lstrip,rstrip用法
  5. 【待补】java开发Web Service
  6. 图片上传并显示(兼容ie),图片大小判断
  7. PAT 1046
  8. day4--老Word模板使用指南
  9. android studio无法识别含有rcs包名的jar
  10. Unity Socket TCP
  11. mitx一大堆统计学知识
  12. eclipse maven工程打包失败
  13. iostat查看io情况
  14. Angular4 表单处理
  15. 高性能 TCP/UDP/HTTP 通信框架 HP-Socket v4.1.3
  16. 浅入浅出JDBC————1分钟了解JDBC
  17. solr Query[转]
  18. cf711D. Directed Roads(环)
  19. C语言学习笔记 (009) - 对函数的进一步讨论
  20. SpringBoot使用端口运行

热门文章

  1. Vue 中数据流组件
  2. python之django入门
  3. 自动拆装箱(int,Integer)
  4. RMAN兼容性、控制文件自动备份、保存时间、备份策略、备份脚本(二)
  5. 15 Vue项目部署
  6. linux 遍历目录+文件(优化版本)
  7. 用fpm模式在虚拟主机上安装phpmyadmin
  8. c++控制台 设置字体颜色
  9. select2,利用ajax高效查询大数据列表(可搜索、可分页)
  10. Celery 基本使用