【openstack N版】——创建云主机
一.启动实例
1.1 已准备服务介绍
- MySql:为各个服务提供数据存储。
- RabbitMQ:为各个服务之间通信提供交通枢纽。
- keystone:为各个服务之间通信提供认证和服务注册。
- Glance:为虚拟机提供镜像管理。
- Nova:为虚拟机提供计算资源。
- Neutron:为虚拟机提供网络资源。
1.2 网络(flat)
1.2.1创建虚拟网络
#share 允许所有项目使用虚拟网络
[root@linux-node1 ~]# openstack network create --share \
--provider-physical-network public \
--provider-network-type flat public
+---------------------------+--------------------------------------+
| Field | Value |
+---------------------------+--------------------------------------+
| admin_state_up | UP |
| availability_zone_hints | |
| availability_zones | |
| created_at | 2017-03-01T03:10:38Z |
| description | |
| headers | |
| id | 0cdd6694-d53d-4f85-b04a-bc3b6dfa6cbc |
| ipv4_address_scope | None |
| ipv6_address_scope | None |
| mtu | 1500 |
| name | public |
| port_security_enabled | True |
| project_id | d24a61dd3ecb43cb9e8a5f6539c6a2bb |
| project_id | d24a61dd3ecb43cb9e8a5f6539c6a2bb |
| provider:network_type | flat |
| provider:physical_network | public |
| provider:segmentation_id | None |
| revision_number | 3 |
| router:external | Internal |
| shared | True |
| status | ACTIVE |
| subnets | |
| tags | [] |
| updated_at | 2017-03-01T03:10:38Z |
+---------------------------+--------------------------------------+
1.2.2查看已创建网络
#新版本命令
[root@linux-node1 ~]# openstack network list
#老版本命令
[root@linux-node1 ~]# neutron net-list
#结果都是一样的
+--------------------------------------+--------+---------+
| ID | Name | Subnets |
+--------------------------------------+--------+---------+
| 0cdd6694-d53d-4f85-b04a-bc3b6dfa6cbc | public | |
+--------------------------------------+--------+---------+
1.2.3创建子网
1 #创建子网
2 [root@linux-node1 ~]# openstack subnet create --network public \
3 --allocation-pool start=192.168.56.100,end=192.168.56.200 \
4 --dns-nameserver 192.168.56.2 --gateway 192.168.56.2 \
5 --subnet-range 192.168.56.0/24 public-subnet
6 #注解
7 public:是之前配置文件中flat_networks自定义的名称
8 start:dhcp起始地址
9 end:dhcp终止地址
10 nameserver:DNS
11 gateway:网关
12 subnet:网段/子网
13 public-subnet:子网名称
+-------------------+--------------------------------------+
| Field | Value |
+-------------------+--------------------------------------+
| allocation_pools | 192.168.56.100-192.168.56.200 |
| cidr | 192.168.56.0/24 |
| created_at | 2017-03-01T03:12:36Z |
| description | |
| dns_nameservers | 192.168.56.2 |
| enable_dhcp | True |
| gateway_ip | 192.168.56.2 |
| headers | |
| host_routes | |
| id | 3b307841-211f-4c8e-91f5-a9f051bb1248 |
| ip_version | 4 |
| ipv6_address_mode | None |
| ipv6_ra_mode | None |
| name | public-subnet |
| network_id | 0cdd6694-d53d-4f85-b04a-bc3b6dfa6cbc |
| project_id | d24a61dd3ecb43cb9e8a5f6539c6a2bb |
| project_id | d24a61dd3ecb43cb9e8a5f6539c6a2bb |
| revision_number | 2 |
| service_types | [] |
| subnetpool_id | None |
| updated_at | 2017-03-01T03:12:36Z |
+-------------------+--------------------------------------+
1.2.4检查子网
#新版本命令
[root@linux-node1 ~]# openstack subnet list
+--------------------------------------+---------------+--------------------------------------+-----------------+
| ID | Name | Network | Subnet |
+--------------------------------------+---------------+--------------------------------------+-----------------+
| 3b307841-211f-4c8e-91f5-a9f051bb1248 | public-subnet | 0cdd6694-d53d-4f85-b04a-bc3b6dfa6cbc | 192.168.56.0/24 |
+--------------------------------------+---------------+--------------------------------------+-----------------+
#老版本命令
[root@linux-node1 ~]# neutron subnet-list
+--------------------------------------+---------------+-----------------+------------------------------------------------------+
| id | name | cidr | allocation_pools |
+--------------------------------------+---------------+-----------------+------------------------------------------------------+
| 3b307841-211f-4c8e-91f5-a9f051bb1248 | public-subnet | 192.168.56.0/24 | {"start": "192.168.56.100", "end": "192.168.56.200"} |
+--------------------------------------+---------------+-----------------+------------------------------------------------------+
1.3创建云主机类型
#先创建一个小的云主机类型,给官方提供镜像做测试
[root@linux-node1 ~]# openstack flavor create --id --vcpus --ram --disk m1.nano
#注解
id:主机类型ID
vcpus:虚拟cpu数量
ram:虚拟内存大小(MB)
disk:虚拟磁盘大小(GB)
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 |
+----------------------------+---------+
1.3.1查看云主机类型
[root@linux-node1 ~]# openstack flavor list
+----+---------+-----+------+-----------+-------+-----------+
| ID | Name | RAM | Disk | Ephemeral | VCPUs | Is Public |
+----+---------+-----+------+-----------+-------+-----------+
| 0 | m1.nano | 64 | 1 | 0 | 1 | True |
+----+---------+-----+------+-----------+-------+-----------+
1.4创建秘钥对
#创建ssh的秘钥对
[root@linux-node1 ~]# ssh-keygen -q -N ""
#直接敲回车
Enter file in which to save the key (/root/.ssh/id_rsa):
#用openstack使用此秘钥对
[root@linux-node1 ~]# openstack keypair create --public-key ~/.ssh/id_rsa.pub mykey
+-------------+-------------------------------------------------+
| Field | Value |
+-------------+-------------------------------------------------+
| fingerprint | f9:81:41:cc:48:f0:69:37:34:a6:52:08:6f:60:28:14 |
| name | mykey |
| user_id | 45b086bdc6b746c5b0bfd62f779fe6a5 |
+-------------+-------------------------------------------------+
1.4.1查看键值对
[root@linux-node1 ~]# openstack keypair list
+-------+-------------------------------------------------+
| Name | Fingerprint |
+-------+-------------------------------------------------+
| mykey | f9:81:41:cc:48:f0:69:37:34:a6:52:08:6f:60:28:14 |
+-------+-------------------------------------------------+
1.5创建安全组规则
#开启icmp协议,允许ping
[root@linux-node1 ~]# openstack security group rule create --proto icmp default
+-------------------+--------------------------------------+
| Field | Value |
+-------------------+--------------------------------------+
| created_at | 2017-03-01T03:49:22Z |
| description | |
| direction | ingress |
| ethertype | IPv4 |
| headers | |
| id | 044c66be-4db9-4f8c-8b6f-59c02c0c962c |
| port_range_max | None |
| port_range_min | None |
| project_id | d24a61dd3ecb43cb9e8a5f6539c6a2bb |
| project_id | d24a61dd3ecb43cb9e8a5f6539c6a2bb |
| protocol | icmp |
| remote_group_id | None |
| remote_ip_prefix | 0.0.0.0/0 |
| revision_number | 1 |
| security_group_id | a9c0f076-3e8a-4344-ad7b-e94b51798116 |
| updated_at | 2017-03-01T03:49:22Z |
+-------------------+--------------------------------------+
#开启22端口,允许ssh
[root@linux-node1 ~]# openstack security group rule create --proto tcp --dst-port default
+-------------------+--------------------------------------+
| Field | Value |
+-------------------+--------------------------------------+
| created_at | 2017-03-01T03:50:33Z |
| description | |
| direction | ingress |
| ethertype | IPv4 |
| headers | |
| id | 6b48884c-dfc5-444c-8fb2-4ec157945e4e |
| port_range_max | 22 |
| port_range_min | 22 |
| project_id | d24a61dd3ecb43cb9e8a5f6539c6a2bb |
| project_id | d24a61dd3ecb43cb9e8a5f6539c6a2bb |
| protocol | tcp |
| remote_group_id | None |
| remote_ip_prefix | 0.0.0.0/0 |
| revision_number | 1 |
| security_group_id | a9c0f076-3e8a-4344-ad7b-e94b51798116 |
| updated_at | 2017-03-01T03:50:33Z |
+-------------------+--------------------------------------+
1.5.1查看安全组规则
[root@linux-node1 ~]# openstack security group list
+--------------------------------------+---------+------------------------+----------------------------------+
| ID | Name | Description | Project |
+--------------------------------------+---------+------------------------+----------------------------------+
| a9c0f076-3e8a-4344-ad7b-e94b51798116 | default | Default security group | d24a61dd3ecb43cb9e8a5f6539c6a2bb |
+--------------------------------------+---------+------------------------+----------------------------------+
1.6启动虚拟机
#启动之前首先要查看网络ID并记下
[root@linux-node1 ~]# openstack network list
+--------------------------------------+--------+--------------------------------------+
| ID | Name | Subnets |
+--------------------------------------+--------+--------------------------------------+
| 0cdd6694-d53d-4f85-b04a-bc3b6dfa6cbc | public | 3b307841-211f-4c8e-91f5-a9f051bb1248 |
+--------------------------------------+--------+--------------------------------------+
#创建虚拟机,并启动
[root@linux-node1 ~]# openstack server create --flavor m1.nano --image cirros \
--nic net-id=0cdd6694-d53d-4f85-b04a-bc3b6dfa6cbc --security-group default \
--key-name mykey demo-instance
#注:如果只有一个网络,则不需要填写net-id,openstack会默认选择
#注解
flavor:云主机类型名称
image:镜像名称
nic net-id:网络ID
security-group:安全组
key-name:秘钥对
demo-instance:云主机名称
1.6.1查看云主机
[root@linux-node1 ~]# openstack server list
+--------------------------------------+---------------+--------+-----------------------+------------+
| ID | Name | Status | Networks | Image Name |
+--------------------------------------+---------------+--------+-----------------------+------------+
| 24202ab8-9f13-4555-b8e3-6ff799223e67 | demo-instance | ACTIVE | public=192.168.56.110 | cirros |
+--------------------------------------+---------------+--------+-----------------------+------------+
1.7获取VNC的url
[root@linux-node1 ~]# openstack console url show demo-instance
+-------+------------------------------------------------------------------------------------+
| Field | Value |
+-------+------------------------------------------------------------------------------------+
| type | novnc |
| url | http://192.168.56.11:6080/vnc_auto.html?token=844e8352-a2ca-4c3f-8690-753529d59b80 |
+-------+------------------------------------------------------------------------------------+
1.71访问VNC的url
打开浏览器输入:http://192.168.56.11:6080/vnc_auto.html?token=844e8352-a2ca-4c3f-8690-753529d59b80即可访问
注:以上操作,完全可以在dashboard上创建
二.创建云主机流程介绍
2.1创建云主机步骤
第一步:dashboard或者client带着用户名和密码请求keystone服务
第二步:keystone服务验证用户名和密码,验证成功后返回token给dashboard或者client
第三步:dashboard或者client带着keystone服务返回的token请求nova-api
第四步:nova-api带着token访问keystone服务验证token是否正确
第五步:keystone验证token正确后,返回结果给nova-api
第六步:nova-api将要创建的虚拟机资源信息写入DB
第七步:nova-api将要创建虚拟机的请求写入rabbitMQ消息队列,建立沟通枢纽
第八步:nova-scheduler发现消息队列中的创建虚拟机信息后访问DB
第九步:nova-scheduler从DB中获取到创建虚拟机所需资源并且计算,调度,决定将虚拟机创建在哪个计算节点上
第十步:将计算结果返回给消息队列
第十一步:nova-compute从消息队列中获取nova-scheduler计算的结果
第十二步:nova-compute通过nova-conductor(中间件)与DB交互来获取要创建的虚拟机所需要的资源信息
第十三步:nova-compute带着token去请求glance获取镜像资源,glance会将token交给keystone服务验证
第十四步:如果token验证成功,则将glance的镜像资源交给nova-compute
第十五步:nova-compute带着token去请求neutron获取网络资源,neutron会将token交给keystone服务验证
第十六步:如果token验证成功,则将neutron的网络资源交给nova-compute
第十七步:nova-compute带着token去请求cinder获取存储资源,cinder会将token交给keystone服务验证
第十八步:如果token验证成功,则将cinder的存储资源交给nova-compute
所有步骤都操作成功后,nova-compute就会将虚拟机创建在scheduler计算后的节点上。
2.2创建云主机流程图
【开源是一种精神,分享是一种美德】
— By GoodCook
— 笔者QQ:253097001
— 欢迎大家随时来交流
—原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。
【openstack N版】——创建云主机的更多相关文章
- 【openstack N版】——云主机调整大小\冷迁移
一.先决条件 云主机冷迁移,即:将一台云主机从一个计算节点上,迁移到另外一个计算节点上.因为环境原因,所以我们需要准备两个计算节点. 1.1准备环境 在控制节点上,安装一个计算节点 #在控制节点安装n ...
- openstack命令创建云主机实例
@ 目录 前言 上传centos镜像 创建实例 创建外网卡 修改安全组规则 创建云主机实例 前言 简单创建云主机实例只需要上传一个测试镜像.创建一张外网卡.创建一个实例类型.修改安全组规则即可 注:这 ...
- Ceph与OpenStack整合(仅为云主机提供云盘功能)
1. Ceph与OpenStack整合(仅为云主机提供云盘功能) 创建: linhaifeng,最新修改: 大约1分钟以前 ceph ceph osd pool create volumes 128 ...
- 使用aliyun cli工具快速创建云主机
参考文档: https://help.aliyun.com/document_detail/25484.html?spm=a2c4g.11186623.3.2.b57vQp 步骤 创建AccessID ...
- AWS:1.相关概念、创建云主机的过程
概念 EC2是弹性的云计算 云主机 也即虚拟机,由分配的CPU.内存.网络和磁盘等资源组成 好处:维护成本低(主机替换).环境升级成本低 AMI:映像 创建云主机的蓝图,指定初始状态1 预装什么操作系 ...
- openstack学习-创建一台云主机(七)
一.创建基础环境 1.检查网络是否正常 [root@linux-node1 ~]# openstack network agent list +---------------------------- ...
- 创建 OpenStack云主机(十一)
创建过程 创建虚拟网络 创建m1.nano规格的主机(相等于定义虚拟机的硬件配置) 生成一个密钥对(openstack的原理是不使用密码连接,而是使用密钥对进行连接) 增加安全组规则(用iptable ...
- Openstack入门篇(十三)之云主机创建
1.知识回顾与端口总结 service 功能 MySQL 为各个服务提供数据存储 RabbitMQ 为各个服务之间通信提供交通枢纽 Keystone 为各个服务器之间通信提供认证和服务注册 Glanc ...
- 创建 OpenStack云主机
创建过程 创建虚拟网络 创建m1.nano规格的主机(相等于定义虚拟机的硬件配置) 生成一个密钥对(openstack的原理是不使用密码连接,而是使用密钥对进行连接) 增加安全组规则(用iptable ...
随机推荐
- [git] 细说commit (git add/commit/diff/rm/reset 以及 index 的概念)
http://kasicass.blog.163.com/blog/static/39561920133294219374/ 创建测试仓库 $ git init $ echo "line o ...
- MySQL——数据类型
MySQL中定义数据字段的类型对你数据库的优化是非常重要的.MySQL支持多种类型,大致可以分为三类:数值.日期/时间和字符串(字符)类型. 一.字符串类型: 字符串类型指CHAR.VARCHAR.B ...
- TSP问题[动态规划]
分析: 有用的量:城市集合V={a,b,c,d,--} 所以我们用 T(i,V) 表示从 城市 i 出发遍历集合 V 中的城市一遍且仅一遍后回到 i 所用的最少费用(这里可能表达不好,底下会看到,但是 ...
- Angular - - form.FormController、ngModel.NgModelController
form.FormController FormController跟踪所有他所控制的和嵌套表单以及他们的状态,就像有效/无效或者脏值/原始. 每个表单指令创建一个FormController实例. ...
- JS 工具 构建工具
1.gruntjs http://www.gruntjs.net/ 2.bootstrap http://www.bootcss.com/ 3.
- js原生设计模式——10适配器模式之参数适配器
原理:参数适配器说白了就是给出要带入数据字段的对应字段的默认值,一旦数据字段值不足,就取默认值补足. [写法一]:直接返回 <!DOCTYPE html><html lang=&qu ...
- Xpath语法格式整理
http://www.cnblogs.com/Loofah/archive/2012/05/10/2494036.html 经常在工作中会使用到XPath的相关知识,但每次总会在一些关键的地方不记得或 ...
- 如何解决“BPM导入组织架构出现问题导致系统无法登陆”
遇到问题如图所示↓ 进入H3系统登陆页面. 点击登陆后显示如图错误. 跟踪后显示参数为空.问题描述:通过web service方式进行组织机构导入,只导入ObjectID和Name等共通的6个字段.导 ...
- Android内存泄露---检测工具篇
内存使用是程序开发无法回避的一个问题.如果我们毫不在意肆意使用,总有一天会为此还账,且痛不欲生...所以应当防患于未然,把内存使用细化到平时的每一行代码中. 内存使用概念较大,本篇先讲对已有app如何 ...
- HDU1172(枚举)
猜数字 Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submi ...