国基北盛 openstack 云平台搭建保姆级步骤

  • Post author:
  • Post category:其他




需要使用到的软件

VMware-workstation-full-16.1.2

链接:

https://pan.baidu.com/s/1oauUyyfQFNAKboUXDu9QQg?pwd=6666

提取码:6666

SecureCRTPortable

链接:

https://pan.baidu.com/s/1kXJsYeQuQeClJYNbgkIjRw?pwd=6666

提取码:6666



需要下载以下三种镜像

CentOS-7.5-x86_64-DVD-1804

链接:

https://pan.baidu.com/s/1xy8PIGowJZeFQjCGO8mtCA?pwd=6666

提取码:6666

CentOS-7-x86_64-DVD-1804

链接:

https://pan.baidu.com/s/17N4zS2emHDDUyfPigT6uAg?pwd=6666

提取码:6666

chinaskills_cloud_iaas

链接:

https://pan.baidu.com/s/1zOOXj6JIWrrXykZjbZZQbQ?pwd=6666

提取码:6666



创建虚拟机controller

跟着图片操作



注意:



创建虚拟机 controller



注意更改磁盘位置



建议在 D盘创建两个空文件夹,名字是controller



注意:在这里放CentOS-7.5-x86_64-DVD-1804镜像



创建一个网络适配器2



一直点击确定就完成创建虚拟机controller




创建虚拟机compute



注意:

创建虚拟机 compute

注意更改磁盘位置

建议在 D盘创建两个空文件夹,名字是compute



注意:在这里放CentOS-7.5-x86_64-DVD-1804镜像



创建一个100G的硬盘2



创建一个网络适配器2



一直点击确定就完成创建虚拟机compute




依次打开虚拟机controller、compute



注意!!!



进入这个页面按一下方向键 ↑



然后再按一下 TAB



controller、compute的步骤几乎相同 有几处不同之处会标记

net.ifnames=0 biosdevname=0


语言建议使用简体中文(中国)


点击完成就ok


点击接受更改


点击开始安装



注意:

用户名不同


上面是controller

hostnamectl set-hostname controller
bash
hostname

vi /etc/sysconfig/network-scripts/ifcfg-eth0


下面是compute

hostnamectl set-hostname compute
bash
hostname

vi /etc/sysconfig/network-scripts/ifcfg-eth0



注意:

IPADDR不同


上面是controller

IPADDR=192.168.100.10
GATEWAY=192.168.100.2
DNS1=8.8.8.8


下面是compute

IPADDR=192.168.100.10
GATEWAY=192.168.100.2
DNS1=8.8.8.8



两个都是一样的



注意:


上面是controller


下面是compute

systemctl restast network
重启网卡
ip a
查看网卡



注意:


检查一下是否正常



修改内核

vi /etc/default/grub

在那里添加
biosdevname=0 net.ifnames=0



刷新内核

grub2-mkconfig -o /boot/grub2/grub.cfg

reboot
重启



打开控制面板(Win+i 打开设置 搜索控制面板)



打开属性



连接软件SecureCRTPortable


正式搭建OpenStack云平台

点击这个上传镜像


controller节点配置:


上传centos7.0镜像和chinaskills_cloud_iaas.iso镜像


直接往右边拖动即可


上传镜像的同时可以关闭controller和compute的防火墙

systemctl stop firewalld        #关闭防火墙
systemctl disable firewalld        #设置防火墙开机不自启
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
setenforce 0        #临时关闭防火墙,0关闭、1开启
getenforce        #查看防火墙的状态
Permissive
vi /etc/selinux/config         


要修改的如下:


然后检查一下镜像是否上传成功,完成




controller 配置




上传完成了 输入ls查看

mount -o loop CentOS-7-x86_64-DVD-1804.iso /mnt/
mount: /dev/loop0 写保护,将以只读方式挂载
mkdir /opt/centos
cp -rf /mnt/* /opt/centos/
umount /mnt/
mount -o loop chinaskills_cloud_iaas.iso /mnt/
mount: /dev/loop0 写保护,将以只读方式挂载
cp -rf /mnt/* /opt/
umount /mnt/


yum源文件处理

移除原yum源

cd /etc/yum.repos.d/
mv * /media/
ls

写yum源文件

vi local.repo 

#全部都复制粘贴进去 

[centos]
name=centos
baseurl=file:///opt/centos
gpgcheck=0
enabled=1
 
[iaas]
name=iaas
baseurl=file:///opt/iaas-repo
gpgcheck=0
enabled=1

cat local.repo

清除源缓存,验证源,安装软件包

yum clean all        #清除源缓存
已加载插件:fastestmirror
正在清理软件源: centos iaas
Cleaning up everything
Maybe you want: rm -rf /var/cache/yum, to also free up space taken by orphaned data from disabled or removed repos
Cleaning up list of fastest mirrors


yum repolist        #列出所有可用的源


已加载插件:fastestmirror
Determining fastest mirrors
centos                                                                          | 3.6 kB  00:00:00     
iaas                                                                            | 2.9 kB  00:00:00     
(1/3): centos/group_gz                                                          | 166 kB  00:00:00     
(2/3): centos/primary_db                                                        | 3.1 MB  00:00:00     
(3/3): iaas/primary_db                                                          | 1.4 MB  00:00:00     
源标识                                           源名称                                           状态
centos                                           centos                                           3,971
iaas                                             iaas                                             3,232
repolist: 7,203
yum install -y vim vsftpd iaas-xiandian   #安装软件包


配置vsftpd

echo anon_root=/opt/ >> /etc/vsftpd/vsftpd.conf #设置匿名访问
systemctl restart vsftpd        #重启ftp服务
systemctl enable vsftpd        #设置ftp服务开机自启
Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.

修改脚本

vim /etc/xiandian/openrc.sh


注意!!!


在非插入模式下依次按下Ctrl+v——shift+g——D

 
#--------------------system Config--------------------##
#Controller Server Manager IP. example:x.x.x.x
HOST_IP=192.168.100.10        #controller节点的IP地址
 
#Controller HOST Password. example:000000 
HOST_PASS=000000
 
#Controller Server hostname. example:controller
HOST_NAME=controller
 
#Compute Node Manager IP. example:x.x.x.x
HOST_IP_NODE=192.168.100.20        #compute节点的IP地址
 
#Compute HOST Password. example:000000 
HOST_PASS_NODE=000000
 
#Compute Node hostname. example:compute
HOST_NAME_NODE=compute
 
#--------------------Chrony Config-------------------##
#Controller network segment IP.  example:x.x.0.0/16(x.x.x.0/24)
network_segment_IP=192.168.100.0/24        #controller节点所在的网段
 
#--------------------Rabbit Config ------------------##
#user for rabbit. example:openstack
RABBIT_USER=openstack
 
#Password for rabbit user .example:000000
RABBIT_PASS=000000
 
#--------------------MySQL Config---------------------##
#Password for MySQL root user . exmaple:000000
DB_PASS=000000
 
#--------------------Keystone Config------------------##
#Password for Keystore admin user. exmaple:000000
DOMAIN_NAME=demo        
ADMIN_PASS=000000
DEMO_PASS=000000
 
#Password for Mysql keystore user. exmaple:000000
KEYSTONE_DBPASS=000000
 
#--------------------Glance Config--------------------##
#Password for Mysql glance user. exmaple:000000
GLANCE_DBPASS=000000
 
#Password for Keystore glance user. exmaple:000000
GLANCE_PASS=000000
 
#--------------------Nova Config----------------------##
#Password for Mysql nova user. exmaple:000000
NOVA_DBPASS=000000
 
#Password for Keystore nova user. exmaple:000000
NOVA_PASS=000000
 
#--------------------Neturon Config-------------------##
#Password for Mysql neutron user. exmaple:000000
NEUTRON_DBPASS=000000
 
#Password for Keystore neutron user. exmaple:000000
NEUTRON_PASS=000000
 
#metadata secret for neutron. exmaple:000000
METADATA_SECRET=000000
 
#Tunnel Network Interface. example:x.x.x.x
INTERFACE_IP=192.168.100.10        #本机IP地址
 
#External Network Interface. example:eth1
INTERFACE_NAME=eth1
 
#External Network The Physical Adapter. example:provider
Physical_NAME=provider
 
#First Vlan ID in VLAN RANGE for VLAN Network. exmaple:101
minvlan=101
 
#Last Vlan ID in VLAN RANGE for VLAN Network. example:200
maxvlan=200
 
#--------------------Cinder Config--------------------##
#Password for Mysql cinder user. exmaple:000000
CINDER_DBPASS=000000
 
#Password for Keystore cinder user. exmaple:000000
CINDER_PASS=000000
 
#Cinder Block Disk. example:md126p3
BLOCK_DISK=sdb1        #compute节点的存储块
 
#--------------------Swift Config---------------------##
#Password for Keystore swift user. exmaple:000000
SWIFT_PASS=000000
 
#The NODE Object Disk for Swift. example:md126p4.
OBJECT_DISK=sdb2        #compute节点的存储块
 
#The NODE IP for Swift Storage Network. example:x.x.x.x.
STORAGE_LOCAL_NET_IP=192.168.100.20    #compute节点的IP地址
 
#--------------------Heat Config----------------------##
#Password for Mysql heat user. exmaple:000000
HEAT_DBPASS=000000
 
#Password for Keystore heat user. exmaple:000000
HEAT_PASS=000000
 
#--------------------Zun Config-----------------------##
#Password for Mysql Zun user. exmaple:000000
ZUN_DBPASS=000000
 
#Password for Keystore Zun user. exmaple:000000
ZUN_PASS=000000
 
#Password for Mysql Kuryr user. exmaple:000000
KURYR_DBPASS=000000
 
#Password for Keystore Kuryr user. exmaple:000000
KURYR_PASS=000000
 
#--------------------Ceilometer Config----------------##
#Password for Gnocchi ceilometer user. exmaple:000000
CEILOMETER_DBPASS=000000
 
#Password for Keystore ceilometer user. exmaple:000000
CEILOMETER_PASS=000000
 
#--------------------AODH Config----------------##
#Password for Mysql AODH user. exmaple:000000
AODH_DBPASS=000000
 
#Password for Keystore AODH user. exmaple:000000
AODH_PASS=000000
 
#--------------------Barbican Config----------------##
#Password for Mysql Barbican user. exmaple:000000
BARBICAN_DBPASS=000000
 
#Password for Keystore Barbican user. exmaple:000000
BARBICAN_PASS=000000




compute配置



硬盘分区

[root@compute ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。
 
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
 
Device does not contain a recognized partition table
使用磁盘标识符 0x34bc5373 创建新的 DOS 磁盘标签。
 
命令(输入 m 获取帮助):n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): 
Using default response p
分区号 (1-4,默认 1):
起始 扇区 (2048-209715199,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-209715199,默认为 209715199):+25G
分区 1 已设置为 Linux 类型,大小设为 25 GiB
 
命令(输入 m 获取帮助):n
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): 
Using default response p
分区号 (2-4,默认 2):
起始 扇区 (52430848-209715199,默认为 52430848):
将使用默认值 52430848
Last 扇区, +扇区 or +size{K,M,G} (52430848-209715199,默认为 209715199):+25G
分区 2 已设置为 Linux 类型,大小设为 25 GiB
 
命令(输入 m 获取帮助):w
The partition table has been altered!
 
Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@compute ~]# lsblk 
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0  200G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0  199G  0 part 
  ├─centos-root 253:0    0   50G  0 lvm  /
  ├─centos-swap 253:1    0    2G  0 lvm  [SWAP]
  └─centos-home 253:2    0  147G  0 lvm  /home
sdb               8:16   0  100G  0 disk 
├─sdb1            8:17   0   25G  0 part 
└─sdb2            8:18   0   25G  0 part 
sr0              11:0    1  4.2G  0 rom  
[root@compute ~]#


源文件处理

cd /etc/yum.repos.d/
mv * /media/
ls


写源文件

vi local.repo 

#全部都复制粘贴进去 

[centos]
name=centos
baseurl=file:///opt/centos
gpgcheck=0
enabled=1
 
[iaas]
name=iaas
baseurl=file:///opt/iaas-repo
gpgcheck=0
enabled=1

cat local.repo

清除源缓存,验证源,安装软件包

yum clean all        #清除源缓存
已加载插件:fastestmirror
正在清理软件源: centos iaas
Cleaning up everything
Maybe you want: rm -rf /var/cache/yum, to also free up space taken by orphaned data from disabled or removed repos
Cleaning up list of fastest mirrors


yum repolist        #列出所有可用的源


已加载插件:fastestmirror
Determining fastest mirrors
centos                                                                          | 3.6 kB  00:00:00     
iaas                                                                            | 2.9 kB  00:00:00     
(1/3): centos/group_gz                                                          | 166 kB  00:00:00     
(2/3): centos/primary_db                                                        | 3.1 MB  00:00:00     
(3/3): iaas/primary_db                                                          | 1.4 MB  00:00:00     
源标识                                           源名称                                           状态
centos                                           centos                                           3,971
iaas                                             iaas                                             3,232
repolist: 7,203
yum install -y vim vsftpd iaas-xiandian   #安装软件包


修改脚本!!!



将controller的脚本复制至compute

[root@compute ~]# scp 192.168.100.10:/etc/xiandian/openrc.sh /etc/xiandian/openrc.sh 
The authenticity of host '192.168.100.10 (192.168.100.10)' can't be established.
ECDSA key fingerprint is SHA256:3fUEo7XuafRBPMtY2rSnpjKOdGSrLnE68O2aZAXEp6o.
ECDSA key fingerprint is MD5:4b:73:20:24:30:ad:6a:31:86:fa:26:55:47:92:99:cc.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.100.10' (ECDSA) to the list of known hosts.
root@192.168.100.10's password: 
openrc.sh                                                            100% 3820     1.9MB/s   00:00    

需要修改compute的脚本

vim /etc/xiandian/openrc.sh

在非插入模式 输入/INTER

查找到INTERFACE_IP=192.168.100.10

修改成INTERFACE_IP=192.168.100.20


刷脚本

刷脚本过程漫长请慢慢等待

可以controller 和 compute 两个脚本一起刷脚本

controller

cd

iaas-pre-host.sh

reboot  #重启

iaas-install-mysql.sh

iaas-install-keystone.sh

source /etc/keystone/admin-openrc.sh

iaas-install-glance.sh

iaas-install-nova-controller.sh

iaas-install-neutron-controller.sh

iaas-install-dashboard.sh

compute

cd

iaas-pre-host.sh

reboot  #重启

iaas-install-nova-compute.sh

iaas-install-neutron-compute.sh


刷完脚本再打开一个浏览器并输入 :



http://192.168.100.10/dashboard


连接即可


如有雷同,请联系我修改



版权声明:本文为Gui_ChuYun原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。