openstack setup demo Enviroment

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

posted on 2016-05-30 13:06  kramer  阅读(190)  评论(0编辑  收藏  举报

导航