OpenStack 是一系列开源工具(或开源项目)的组合,主要使用池化虚拟资源来构建和管理私有云及公共云。其中的六个项目主要负责处理核心云计算服务,包括计算、网络、存储、身份和镜像服务。还有另外十多个可选项目,用户可把它们捆绑打包,用来创建独特、可部署的云架构。
狭义的云计算是指IT基础设施的交付和使用模式
广义的云计算是指服务的交付和使用模式
网络资源
存储资源
计算资源
......
云计算是一个模型,这个模型可以方便地按需访问一个可配置的计算资源(例如,网络、服务器、存储设备、应用程序以及服务)的公共集。这些资源可以被迅速提供并发布,同时最小化管理成本或服务提供商的干涉。云模型由五个基本特征、三个服务模型和四个发布模型组成,如此使以上成为可能。
1.按需自助服务
视客户需要,可以从每个服务提供商那里单方面地向客户提供计算能力,譬如,服务器时间和网络存储,而这些是自动进行无需干涉的
2.广泛的网络访问
具有通过规范机制网络访问的能力,这种机制可以使用各种各样的瘦和胖客户端平台(例如,携带电话、笔记本电脑以及PDA)
3.资源共享
提供商提供的计算资源被集中起来通过一个多客户共享模型来为多个客户提供服务,并根据客户的需求,动态地分配或再分配不同的物理和虚拟资源。有一个区域独立的观念,就是客户通常不需要控制或者需要知道被提供的资源的确切的位置,但是可能会在更高一层的抽象(例如,国家、州或者数据中心)上指定资源的位置。资源的例子包括存储设备、数据加工、内存、网络带宽和虚拟机等
4.快速的可伸缩性
具有快速地可伸缩性地提供服务的能力。在一些场景中,所提供的服务可以自动地,快速地横向扩展,在某种条件下迅速释放、以及快速横向收缩。对于客户来讲,这种能力用于使所提供的服务看起来好象是无限的,并且可以在任何时间、购买任何数量
5.可度量的服务
云系统通过一种可计量的能力杠杆在某些抽象层上自动地控制并优化资源以达到某种服务类型(例如,存储、处理、带宽以及活动用户帐号)。资源的使用可以被监视和控制,通过向供应商和用户提供这些被使用服务报告以达到透明化
1.软件即服务 (SaaS)
客户所使用的服务商提供的这些应用程序运行在云基础设施上。这些应用程序可以通过各种各样的客户端设备所访问,通过瘦客户端界面像WEB浏览器(例如,基于WEB的电子邮件)。客户不管理或者控制底层的云基础架构,包括网络、服务器、操作系统、存储设备,甚至独立的应用程序机能,在可能异常的情况下,限制用户可配置的应用程序设置
2.平台即服务 (PaaS)
客户使用云供应商支持的开发语言和工具,开发出应用程序,发布到云基础架构上。客户不管理或者控制底层的云基础架构,包括网络、服务器、操作系统或者存储设备,但是能控制发布应用程序和可能的应用程序运行环境配置
3.架构即服务 (IaaS)
向客户提供处理、存储、网络以及其他基础计算资源,客户可以在上运行任意软件,包括操作系统和应用程序。用户不管理或者控制底层的云基础架构,但是可以控制操作系统、存储、发布应用程序,以及可能限度的控制选择的网络组件(例如,防火墙)
1.私有云(使用计费)
云基础架构被一个组织独立地操作,可能被这个组织或者第三方机构所管理,可能存在于某种条件下或者无条件存在。
2.社区云
云基础架构被几个组织所共享,并且支持一个互相分享概念(例如,任务、安全需求、策略和切合的决策)的特别的社区。可能被这些组织或者第三方机构所管理,可能存在于某种条件下或者无条件存在。
3.公有云
云基础架构被做成一般公共或者一个大的工业群体所使用,被某个组织所拥有,并出售云服务。
4.混合云(公有云,私有云)
云基础架构是由两个或者两个以上的云组成,这些云保持着唯一的实体但是通过标准或者特有的技术结合在一起。这些技术使得数据或者应用程序具有可移植性。(例如,在云之间进行负载平衡的Cloud Bursting技术)(硬件资源超负荷)
1.IaaS(基础结构即服务)提供底层的硬件资源,环境
提供底层IT基础设施服务,包括处理能力,存储空间,网络资源等
面向对象一般是IT管理人员
2.PaaS(平台即服务)
把安装好开发环境的系统平台作为一种服务通过互联网提供给用户
面向对象一般是开发人员,软件工程师
3.SaaS(软件即服务)
直接通过互联网为用户提供软件和应用程序等服务
面向对象一般是普通用户
NASA(美国国家航空航天局)和Rackspace共同发起
以Apache许可证授权的自由软件和开发源代码项目
为公有云及私有云的建设与管理提供软件的开源项目
覆盖了网络,虚拟化,操作系统,服务器等各个方面
OpenStack 是一系列开源工具(或开源项目)的组合,主要使用池化虚拟资源来构建和管理私有云及公共云。其中的六个项目主要负责处理核心云计算服务,包括计算、网络、存储、身份和镜像服务。还有另外十多个可选项目,用户可把它们捆绑打包,用来创建独特、可部署的云架构。
服务 项目名称 描述
Compute Nova 负责实例生命周期的管理,计算资源的单位。对Hypervisor进行屏蔽,支持多种虚拟化技术(红帽默认为KVM),支持横向扩展
(计算服务)
Network Neutron 负责虚拟网络的管理,为实例创建网络的拓扑结构。是面向租户的网络管理,可以自己定义自己的网络,各个租户之间互不影响
(网络服务)
Identity Keystone 类似于LDAP服务,对用户、租户和角色、服务进行认证与授权,且支持多认证机制
(身份认证服务)
Dashboard Horizon 提供一个Web管理界面,与OpenStack底层服务进行交互
(控制面板服务)
Image Service Glance 提供虚拟机镜像模板的注册与管理,将做好的操作系统拷贝为镜像模板,在创建虚拟机时直接使用,可支持多格式的镜像
(镜像服务)
Block Storage Cinder 负责为运行实例提供持久的块存储设备,可进行方便的扩展,按需付费,支持多种后端存储
(块存储服务)
Object Storage Swift 为OpenStack提供基于云的弹性存储,支持集群无单点故障
(对象存储服务)
Telemetry Ceilometer 用于度量、监控和控制数据资源的集中来源,为OpenStack用户提供记账途径
(计量服务)
1.控制性:
完全开源的平台,提供API接口,方便与第三方技术集成
2.兼容性:
OpenStack兼容其它公有云,方便用户进行数据迁移
3.可扩展性:
模块化设计,可以通过横向扩展,增加节点,增加资源
4.灵活性:
根据自己的需要建立相应基础设施,增加集群规模
5.行业标准:
众多IT领军企业已经加入到OpenStack项目
环境需求
CentOS 7.6 系统
CPU:双核双线程,开启虚拟化功能(关机开启)
内存:8G
硬盘:40G+300G
网卡:NAT模式
创建时修改为eth0网卡:在安装页面开始时,按tab键输入net.ifnames=0 biosdevname=0,可完成操作。
在安装页面开始时,按tab键输入net.ifnames=0 biosdevname=0,可完成修改为eth0网卡。
注意:在安装部署时选择最小化安装,不选择图形化界面
查看修改后的网卡信息
[root@localhost ~]# hostnamectl set-hostname openstack
[root@localhost ~]# su
连接CD光盘
[root@openstack ~]# df -Th
[root@openstack ~]# mount /dev/cdrom /mnt
[root@openstack ~]# df -Th
[root@openstack ~]# systemctl stop firewalld
[root@openstack ~]# setenforce 0
[root@openstack ~]# systemctl disable firewalld
[root@openstack ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
[root@openstack ~]# grep -v "#" /etc/selinux/config
[root@openstack ~]# cd /etc/yum.repos.d/
[root@openstack yum.repos.d]# ls -lh
[root@openstack yum.repos.d]# mkdir backup 创建目录
[root@openstack yum.repos.d]# mv C* backup
[root@openstack yum.repos.d]# ls -lh
[root@openstack yum.repos.d]# curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
[root@openstack yum.repos.d]# ls -lh
[root@openstack yum.repos.d]# cd
安装软件(可以使用ifconfig命令)
[root@openstack ~]# yum -y install net-tools
[root@openstack ~]# ifconfig
[root@openstack ~]# yum -y install ntpdate
[root@openstack ~]# ntpdate ntp.aliyun.com 与阿里云时间同步
[root@openstack ~]# date 查看当前日期时间
[root@openstack ~]# crontab -e 任务计划
*/30 * * * * /usr/sbin/ntpdate ntp.aliyun.com
分钟 小时 日期 月 星期
[root@openstack ~]# yum -y install centos-release-openstack-train
平台
[root@openstack ~]# yum clean all 清除缓存
[root@openstack ~]# yum makecache 建立缓存
下载OpenStack管理工具包,在线部署OpenStack
[root@openstack ~]# yum -y install openstack-packstack
[root@openstack ~]# packstack --allinone 一键化部署
[root@openstack ~]# ip addr 查看所有ip地址,虚拟网卡地址
[root@openstack ~]# vi keystonerc_admin
export OS_USERNAME=admin 用户名
export OS_PASSWORD='51036b238a794226' 密码
在浏览器上 http://20.0.0.100/dashboard
通过openstack平台的的部署搭建,可以更加直观的构建和管理私有云和公有云,及服务设置内容情况。