Openstack之控制节点系统及环境安装

来源:互联网 发布:c语言简单编程 编辑:程序博客网 时间:2024/06/12 00:01

实验环境配置

虚拟机环境:
这里写图片描述
宿主机:
系统:win10,内存8G

虚拟机:VMware
系统CentOS7

1.创建虚拟机,并修改主机名。例如:

     hostnamectl set-hostname controller

这里写图片描述

注:在这里我电脑的虚拟机有网络,所以第二步和第六步隔过去。

  1. 配置网络:配置红色网卡 IP 地址。蓝色网卡无需特殊配置,保持网卡激活状态即可。例如:

    nmcli connection add type ethernet con-name conn1 ifname ens33
    nmcli connection modify conn1 ipv4.method manual ipv4.addresses 192.168.162.128/24 ipv4.gateway 192.168.162.128
    nmcli connection up conn1

3、 修改/etc/hosts 文件,添加内容如下:

    192.168.162.128 controller

这里写图片描述

4、配置 controller node( 管理节点 ) 为时间服务器 , 修改 controller node( 管理节点 ) 的 /etc/chrony.conf 配置文件。添加如下内容:

    server times.aliyun.com iburst    allow 192.168.162.128/24    bindcmdaddress 0.0.0.0    local stratum 10

这里写图片描述

启动 chronyd 服务,并设置开机自动启动。

    systemctl enable chronyd.service    systemctl start chronyd.service

这里写图片描述

5、关闭所有节点的防火墙服务

systemctl disable firewalldsystemctl 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.rpmsystemctl start vsftpd.servicesystemctl enable vsftpd.servicemkdir /var/ftp/yumecho "/dev/sdb1 /var/ftp/yum/ xfs defaults 0 0" >> /etc/fstabmount -a

D. 恢复 SELinux 上下文。

 restorecon -Rv /var/ftp/

(3) 删除或移走所有节点/etc/yum.repos.d 目录中的文件,并在该目录中创建新文件 b.repo,包含如下内容:

[openstack-Ocata] name=OpenStack Ocata Repositorybaseurl=ftp://controller/yum/OpenStack-Ocata/gpgcheck=0enabled=1[base]name=basebaseurl=ftp://controller/yum/baseenabled=1gpgcheck=0[extras]name=extrasbaseurl=ftp://controller/yum/extras/enabled=1gpgcheck=0[updates]name=updatesbaseurl=ftp://controller/yum/updates/enabled=1gpgcheck=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 = 192.168.162.149default-storage-engine = innodb innodb_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

这里写图片描述
3)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,controller"

这里写图片描述

3) 启动 Memcached 服务并设置开机自动启动。

systemctl enable memcached.servicesystemctl 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.wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
4.mv CentOS7-Base-163.repo CentOS-Base.repo
5. 刷新YUM的缓存状态:
yum clean all
yum makecache

一:安装RDO软件
sudo yum install -y http://rdo.Fedorapeople.org/rdo-release.rpm
二:安装一个叫packstack的部署包
sudo yum install -y openstack-packstack
然后执行安装openstack的客户端,成功安装。
2.第二个错误是:
这里写图片描述
Job for rabbitmq-server.service failed because the control process exited with error code. See “systemctl status rabbitmq-server.service” and “journalctl -xe” for details.
解决办法:
查看/etc/hosts是否配置正确
重新启动
看了看果然是我的配置有问题,更改ip后正确。

阅读全文
1 0