OpenStack

一、Openstack基础环境

1、Openstack介绍

Openstack是一个云平台管理的项目,它不是一个软件。也就是说我们可以使用openstack来管理我们一个数据中心大量资源地。它里面包含了很多子项目。

2、Openstack包含三大项:计算、网络、存储

Openstack主要目标是来简化资源的管理和分配,把计算、网络、存储三大项虚拟成三大资源地,例如需要计算资源我这里可以提供,需要网络资源这里也可以提供以及存储资源的需求,对外提供api,通过api进行交互。

3、Openstack架构图

Compute (Nova) :计算服务,管理VM的生命周期

Identity Service (Keystone) :为其他自建提供认证和权限管理服务

Image Service (Glance) :镜像服务,管理VM镜像

Networking (Neutron) :网络服务,为其他组件提供网络连接服务

Dashboard (Horizon): 仪表板,为用户提供一个基于web的自服务Portal

Object Storage (Swift): 提供对象存储服务

Block Storage (Cinder) :提供块存储服务

Orchestration (Heat) :提供资源编排能力

Telemetry (Ceilometer) :提供监控告警和计量计费服务

Database Service (Trove) :提供数据库服务

Data Processing (Sahara) :提供在OenStack上构建大数据服务的能力

4、Openstack服务介绍

Mysql:为各个服务提供数据存储

RabbitMq:为各个服务之间通信提供认证和服务注册

Keystone:为各个服务器之间通讯提供认证和服务注册

Glance:为虚拟机提供镜像管理

Nova:为虚拟机提供计算资源

Neutron:为虚拟机提供网络资源

5、RabbitMQ在openstack的几大用处

1)做服务之间相互通讯的工具

2)信息同步(异步执行)

如果没有RabbitMQ,服务之间将无法进行通讯

二、Openstack环境准备-Mysql、RabbitMQ

环境

主机网络

1)配置网络接口

添加网卡

启动eth1网卡

ifup eth1

配置域名解析

1)设置节点主机名为 controller

2)编辑 /etc/hosts

2、安装时间同步

主节点服务器

1)安装软件包

Yum install chrony -y

2)编辑 /etc/chrony.conf 文件,按照环境要求,添加时间同步

3)启动 chronyd服务并将其配置为开机自启动:

其他节点服务器同计算节点一样

4)检测时间是否同步

chronyc sources -v     #出现^*是同步成功。若出现^?,检查防火请是否关闭。

其他节点服务器

3、Openstack包

1)配置yum源,将安装openstack所需的安装包放在/root/mitaka/mitaka下

添加

2)yum源更新

以下均在控制节点

3)安装openstack客户端

yum install python-openstackclient -y

4)安装 openstack-selinux 软件包以便自动管理 OpenStack 服务的安全策略

如果我们没有进行关闭selinux,openstack-selinux就会自动帮我们设置

4、SQL数据库

大多数 OpenStack 服务使用 SQL 数据库来存储信息。 典型地,数据库运行在控制节点上。

注意:如果是生产环境,数据库是需要做备份的,否则数据库一但挂掉数据将会丢失,openstack也将无法进行提供服务。

1)安装数据库

2)

  1. 创建并编辑 /etc/my.cnf.d/openstack.cnf,然后完成如下动作:

在 [mysqld] 部分,设置 ``bind-address``值为控制节点的管理网络IP地址以使得其它节点可以通过管理网络访问数据库:

在[mysqld] 部分,设置如下键值来启用一起有用的选项和 UTF-8 字符集:

3)启动数据库服务,并将其配置为开机自启:

4)为了保证数据库服务的安全性,运行mysql_secure_installation脚本,为数据库的root用户设置一个适当的密码。(密码为:westos)

5)登陆数据库,创建数据库

5.1 在配置openstack身份认证服务前,创建keystone数据库,并对keystone数据库进行授权

5.2 创建glance数据库,对glance数据库授予权限

5.3 创建nova_api和nova数据库,对其数据库授予权限

5.4 创建openstack网络(neutron)服务之前。需要创建一个neutron数据库,对其数据库授予适当的访问权限

5.5 创建和配置块存储服务之前,需要创建cinder数据库,允许cinder数据库访问权限

5、消息队列

  OpenStack 使用 message queue 协调操作和各服务的状态信息。消息队列服务一般运行在控制节点上。OpenStack支持好几种消息队列服务包括 RabbitMQ, Qpid, 和 ZeroMQ。不过,大多数发行版本的OpenStack包支持特定的消息队列服务。

1)安装RabbitMQ消息队列服务

yum install rabbitmq-server -y

2)启动消息队列服务并将其配置为随系统启动:

3)添加 openstack 用户:

4)给openstack用户配置写和读权限:

5)打开rabbitmq消息队列管理器

rabbitmq-plugins enable rabbitmq_management

6)查看5672端口是否打开

7)在浏览器上访问172.25.88.1:15672,打开rabbitmq图形管理器

登陆用户、密码均为:guest

查看openstack用户是否创建成功及其权限

5、Memcached

认证服务认证缓存使用Memcached缓存令牌。缓存服务memecached运行在控制节点。在生产部署中,我们推荐联合启用防火墙、认证和加密保证它的安全.

1)安装软件包:

yum install memcached python-memcached

2)启动Memcached服务,并且配置它随机启动

3)更改memcache的配置文件

Vim   /etc/sysconfig/memcached

4)重新启动memcached服务,查看memcached的服务端

三、认证服务

1、认证服务的安装和配置

在配置 OpenStack 身份认证服务前,你必须创建一个数据库和管理员令牌。

1)生成一个随机值在初始的配置中作为管理员的令牌。

使用带有``mod_wsgi``的Apache HTTP服务器来服务认证服务请求,端口为5000和35357

2)安装openstack-keystone httpd mod_wsgi

3)编辑文件 /etc/keystone/keystone.conf 并完成如下动作:

在[DEFAULT]部分,定义初始管理令牌的值:

在 [database] 部分,配置数据库访问:

在[token]部分,配置Fernet UUID令牌的提供者。

4)初始化身份认证服务的数据库:

5)初始化Fernet keys:

2、配置Apache HTTP服务器

1)编辑/etc/httpd/conf/httpd.conf`文件,配置ServerName`选项为控制节点:

2)用下面的内容创建文件

/etc/httpd/conf.d/wsgi-keystone.conf

3)启动 Apache HTTP 服务并配置其随系统启动:

4)查看5000,35357端口是否打开

3、创建服务实体和API端点

身份认证服务提供服务的目录和他们的位置。每个你添加到OpenStack环境中的服务在目录中需要一个 service 实体和一些 API endpoints 。

默认情况下,身份认证服务数据库不包含支持传统认证和目录服务的信息。你必须使用:keystone-install 章节中,用命令

openssl rand-hex 10为身份认证服务创建的临时身份验证令牌用来初始化的服务实体和API端点。

你必须使用``–os-token``参数将认证令牌的值传递给:openstack 命令。类似的,你必须使用``–os-url`` 参数将身份认证服务的 URL传递给 openstack 命令或者设置OS_URL环境变量

1)配置认证令牌:

2)配置端点URL:

3)配置认证 API 版本:

4)创建服务实体和API端点

4.1在你的Openstack环境中,认证服务管理服务目录。服务使用这个目录来决定您的环境中可用的服务。

创建服务实体和身份认证服务:

4.2 创建认证服务的 API 端点:

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值