目录
三,使用 packstack一键在线部署 OpenStack
四,使用 packstack一键离线部署 OpenStack
一,云计算概述
相信大家都听到很多的阿里云、腾讯云、百度云等等这些词,那到底什么是云计算?云计算又能做什么?
1,什么是云计算
云计算(coud computing)是一种基于网络的超级计算模式,基于用户的不同需求,提供所需的资源,包括计算资源、存储资源、网络资源等。云计算服务运行在若干台高性能物理服务器之上,提供每秒 10 万亿次的运算能力,可以用于模拟核炸、预测气候变化以及市场发展趋势。
云计算有广义和狭义之分。
狭义的云计算是指通过网络按需向用户提供 T 基础设施,包括硬件、平台和软件,提供资源的网络被称为“云"。在使用者看来,“云"中的资源是无限大的,无论需要多少资源,云都可以提供。而在云端,所有的资源都可以通过横向进行扩展,如同使用水电、煤气一样,以用电为例,如果用户自行发电,那么用户需要维护一台发电机,定期加油,出现问题需要维修。而如果使用公共电网,用户不需要知道发电厂在哪里、怎么发电等问题,只需要按需付费使用就可以,多用多付,少用少付。在用户看来,电的资源是无限的。 |
广义的云计算是指服务的交付和使用模式,通过网络以按需、易扩展的方式获得所需的服务。这种服务可以是 「和软件、互联网相关的,也可以是任意其他的服务。 |
云计算是一种模型,提供无论在何时何地都可以便捷获取所需资源的模型,并够让用户根据需要快速创建应用,并且在不需要时进行资源释放。
现在云计算技术已经日渐成熟,很多企业已经拥有自己的私有云,而掌提这种技术的人才也更为抢手。目前,云计算使用最广泛的是开源项目 OpenStack。经过多个版本的开发更新,现在已经到T版。作为云计算项目之一的 OpenSlack 也受到各个企业的青睐,成为大家搭建私有云的首迹。
2,云计算的服务模型
云计算模型中有 laaS(Infrastruclure as aService,基础架构即服务)、PaaS(PlatformasaService,平台即服务)、SaaS(Software asaService,软件即服务)三种基本服务模型。
(1)laaS
laaS 提供最底层的 「基础设施服务,包括处理能力、存储空间、网络资源等。用户可以从中获取硬件或者虚拟硬件资源(包括裸机或者虚拟机),之后可以给申请到的资源安装操作系统和其他应用程序。一般面向的对象是TT管理人员。
(2)PaaS
PaaS 是把已经安装好开发环境的系统平台作为一种服务通过互联网提供给用户。用户可以在上而安装其他应用程序,但不能修改已经安装好的操作系统和运行环境。一般而向的对象是开发人员,需要了解平台提供环境下的应用开发和部署。
(3)SaaS
SaaS 可直接通过互联网为用户提供软件和应用程序等服务。用户可以通过租赁的方式获取安装在厂商或者服务供应商那里的软件。一般面向的对象是普通用户,最常见的模式是提供给用户一组账号和密码。
3, 0penStack 概述
(1)0penstack 起源
OpenStack 是 Rackspace(一家美国的云计算厂商)和美国国家航空航天局(National Aeronautics and Space Administration,简称NASA)在 2010年7月共同发起的项目。由 Rackspace 贡献存储源码(Switt)、NASA贡献计算源码(Nova)。
(2)什么是0penstack
OpenStack 是一个通过数据中心控制计算资源、存储资源和网络资源的云平台。同时它又是一款开源软件,以 Apache 许可证授权的自由软件和开放源代码项目,支持所有类型的云环境。OpenStack的目标是提供简单实施、可扩展以及丰富功能集的云产品,来自全世界的云计算专家共同维护该云项目。OpenStack通过多种补充服务提供了laaS 解决方案每一种服务均提供了相应的应用程序接口(Application Programming Interface,简称 API),以促进各组件之间的整合,
OpenStack 被用来提供公有云以及私有云的建设以及管理。作为一个开源项目,其社区规模涌盖 130 家企业以及 1350 位开发人员。这些机构与个人都将 OpenSlack 作为laaS资源的通用前端。
OpenStack 覆盖了网络、虚拟化、操作系统、服务器等各个方面。2019 年 10 月OpenStack 发布了最新版本 Train。一般情况下,OpenStack 每半年左右更新一次版本。表1-1 中列出了 OpenStack 常见的8个核心项目(即 OpenStack 服务)。
服务 | 项目名称 | 描述 |
Compute (计算服务) |
Nova | 负责实例生命周期的管理,计算资源的单位。对Hyperisor进行屏蔽,支持多种虚拟化技术(红帽默认为 KVM),支持横向扩展。 |
Network (网络服务) |
Neutron | 负责虚拟网络的管理,为实例创建网络拓扑结构。是面向租户的网络管理,可以自定文网络。并使租户之间互不影响。 |
ldentity (身份认证服务) |
Keystone | 类似于 LDAP 服务。对用户、租户和角色、服务进行认证与授权,并且支持多认证机制。 |
Dashboard (控制面板服务) |
Horizon |
提供一个 Web 管理界面,与 OpenSiack 底层服务进行交瓦, |
Image Service (镜像服务) |
Gine | 提供虚拟机镜像模板的注册与管理,将做好的操作系统复制为镜像模板,在创建虚拟机时直接使用。可支持多格式的镜像。 |
Block slorage (块存储服务) |
Cinder | 负责为运行实例提供持久的块存储设备,可进行方便的扩展,按需付费,支持多种后端存储。 |
Obledt Storage (对象存储服务) |
Swift | 为 OpenSlack 提供基于云的弹性存储,支持集群无单点故障 |
Telemetry (计最服务) |
Ceilometer | 用于度量、监控和控制数据资源的集中来源,为OpenStac*用户提供记账途径。 |
(3)OpenStack优势
OpenStack 在控制性、兼容性、可扩展性、灵活性方面具备有优势,它可能成为云计算领域的行业标准。
控制性: | 完全开源的平台,模块化的设计,提供相应的API接口,方便与第三方技术集成,从而满足自身业务需求。 |
兼容性: | OpenStack兼容其他公有云,方便用户进行数据迁移。 |
可扩展性: | Openstack采用模块化的设计,支持主流的Lnux 发行版本,可以通过横向扩展,增加节点、添加资源。 |
灵活性: | 用户可以根自己的需要建立基础设施,也可以轻松地为自己的群集增加规模。Openslack 项目采用 Apache2 许可,意味着第三方厂家可以重新发布源代码。 |
行业标准: | 众多IT领军企业都加入到 OpenStack 项目,意味着 OpenStack 在未来可能形成云计算行业标准。 |
二,OpenStack一键部署
本章使用 packstack 工具实现一键部署 OpenSlack。通过该安装工具,只需简单运行一条命令,即可快速部署 OpenSlack,省去繁琐的安装步骤,直接体验 OpenStack的管理及使用。
1,环境介绍
(1)本章实验案例
本案例需要提前部署一台新安装操作系统的主机,要求能访问互联网,主机的系统只需采用最小化方式安装。若通过 VMware 等虚拟机软件实现,网络采用桥接模式。
本章使用操作系统为 CentOS 7.3的主机。表 1-2 是安装部署 OpenStack 环境的硬件设备最低配置要求。
(2)实验需求
本章后续实验步骤用于实现以下需求:
(1)使用 packstack一键部署 OpenStack.
(2)创建云主机(OpenStack中的虚拟机)。
(3)实现思路
本章案例的实现思路大致如下;
(1)安装前的准备工作。
(2)使用packstack键部署 OpenStack.
(3)通过 Dashboard 体验 OpenStack 功能,
2,在线安装前准备工作
正式部署 OpenSlack 之前,首先要准备如下环境。
(1)准备虚拟机
实验所需虚拟机可以通过 VMware 等软件实现。虚拟机需要配置静态 IP 地址、网关及 DNS 参数,并测试网络连通性(具体过程略)。不过在配置IP 地址的时候不要有“DOMAIN=x.x.x.x"这一行,因为这会影响 nova 配置文件内 host 的配置项,从而导致可用域不可用,无法创建虚拟机。后面离线部署也要注意此问题。
(2)修改主机名
hostnamectl set-hostname openstack
bash
(3)更新系统并安装常用软件
yum -y update
yum -y install vim wget net-tools lrzsz
(4)关闭防火墙并取消开机启动
systemctl stop flrewalld
systemctll disable flrewalld
(5)禁用NetworkManager
systemctl stop NetworkManager
systemctl disable MetworkManager
(6)禁用Selinux
cat /etcisysconfig/selinux
(7)添加 hosts 绑定
cat /etc/hosts
三,使用 packstack一键在线部署 OpenStack
完成环境准备之后,通过 packstack 工具部署 OpenSlack。packslack 是自动部署 OpenStack 的工具,通过它可以帮助管理员完成 OpenStack 的自动都署。
首先通过 YUM 源安装 packslack 工具,然后利用 packstack 工具一键部署OpenStack,其体操作步骤如下所示。
1,Train 版 YUM 源安装
最小化安装 CentOs 7.3 的操作系统执行 update 升级之后,操作系统就会被升级到 CentOs 7.7 版本。系统默认会提供 CentOS 的官方 YUM 源,在源中包含了目前支持的 OpenStack 四个版本,分别是:Queens、Rocky、Stein、Train。本章案例选择安装 Train 版本。
yum install .y centos.release -openstack-train
Train 版本的 OpenStack 安装源部署完成之后,在/etc/yum.repos.d/日录下会自动生成 YUM 配置文件。
2,Packstack 软件包安装
完成 YUM 源配置之后,通过 YUM 安装 openstack-packstack 软件包。
yum install y openstack-packstack
3,Packstack一键部署 OpenStack
管理员只需在控制台上输入一条命令,所有的工作皆由packstack 自动完成,packstack 工具会将所有的 OpenStack 组件部署到同一台服务器中。在实际工作中,考虑到负载分担以及冗余,建议将OpenStack组件分别部署到不同的服务器中,请留意后续章节关于 OpenStack 多节点安装部分内容。
OpenStack 安装只需执行以下命令即可。当界面中出现"successfully"时,说明OpenStack安装成功。
packstack --allinone
至此,OpenStack 安装已完成。控制台消息的最后部分提示了环境变量文件与日志文件的位置,以及登录 Dashboard 的方法。根据提示在浏览器中输入 http://主机 IP地址/dashboard,即可登录 OpenStack 的 Horizon Web 界面进行相关操作。Horizon可以与每个 OpenStack 项目 API进行通信,所以使用此 Web 界面可以执行大部分任务
4,离线安装前准备工作
如果网络较慢,无法通过 packstack完成在线安装 OpenStack,可使用如下离线方式安装 OpenStack。首先要准备如下环境。
(1)虚拟机准备
虚拟机的准备跟在线安装 OpenStack 类似。IP 地址配置如下所示。
cat /etcisysconflginetwork-scrlpts/ifcfg-ens33
另外,虚拟机的磁盘空间要确保大于30G,以 40G 为宜,因为要存放高包
(2)修改主机名
hostnamectl set-hostname openstack
bash
(3)安装常用软件并更新系统
yum ·y install vim wget net-tools lrzsz createrepo yum-utils
yum -y update
(4)关闭 firewalld 防火墙并取消开机启动
systemctl stop firewalld
systemctl disable firewalld
(5)关闭 NetworkManager 并取消开机启动
systemctl stop NetworkManager
systemctl disable NetworkManagei
(6)禁用 Selinux
sed -i "^SELINUX=/s/enforcingldisabled!" /etc/selinuxconfig
setenforce 0
getenforce
(7)添加 hosts 绑定
cat /etc/hosts
四,使用 packstack一键离线部署 OpenStack
离线部署的基础环境准备好之后,接下来通过 packstack 部署 OpenStack。首先需要上传离线包并构建离线安装源,然后通过离线 YUM 源安装 packstack 工具,最后利用 packstack 工具实现一键离线部署 OpenStack。具体操作步骤如下所示。
1,上传并解压 Train 版离线安装包
mkdir /dala && cd /data
tar zxf openstack.tgz
ll
2,配置本地 YUM 源
cd e/tc/yum.repos.d/
mkdir backup
mv *.repo backup/
vim local.repo
本章中将 OpenStack 本地离线 YUM 源直接放到服务器内。如果是多人同时实验,可单独架设一台 Web 服务器用于存放这些离线包,相应的 local.repo 配置文件内地址需要改为 Web 服务器下高线包的路径地址。
3,更新 YUM 源数据
createrepo /data/base/
createrepo /data'centos-ceph-nautilus/
createrepo /data'centos-nfs-ganesha28
createrepo /datalcentos openstack-train/
createrepo /data/centos-qemu-ew/
createrepo /data/extras/
createrepo /data/openstack-train/
createrepo /datalrdo-qemu-ev/
createrepo /data/up dates/
4,安装openstack-packstack
yum -y install openstack-packstack
5,一键部署 OpenStack
完成前面的离线准备后,就可以使用 packstack 工具开始一键部署 OpenStack软件。
packstack --allinone
部署完成之后,仿照上而在线部署,生成对应的 br-ex网桥配置文件。
至此,OpenStack的部署已经完成。可根据控制台提示的消息,登录Dashboard实现对 OpenStack 各种资源的管理。