目录

前文列表

Controller Node

控制节点是整个Openstack控制枢纽,可以将Database、Message queue、DNS、NTP、Keystone等服务集成到一起,当然Openstack实现了松耦合的架构思想,因此所有的组件都可以在任意Node中安装组合,视乎实际情况而定。

Install and configure components

Setup DNS Server

step1.

yum install -y bind bind-chroot

**Step2.**Edit the config file.

[root@controller ~]# cat /etc/named.conf | grep -v ^# | grep -v ^// | grep -v ^$
options {
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query { any; };
recursion yes;
dnssec-enable yes;
dnssec-validation yes;
/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";
managed-keys-directory "/var/named/dynamic";
pid-file "/run/named/named.pid";
session-keyfile "/run/named/session.key";
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
zone "." IN {
type hint;
file "named.ca";
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

**Step3.**Forward Domain

vim /etc/named.rfc1912.zones

zone "jmilk.com" IN {
type master;
file "jmilk.com.zone";
allow-update { none; };
};

Create zone config file:

cp -p /var/named/named.localhost /var/named/jmilk.com.zone

vim /var/named/jmilk.com.zone

$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS controller.jmilk.com.
controller A 192.168.1.5
network A 192.168.1.6
compute1 A 192.168.1.10
compute2 A 192.168.1.11
block1 A 192.168.1.20
block2 A 192.168.1.21
object1 A 192.168.1.31
object2 A 192.168.1.32

vim /etc/resolv.conf

# Generated by NetworkManager
search jmilk.com
nameserver 127.0.0.1

注意:当需要联网安装软件包时,还是需要将DNSSERVER指向外网DNSSERVER

Restart the named service

systemctl restart named
systemctl enable named

Setup NTP Server

Install the packages:

yum install chrony

Edit the /etc/chrony.conf:

vim /etc/chrony.conf

#注释其他以server开头的配置项,并添加下列配置,使用国内速度较快的NTP Server
server 1.cn.pool.ntp.org iburst
allow 192.168.1.0/24

Start the NTP service and configure it to start when the system boots:

systemctl enable chronyd.service
systemctl start chronyd.service

CHECK:

[root@controller ~]# timedatectl status
Local time: Fri 2016-06-10 12:00:08 EDT
Universal time: Fri 2016-06-10 16:00:08 UTC
RTC time: Fri 2016-06-10 16:00:09
Timezone: America/New_York (EDT, -0400)
NTP enabled: yes #YES
NTP synchronized: yes #YES
RTC in local TZ: no
DST active: yes
Last DST change: DST began at
Sun 2016-03-13 01:59:59 EST
Sun 2016-03-13 03:00:00 EDT
Next DST change: DST ends (the clock jumps one hour backwards) at
Sun 2016-11-06 01:59:59 EDT
Sun 2016-11-06 01:00:00 EST [root@controller ~]# chronyc sources
210 Number of sources = 1
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^* 202.118.1.130 2 6 17 31 +307us[ +415us] +/- 82ms

Install SQL Database

Install the packages:

yum install mariadb mariadb-server python2-PyMySQL -y

Create and edit the /etc/my.cnf.d/openstack.cnf file

vim /etc/my.cnf.d/openstack.cnf

[mysqld]
bind-address = 192.168.1.5 #Controller Node IPAddress 设置
ip绑定
default-storage-engine = innodb
innodb_file_per_table
collation-server = utf8_general_ci
character-set-server = utf8 #默认数据库引擎及默认字符集为UTF-8

Start the database service and configure it to start when the system boots:

systemctl enable mariadb.service
systemctl start mariadb.service

初始化MySQL

[root@controller ~]# mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY! In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here. Enter current password for root (enter for none):
OK, successfully used password, moving on... Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation. You already have a root password set, so you can safely answer 'n'. Change the root password? [Y/n]
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
... Success! By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment. Remove anonymous users? [Y/n]
... Success! Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network. Disallow root login remotely? [Y/n]
... Success! By default, MariaDB comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment. Remove test database and access to it? [Y/n]
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success! Reloading the privilege tables will ensure that all changes made so far
will take effect immediately. Reload privilege tables now? [Y/n]
... Success! Cleaning up... All done! If you've completed all of the above steps, your MariaDB
installation should now be secure. Thanks for using MariaDB!

Setup Message queue

OpenStack使用message queue实现协调操作和服务之间的状态信息。Message queue service一般在Controller Node上运行。

OpenStack常用的消息代理软件:

  • RabbitMQ(更加常用)
  • Qpid
  • ZeroMQ

Install the package:

yum install rabbitmq-server -y

Start the message queue service and configure it to start when the system boots:

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

Add the openstack user

rabbitmqctl add_user openstack fanguiju

Permit configuration, write, and read access for the openstack user:

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

Setup Memcached

The Identity service authentication mechanism for services uses Memcached to cache tokens. Memcached缓存技术用于对Keystone组件的认证信息token进行缓存。一般安装在Controller Node上,在生产系统中,建议使用认证、防火墙、加密的手段来保证token缓存的安全。

Install the packages:

yum install memcached python-memcached -y

Start the Memcached service and configure it to start when the system boots:

systemctl enable memcached.service
systemctl start memcached.service

Openstack组建部署 — Environment of Controller Node的更多相关文章

  1. Openstack组建部署 — Glance Install

    目录 目录 前文列表 Image service overview Openstack Image service包含的组件 Install and configure Prerequisites 先 ...

  2. Openstack组件部署 — Networking service_安装并配置Controller Node

    目录 目录 前文列表 前提条件 网络环境 完成下面的步骤以创建数据库 创建service credentials服务凭证 创建Neutron的API Endpoints 配置自服务网络 安装网络组件 ...

  3. Openstack组件部署 — Nova_安装和配置Controller Node

    目录 目录 前文列表 Prerequisites 先决条件 To create the databases To create the service credentials Create the C ...

  4. Openstack组件部署 — Networking service_Compute Node

    目录 目录 前文列表 安装组件 配置通用组件 配置自服务网络选项 配置Linux 桥接代理 配置Nova使用网络 完成安装 验证操作Execute following commands on Cont ...

  5. Openstack组件部署 — Nova_Install and configure a compute node

    目录 目录 前文列表 Prerequisites 先决条件 Install and configure a compute node Install the packages Edit the etc ...

  6. Openstack组件部署 — keystone(domain, projects, users, and roles)

    目录 目录 前文列表 Create a domain projects users and roles domain projects users and roles的意义和作用 Create the ...

  7. Openstack组件部署 — Keystone Install & Create service entity and API endpoints

    目录 目录 前文列表 Install and configure Prerequisites 先决条件 Create the database for identity service 生成一个随机数 ...

  8. Openstack组件部署 — Keystone功能介绍与认证实现流程

    目录 目录 前文列表 Keystone认证服务 Keystone认证服务中的概念 Keystone的验证过程 简单来说 前文列表 Openstack组件部署 - Overview和前期环境准备 Ope ...

  9. Openstack组件部署 — Netwotking service组件介绍与网络基本概念

    目录 目录 前文列表 Openstack Networking serivce 基本的Neutron概念 Neutron的抽象对象 网络networks 子网subnets 路由器routers 端口 ...

随机推荐

  1. 老牌激活工具 — Microsoft Toolkit 2.5.1正式版【转】

    老牌激活工具 — Microsoft Toolkit 2.5.1正式版  Microsoft Toolkit 2.5.1是一个一键激活MS Office 及 win系统的工具.原理就是利用KMS来激活 ...

  2. TypeScript躬行记(5)——类型兼容性

    TypeScript是一种基于结构类型的语言,可根据其成员来描述类型.以结构相同的Person接口和Programmer类为例,如下所示. interface Person { name: strin ...

  3. 首次使用Git将码云上的代码Clone至本地

    使用Git将码云上的代码Clone至本地 1. 安装Git https://git-scm.com/book/zh/v2/%E8%B5%B7%E6%AD%A5-%E5%AE%89%E8%A3%85-G ...

  4. jmeter 线程组之间传递动态变化的变量值

    http://www.51testing.com/html/01/n-3725501.html https://www.jianshu.com/p/73832bae65af https://blog. ...

  5. PHPStorm remoteHost链接FTP成功,但不显示文件目录

    ============================================== 勾上前两个选项就可以了

  6. c#静态变量和非静态变量的区别

    静态变量的类型说明符是static.静态变量当然是属于静态存储方式,但是属于静态存储方式的量不一定就是静态变量,例如外部变量虽属于静态存储方式,但不一定是静态变量,必须由 static加以定义后才能成 ...

  7. 数组归一 reduce (数组归一) reduceRight(从右至左)

    var addTwoNumbers = function(l1, l2) { var e = l1 .reverse() .map((v, index, array) => v * Math.p ...

  8. SpringMVC学习(2):经典的HelloWorld实现

    前一篇简单介绍了Spring MVC的一些知识,下面就要开始学习如何把Spring MVC运用到具体的项目中去. 首先还是从一个简单的Hello World项目说起: 我机器的开发环境为: Ubunt ...

  9. js常用转义字符列表

    转义字符 含义 \n 换行 \t 制表符 \b 空格 \r 回车 \f 换页符 \ 反斜杠 ' 单引号 '' 双引号 \0nnn 八进制代码 nnn 表示的字符( n 是 0 到 7 中的一个八进制数 ...

  10. 【记录】git 拉取远程分支代码,同步到另一个git上

    最近有需求从某git 上拉取所有分支代码同步到另一git上,现记录操作步骤,以便日后使用: 1:先克隆其中一个分支代码到本地环境 git clone -b test http://账号:密码@XXX. ...