openstack实验环境的搭建2

搭建前提

虚拟机3台,最小内存4G
cpu必须直通,表示我们的虚拟机支持Kvm硬件虚拟化
双网卡必须都是
在这里插入图片描述

在这里插入图片描述``

安全

建议实验环境用户名和密码一样,或者所有密码都一样。要不然容易遗忘

主机网络

虚拟机1 controller 虚拟机2 computer1 虚拟机3 block1
controller ip 172.25.138.1 computer1 ip 172.25.138.2 block1 ip 172.25.138.3
虚拟机都要和真机做双解析

在这里插入图片描述

[root@server1 ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
172.25.138.250  foundation38.ilt.example.com
172.25.138.1  controller
172.25.138.2  computer1
172.25.138.3  block1

controller(compuer1 block1 一样只是ip不一样)

[root@controller ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 
BOOTPROTO=static
DEVICE=eth0
ONBOOT=yes
IPADDR=172.25.138.1
PREFIX=24
GATEWAY=172.25.138.250
DNS1=114.114.114.114

虚拟机第二块网卡配置,用于虚拟机相互通信

[root@controller network-scripts]# cp ifcfg-eth0 ifcfg-eth1
[root@server1 network-scripts]# vim ifcfg-eth1
root@server1 network-scripts]# cat ifcfg-eth1
BOOTPROTO=none
DEVICE=eth1
ONBOOT=yes

在宿主机上面更改内核参数,这样会用传统的以太网来命名。eth0 eth1 而不是enpens这种形式,这种形式会发生变化,最好让它固定住。
然后重启

[root@foundation38 ~]# cd /boot/grub2/
[root@foundation38 grub2]# ls
grubenv
[root@foundation38 grub2]# vim grubenv 
加上这个参数
net.ifnames=0

启动第二块网卡

[root@controller ~]# ifup eth1
[root@controller ~]# ip addr
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000

网络时间协议(controller computer block)

如果时间不同步会导致云主机启动不起来
我是把所有虚拟机与宿主机同步时间,官网上是所有机与controller同步时间,生产环境中,内网有专门的时间同步服务器。
对于集群来说时间同步非常重要

[root@controller network-scripts]#  yum install chrony -y

修改真实主机的时间同步来控制虚拟机的时间同步,真实主机能上网同步阿里云的NTP服务

[root@foundation38 ~]# vim /etc/chrony.conf

在这里插入图片描述
允许所有172.25的网段来访问

[root@controller network-scripts]# vim /etc/chrony.conf 

宿主机的私有网络地址,内网同步时间快。
在这里插入图片描述

[root@controller network-scripts]# systemctl enable --now chronyd
[root@contWed Jul 28 18:31:02 CST 2021
roller network-scripts]# date
[root@foundation38 ~]# date
Wed Jul 28 18:31:12 CST 2021

时间同步了

安装openstack包

移动硬盘中的位置

[root@foundation38 ~]# cd /run/media/kiosk/Backup\ Plus/pub/
[root@foundation38 pub]# cd openstack/
[root@foundation38 openstack]# cd mitaka/
[root@foundation38 openstack]# cp mitaka /var/www/html/openstack/
[root@controller yum.repos.d]# vim openstack.repo
[openstack]
name=openstack
baseurl=http://172.25.138.250/openstack/mitaka
gpgcheck=0
[root@controller yum.repos.d]# yum repolist
openstack                                           openstack                                             279

开始安装,安装前先做下软件的升级,更新下系统里面的软件包。

[root@controller yum.repos.d]# yum upgrade

安装openstack的客户端软件包

[root@controller yum.repos.d]# yum install python-openstackclient

在这里插入图片描述
更改相应的selinux,我的系统把selinux关闭了,所以不用管这步

SQL数据库

整个openstack的所有数据都会持久化保存到mysql数据库,官网上用的maridb数据库

[root@controller yum.repos.d]# yum install mariadb mariadb-server python2-PyMySQL
[root@controller yum.repos.d]# cd /etc/my.cnf.d/   进入数据库里的Included目录,所有的*.cnf文件都会Included进去
[root@controller my.cnf.d]# vim openstack.cnf
[mysqld]   告诉它监听mysqld数据库
bind-address = 172.25.138.1   监听地址controller
default-storage-engine = innodb   默认引擎
innodb_file_per_table   共享独立表空间
max_connections = 4096   最大连接处
collation-server = utf8_general_ci  校验字符集
character-set-server = utf8

密码westos

[root@controller my.cnf.d]# systemctl enable mariadb.service 
[root@controller my.cnf.d]# systemctl start mariadb.service 
[root@controller my.cnf.d]# mysql_secure_installation
Enter current password for root (enter for none): 
Set root password? [Y/n] y
Remove anonymous users? [Y/n] y
Disallow root login remotely? [Y/n] y
Remove test database and access to it? [Y/n] y
Reload privilege tables now? [Y/n] y

NoSQL 数据库

NoSQL用的是MongoDB,用于Telemetry 服务。我们不用这个服务,这个服务是用于审计监控这类,以后用到这个服务,在加上去。

消息队列

很多核心组件(计算、网络)都需要用到rabbitmq-server来作消息缓冲

[root@controller my.cnf.d]# yum install rabbitmq-server
[root@controller my.cnf.d]# systemctl enable --now rabbitmq-server.service
[root@controller my.cnf.d]# rabbitmqctl add_user openstack openstack  用户名和密码保持一致
[root@controller my.cnf.d]# rabbitmqctl set_permissions openstack ".*" ".*" ".*" 授权 三个.*    

三个.*的含义

[root@controller my.cnf.d]# cd 
[root@controller ~]# rabbitmq-plugins list
其中有个插件[  ] rabbitmq_management               3.6.5管理插件
打开这个管理插件
[root@controller ~]# rabbitmq-plugins enable rabbitmq_management  打开这个管理插件会提供一个web接口,监听端口
[root@controller ~]# netstat -antlp  
tcp        0      0 0.0.0.0:15672           0.0.0.0:*               LISTEN      5056/beam.smp       

使用guest用户,密码guest
在这里插入图片描述
在这里插入图片描述guest其实就是admin
点开openstack
在这里插入图片描述权限是.* 所以,命令行用的熟,就不用web接口可视化操作
rabbitMQ命令行使用方法

[root@controller ~]# rabbitmqctl --help

如果在使用rabbitMQ提醒连接不上时
你要校验下用户

[root@controller ~]# rabbitmqctl list_users
Listing users ...
openstack	[]
guest	[administrator]

rabbitMQ用户里面openstack有无
还要校验用户权限对不

[root@controller ~]# rabbitmqctl list_user_permissions openstack
Listing permissions for user "openstack" ...
/	.*	.*	.*

还要校验用户的密码

[root@controller ~]# rabbitmqctl authenticate_user openstack openstack
Authenticating user "openstack" ...
Success

Memcached

认证服务认证缓存使用Memcached缓存令牌。
原先是存在数据库对数据库压力大,其次当其过期时,你需要手动维护数据库,它不断往数据库存,你要不断删除。
现在Memcached缓存令牌,Memcached存令牌,Memcached有过期时间,直接存进去时定义令牌的缓存时间,令牌过期,Memcached存的时间也过期,到期自己删除,免维护。
Memcached缓存令牌,速度更快

[root@controller ~]# yum install memcached python-memcached
[root@controller ~]# vim /etc/sysconfig/memcached 
OPTIONS="-l 127.0.0.1,::1"里面的参数,默认情况下只监听本机的回环接口,其他主机用不成了。127.0.1这个接口这不够,注释掉,这样它会监听本机所有接口,或者双引号后面 ,加上本机ip地址
[root@controller ~]# cat /etc/sysconfig/memcached 
PORT="11211"
USER="memcached"
MAXCONN="1024"
CACHESIZE="64"
#OPTIONS="-l 127.0.0.1,::1"
[root@controller ~]#  systemctl enable --now memcached.service
[root@controller ~]# netstat -antlp|grep :11211 memcached的端口
tcp        0      0 0.0.0.0:11211           0.0.0.0:*               LISTEN      9215/memcached      
tcp6       0      0 :::11211                :::*                    LISTEN      9215/memcached      
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值