Enviroment

本文包含以下部分。

  • Host networking
  • Network Time Protocol (NTP)
  • OpenStack packages
  • SQL database
  • NoSQL database
  • Message queue
  • Memcached

Host Networking

首先,应该disable 自动化的网络管理工具如 Network Manager (无论是controller还是compute节点).

systemctl stop NetworkManager
systemctl disable NetworkManager

其次,关掉iptables 和 selinux, firewalld(无论是controller还是compute节点)

# disable selinux
setenforce 0
# edit the /etc/selinux/config set SELINUX=disabled # turn off firewalld
systemctl disable firewalld
systemctl stop firewalld # iptables 默认不安装,所以不用disable

接下来配置controller 节点 和 compute节点,我们的机器都有至少两块网卡,一块网卡配置外界可访问的IP,用作节点管理的用途,这个网络(叫做management network)将来也会用作openstack vm之间vxlan 访问的tunnel。 另一块网卡留在后面用。

本例中,我们的management network配置如下:

# controller node
10.79.148.84/24
# compute01
10.79.148.83/24
# compute02
10.79.148.86/24
# gateway
10.79.148.1
# DNS
64.104.123.245

另一块网卡的配置,统一如下(interface_name的名字根据实际情况填写):

DEVICE=INTERFACE_NAME
TYPE=Ethernet
ONBOOT="yes"
BOOTPROTO="none"

配置完ip,gateway,DNS还要配置各个机器的hosts文件,保证各个机器之间能够互相访问,并且每个机器都能够访问互联网。

NTP

如果你的机器不能方便访问外网NTP。那么你可以安装Chrony。这是一个用于实现NTP的软件。如果能够访问外网NTP,那么直接指定一个crontab 去定时跟NTP同步即可。如:

yum install ntpdate
# 编辑crontabe

openstack package

在centos上安装openstack mikita的源

yum install centos-release-openstack-mitaka

然后运行

yum upgrade

安装openstack client

yum install python-openstackclient

SQL database

安装mysql。当然你也可以用其它的sql 数据库。数据库安装的位置不重要,只要需要使用它的服务能够访问到即可,我们这里把数据库安装到controller节点。

yum install mariadb mariadb-server python2-PyMySQL

编辑 /etc/my.cnf.d/openstack.cnf的[mysqld]设置数据库监听地址

bind-address = 10.79.148.84

编辑 /etc/my.cnf.d/openstack.cnf的[mysqld]设置字符集等配置

default-storage-engine = innodb
innodb_file_per_table
collation-server = utf8_general_ci
character-set-server = utf8

启动并设置mysql开机启动

systemctl start mariadb.service
systemctl enable mariadb.service

运行 mysql_secure_installation 做安全配置

NoSQL database

Telemetry service 使用nosql。我们推荐用mongodb。这里不做介绍,因为我们不打算在本文中使用Telemetry service。

Message queue

openstack使用message queue在各服务间通信。我们这里使用rabbit mq. 并且我们把rabbit mq安装到controller上。但是和sql数据库一样,你可以安装在任何地方,只要相关的服务能够访问它即可。步骤如下:

安装

yum install rabbitmq-server

启动,并设置开机启动

# systemctl enable rabbitmq-server.service
# systemctl start rabbitmq-server.service

创建用户并赋予密码

rabbitmqctl add_user openstack RABBIT_PASS

给openstack用户设置权限

rabbitmqctl set_permissions openstack ".*" ".*" ".*"

Memcache

keystone 服务使用了memcache来缓存token。所以我们这里还要安装memcache。同样,我们把他安装在controller节点,但其实任意位置都可以。

yum install memcached python-memcached

启动并设置开机启动

systemctl enable memcached.service
systemctl start memcached.service

openstack setup demo Enviroment的更多相关文章

  1. openstack setup demo Identity service

    openstack Identity service 名叫keystone.它提供了用户校验,以及服务目录查询(即列出所有的服务以及相关信息)等功能. keystone 主要包含以下几个部分 Serv ...

  2. openstack setup demo Compute service

    本文包含以下部分 Compute service overview Install and configure controller node Prerequisites Install and co ...

  3. openstack setup demo Image service

    Image service (glance)是openstack中管理vm image的service.本文包含以下内容: overview install overview glance包含以下部分 ...

  4. openstack setup demo Overview

    Overview openstack是一套开源的云计算部署平台,通过一系列service提供IAAS.每一个service都提供API.具体的service列表如下: dashboard Horizo ...

  5. openstack setup demo 前言

    我们搭建一套三节点的openstanck集群.一个controller节点,两个compute节点.操作系统采用Centos7,操作系统版本信息如下. [root@controller01 ~]# c ...

  6. openstack安装配置

    openstack:1.控制节点安装所有,计算节点只有nova-compute:2.网络选择: nova-network还是neutron: nova-network比较简单, neutron功能强大 ...

  7. Open Daylight integration with OpenStack: a tutorial

    Open Daylight integration with OpenStack: a tutorial How to deploy OpenDaylight and integrate it wit ...

  8. [转] Customizing OpenStack RBAC policies

    http://www.florentflament.com/blog/customizing-openstack-rbac-policies.html OpenStack uses a role ba ...

  9. OpenStack入门之【OpenStack-havana】之单网卡-All In One 安装(基于CentOS6.4)

    这篇文章是自己的一篇老文,分享下,请君慢用.... =========================================== [特别申明]:经过了一段时间的不断学习加不断的测试得出本文, ...

随机推荐

  1. InChatter系统之服务器开发(二)

    现在我们继续进行InChatter系统的服务器端的开发,今天我们将实现服务契约同时完成宿主程序的开发,今天结束之后服务器端将可以正常运行起来. 系统的开发是随着博客一起的,颇有点现场直播的感觉,所有在 ...

  2. sql server 2008 r2 无法定位到数据库文件目录

    像这样,选择数据库文件时, 无法定位到文件夹目录,子目录下的都不显示.明明选择的这个文件夹里还有很多子文件夹,却显示不了. 解决方法: 在此文件夹上右击,属性-安全 添加红框中的用户就可以了.

  3. thinkphp5 404 file_put_contents 无法打开流:权限被拒绝

    如果你用TP的时间比较长,或者说你比较了解TP的人都会知道,TP的runtime它需要的权限是很大的,如果你只给一般权限肯定是不行的,通常都是给runtime权限:777: linux命令如下: cd ...

  4. asp 读取 另外一个带参数的asp文件(服务器不支持!放弃吧!骚年!)

    (服务器不支持!放弃吧!骚年!) 主要作用是为了分离数据库,灵感是这样的:收到json影响,把asp里的数据,用一个页面输出,然后用另外一个页面读取,这样就不用有数据库位置的烦恼了 代码 网上有很多, ...

  5. 了解Java密码扩展的基础

      了解Java密码扩展的基础     Java密码扩展(The Java Cryptography Extension),是JDK1.4的一个重要部分,基本上,他是由一些包构成的,这些包形成了一个框 ...

  6. 第2节 mapreduce深入学习:6、MapReduce当中的计数器

    第2节 mapreduce深入学习:6. MapReduce当中的计数器 计数器是收集作业统计信息的有效手段之一,用于质量控制或应用级统计.计数器还可辅助诊断系统故障.如果需要将日志信息传输到map ...

  7. Android 控件布局常用的属性

    <!--单个控件经常用到android:id —— 为控件指定相应的IDandroid:text —— 指定控件当中显示的文字,需要注意的是,这里尽量使用strings.xml文件当中的字符串a ...

  8. popToViewController

    看到群里有人问popToViewController的用法 就写了下了 希望能帮到有需要的人 [self.navigationController popToViewController:[self. ...

  9. buf.toString()

    buf.toString([encoding[, start[, end]]]) encoding {String} 默认:'utf8' start {Number} 默认:0 end {Number ...

  10. C#NumberFormatInfo类

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAA0sAAAD2CAIAAACImosXAAAgAElEQVR4nOy9V3Nk13X+vTt3owPSJJ ...