当前位置: 首页 > news >正文

openstack云平台部署(脚本版)

一.准备工作

原版请看置顶文章(此文章为写脚本自动搭建)

云平台需要两个节点,一个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控制节点

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

2.1修改第一块网卡

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

2.2修改第二块网卡

 

重启网卡,使网卡生效

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

2.compute节点

第一块网卡配置如下:

第二块网卡配置如下:

重启网卡使配置生效

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

controller节点配置:

1.上传centos7镜像和iaas镜像

上传成功!

2.编写脚本

vim 1.sh
#!/bin/bash
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
sed -i "s/SELINUX=enforcing/SELINUX=permissive/g" /etc/selinux/config
rm -rf /etc/yum.repos.d/*
cat > /etc/yum.repos.d/local.repo << EOF
[centos]
name=centos
baseurl=file:///opt/centos
gpgcheck=0
enabled=1

[iaas]
name=iaas
baseurl=file:///opt/openstack/iaas-repo
gpgcheck=0
enabled=1
EOF
yum install -y vim vsftpd iaas-xiandian
sed -i "s/anonymous_enable=NO/anonymous_enable=YES/g" /etc/vsftpd/vsftpd.conf
sed -i "s/anonymous_root=\/var\/ftp/anonymous_root=\/opt\/1/g" /etc/vsftpd/vsftpd.conf
systemctl restart vsftpd
systemctl enable vsftpd
 6.修改脚本
[root@controller ~]# vim /etc/xiandian/openrc.sh
#--------------------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节点设置

编写脚本

vim 1.sh
#!/bin/bash
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
sed -i "s/SELINUX=enforcing/SELINUX=permissive/g" /etc/selinux/config
rm -rf /etc/yum.repos.d/*
cat > /etc/yum.repos.d/local.repo << EOF
[centos]
name=centos
baseurl=file:///opt/centos
gpgcheck=0
enabled=1

[iaas]
name=iaas
baseurl=file:///opt/openstack/iaas-repo
gpgcheck=0
enabled=1
EOF
yum install -y vim vsftpd iaas-xiandian
fdisk /dev/sdb << EOF
n
p
1

2048

+10G
n
p
2

+5G
w
EOF

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

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/dashboard

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

相关文章:

  • 2025 年浙江保安员职业资格考试高效备考指南​
  • 学会把选择题变成填空题:如何主动设计人生答案
  • BACnet协议+设备数据接入
  • 2025 数字中国创新大赛数字安全赛道数据安全产业积分争夺赛初赛-东部赛区WriteUp
  • AI大模型与未来社会结构的重构:从工具到共生体
  • 代码随想录算法训练营第十一天
  • 前端AJAX请求上传下载进度监控指南详解与完整代码示例
  • ModuleNotFoundError: No module named ‘pandas‘
  • 苹果在中国组装要交关税吗
  • 顺序表——C语言实现
  • Python•判断循环
  • 嵌入式C语言11(宏/程序的编译过程)
  • Linux内核中TCP协议栈的实现:tcp_close函数的深度剖析
  • 深入理解Socket编程:构建简单的计算器服务器
  • Vim搜索和替换
  • 图解AUTOSAR_SWS_FlexRayInterface
  • 京东云智能体平台joybuilder v3.0.0测试
  • Unity中在点击屏幕的地方生成一个自定义的游戏物体(对象池管理生成的游戏物体,在电脑和移动设备能正常运行)
  • 【Spring】AOP是如何实现的?有哪些应用场景?
  • 【Vue-路由】学习笔记
  • 网站小程序app定制开发/河南网站seo推广
  • 东莞商贸公司寮步网站建设价格/网上怎么做推广
  • 做网站怎么赚钱滑县电/如何发布一个网站
  • 现在大家做电商网站用什么源码/360搜索指数
  • 我的网站没备案怎么做淘宝客推广/短视频seo代理
  • 电子商务 独立网站制作/店铺推广方法