一.准备工作

云平台需要两个节点,一个controller(控制节点),一个compute(计算节点)环境要求:VM虚拟机2台,镜像为centos7或7.5。


本指南使用的ip


控制节点(controller):


一块100G的硬盘。两块网卡,两块网卡第一块网卡IP地址为192.168.100.10,第二块网卡IP地址为192.168.200.10。(编辑时用的是60G硬盘)


计算节点(compute):


一块100G硬盘和一块50G硬盘。两块网卡第一块网卡IP地址为192.168.100.20,第二块网卡IP地址为192.168.200.20。(编辑时用的60G+20G两块硬盘)


本指南运用的镜像


1.通过百度网盘分享的文件:CentOS-7-x86_64-DVD-2009.iso

链接:https://pan.baidu.com/s/1VqYqutsstDwdt7w8g4tjjg 

提取码:dy7c 

2.通过百度网盘分享的文件:CentOS-7.5-x86_64-DVD-1804.iso

链接:https://pan.baidu.com/s/1pzt1_iZ0Lph69Llvo_2ILQ 

提取码:37ss 

3.通过百度网盘分享的文件:chinaskills_cloud_iaas.iso

链接:https://pan.baidu.com/s/1EDlE-9bH83yGmvQtifLlvw 

提取码:2e16 


二.配置虚拟机

1.controller控制节点











 






























重启后使用root登录,修改主机名,网卡


1.修改controller(控制节点)主机名




2.1修改第一块网卡






按insert进入编辑模式,编辑完后esc加冒号wq保存退出


2.2修改第二块网卡






重启网卡,使网卡生效




ip a查看一下是不是改好了




使用finalshell连接controller(为了更好的使用)






2.compute节点







第一块网卡配置如下:




第二块网卡配置如下:




重启网卡使配置生效






注意:compute节点也需要连接finalshell


三.正式开始搭建openstack云平台

controller节点配置:


1.上传centos7镜像和iaas镜像





上传成功!


2.关闭防火墙和selinux

systemctl stop firewalld    #关闭防火墙

systemctl disable firewalld  #防火墙开机不自启动

setenforce 0  #临时关闭selinux防火墙,1为打开

getenforce  #查看selinux状态

 

更改selinux配置文件,非临时性关闭


vi /etc/selinux/config



3.挂载镜像

[root@controller ~]# mount -o loop CentOS-7-x86_64-DVD-1804.iso /mnt/

mount: /dev/loop0 写保护,将以只读方式挂载

[root@controller ~]# mkdir /opt/centos

[root@controller ~]# mkdir /opt/openstack

[root@controller ~]# cp -rf /mnt/* /opt/centos/

[root@controller ~]# umount /mnt/

[root@controller ~]# mount -o loop chinaskills_cloud_iaas.iso /mnt/

mount: /dev/loop0 写保护,将以只读方式挂载

[root@controller ~]# cp -rf /mnt/* /opt/openstack

[root@controller ~]# umount /mnt/

4.yum文件处理

 移除所有yum源


[root@controller ~]# cd /etc/yum.repos.d/

[root@controller yum.repos.d]# mv * /media/

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

[root@controller yum.repos.d]#

 写yum源文件


[root@controller yum.repos.d]# vi local.repo 

[root@controller yum.repos.d]# cat local.repo 

[centos]

name=centos

baseurl=file:///opt/centos

gpgcheck=0

enabled=1

 

[iaas]

name=iaas

baseurl=file:///opt/openstack/iaas-repo

gpgcheck=0

enabled=1

清理yum缓存,验证yum源是否成功,下载所需软件包


[root@controller yum.repos.d]# yum clean all        #清除yum源缓存

已加载插件: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

[root@controller yum.repos.d]# yum repolist        #列出所有可用的yum源

已加载插件: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

[root@controller yum.repos.d]# yum install -y vim vsftpd iaas-xiandian   #安装所需的软件包


5.配置vsftpd

vi /etc/vsftpd/vsftpd.conf

 


[root@controller yum.repos.d]# systemctl restart vsftpd        #重启ftp服务

[root@controller yum.repos.d]# systemctl enable vsftpd        #设置ftp服务开机自启

 6.修改脚本

[root@controller ~]# 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节点设置

1.关闭防火墙和selinux

[root@compute ~]# systemctl stop firewalld

[root@compute ~]# systemctl disable firewalld

[root@compute ~]# setenforce 0

更改selinux配置文件,非临时性关闭


vi /etc/selinux/config



2.硬盘分区

[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):+10G

分区 1 已设置为 Linux 类型,大小设为 10 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):+5G

分区 2 已设置为 Linux 类型,大小设为 5 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   10G  0 part 

└─sdb2            8:18   0    5G  0 part 

sr0              11:0    1  4.2G  0 rom  


3.yum文件处理

移除源yum源


[root@compute ~]# cd /etc/yum.repos.d/

[root@compute yum.repos.d]# mv * /media/

写入yum文件


[root@compute yum.repos.d]# vi local.repo

[centos]

name=centos

baseurl=ftp://192.168.100.10/centos

gpgcheck=0

enabled=1

 

[iaas]

name=iaas

baseurl=ftp://192.168.100.10/openstack/iaas-repo

gpgcheck=0

enabled=1

清理yum缓存,验证yum是否可以用,下载所需软件包


[root@compute yum.repos.d]# 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

[root@compute yum.repos.d]# 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

[root@compute yum.repos.d]# yum install -y vim iaas-xiandian


4.修改脚本

将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    

修改openrc.sh脚本中本机Ip地址




四.刷脚本

注:刷脚本前可以快照


controller节点:

[root@controller ~]# iaas-pre-host.sh        #刷完该脚本后需要重启

 

[root@controller ~]# iaas-install-mysql.sh

 

[root@controller ~]# iaas-install-keystone.sh

 

[root@controller ~]# source /etc/keystone/admin-openrc.sh         #使环境生效

 

[root@controller ~]# iaas-install-glance.sh

 

[root@controller ~]# iaas-install-nova-controller.sh

 

[root@controller ~]# iaas-install-neutron-controller.sh

 

[root@controller ~]# iaas-install-dashboard.sh

看到此类问题可以删除yum里除local.repo多余文件




直到出现以下:




compute节点:

[root@compute ~]# iaas-pre-host.sh         #刷完该脚本后需要重启

 

[root@compute ~]# iaas-install-nova-compute.sh

 

[root@compute ~]# iaas-install-neutron-compute.sh

五.登录openstack云平台

在地址栏中输入http://192.168.100.10/dashbpard


chux


出现以下图即为成功(用户名:admin  密码:000000)




 

————————————————


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

                        

原文链接:https://blog.csdn.net/qq_68736843/article/details/143322508


标签: none

添加新评论