首页 > 其他分享 >openstack云平台部署(详细+图文)

openstack云平台部署(详细+图文)

时间:2024-11-02 13:48:49浏览次数:3  
标签:00 000000 部署 controller yum openstack iaas root 图文

一.准备工作

云平台需要两个节点,一个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.
[email protected]'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)

标签:00,000000,部署,controller,yum,openstack,iaas,root,图文
From: https://blog.csdn.net/qq_68736843/article/details/143322508

相关文章

  • Sentinel学习圣经:从入门到精通 Sentinel,最全详解 (40+图文全面总结)
    文章很长,且持续更新,建议收藏起来,慢慢读!疯狂创客圈总目录博客园版为您奉上珍贵的学习资源:免费赠送:《尼恩Java面试宝典》持续更新+史上最全+面试必备2000页+面试必备+大厂必备+涨薪必备免费赠送:《尼恩技术圣经+高并发系列PDF》,帮你实现技术自由,完成职业升级,薪......
  • java基于springboot的项目评审系统(源码+vue+部署文档+前后端分离等)
    收藏关注不迷路!!......
  • 修改PE导入表注入DLL——实例图文教程——让你看的明明白白
    一、前言其实通过修改PE导入表注入DLL的教程很多,本文也只是其中的沧海一粟而已,但既然写出来,自我感觉应该还是有一点自我的东西的,至少自认为做到了思路清晰,每步都有据可依,让看客应该能做到“看的明明白白”!本贴以《英雄无敌》1游戏程序为例子,向其添加一个DLL,调用其中的导出函数可......
  • 如何在Linux下部署自己的ZFile开源网盘
    ZFile项目介绍ZFile是一个功能强大、灵活的开源网盘系统,为用户提供安全便捷的文件存储和共享方案。项目概述ZFile由ZFile,Inc.开发和维护,基于Docusaurus构建。其用户友好的界面支持多种文件存储和共享功能,并具备高度的可定制性和扩展性,以适应各种使用场景。功能特点Z......
  • Redis伪分布式集群三主三从模式+开启自启动+自动部署集群
    搭建redis集群首先进入一个新目录,创建六个以端口号为名字的子目录$mkdirredis-cluster$cdredis-cluster$mkdir800180028003800480058006添加集群配置文件把编译好的redis.conf文件复制到redis-cluster/800*/文件夹中修改对应文件夹的redis.conf,内容如下:da......
  • 可以本地化部署的免费的bug管理工具有哪些
    可以本地化部署的免费的BUG管理工具有以下几种:一、MantisBT;二、Bugzilla;三、Redmine;四、Trac;五、Flyspray;六、BugNET。MantisBT是一款开源的缺陷跟踪工具,功能丰富。它支持多项目管理、自定义字段、工作流配置等特性,适合中小型团队使用。一、MantisBTMantisBT是一款开源的缺陷......
  • SpringBoot【实用篇】- 热部署
    文章目录目标:1.手动启动热部署2.自动启动热部署4.禁用热部署目标:手动启动热部署自动启动热部署热部署范围配置关闭热部署1.手动启动热部署当我们没有热部署的时候,我们必须在代码修改完后再重启程序,程序才会同步你修改的信息。如果我们想快速查看,那就需要用到......
  • 1.TiDB集群部署篇
    **TiDB是PingCAP公司自主设计、研发的开源分布式关系型数据库,是一款同时支持在线事务处理与在线分析处理(HybridTransactionalandAnalyticalProcessing,HTAP)的融合型分布式数据库产品,具备水平扩容或者缩容、金融级高可用、实时HTAP、云原生的分布式数据库、兼容MyS......
  • 无需手动部署的正式版comfyUI是否就此收费?开源等同免费?
    ​​关于ComfyUI的正式版是否会收费的问题是很多AI玩家都关心的问题。一旦ComfyUI正式版发布,我们是否需要为它买单?不再开源同时这也引出了一个核心问题:开源究竟等不等于免费?ComfyUI正式版到底是什么?它会收费吗?ComfyUI是一款功能强大的用户界面工具/驱动工具,用于......
  • 手把手教你在家中免费搭建自己的电视直播源服务器!从此告别直播源的难题!(支持群晖、飞牛
    文章目录......