创建 OpenStack云主机
创建过程
- 创建虚拟网络
- 创建m1.nano规格的主机(相等于定义虚拟机的硬件配置)
- 生成一个密钥对(openstack的原理是不使用密码连接,而是使用密钥对进行连接)
- 增加安全组规则(用iptables做的安全组)
- 启动一个实例(启动虚拟机有三种类型:1.命令CLI 2.api 3.Dashboard)实际上Dashboard也是通过api进行操作
- 虚拟网络分为提供者网络和私有网络,提供者网络就是跟主机在同一个网络里,私有网络自定义路由器等,跟主机不在一个网络
提供者网络架构


创建提供者网络
- 控制节点操作,创建网络
|
1
2
|
source /root/admin-openstack.shneutron net-create --shared --provider:physical_network public --provider:network_type flat public-net |
命令格式:neutron net-create --shared(所有项目共享网络) --provider:physical_network(物理网络) public(物理网络的名称) --provider:network_type(创建的网络类型为flat,单一扁平网络)flat public-net(自定义一个名称)

补充知识点:上图中tenant_id 等于 project_id,查看项目列表如下图

- 检查是否创建成功
|
1
|
neutron net-list |

- 创建子网
|
1
2
3
4
|
neutron subnet-create --name public-subnet \--allocation-pool start=192.168.137.100,end=192.168.137.200 \--dns-nameserver 223.5.5.5 --gateway 192.168.137.2 \public-net 192.168.137.0/24 |
参数说明
- neutron subnet-create 子网创建
- --name (名称)
- --allocation—pool 分配地址池
- start=开始IP地址
- end=结束IP地址
- dns-nameserver DNS地址,233.5.5.5是阿里公共DNS地址
- --gateway 网关
- public-net 提供者的网络名称(要跟上面创建网络的名称对应起来)

检查是否关联成功
|
1
|
neutron net-list |

|
1
|
neutron subnet-list |

创建m1.nano规格的主机(自定义云主机规格)
默认的最小规格的主机需要512 MB内存。对于环境中计算节点内存不足4 GB的,我们推荐创建只需要64 MB的m1.nano规格的主机。若单纯为了测试的目的,请使用m1.nano规格的主机来加载CirrOS镜像。
|
1
|
openstack flavor create --id 0 --vcpus 1 --ram 64 --disk 1 m1.nano |
参数说明:
- openstack flavor create 创建主机
- --id 主机ID
- --vcpus cpu数量
- --ram 64(默认是MB,可以写成G)
- --disk 磁盘(默认单位是G)

查看创建结果
|
1
|
openstack flavor list |

提示:1-5是系统默认的,0是刚才创建的
创建密钥对
大部分云镜像支持公共密钥认证而不是传统的密码认证。在启动实例前,必须添加一个公共密钥到计算服务。
- 生成秘钥
|
1
2
|
source /root/demo-openstack.shssh-keygen -q -N "" |

将密钥放在openstack上
|
1
|
openstack keypair create --public-key ~/.ssh/id_rsa.pub mykey |

验证公钥的添加
|
1
|
openstack keypair list |

增加安全组规则
默认情况下, default安全组适用于所有实例并且包括拒绝远程访问实例的防火墙规则。对诸如CirrOS这样的Linux镜像,我们推荐至少允许ICMP (ping) 和安全shell(SSH)规则。
- 允许 ICMP (ping)
|
1
|
openstack security group rule create --proto icmp default |

- 允许安全 shell (SSH) 的访问
|
1
|
openstack security group rule create --proto tcp --dst-port 22 default |

在公有网络上创建实例
启动一台实例,必须至少指定一个类型、镜像名称、网络、安全组、密钥和实例名称。
|
1
|
source /root/demo-openstack.sh |
- 列出云主机可用类型
|
1
|
openstack flavor list |

- 列出可用镜像
|
1
|
openstack image list |

- 列出可用的网络
|
1
|
openstack network list |

备注:创建云主机网络的时候使用的不是名称,而是ID
- 列出可用的安全组
|
1
|
openstack security group list |

- 创建实例
|
1
2
3
|
openstack server create --flavor m1.nano --image cirros \--nic net-id=cc9d7710-d82e-4109-9412-56ae02a18d7d --security-group default \--key-name mykey shhnwangjian-instance |
参数说明:
- openstack server create 创建实例
- --flavor 主机类型名称
- --image 镜像名称
- --nic net-id=网络ID
- --security-group 安全组名称
- --key-name key名称
- 最后一个是自定义实例名称

检查
|
1
|
openstack server list |

验证能否ping通

ssh连接测试,因为通过秘钥认证,不需要输入密码

使用虚拟控制台访问实例
|
1
|
openstack console url show shhnwangjian-instance |

可以复制上面URL地址,在浏览器访问

异常排查
如果无法创建虚拟机,我们需要查看控制节点和计算节点所有服务的日志,同时也要查看iptables、selinux、时间同步等
|
1
2
3
4
|
grep 'ERROR' /var/log/nova/*grep 'ERROR' /var/log/neutron/*grep 'ERROR' /var/log/glance/*grep 'ERROR' /var/log/keystone/* |
检查
|
1
2
3
4
|
source admin-openstack.shnova service-listneutron agent-listnova image-list |
创建 OpenStack云主机的更多相关文章
- 创建 OpenStack云主机(十一)
创建过程 创建虚拟网络 创建m1.nano规格的主机(相等于定义虚拟机的硬件配置) 生成一个密钥对(openstack的原理是不使用密码连接,而是使用密钥对进行连接) 增加安全组规则(用iptable ...
- 创建 OpenStack云主机 (十五)
创建过程 创建虚拟网络 创建m1.nano规格的主机(相等于定义虚拟机的硬件配置) 生成一个密钥对(openstack的原理是不使用密码连接,而是使用密钥对进行连接) 增加安全组规则(用iptable ...
- OpenStack 云主机深入了解(十四)
云主机深入了解 1.云主机在计算节点以进程方式运行 2.监听vnc的端口,vnc默认端口从5900开始, 多台云主机,端口递增 3.云主机桥接网卡,与宿主机联通网络 提示:在openstack环境下, ...
- Openstack 云主机深入了解 (十六)
一)云主机深入了解 1.云主机在计算节点以进程方式运行 2.监听vnc的端口,vnc默认端口从5900开始, 多台云主机,端口递增 3.云主机桥接网卡,与宿主机联通网络 提示:在openstack环境 ...
- openstack云主机硬盘复制查询
假定客户在自己的电脑上创建文件后 #宿主机查看客户使用的是哪个磁盘 [root@compute1 ~]# lvs LV VG Attr LSize Pool Origin Data% Meta ...
- 数据包从物理网卡流经 Open vSwitch 进入 OpenStack 云主机的流程
目录 文章目录 目录 前言 数据包从物理网卡进入虚拟机的流程 物理网卡处理 如何将网卡收到的数据写入到内核内存? 中断下半部分软中断处理 数据包在内核态 OvS Bridge(Datapath)中的处 ...
- 恒创科技 基于openStack云主机
https://www.henghost.com/cloud-vps.shtml?s=gg&gclid=CKaXuOyr79UCFY-TvQodMJ8BCw
- openstack云主机冷迁移
1:开启nova计算节点之间互信 冷迁移需要nova计算节点之间使用nova用户互相免密码访问 默认nova用户禁止登陆,开启所有计算节点的nova用户登录shell. usermod -s /bin ...
- Openstack新建云主机的流程
前言 前天晚上没睡觉,所以昨天睡得很早,导致今天4点就起来了 时间是人最宝贵的财富,于是我打消了钻在被子里刷剧的念头,爬起来整理一下在Openstack中新建一个云主机的流程. Openstack可以 ...
随机推荐
- CentOS 7.5 通过kubeadm部署k8s-1.15.0
kubeadm是Kubernetes官方提供的用于快速安装Kubernetes集群的工具,伴随Kubernetes每个版本的发布都会同步更新,kubeadm会对集群配置方面的一些实践做调整,通过实验k ...
- jstl学习资料
jstl印象中叫标准标签库,是apache的一个项目,网址为: Apache Taglibs - Apache Standard Taglib: JSP[tm] Standard Tag Librar ...
- Python网络爬虫-爬取微博热搜
微博热搜的爬取较为简单,我只是用了lxml和requests两个库 url=https://s.weibo.com/top/summary?Refer=top_hot&topnav=1& ...
- Hive presto和hive时间格式转换
1.北京时间格式 to unix时间格式 数据格式: 2017-11-17 08:28:13 2017-11-17 08:28:10 2017-11-17 08:27:51.343 2017- ...
- 【转】 C语言深度解剖读书笔记(1.关键字的秘密)
本文出处:http://blog.csdn.net/mbh_1991/article/details/10149805 开始本节学习笔记之前,先说几句题外话.其实对于C语言深度解剖这本书来说,看完了有 ...
- leetcode 171. Excel表列序号(python)
给定一个Excel表格中的列名称,返回其相应的列序号. 例如, A -> 1 B -> 2 C -> 3 ... Z -> 26 AA -> 27 AB -> 28 ...
- linux crontab 执行任务(7秒执行)
创建的contab 文件中,每一行都代表一项任务,每行的每个字段代表一项设置.前五个字段是时间,第六个字段是要执行的命令 minute hour day month week co ...
- 20190814 On Java8 第三章 万物皆对象
第三章 万物皆对象 对象创建 数据存储 有5个不同的地方可以存储数据: 寄存器 (Registers) 最快的存储区域,位于CPU内部 .无法直接控制. 栈内存(Stack) 存在于常规内存 RAM ...
- CNN之池化层tf.nn.max_pool | tf.nn.avg_pool | tf.reduce_mean | padding的规则解释
摘要:池化层的主要目的是降维,通过滤波器映射区域内取最大值.平均值等操作. 均值池化:tf.nn.avg_pool(input,ksize,strides,padding) 最大池化:tf.nn.ma ...
- PHP_CodeIgniter 细节
下载压缩包解压之后, 可以在 application/config/config.php 中修改配置信息,包括编码,目录地址 web目录默认是system,后台目录默认是Application, 可以 ...