备注:由于此步骤教程完全按照官方教程整理所得,又采取以虚拟的形式部署,网络、配置规划仅供参考,在生产环境中可以根据需求把相关组件拆开,以达到性能最佳效果
节点配置
节点类别 | 节点名称 | 作用 | OS | Cpu | Mem | Disk1 | Disk2 | Eth0 | Eth1 |
Controller | controller | 控制节点组件 | Centos7.4mini | 8 | 10G | 100G | 无 | 10.10.6.11 | Provider_IP |
Compute | compute12 | 计算节点组件 | Centos7.4mini | 8 | 10G | 100G | 100G | 10.10.6.12 | Fixed_IP |
网络选择第二种方式部署selfservice network
下面是网络拓扑
环境准备:
在kvm 环境 按照上述配置新建两台虚机
以下步骤在controller、compute 都需要操作,以controller 为例
设置selinux
[root@controller ~]# cat /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three two values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
禁用firewalld
[root@controller ~]# systemctl disable firewalld && systemctl stop firewalld
设置主机名
[root@localhost ~]# hostnamectl set-hostname controller
设置hosts配置
[root@controller ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
10.10.6.11 controller
10.10.6.12 compute12
NTP设置
[root@controller11 ~]# yum install chrony -y
[root@controller ~]# systemctl enable chronyd.service && systemctl start chronyd.service && systemctl status chronyd.service
[root@controller ~]# chronyc sources
210 Number of sources = 4
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^- ntp1.flashdance.cx 2 6 17 14 +56ms[ +56ms] +/- 177ms
^- 61-216-153-106.HINET-IP.> 3 6 17 17 +6528us[-1107ms] +/- 73ms
^? time5.aliyun.com 0 6 0 - +0ns[ +0ns] +/- 0ns
^* time4.aliyun.com 2 6 17 16 +44us[-2018us] +/- 22ms
设置controller到compute 无密码访问
[root@controller ~]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:89SUCU6KMQb1oX9sWb3Wlkbj+KbvSthHqtEG1qdnxHk root@controller
The key's randomart image is:
+---[RSA 2048]----+
| .o= . o |
| . * = . + |
| o o . = .o |
| . . =. =o+|
| S *o.ooXE|
| *. =.O..|
| .o B * |
| = * |
| . o+o |
+----[SHA256]-----+
[root@controller ~]#
[root@controller ~]# ssh-copy-id -i .ssh/id_rsa.pub root@10.10.6.12
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: ".ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@10.10.6.12's password:
Number of key(s) added: 1
Now try logging into the machine, with: "ssh 'root@10.10.6.12'"
and check to make sure that only the key(s) you wanted were added
安装openstack-pike 源
[root@controller ~]# yum install centos-release-openstack-pike -y
Installed:
centos-release-openstack-pike.x86_64 0:1-1.el7
Dependency Installed:
centos-release-ceph-jewel.noarch 0:1.0-1.el7.centos centos-release-qemu-ev.noarch 0:1.0-2.el7 centos-release-storage-common.noarch 0:1-2.el7.centos
centos-release-virt-common.noarch 0:1-1.el7.centos
Complete!
[root@controller ~]# yum install https://rdoproject.org/repos/rdo-release.rpm -y
更新 系统
Complete!
[root@controller11 ~]# yum upgrade -y
[root@controller11 ~]# yum install python-openstackclient openstack-selinux -y
重启系统
Complete!
[root@controller11 ~]# reboot
以下操作在controller 节点上操作
安装数据库
[root@controller ~]# yum install mariadb mariadb-server python2-PyMySQL -y
[root@controller ~]# less /etc/my.cnf.d/openstack.cnf
[mysqld]
bind-address = 10.10.6.11
default-storage-engine = innodb
innodb_file_per_table = on
max_connections = 4096
collation-server = utf8_general_ci
character-set-server = utf8
启动数据库
[root@controller ~]# systemctl enable mariadb.service
Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.
[root@controller ~]# systemctl enable mariadb.service
[root@controller ~]# systemctl start mariadb.service
根据提示初始化数据库
[root@controller ~]# mysql_secure_installation
安装rabbitmq
[root@controller11 ~]# yum install rabbitmq-server -y
[root@controller11 ~]# systemctl enable rabbitmq-server.service
Created symlink from /etc/systemd/system/multi-user.target.wants/rabbitmq-server.service to /usr/lib/systemd/system/rabbitmq-server.service.
[root@controller11 ~]# systemctl start rabbitmq-server.service
[root@controller11 ~]# rabbitmqctl add_user openstack RABBIT_PASS
Creating user "openstack" ...
[root@controller11 ~]# rabbitmqctl set_permissions openstack ".*" ".*" ".*"
Setting permissions for user "openstack" in vhost "/" ...
安装memcached
[root@controller11 ~]# yum install memcached python-memcached -y
[root@controller11 ~]# cp /etc/sysconfig/memcached{,.bak}
[root@controller11 ~]# vi /etc/sysconfig/memcached
[root@controller ~]# less /etc/sysconfig/memcached
PORT="11211"
USER="memcached"
MAXCONN="1024"
CACHESIZE="64"
OPTIONS="-l 127.0.0.1,::1,controller"
[root@controller11 ~]#
[root@controller11 ~]#
[root@controller11 ~]# systemctl enable memcached.service
Created symlink from /etc/systemd/system/multi-user.target.wants/memcached.service to /usr/lib/systemd/system/memcached.service.
[root@controller11 ~]# systemctl start memcached.service
[root@controller11 ~]# systemctl status memcached
● memcached.service - memcached daemon
Loaded: loaded (/usr/lib/systemd/system/memcached.service; enabled; vendor preset: disabled)
Active: active (running) since Mon 2018-03-26 16:41:06 CST; 12s ago
Main PID: 2222 (memcached)
CGroup: /system.slice/memcached.service
└─2222 /usr/bin/memcached -p 11211 -u memcached -m 64 -c 1024 -l 127.0.0.1,::1,10.10.6.11
Mar 26 16:41:06 controller11 systemd[1]: Started memcached daemon.
Mar 26 16:41:06 controller11 systemd[1]: Starting memcached daemon...
官网有一个Ectd 集群的组件,这里没有安装,如果需要可以参考:
https://docs.openstack.org/install-guide/environment-etcd-rdo.html