1.创建虚拟机,并修改主机名。例如
# hostnamectl set-hostname controller
2. 配置网络:配置红色网卡 IP 地址。蓝色网卡无需特殊配置,保持网卡激活状态即可。例如:
# nmcli connection add type ethernet con-name conn1 ifname ens33
# nmcli connection modify conn1 ipv4.methodmanual ipv4.addresses 10.0.0.10/24 ipv4.gateway 10.0.0.2
# nmcli connection up conn1
3、修改/etc/hosts 文件,添加内容如下:
10.0.0.10 controller
4、配置 controller node( 管理节点 ) 为时间服务器 , 修改 controller node( 管理节点 ) 的 /etc/chrony.conf 配置文件。添加如下内容:
server times.aliyun.com iburst
allow 10.0.0.0/24
bindcmdaddress 0.0.0.0
local stratum 10
启动 chronyd 服务,并设置开机自动启动。
# systemctl enable chronyd.service
# systemctl start chronyd.service
5、关闭所有节点的防火墙服务
# systemctl disable firewalld
# systemctl stop firewalld
6、配置 yum 源
(1) 为虚拟机添加一个硬盘,OSO-yum-000001.vmdk
(2)如果不能上网,则在 Controller node(管理节点)添加包含 yum 仓库的磁盘文件,并在管理节点进行如下操作。
A. 将系统安装 DVD 镜像光盘挂在到/media 目录。
# mount /dev/cdrom /media/
B. 安装 vsftpd 服务,并启动服务。
# rpm -ivh /media/Packages/vsftpd-3.0.2-10.el7.x86_64.rpm
# systemctl start vsftpd.service
# systemctl enable vsftpd.service
# mkdir /var/ftp/yum
# echo "/dev/sdb1 /var/ftp/yum/ xfs defaults 0 0" >>/etc/fstab
# mount -a
D. 恢复 SELinux 上下文。
# restorecon -Rv /var/ftp/
(3) 删除或移走所有节点/etc/yum.repos.d 目录中的文件,并在该目录中创建新文件 b.repo,包含如下内容:
[openstack-Ocata]
name=OpenStack Ocata Repository
baseurl=ftp://controller/yum/OpenStack-Ocata/
gpgcheck=0
enabled=1
[base]
name=base
baseurl=ftp://controller/yum/base
enabled=1
gpgcheck=0
[extras]
name=extras
baseurl=ftp://controller/yum/extras/
enabled=1
gpgcheck=0
[updates]
name=updates
baseurl=ftp://controller/yum/updates/
enabled=1
gpgcheck=0
7、在所有节点安装软件包。
1) 更新所有软件包,如果更新了内核,请重启系统后再继续其他操作。
# yum upgrade –y
2) 安装 OpenStack 客户端
# yum install python-openstackclient –y
3) 由于 CentOS 或 RHEL 的 SELinux 默认是打开的,因此需要安装 openstack-selinux 包来自动管理跟openstack 服务有关的安全策略。
# yum install openstack-selinux –y
8、大多数 OpenStack 服务使用 SQL 数据库存储信息。数据库一般运行在 Controller node(管理节点)。在管理节点安装并配置 MariaDB 数据库组件。
1) 安装软件包
# yum install mariadb mariadb-server python2-PyMySQL –y
2) 创建并编辑文件/etc/my.cnf.d/openstack.cnf。
创建[mysqld]小节,设置 bind-address 配置项为管理节点的管理 IP 地址。添加其他有用的配置项,以及支持 UTF-8 字符集
[mysqld] bind-address = 10.0.0.10
default-storage-engine = innodbinnodb_file_per_table = on max_connections = 4096 collation-server =utf8_general_ci character-set-server = utf8
3) 完成安装
A. 启动数据库服务并设置开机自动启动。
# systemctl enable mariadb.service
# systemctl start mariadb.service
B. 执行mysql_secure_installation,设置数据库管理员 root 用户的密码。
# mysql_secure_installation
9、OpenStack 使用消息队列服务进行服务之间的协调和状态信息的同步。消息队列服务通常运行于 Controller node(管理节点)。OpenStack 支持多种消息队列服务,包括 RabbitMQ, Qpid 和 ZeroMQ。大多数 OpenStack 发行版支持 RabbitMQ。在管理节点安装 RabbitMQ 消息队列服务。
1) 安装软件包
# yum install rabbitmq-server –y
2) 启动消息队列服务并设置开机自动启动。
# systemctl enable rabbitmq-server.service
# systemctl start rabbitmq-server.service
3) 添加 openstack 用户
# rabbitmqctl add_user openstack RABBIT_PASS 替换 RABBIT_PASS 为一个合适的密码
4) 为 openstack 用户赋予读和写访问权限。
# rabbitmqctl set_permissions openstack ".*" ".*"".*"
10、identity 服务身份认证机制使用Memcached 缓存令牌。Memcached
服务通常运行于 Controller node(管理节点)。在管理节点安装
Memcached 服务。
1) 安装软件包。
# yum install memcached python-memcached –y
2) 编辑/etc/sysconfig/memcached 文件,为使其他节点可以访问。
编辑现有配置项:OPTIONS="-l 127.0.0.1,::1"
OPTIONS="-l 127.0.0.1,::1,controller32"
3) 启动 Memcached 服务并设置开机自动启动。
# systemctl enable memcached.service
# systemctl start memcached.service
疑难小结:
1.在进行安装openstack客户端的时候一直出现错误,错误是没有可用软件包python-openstackclient
错误:无需任何处理。
这里的这个错误找了很久,用了一个工具:
首先更新yum源为163的。命令如下:
1.首先备份源:
mv/etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
2.备份之前的源BASE,进入对应目录。
cd/etc/yum.repos.d/
3.wgethttp://mirrors.163.com/.help/CentOS7-Base-163.repo
4.mvCentOS7-Base-163.repo CentOS-Base.repo
5.刷新YUM的缓存状态:
yumclean all
yummakecache
一:安装RDO软件
sudoyum install -y http://rdo.Fedorapeople.org/rdo-release.rpm
二:安装一个叫packstack的部署包
sudoyum install -y openstack-packstack