openstack

openstack简介:

OpenStack是一个开源的云计算管理平台项目,由几个主要的组件组 合起来完成具体工作。OpenStack支持几乎所有类型的云环境,项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。 OpenStack通过各种互补的服务提供了基础设施即服务(IaaS)的解决方案,每个服务提供API以进行集成。

OpenStack 是一个旨在为公共及私有云的建设与管理提供软件的开源项目。它的社区拥有超过130家企业及1350位开发者,这些机构与个人都将OpenStack作为 基础设施即服务(IaaS)资源的通用前端。OpenStack项目的首要任务是简化云的部署过程并为其带来良好的可扩展性。本文希望通过提供必要的指导 信息,帮助大家利用OpenStack前端来设置及管理自己的公共云或私有云。

OpenStack 云计算平台,帮助服务商和企业内部实现类似于 Amazon EC2 和 S3 的云基础架构服务(Infrastructure as a Service, IaaS)。OpenStack 包含两个主要模块:Nova 和 Swift,前者是 NASA 开发的虚拟服务器部署和业务计算模块;后者是 Rackspace开发的分布式云存储模块,两者可以一起用,也可以分开单独用。OpenStack除了有 Rackspace 和 NASA 的大力支持外,还有包括 Dell、Citrix、 Cisco、 Canonical等重量级公司的贡献和支持,发展速度非常快,有取代另一个业界领先开源云平台 Eucalyptus 的态势。

运用范围:openstack是laaS(即出设施服务)组件,让任何人都可以自行建立和提供云端运算服务。此外,openstack也用做建立防火墙内的“私有云”(private cloud),一共机构或企业内各部门共享资源。

核心项目:openstack覆盖了网络、虚拟化、操作系统、服务器等各个方面。它是一个正在开发的云计算平台项目,根据成熟及重要成都的不同,被分解为核心项目,孵化项目,以及支持项目和相关项目。每个项目都有自己的委员会和项目技术主管,而且每个项目都不是一成不变的,孵化项目可以根据发展个的成熟度和重要性,转变为核心项目。

openstack的开源项目由社区维护,包括openstack计算(代号为Nova),openstack对象存储(代号为Swift),并openstack镜像服务(代号为Glance)的集合。openstack提供了一个操作平台,或工具包,用于编排云。

下图是openstack的详细架构图:

下图是openstack的网络拓扑图:

整个openstack是由控制节点,计算节点,网络节点。存储节点四大部分组成。(这四个节点可以部署在一台机器上,单机部署)

。其中控制节点负责对其余节点的控制,包含虚拟机建立,迁移,网络分配,存储分配等;计算节点负责虚拟机运行;网络节点负责对外网络与内网络之间的通信;存储节点负责对虚拟机的额外存储管理等等。

openstack的组件及其关系:

Nove-计算服务;Neutron-网络服务;Swift-对象存储服务;Cinder-块存储服务;Glance-镜像服务;Keystone-认证服务;Horizon-UI服务;Ceilometer-监控服务;Heat-集群服务;Trove-数据库 服务。

各组件关系如下:

实验环境:

rhel7.3 iptables和selinux均为disabled状态

server1:               172.25.254.1     controller \ salt-minion(控制节点)需要大内存,最小4G左右

server2:               172.25.254.2      comput \ salt-minion (计算节点) 内存可以小一点,1G左右

操作步骤:

以下步骤在两个节点都进行

添加一块网卡,编写文件

查看网卡eth1

 

同步这两台机器的时间(若时间不同步,则在机器上yum install -y chrony ,vim /etc/chroy.conf ,将server后面的ip改为物理机ip,跟物理机时间保持一致, systemctl start chronyd,chronyc source -v 就可以同步好了)

两台机器均做解析

创建/root/mitaka目录(名字无所谓),将安装openstack所需的包下载在/root/mitaka目录里,打包

(下载以下所有的包在/root/mitaka目录里,当然也可以在github上面找包,然后执行createrepo -v /root/mitaka/,会自动生成一个repodata目录,这就说明yum源制作完成,接下来只需要编辑yum源,当然,如果没有createrepo命令,则要yum install -y createrepo,然后进行打包),本实验下面出现的结果是打包完成后的

编写yum源,更新yum源,查看是否指向成功(更新yum源,也可以用yumdate)

以下步骤在控制节点

安装openstack客户端

安装数据库(大部分openstack服务使用SQL数据库来存储信息,典型地,数据库运行在控制节点上)。

创建并编辑/etc/my.cnf.d/openstack.cnf

大致内容如下:在 [mysqld] 部分,设置 bind-address值为控制节点的管理网络IP地址以使得其它节点可以通过管理网络访问数据库,在[mysqld] 部分,设置如下键值来启用一起有用的选项和 UTF-8 字符集.

开启数据库并设置为开机自启

数据库设置密码

登录数据库,创建库keystone,给授权,创建库glance,给授权,创建库nova_api,给授权,创建库nova,给授权

配置OpenStack网络(neutron)服务之前,你必须为其创建一个数据库,建 neutron 数据库,允许 neutron 数据库合适的访问权限

安装和配置块存储服务之前,你必须创建数据库,创建 cinder 数据库,允许 cinder数据库合适的访问权限

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

安装PabbitMQ消息列队服务(在计算节点进行)

安装rabbit-server

开启服务,并且设置开机自启

创建openstack用户

给openstack用户配置写和读的权限

打开rabbitmq消息队列管理器

查看5672端口是否开启

在浏览器上访问172.25.254.1:25672打开rabbitmq图形管理器

用户和密码都是guest

查看openstack是否创建成功以及权限

memcache安装与配置

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

安装软件包,启用memcached服务,并且设置随机启动

编写/etc/sysconfig/memcached

重启服务,查看端口11211

认证服务的配置

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

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

安装openstack-keystone httpd mod_wsgi

编辑文件 /etc/keystone/keystone.conf

default部分,定义初始管理令牌的值

database部分,配置数据库访问

token部分,配置fernet UUID令牌的提供者

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

初始化Fernet keys

keystone-manage fernet_setup -keystone-user keystone -keystone-group keystone

配置apache服务器

编辑/etc/httpd/conf/httpd/conf ,配置serverrName

创建/etc/httpd/conf.d/wsgi-keystone.conf,内容如下

开启httpd,并设置开机自启

查看端口35357以及5000

创建服务实体和API端点

身份认证服务提供服务的目录和他们的位置。每个你添加到OpenStack环境中的服务在目录中需要一个 service 实体和一些 API endpoints 。
默认情况下,身份认证服务数据库不包含支持传统认证和目录服务的信息。你必须使用keystone-install 章节中,用命令openssl rand -hex 10为身份认证服务创建的临时身份验证令牌用来初始化的服务实体和API端点。
你必须使用–os-token参数将认证令牌的值传递给openstack 命令。类似的,你必须使用–os-url 参数将身份认证服务的 URL传递给 openstack 命令或者设置OS_URL环境变量.
1.配置认证令牌
export OS_TOKEN=ADMIN_TOKEN
将ADMIN_TOKEN替换为你在 keystone-install章节中生成的认证令牌.
export OS_TOKEN=27b32f417ac31f3ba01f


2.配置端点URL:
export OS_URL=http://server1:35357/v3


3.配置认证 API 版本
export OS_IDENTITY_API_VERSION=3


在你的Openstack环境中,认证服务管理服务目录。服务使用这个目录来决定您的环境中可用的服务
4.创建服务实体和身份认证服务 

 

 

 

 

 

 

 

 

 

 

 

                                                                                

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值