目录

前言

一直以来对Openstack都是心存向往的,大学的毕业设计题目也是《Openstack Dashboard的页面定制》,还以此获得了当年的优秀毕业论文。从学生年代懵懂的将技术方向定位为系统架构到逐渐转型踏上Openstack开发之路,走的磕磕碰碰,总得来说还是希望能为Openstack做出一些自己的贡献。即便微不足道,我想这正正就是开源的魅力和力量吧。

Openstack系列博文会从最基本的部署 –> 组件功能实现原理 –> 源码解析这么个由浅入深的过程来记录。

软件环境

  • 系统

    • CentOS 7
  • 软件版本
    • VMware 10
    • Openstack-kilo

Openstack 简介

What’s Openstack ?

这个问题,我相信没有任何人能够比Openstack官网给出更好的答案。点这里



原文:OpenStack is a cloud operating system that controls large pools of compute, storage, and networking resources throughout a datacenter, all managed through a dashboard that gives administrators control while empowering their users to provision resources through a web interface.

粗译:Openstack是一个控制着大量计算能力、存储、乃至于整个数据中心网络资源的云操作系统,通过Dashboard这个Web界面,让管理员可以控制、赋予他们的用户去提供资源的权限(即:能够通过Dashboard控制整个Openstack云计算平台的运作)。

Openstack 架构

Openstack的发展非常快,而且由于其开源的本质,所以导致了即便是前后相隔的两个不同版本,也可能会出现比较大的区别。所以在我们初习Openstack的时候,应该考虑从一个体系相对成熟,资料相对丰富的版本入手。当然如果你拥有良好的英文阅读习惯的话,Openstack的官网就提供了非常完善的最新版本的文档资料。

本篇是Openstack系列的开篇,所以先对Openstack整体架构做一个粗略的了解。

部署Openstack的方法有很多,官方文档Step by Step、Fuel在线安装、Devstack、镜像、RDO库等等。当然如果希望更好的理解Openstack各组件的功能和关系的话,按照官方文档来一步步部署将会是一个非常不错的选择。点这里

OpenStack组件

  • Compute (Nova) 计算服务
  • Identity Service (Keystone) 认证服务
  • Image Service (Glance) 镜像服务
  • Networking (Neutron/Quantum) 网络服务
  • Dashboard (Horizon) 仪表板
  • Object Storage (Swift) 对象存储
  • Block Storage (Cinder) 块存储
  • Orchestration (Heat) 编排
  • Telemetry (Ceilometer) 监控
  • Database Service (Trove) 数据库服务
  • Data Processing (Sahara) 数据处理

Openstack Install Overview

硬件参数

这是官方给出的Example architecture,因为我们的实验环境是VMware,所以会对架构规划作出相应的修改,如下:

Node 拓扑



这是一个相对接近生产环境的拓扑图,涉及到虚拟专用网络、高可用、主从备份、负债均衡等架构思想。

IPAddress 规划

  • Managerment Network on 192.168.1.0/24 with Gateway 192.168.1.1
  • Instance Tunnels Network on 172.16.0.0/24 with Gateway 172.16.0.1

Hostname

controller.jmilk.com                192.168.1.5
network.jmilk.com 192.168.1.6
compute1.jmilk.com 192.168.1.10
compute2.jmilk.com 192.168.1.11
block1.jmilk.com 192.168.1.20
block2.jmilk.com 192.168.1.21
object1.jmilk.com 192.168.1.31
object2.jmilk.com 192.168.1.32

创建Node虚拟机

在VMWare上至少创建Controller、Compute1、Network三个核心组件Node。如果条件允许的话最好能够按照Node拓扑来创建Node。

这一节的内容在每一个Node上都需要进行

推荐硬件参数

  • Controller Node: 2 CPU, 8 GB memory, and 100 GB storage,1 NIP
  • Network Node: 2 CPU, 4 MB memory, and 100 GB storage,3 NIP
  • Compute Node: 4 CPU, 8 GB memory, and 100 GB storage,2 NIP

最低要求

  • Controller Node: 1 processor, 4 GB memory, and 5 GB storage
  • Compute Node: 1 processor, 2 GB memory, and 10 GB storage

环境准备

所有Node都需要执行环境准备的操作

基础设置

Step1:关闭防火墙

systemctl mask iptables.service
systemctl mask ip6tables.service
systemctl mask ebtables.service
systemctl mask firewalld.service

Step2:设置主机名

hostnamectl set-hostname NEW_HOSTNAME 

Step3:关闭Selinux

Step4:按照IPAddress规划来设置staticIP

注意:当需要联网下载RDO库时,可以将虚拟机的网络选为桥接

Example: Controller Node

nmcli connection modify eno16777736 ipv4.addresses "192.168.1.5/24 192.168.1.1" ipv4.dns "202.106.195.68,202.106.46.151" ipv4.method manual

这样就可以连接到外网,在VMWare中卫虚拟机添加多网卡的配置,可以参考CentOS7 修改网卡名称为eth0 & 在VMWare中添加多网卡配置

Install OpenStack预备包

#1. 安装yum-plugin-priorities包,防止高优先级软件被低优先级软件覆盖
yum install yum-plugin-priorities #2. 安装EPEL扩展yum源,是一个RHEL系列的高质量软件源,可能版本号会被修改
yum install http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-6.noarch.rpm #3. 安装extras repository 和 RDO repository
yum install centos-release-openstack-mitaka
yum install https://rdoproject.org/repos/rdo-release.rpm #4. 更新系统
yum update -y #5. 重启系统
reboot #6. 安装openstack-selinux自动管理SELinux
yum install openstack-selinux #7. 安装Openstack client
yum install python-openstackclient -y

最后

本篇是Openstack系列的开篇、也是部署Openstack的前期准备,希望能在一个月之内完成Openstack部署系列的记录。有兴趣学习交流的朋友,不妨点个关注。 Hope you enjoy :)

Openstack组件部署 — Overview和前期环境准备的更多相关文章

  1. Openstack组件部署 — Nova overview

    目录 目录 前文列表 前言 Compute service overview Nova 的组件 nova-api service nova-api-metadata service nova-comp ...

  2. Openstack组件部署 — keystone(domain, projects, users, and roles)

    目录 目录 前文列表 Create a domain projects users and roles domain projects users and roles的意义和作用 Create the ...

  3. Openstack组件部署 — Keystone Install & Create service entity and API endpoints

    目录 目录 前文列表 Install and configure Prerequisites 先决条件 Create the database for identity service 生成一个随机数 ...

  4. Openstack组件部署 — Keystone功能介绍与认证实现流程

    目录 目录 前文列表 Keystone认证服务 Keystone认证服务中的概念 Keystone的验证过程 简单来说 前文列表 Openstack组件部署 - Overview和前期环境准备 Ope ...

  5. Openstack组件部署 — Networking service_Compute Node

    目录 目录 前文列表 安装组件 配置通用组件 配置自服务网络选项 配置Linux 桥接代理 配置Nova使用网络 完成安装 验证操作Execute following commands on Cont ...

  6. Openstack组件部署 — Networking service_安装并配置Controller Node

    目录 目录 前文列表 前提条件 网络环境 完成下面的步骤以创建数据库 创建service credentials服务凭证 创建Neutron的API Endpoints 配置自服务网络 安装网络组件 ...

  7. Openstack组件部署 — Netwotking service组件介绍与网络基本概念

    目录 目录 前文列表 Openstack Networking serivce 基本的Neutron概念 Neutron的抽象对象 网络networks 子网subnets 路由器routers 端口 ...

  8. Openstack组件部署 — Nova_Install and configure a compute node

    目录 目录 前文列表 Prerequisites 先决条件 Install and configure a compute node Install the packages Edit the etc ...

  9. Openstack组件部署 — Nova_安装和配置Controller Node

    目录 目录 前文列表 Prerequisites 先决条件 To create the databases To create the service credentials Create the C ...

随机推荐

  1. 建站手册-浏览器信息:苹果 Safari 浏览器

    ylbtech-建站手册-浏览器信息:苹果 Safari 浏览器 1.返回顶部 1. http://www.w3school.com.cn/browsers/browsers_safari.asp 2 ...

  2. jenkins实现master变化时,才触发构建(过滤分支)

    现状:现在是这样的,每个开发push时,都触发jenkins进行构建 期望:只有当代码被push到master时才进行构建 (根据使用的git平台)做这些配置需要先了解一些概念: (github) p ...

  3. SQL 交叉连接与内连接

    交叉连接 ,没有任何限制方式的连接. 叫做交叉连接. 碰到一种SQL 的写法. select * from  t1,t2 .     这其实是交叉连接 .   t1  是三条 ,  t2 是两条.  ...

  4. "New page after" by code

    Hi. There is a method for starting of the new page in the EngineV2: Engine.NewPage(); You can call i ...

  5. 洛谷 P1111 修复公路——并查集

    先上一波链接qwq https://www.luogu.org/problem/P1111 这题就是裸的并查集咯qwq 维护一下连通块的数目 数目变为一的时候整个图就连通了 输出此时的答案就okay拉 ...

  6. List集合--Vector子类

    Vector子类 Vector是一个原始古老的程序类,这个类是在JDK1.0的时候就提供的,而后到了JDK1.2的时候,由于有一部分开发者已经习惯于使用Vector,并且许多的系统类也是基于Vecto ...

  7. 分布式系统架构常识:CAP理论。

    什么是CAP理论? 2000年7月,加州大学伯克利分校的Eric Brewer教授在ACM PODC会议上提出CAP猜想.2年后麻省理工学院的Seth Gilbert和NancyLynch从理论上证明 ...

  8. C++异常处理的深入理解

    1,问题: 1,如果在 main 函数中抛出异常会发生什么? 1,不处理,则崩溃: 2,如果异常不处理,最后会传到哪里? 3,下面的代码输出什么? 4,异常的最终处理编程实验: #include &l ...

  9. OKVIS框架之前端

    1. 数据流入 在okvis_app_sychronous.cpp内,把IMU和图像数据加入到各自的队列里.由ThreadedKFVio负责队列的各种操作.作者对队列加了特殊功能,保证队列是线程安全的 ...

  10. java 调用DB2 SYSPROC.ADMIN_CMD存储过程导出数据

    import java.sql.CallableStatement; import java.sql.Connection; import java.sql.DriverManager; import ...