CentOS 7.x 部署 Openstack 之基础环境 (一)

一、基础理论篇

Openstack官方网站: https://www.openstack.org/

Openstack官方文档:https://docs.openstack.org/pike/

 1.  云计算概述

1.1 云计算概念

云计算是一种按使用量付费的模式,这种模式提供可用的、便捷的、按需的网络访问, 进入可配置的计算资源共享池(资源包括网络,服务器,存储,应用软件,服务),这些资源能够被快速提供,只需投入很少的管理工作,或与服务供应商进行很少的交互。

 

1.2 云计算的分类

 

1.2.1 按设计的架构分类:

私有云(仅供内部使用,针对性设计,兼容性高,安全性高)

公有云(容量大,成本低,弹性收缩,如:阿里云、腾讯云)

混合云(私有云和公有云的结合)

按供给的方式分类:

IaaS (Infrastructure as a service)基础设施即服务

PaaS (Platform as a service)平台即服务

SaaS (Software as a service)软件即服务

 

1.3 OpenStack 概述

1.3.1 OpenStack起源

OpenStackRackspace(美国的一家云计算厂商)和美国国家航空航天局( National

Aeronautics and Space Administration,NASA)20107月共同发起的一个项目,

Rackspace贡献存储源码(Swif)NASA贡献计算源码(Nova)

1.3.2 什么是 OpenStack

OpenStack是一个通过数据中心控制计算资源、存储资源和网络资源的云平台,同时又是一款开源软件,是以 Apache许可证授权的自由软件和开放源代码项目,支持所有类型的云环境。OpenStack的目标是提供简单实施、可扩展以及丰富的功能集的云产品,由来自全世界的云计算专家共同维护云项目。 OpenStack通过多种补充服务提供了laaS解决方案,每一种服务均提供了相应的应用程序编程接口( Application Programming Interface,简称API),以促进各组件之间的整合OpenStack被用来提供公有云以及私有云的建设以及管理。

 

Openstack 覆盖了网络、虚拟化 、操作系统、服务器方面。一般情况下,Openstack 每半年左右更新一次版本。如下表列出Openstack 常见的核心项目(即Openstack 服务)

 


    服务

项目


Compute

(计算服务)

Nova

负责实例生命周期的管理,是计算资源的单位。对 Hypervisor进行屏蔽,支持多种虚拟化技术(红帽默认为KM),支持横向扩展

Network

(网络服务)

Neutron

负责虚拟网络的管理,为实例创建网络的拓扑结构。是面向租户的网络

管理,可以自定义网络,并使租户之间互不影响

Identity

(身份认证服务)

Keystone

类似于LDAP服务,对用户、租户和角色、服务进行认证与授权,并且支持多认证机制

Dashboard

(控制面板服务)

Horizon

提供一个web管理界面,OpenStack底层服务进行交互

Image

(镜像服务)

Glance

提供虚拟机镜像模板的注册与管理,将操作系统复制为镜像模板,在创建虚拟机时可直接使用。支持多格式的镜像

Block Storage

(块存储服务)

Cinder

 负责为运行实例提供持久的块存储设备,可进行方便的扩展,按需付费,支持多种后端存储

Object Storage

(对象存储服务)

Swift

OpenStack提供基于云的弹性存储,支持群集无单点故障

Telemetry

(计量服务)

Ceilometer

用于度量、监控和控制数据资源的集中来源,OpenStack用户提供记账途径

Orchestration service

Heat

自动化部署的组件

Database service

 

Trove

提供数据库应用服务

 1349539-20180707172810201-2028681586.png

      

1.4  Openstack 的构成

 

· 控制节点(负责对其余节点的控制,包含虚拟机的删除、创建、迁移、存储分配等等)

· 计算节点(负责虚拟机的运行)

· 网络节点(负责内网与外网的之间的通信)

· 存储节点(负责虚拟机的存储管理)

 

 

1.5  OpenStack的网络类型

· 管理网络(用于组件和组件之间的沟通)

· 实例网络(用于虚拟机和虚拟机之间的沟通)

· 外部网络(访问外部网络所需,外部网络都是通过neutron代理转发给虚拟机的)

 

二、实践操作篇

 

1. 基础环境安装

 

1.1 环境说明

 

 

系统

主机名

IP地址

CentOS 7.7

controller

ens33:10.0.0.129

ens37:192.168.248.140

CentOS 7.7

compute

ens33:10.0.0.130

ens37:192.168.248.141

 

 

虚拟机网卡配置
ens33 VMnet1仅主机模式
ens37 VMnet8 Nat模式


1.2 前提准备

以操作在对应节点执行

1.2.1 修改对应节点上的主机名称

[root@localhost ~]# hostnamectl set-hostname controller

[root@localhost ~]# hostnamectl set-hostname compute

1.2.2修改本地hosts文件

[root@controller ~]# vi /etc/hosts

10.0.0.129    controller 

10.0.0.130   compute

1.2.3关闭Firewallsd防火墙、IPtable防火墙、selinux、网卡守护进程

[root@controller ~]# systemctl stop firewalld

[root@controller ~]# systemctl disable firewalld

[root@controller ~]# vi /etc/selinux/config SELINUX=disabled

[root@controller ~]# setenforce 0

[root@controller ~]# systemctl stop NetworkManager

[root@controller ~]# systemctl disable NetworkManager

1.2.3时间同步的配置

Controller  同步阿里云时间服务器compute 同步 controller 端时间

 

#controller的配置

[root@controller ~]# yum install -y chrony

[root@controller ~]# vi /etc/chrony.conf

注释掉以上server,然后添加一个新的

#server 0.centos.pool.ntp.org iburst

#server 1.centos.pool.ntp.org iburst

#server 2.centos.pool.ntp.org iburst

#server 3.centos.pool.ntp.org iburst

server ntp1.aliyun.com  iburst

allow 10.0.0.0/24 

[root@controller ~]# systemctl restart chronyd

[root@controller ~]# systemctl enable chronyd

[root@controller ~]# chronyc sources

210 Number of sources = 1

MS Name/IP address         Stratum Poll Reach LastRx Last sample               

===============================================================================

^* 120.25.115.20                 2   6   377    41   +115us[ +100us] +/- 6686us

#compute客户端的配置

[root@compute ~]# yum install -y chrony

[root@compute ~]# vi /etc/chrony.conf

 #server 0.centos.pool.ntp.org iburst

#server 1.centos.pool.ntp.org iburst

#server 2.centos.pool.ntp.org iburst

#server 3.centos.pool.ntp.org iburst

Server 10.0.0.129  iburst

[root@compute ~]# systemctl restart chronyd

[root@compute ~]# systemctl enable  chronyd

[root@compute ~]# chronyc sources

210 Number of sources = 1

MS Name/IP address         Stratum Poll Reach LastRx Last sample               

===============================================================================

^* controller                    3   6   377    60    +22us[ -839us] +/- 7255us

 

1.2.4配置本地yum源

安装epel源,扩展本地的yum仓库

[root@controller ~]# rpm -ivh http://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm

安装OpenStack仓库

[root@controller ~]# yum install -y centos-release-openstack-queens.noarch [root@controller ~]# yum clean all && yum makecache

 

1.2.5安装OpenStack相关软件包

安装 yum-plugin-priorities 包,防止高优先级软件被低优先级软件覆盖 [root@controller ~]# yum install -y yum-plugin-priorities

安装OpenStack客户端 

[root@controller ~]# yum install -y python-openstackclient

安装OpenStack selinux管理包

[root@controller ~]# yum install -y openstack-selinux

 

2.1 controller节点的配置

 

 

2.1.1安装mysql 数据库

 

 

[root@controller ~]# yum -y install mariadb mariadb-server MySQL-python net-tools vim 

[root@controller ~]# vim /etc/my.cnf.d/openstack.cnf

[mysqld] 

bind-address = 10.0.0.129 # 监听的IP地址(也可以写0.0.0.0) 

default-storage-engine = innodb # 默认存储引擎[innodb] 

innodb_file_per_table # 使用独享表空间 

max_connections = 4096 # 最大连接数是4096 (默认是1024) 

collation-server = utf8_general_ci # 数据库默认校对规则 

character-set-server = utf8 # 默认字符集 

[root@controller ~]# systemctl start mariadb

[root@controller ~]# systemctl enable mariadb

[root@controller ~]# mysql_secure_installation

 

 

 

 

2.1.2安装RabbitMQ消息服务

[root@controller ~]# yum install -y rabbitmq-server

[root@controller ~]# systemctl start rabbitmq-server

[root@controller ~]# systemctl enable rabbitmq-server

#添加openstack用户

[root@controller ~]# rabbitmqctl add_user openstack openstack

#openstack用户读写权限

[root@controller ~]# rabbitmqctl set_permissions openstack ".*" ".*" ".*"

#开启rabbitmq WEB页面插件

[root@controller ~]# rabbitmq-plugins enable rabbitmq_management

image.png

浏览器输入http://IP地址:15672访问了

默认账号密码:guest/guest

 image.png


3.1  安装memcahce服务

[root@controller ~]# yum install -y memcached python-memcached 

[root@controller ~]# vi /etc/sysconfig/memcached

OPTIONS="-l 10.0.0.129,::1,controller"

image.png


 

[root@controller ~]# systemctl start memcached

 [root@controller ~]# systemctl enable memcached

 

至此,OpenStack 基础环境安装完成。


 


标签: 云计算

作者头像
南宫俊逸创始人

君子好学,自强不息~

上一篇:Docker 启动一些常见应用镜像---(MySql, RabbitMQ, Zookeeper, Nginx, Tomcat)
下一篇:CentOS 7.x 部署OpenStack 之 认证服务 Keystone (二)

发表评论

云服务器年末钜惠,新用户低至0.55折, 1核2G轻量服务器首年96元(可优惠续费3次)


image.png

云服务器ECS

云服务器年末钜惠,新用户低至0.55折, 

1核2G轻量服务器首年96元(可优惠续费3次)


登录
用户名
密码
注册
用户名
密码
确认密码
邮箱
验证码
找回密码
用户名
邮箱
※ 重置链接将发送到邮箱