OpenStack讲解和实例
云计算的服务模型
云计算模型中有 IaaS(Infrastructure as a Service,基础架构即服务)、PaaS(Platformas a Service,平台即服务)、SaaS(Software as a Service,软件即服务)三种基本服务模型。
IaaS
IaaS 提供最底层的 IT 基础设施服务,包括处理能力、存储空间、网络资源等。用户可以从中获取硬件或者虚拟硬件资源(包括裸机或者虚拟机),之后可以给申请到的资源安装操作系统和其他应用程序。一般面向的对象是IT管理人员。
PaaS
PaaS 是把已经安装好开发环境的系统平台作为一种服务通过互联网提供给用户。用户可以在上面安装其他应用程序,但不能修改已经安装好的操作系统和运行环境。一般面向的对象是开发人员,需要了解平台提供环境下的应用开发和部署。
SaaS
SaaS 可直接通过互联网为用户提供软件和应用程序等服务。用户可以通过租赁的方式获取安装在厂商或者服务供应商那里的软件。一般面向的对象是普通用户,最常见的模式是提供给用户一组账号和密码。
常见的 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 优势
OpenStack 在控制性、兼容性、可扩展性、灵活性方面具备有优势,它可能成为云计
算领域的行业标准。
- 控制性:完全开源的平台,模块化的设计,提供相应的 API 接口,方便与第三方技术集成,从而满足自身业务需求。
- 兼容性:OpenStack 兼容其他公有云,方便用户进行数据迁移。
- 可扩展性:Openstack 采用模块化的设计,支持主流的 Linux 发行版本,可以通过横向扩展,增加节点、添加资源。
实验
准备一台8G,8核,最少30G磁盘的机器
1.修改主机名
hostnamectl set-hostname openstack
bash
2.更新系统并安装常用软件
yum -y update
yum -y install vim wget net-tools lrzsz
3.关闭防火墙(线上环境不能关闭)并取消开机启动
systemctl stop firewalld
systemctl disable firewalld
4.禁用NetworkManager
systemctl stop NetworkManager
systemctl disable NetworkManager
setenforce 0
5.添加 hosts 绑定
vim /etc/hosts
192.168.10.90 openstack
6.使用packstack一键在线部署OpenStack
yum install -y centos-release-openstack-train
yum install -y openstack-packstack
7.Packstack一键部署 OpenStack
packstack --allinone
8.创建虚拟网桥 br-ex 配置文件
cd /etc/sysconfig/network-scripts/
cp ifcfg-ens33 ifcfg-br-ex
vim ifcfg-br-ex
TYPE=Ethernet
BOOTPROTO=none
NAME=br-ex
DEVICE=br-ex
ONBOOT=yes
IPADDR=172.24.4.1
PREFIX=24
ifconfig
验证一下
cd
ls
cat keystonerc_admin
把账号和密码输到一下页面
在浏览器上实例概况 - OpenStack Dashboard
点击创建网络
点击新建路由
点击my_route名称
点击添加接口
创建云主机
点击添加镜像
点击创建实例