什么是云计算?云计算就是解决两大核心问题:分布式存储 和 分布式处理
云计算的典型特征:虚拟化 和 多用户
云计算的概念:云计算就是通过网络以服务的方式为用户提供非常廉价的IT资源
云计算的优势:企业不需自建IT基础设施,可以租用云端资源
云计算的三种模式:
公有云
面向公众
私有云
面向企业内部
混合云
部分给自己,部分给外面
⭐三种云服务:
IaaS —— 基础设施即服务
将基础设施(计算资源和存储)作为服务出租
Paas —— 平台即服务
针对开发者,开发者开发产品时调用平台接口,将产品部署在平台上,就可以使用平台的云计算资源
SaaS —— 软件即服务
典型案例:云财务软件
不需要本地安装软件再使用,对方将整个软件以服务的形式卖给你,只要有网络,你就可以打开手机或电脑对软件进行操作
云计算关键技术:虚拟化、分布式存储、分布式计算、多租户
openstack的9个模块
1.dashboard(Horizon)
图形化UI接口
良好的用户界面
没有此模块,可以通过命令行实现
通过dashboard可以访问所有的子模块(项目),除了identity授权模块不可以访问(只能访问identity一部分)
2.identity(keystone)
集中身份认证,为其他服务提供验证和授权服务,在特殊的openstack中,keystone也提供目录服务,kenstone提供多种形式的认证,用户名/密码,证书
任何一个子项目相互访问,用户访问任何一个子项目都有通过keystone认证
每个服务都有一个密码可以访问,此密码称为令牌,keystone给用户/服务分配令牌。每个服务都有服务名,称为token。
3.openstack networking(Neutron)
提供和其他openstack服务连接的界面,因为openstack networking是一个可插拔的模块,用户可以自己创建自己的网络,控制流量,把服务连接到其他网络,这个服务支持各种网络技术。
从架构图可以看到此模块沟通最多的是compute(NOVA),运算体。
4.Block storage(cinder)
为虚拟机提供卷服务。
为运行在nova上的虚拟机提供块存储。
用户存储虚拟机的数据。
5.compute(Nova)
运算体
从image中读取镜像,运行(镜像已经做好),数据存储在cinder,cinder为虚拟机提供额外的存储
openstack中不能让用户新建虚机镜像,镜像虚拟机已经提前建好了。
虚拟机启动后只需要很小的磁盘,额外的空间有cinder提供。
6.image(Glance)
虚拟机镜像服务
这些虚拟机可以用来作为创建新虚拟机的模版。
7.object storage(Swift)
提供对象存储(文件存储),可以把镜像按对象存储在swift中。
nova把实例以对象方式存储在swift中。
8.Metering(Ceilmeter)
计费系统
按网络流量计费,存储计费,使用nova资源计费,使用镜像计费
9.orchestration(Heat)
通过heat可以管理维护各个项目,迁移模块时使用此模块
Tenant: Horizon上的一个项目的统称。
一个项目(Tenant)包括用户、镜像、实例、网络、卷
1
2
computer node:就是虚拟化中的运算体。(vmware、kvm、xen、qemu)
server/instance: 一个虚拟机
flavor: 一个虚拟机的配置(内存、cpu、硬盘)
volume:实例中永久存储的磁盘
卷可以附加到一个实例cinder提供lvm卷组
Ephemeral disk: 实例的临时存储
在此架构中
mysql 用于存储源数据,存储所有节点的信息
如keystone,在mysql中要建立一张表,每个子项目都有在mysql中建立一张表。
以下是最近工作过程中所使用的openstack命令
neutron agent-lis 在任何节点查看neutron agent信息
nova-manage service list 在控制节点查看nova 服务状态
service nova-compute restart 重启nova计算服务
service openvswitch-switch restart 重启agent服务
glance image-list 查看镜像id
zun service-list 查看节点的状态
上传docker镜像
openstack image create “hongyaa_pwn2_2” --file hongyaa_pwn2_20180602.tar.gz --public --container-format docker --disk-format raw
镜像名字 “hongyaa_pwn2_2”
上传的镜像软件包 hongyaa_pwn2_20180602.tar.gz
上传qcow2镜像
openstack image create “Linux_Centos_NessusBS_finish” --file a7c85b1b-5008-4a74-82d2-0026958909b9 --disk-format qcow2 --container-format bare --public
openstack image create ##上传镜像命令
Linux_Centos_NessusBS_finish ##上传到openstack中的名字
a7c85b1b-5008-4a74-82d2-0026958909b9 ##服务器中的镜像
–disk-format qcow2 ##保存为qcow2格式
–container-format bare ##容器格式BARE
–public ##公开