OpenStack实践系列(一)基础环境–基于Otaca

虚拟化

1.OpenStack基本概述

OpenStack是一个开源的云计算管理平台项目,项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台
OpenStack支持几乎所有类型的云环境,OpenStack通过各种互补的服务提供了基础设施即服务(IaaS)的解决方案,每个服务提供API以进行集成。
OpenStack是一个旨在为公共及私有云的建设与管理提供软件的开源项目。
OpenStack项目的首要任务是简化云的部署过程并为其带来良好的可扩展性。
本文希望通过提供必要的指导信息,帮助大家利用OpenStack前端来设置及管理自己的公共云或私有云。

Openstack基础架构

2.OpenStack项目组件

服务名称项目名称描述
DashboardHorizon基于OpenStack接口使用django开发的WEB管理
ComputeNova通过虚拟化技术提供计算资源池
存储Storage
Object StorageSwift对象存储,适合一次写入多次读取
Block StorageCinder块存储,提供存储资源池
共享服务Shared services
IdentityServiceKeystone认证管理
ImageServiceGlance提供虚拟镜像的注册和存储管理
TelemetryCeilometer提供监控和数据采集、计量服务
高级服务Higher-level services
OrchestrationHeat自动化部署的组件
DatabaseServiceTrove提供数据库应用服务

3.OpenStack实践环境

  • 笔者这里讲部件包括数据库和大部分控制节点组件除了网络外都安装在宿主机上,参考的朋友请参照角色进行配置
  • 使用了宿主机一台、CentOS-7.x-x86_64kvm虚拟机一台。

生产部署OpenStack,参考使用如下SOA方式部署

以下重要服务做好相关备份以及集群

主机名(FQDN)IP地址(NAT)描述部署服务
openstack-controller-node1eth0:10.10.10.10控制节点Nova、Neutron、cinder
openstack-compute-node1eth0:10.10.10.20计算节点Nova、Neutron、cinder
openstack-keystone-node1eth0:10.10.10.30认证服务Keystone
openstack-glance-node1eth0:10.10.10.40镜像服务Glance
openstack-memcached-node1eth0:10.10.10.50缓存服务Memcached
openstack-rabbitmq-node1eth0:10.10.10.60消息队列服务RabbitMQ
openstack-mysql-node1eth0:10.10.10.70数据库服务MySQL
openstack-dashboard-node1eth0:10.10.10.100可视化UIDashboard

注意: 本指南实践环境如下

主机名(FQDN)IP地址(NAT)描述设备
linux-node1.xuliangwei.cometh0:192.168.56.11控制节点1VCPU、2G内存、50G硬盘(动态)
linux-node2.xuliangwei.cometh0:192.168.56.12计算节点1VCPU、2G内存、50G硬盘(动态)

作为OpenStack的服务和虚拟机的数量增加,所以做了最佳性能的硬件要求。如果性能使更多的服务或虚拟机后下降,考虑增加硬件资源环境。(实验环境控制节点内存一般4G最佳),然而时间长了任然发生交换,因此放宿主机上

为了统一环境,保证实验的通用性,建议将网卡名称设置为 eth*,不使用 CentOS7 默认的网卡命名规则。
1.安装CentOS7.x系统时在启动选项增加内核参数。net.ifnames=0 biosdevname=0
2.如果已安装CentOS7.x,参考CentOS7配置eth0

3.1系统初始化

 

 

3.2域名解析服务

配置hosts域名解析,如果开始了OpenStack部署,一定不要修改主机名,否则会引起意想不到的结果。

1.设置hostname

2.解析hostname

3.3时间服务NTP

1.OpenStack控制节点部署chrony时间同步

1.OpenStack控制节点部署chrony时间同步

2.编辑/etc/chrony.conf文件并添加以下项,根据需要为您的环境(这步可跳过)

3.为了让其他节点连接到chrony守护进程在控制器上,添加以下关键至/etc/chrony.conf文件

4.启动NTP服务,并将其配置为在系统启动时启动

5.设置并查看时区

4.OpenStack基础服务安装

1.安装OpenStack Newton版、安装OpenStack客户端

5.OpenStack基础服务MySQL

OpenStack服务使用SQL数据库来存储信息。该数据库通常在控制器节点上运行。本指南中使用MariaDB程序。OpenStack服务还支持其他SQL数据库包括PostgreSQL。

1.安装MySQL服务

2.创建和编辑/etc/my.cnf.d/openstack.cnf文件并添加以下部分

3.启动数据库服务,并将其配置为在系统启动时启动

4.通过运行mysql_secure_installation脚本安全数据库服务。为数据库帐户配置合适的密码(生产建议使用openssl rand -hex 10生成密码)

6.OpenStack基础服务RabbitMQ

OpenStack使用消息队列来协调服务的操作和状态信息。消息队列服务通常在控制器节点上运行。
OpenStack支持多消息队列服务包括RabbitMQ,QPID,和ZeroMQ。然而,大多数分布包OpenStack支持一个特定的消息队列服务。
本指南使用RabbitMQ消息队列服务因为大多数发行版支持。如果您喜欢实现不同的消息队列服务,请查阅与之相关的文档。

1.安装RabbitMQ服务

2.启动消息队列服务,并将其配置为启动系统时启动

3.检查RabbitMQ的”5672″端口

4.RabbitMQ新建OpenStack用户,并授权读写权限

5.启动RabbitMQ_Web插件,管理界面监听15672端口

6.访问RabbitMQ_SERVER_IP:15672,用户: “guest” 密码: “guest”

图1-1

7.修改允许openStack用户登陆RabbitMQ消息队列服务,修改成功后退出重新登陆即可。
password: “openstack”
Tags: “administrator”

图1-2

7.OpenStack基础服务Memcached

对身份认证服务使用Memcached的缓存存储。Memcached的服务通常运行在控制器节点上。对于生产部署,建议启用防火墙,身份验证和加密的组合来保护它。

1.安装Memcached服务

2.启动memcached服务并将其配置为启动系统时启动

继续阅读