当前位置:   article > 正文

OpenStack平台搭建_openstack搭建

openstack搭建

1 基本环境配置

拓扑图如图所示,IP 地址规划如图所示。
拓扑图如图所示,IP 地址规划如图所示。
双节点,controller控制节点和compute计算节点。enp8s0为外部网络,enp9s0为内部管理网络
【CentOS7 版本】
CentOS7 系统选择 1511 版本:CentOS-7-x86_64-DVD-1511.iso

## 1.1 配置网络,主机名并修改hosts文件

修改和添加/etc/sysconfig/network-scripts/ifcfg-enp*(具体的网口)文件。
(1)controller 节点
配置网络:
enp8s0

TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=enp8s0
UUID=07a44a02-8dcd-4835-9061-901071031ef0
DEVICE=enp8s0
ONBOOT=yes
IPADDR=192.168.100.10
NETMASK=255.255.255.0
GATEWAY=192.168.100.1
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

enp9s0

TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=enp8s0
UUID=07a44a02-8dcd-4835-9061-901071031ef0
DEVICE=enp8s0
ONBOOT=yes
IPADDR=192.168.200.10
NETMASK=255.255.255.0
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

(2)compute 节点
配置网络:
enp8s0

TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=enp8s0
UUID=07a44a02-8dcd-4835-9061-901071031ef0
DEVICE=enp8s0
ONBOOT=yes
IPADDR=192.168.100.20
NETMASK=255.255.255.0
GATEWAY=192.168.100.1
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

enp9s0

TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=enp8s0
UUID=07a44a02-8dcd-4835-9061-901071031ef0
DEVICE=enp8s0
ONBOOT=yes
IPADDR=192.168.200.20
NETMASK=255.255.255.0
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

重启网络,关闭防火墙,开机不自启(双节点)

systemctl restart network
systemctl stop firewalld
systemctl disable firewalld
  • 1
  • 2
  • 3

关闭防火墙并设置开机不自启

systemctl stop firewalld.service

systemctl disable firewalld.service

yum remove -y NetworkManager firewalld

yum -y install iptables-services

systemctl enable iptables

systemctl restart iptables

iptables -F

iptables -X

iptables -Z

service iptables save

2.iptables和firewalld的区别

iptables和firewalld都是linux系统中防火墙的管理程序

①iptables使用的是链式规则,firewalld是使用区域进行服务的
②firewalld默认拒绝,需要设置才能放行,iptables默认是允许,需要设置拒绝才能限制
③firewalld允许更新规则且不破坏现有的会话和连接,iptables修改规则后需要进行保存才能永久生效
修改主机名和配置hosts文件(双节点)

# hostnamectl set-hostname controller
# bash
# vi /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.100.10 controller
192.168.100.20 compute

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

修改电脑ip,要在同一网段,然后使用工具SecureCRT或者Xshell进行连接

## 1.2 selinux的修改(双节点)

[root@controller ~]# vi /etc/selinux/config
修改参数SELINUX=disabled
[root@controller ~]# setenforce 0
[root@controller ~]# getenforce
Permissive
  • 1
  • 2
  • 3
  • 4
  • 5

## 1.3 上传镜像和挂载(controller节点)

首先在/opt/下创建两个目录

[root@controller ~]# cd /opt/
[root@controller opt]# mkdir centos iaas
  • 1
  • 2

然后把文件里的CentOS-7-x86_64-DVD-1511.iso XianDian-IaaS-v2.2.iso镜像拖进crt或者Xshell里

[root@controller ~]# ls
anaconda-ks.cfg  CentOS-7-x86_64-DVD-1511.iso  XianDian-IaaS-v2.2.iso
  • 1
  • 2

最后挂载

[root@controller ~]#  mount -o loop CentOS-7-x86_64-DVD-1511.iso /mnt/
[root@controller ~]#  cp -rvf /mnt/* /opt/centos/
[root@controller ~]#  umount /mnt/
[root@controller ~]#  mount -o loop XianDian-IaaS-v2.2.iso /mnt/
[root@controller ~]#  cp -rvf /mnt/* /opt/iaas/
  • 1
  • 2
  • 3
  • 4
  • 5

## 1.4 yum源的配置(双节点)

(1)yum 源备份

mv /etc/yum.repos.d/* /media/
  • 1

(2)创建yum源
controller节点

[root@controller ~]# cat /etc/yum.repos.d/centos.repo 
[centos]
name=centos
baseurl=file:///opt/centos
gpgcheck=0
enabled=1
[iaas]
name=iaas
baseurl=file:///opt/iaas/iaas-repo
gpgcheck=0
enabled=1
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

compute节点

[root@compute ~]# cat /etc/yum.repos.d/ftp.repo 
[centos]
name=centos
baseurl=ftp://192.168.100.10/centos
gpgcheck=0
enabled=1
[iaas]
name=iaas
baseurl=ftp://192.168.100.10/iaas/iaas-repo
gpgcheck=0
enabled=1
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

## 1.5 搭建 ftp 服务器,开启并设置自启(controller)

专门用来传输文件的协议

[root@controller ~]# yum install vsftpd –y
[root@controller ~]# vi /etc/vsftpd/vsftpd.conf
添加 anon_root=/opt/
保存退出
[root@controller ~]# systemctl start vsftpd
[root@controller ~]# systemctl enable vsftpd
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

在compute节点

yum clean all
yum list
  • 1
  • 2

## 1.6 编辑环境变量(双节点)

:%s/^#//g 的解释:
%:表示对整个文件进行操作;s/old/new/g:表示替换命令,将old替换为new;#:表示以#字符开头的行。表示行的开头,#表示#字符;//:表示将匹配到的内容替换为空,即去除匹配到的#字符;g:表示在每行中进行全局替换,不仅仅只替换每行的第一个匹配项

# yum install iaas-xiandian -y
编辑文件/etc/xiandian/openrc.sh,此文件是安装过程中的各项参数,根据每项参数
上一行的说明及服务器实际情况进行配置。

#进入配置文件后需要在命令行模式下敲
:%s/^#//g                                      # 一行中只带有一个#注释的,作用去除#注释
:%s/PASS=/PASS=000000/g  # 将PASS=全部替换成PASS=000000,这样省的我们自己手动敲很多代码了HOST_IP=192.168.100.10
HOST_NAME=controller
HOST_IP_NODE=192.168.100.20
HOST_NAME_NODE=compute
RABBIT_USER=openstack
RABBIT_PASS=000000
DB_PASS=000000
DOMAIN_NAME=demo(自定义)
ADMIN_PASS=000000
DEMO_PASS=000000
KEYSTONE_DBPASS=000000
GLANCE_DBPASS=000000
南京第五十五所技术开发有限公司
15
GLANCE_PASS=000000
NOVA_DBPASS=000000
NOVA_PASS=000000
NEUTRON_DBPASS=000000
NEUTRON_PASS=000000
METADATA_SECRET=000000
INTERFACE_NAME=enp9s0(外网网卡名)
CINDER_DBPASS=000000
CINDER_PASS=000000
TROVE_DBPASS=000000
TROVE_PASS=000000
BLOCK_DISK=md126p4(空白分区名)
SWIFT_PASS=000000
OBJECT_DISK=md126p5(空白分区名)
STORAGE_LOCAL_NET_IP=192.168.100.20
HEAT_DBPASS=000000
HEAT_PASS=000000
CEILOMETER_DBPASS=000000
CEILOMETER_PASS=000000
AODH_DBPASS=000000
AODH_PASS=000000
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44

复制到计算节点

 scp /etc/xiandian/openrc.sh root@192.168.100.20:/etc/xiandian/openrc.sh
  • 1

## 1.7 通过脚本安装服务(双节点)

执行脚本iaas-pre-host.sh进行安装
安装完成后同时重启
[root@controller ~]# reboot

## 1.8 配置ntp时钟同步服务

controller节点

[root@controller ~]# yum -y install ntp
[root@compute ~]# yum -y install ntp
[root@controller ~]# vi /etc/ntp.conf 
把server四行删除
添加 server 127.127.1.0
     fudge 127.127.1.0 stratum 10
[root@controller ~]# systemctl start ntpd
[root@controller ~]# systemctl enable ntpd
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

compute节点

[root@compute ~]# ntpdate controller
[root@compute ~]# sysyemctl enable ntpddate
  • 1
  • 2

2 安装脚本

脚本目录在 /usr/local/bin
1.Nova
Nova是OpenStack计算服务的核心组件,管理OpenStack中的计算资源,包括虚拟机、实例、镜像等。它允许用户在OpenStack云环境中创建和管理虚拟机。Nova提供了许多功能,如实例调度、镜像管理、网络和安全组管理等。
2.Neutron
Neutron是OpenStack网络服务的核心组件,管理OpenStack中的网络资源,包括网络、子网、路由器、安全组等。它提供了一个灵活的、可扩展的网络框架,使用户可以在OpenStack云环境中创建和管理网络。Neutron支持虚拟化网络和物理网络,并提供了各种网络服务,如路由、负载均衡、防火墙等。
3.Cinder
Cinder是OpenStack块存储服务的核心组件,管理OpenStack中的块存储资源,包括卷、快照、备份等,允许用户在OpenStack云环境中创建和管理块存储设备。Cinder支持多种存储后端,如本地存储、Ceph、NFS等,并提供了各种存储服务,如快照、克隆、备份等。
4.Swift
Swift是OpenStack对象存储服务的核心组件,管理OpenStack中的对象存储资源,包括容器、对象、元数据等,它允许用户在OpenStack云环境中创建和管理对象存储。Swift提供了高可用性、高可靠性的存储,支持海量数据存储和访问,并提供了各种对象服务,如容器、元数据等。
5.Keystone
Keystone是OpenStack身份认证服务的核心组件,提供身份认证和授权服务,管理OpenStack中各种资源的访问权限。它允许用户在OpenStack云环境中进行身份认证和授权。Keystone提供了多种身份认证方法,如用户名/密码、令牌、OAuth等,并提供了各种授权服务,如角色、策略等。
6.Glance
管理OpenStack中的镜像资源,包括虚拟机镜像、快照等。

[root@controller ~]# cd /usr/local/bin/
[root@controller bin]# ls
iaas-install-alarm.sh                  iaas-install-heat.sh                  iaas-install-neutron-controller-flat.sh  iaas-install-swift-controller.sh
iaas-install-ceilometer-compute.sh     iaas-install-keystone.sh              iaas-install-neutron-controller-gre.sh   iaas-install-trove.sh
iaas-install-ceilometer-controller.sh  iaas-install-mysql.sh                 iaas-install-neutron-controller.sh       iaas-pre-host.sh
iaas-install-cinder-compute.sh         iaas-install-neutron-compute-flat.sh  iaas-install-neutron-controller-vlan.sh  iaas-uninstall-all.sh
iaas-install-cinder-controller.sh      iaas-install-neutron-compute-gre.sh   iaas-install-nova-compute.sh
iaas-install-dashboard.sh              iaas-install-neutron-compute.sh       iaas-install-nova-controller.sh
iaas-install-glance.sh   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

controller节点

 iaas-install-mysql.sh
 iaas-install-keystone.sh
 iaas-install-glance.sh
 iaas-install-nova-controller.sh
  • 1
  • 2
  • 3
  • 4

注意:安装nove服务的时候,控制节点和计算节点不能同时装

[root@compute ~]#  iaas-install-nova-compute.sh
[root@controller ~]# iaas-install-neutron-controller.sh
[root@compute ~]# iaas-install-neutron-compute.sh
[root@controller ~]# iaas-install-neutron-controller-gre.sh
[root@compute ~]# iaas-install-neutron-compute-gre.sh
  • 1
  • 2
  • 3
  • 4
  • 5

安装不同需求安装脚本服务,然后在controller节点最后安装

iaas-install-dashboard.sh
  • 1

安装完之后 访问浏览器 controller节点的ip
http://192.168.100.10/dashboard

3 配置OpenStack平台页面管理

## 3.1 修改管理规则

重新配置项目访问安全中的管理规则,把原有的规则删除掉,添加ICMP,TCP, UDP的出入口规则共6个
在这里插入图片描述

## 3.2 创建网络

在管理员里
(1)外网
ext-net 项目 admin 类型 GRE 段ID 1 下面两个全打对号
然后创建子网
子网名称:ext-subnet 网络地址:192.168.200.0/24 网关:192.168.200.1
(2)内网
int-net 项目 admin 类型 GRE 段ID 2 第一个打对号
然后创建子网
子网名称:int-subnet 网络地址:10.0.0.0/24 网关:10.0.0.1
在这里插入图片描述

## 3.3 新建路由

网络→路由→新建路由
名称:route 选外部网络:ext-net
在这里插入图片描述
然后给该路由增加接口。子网:int-net
在这里插入图片描述
3.4 在controller节点上创建镜像

source /etc/keystone/admin-openrc.sh
  • 1
[root@controller ~]# cd /opt/iaas/images/
[root@controller images]# glance image-create --name "centos" --disk-format qcow2 --container-format bare --progress < CentOS_7.2_x86_64_XD.qcow2
  • 1
  • 2

## 3.4 创云主机

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
然后启动实例
绑定浮动ip→分配ip→管理
最后用工具连接云主机

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/684953
推荐阅读
相关标签
  

闽ICP备14008679号