云计算概述
- 概念
- 侠义的云计算是指IT基础设施的交付和使用模式
- 广义的云计算是指服务的交付和使用模式
- 云计算资源
- 网络资源
- 存储资源
- 计算资源
云计算的服务模型
- IaaS(基础架构即服务)
- IaaS 提供最底层的 IT 基础设施服务,包括处理能力、存储空间、网络资源等。用户可以从中获取硬件或者虚拟硬件资源(包括裸机或者虚拟机),之后可以给申请到的资源安装操作系统和其他应用程序。
- 一般面向的对象是 IT管理人员。
- PaaS(平台即服务)
- PaaS 是把已经安装好开发环境的系统平台作为一种服务通过互联网提供给用户。用户可以在上面安装其他应用程序,但不能修改已经安装好的操作系统和运行环境。
- 一般面向的对象是开发人员,需要了解平台提供环境下的应用开发和部署。
- SaaS(软件即服务)
- SaaS 可直接通过互联网为用户提供软件和应用程序等服务。用户可以通过租赁的方式获取安装在厂商或者服务供应商那里的软件。
- 一般面向的对象是普通用户,最常见的模式是提供给用户一组账号和密码。
什么是OpenStack
OpenStack 是一个通过数据中心控制计算资源、存储资源和网络资源的云平台。同时它又是一款开源软件,以 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 用户提供记账途径。 |
OpenStack优势
在控制性、兼容性、可扩展性、灵活性方面具备有优势,它可能成为云计算领域的行业标准。 控制性:完全开源的平台,模块化的设计,提供相应的
- API 接口,方便与第三方技术集成,从而满足自身业务需求。
- 兼容性:OpenStack 兼容其他公有云,方便用户进行数据迁移。
- 可扩展性:Openstack 采用模块化的设计,支持主流的Linux 发行版本,可以通过横向扩展,增加节点、添加资源。
- 灵活性:用户可以根据自己的需要建立基础设施,也可以轻松地为自己的群集增加规模。Openstack 项目采用 Apache2 许可,意味着第三方厂家可以重新发布源代码。
- 行业标准:众多 IT 领军企业都加入到 OpenStack 项目,意味着 OpenStack 在未来可能形成云计算行业标准。
OpenStack一键部署
资源列表
操作系统 | IP | cpu | 内存 |
Centos7 | 192.168.10.51 | 支持虚拟化的4核 | 8GB |
准备虚拟机
更改时区为上海
timedatectl set-timezone Asia/Shanghai
date
更改主机名
hostnamectl set-hostname openstack
检查是否支持虚拟化
grep -e 'vmx' -e 'svm' /proc/cpuinfo
更新系统并安装常用软件
yum -y update
yum -y install vim wget net-tools lrzsz
关闭防火墙,禁用NetworkManager,禁用Selinux
systemctl stop firewalld
systemctl disable firewalld
systemctl stop NetworkManager
systemctl disable NetworkManager
setenforce 0
sed -i 's/^SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config
添加hosts解析
echo '192.168.10.51 openstack' >> /etc/hosts
//如果不绑host,在创建云主机之后无法通过控制台方式访问云主机
使用 packstack 一键在线部署OpenStack
完成环境准备之后,通过 packstack 工具部署 OpenStack。packstack 是自动部署 OpenStack 的工具,通过它可以帮助管理员完成 OpenStack 的自动部署。
首先通过 YUM 源安装 packstack 工具, 然后利用 packstack 工具一键部署OpenStack
yum源安装
yum install -y centos-release-openstack-train
Packstack软件包安装
yum install -y openstack-packstack
Packstack 一键部署 OpenStack
管理员只需在控制台上输入一条命令, 所有的工作皆由 packstack自动完成, packstack 工具会将所有的 OpenStack 组件部署到同一台服务器中。在实际工作中, 考虑到负载分担以及冗余, 建议将 OpenStack组件分别部署到不同的服务器中
packstack --allinone
#等待即可
Testing if puppet apply is finished: 192.168.10.51_controller.pp [ / ]
#successfully即表示成功
**** Installation completed successfully ******
可以访问http://192.168.10.51/dashboard
修改网卡配置文件
cat >> /etc/sysconfig/network-scripts/ifcfg-br-ex << EOF
TYPE=Ethernet
BOOTPROTO=none
NAME=br-ex
DEVICE=br-ex
ONBOOT=yes
IPADDR=172.24.4.1
PREFIX=24
EOF
查看云平台的账户密码
cat /root/keystonerc_admin
unset OS_SERVICE_TOKEN
export OS_USERNAME=admin
export OS_PASSWORD='7c6f3ef7a9b94e80'
export OS_REGION_NAME=RegionOne
export OS_AUTH_URL=http://192.168.10.51:5000/v3
export PS1='[\u@\h \W(keystone_admin)]\$ '
export OS_PROJECT_NAME=admin
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_DOMAIN_NAME=Default
export OS_IDENTITY_API_VERSION=3
#账户为admin,密码为7c6f3ef7a9b94e80
http://192.168.10.51/dashboard