thumb

部署 OpenStack 云平台

2022-10-25
8936
8 分钟
...次阅读
#OpenStack#运维#云计算#CentOS

1. 系统镜像

安装运行环境系统要求为 CentOS 7.5,内核版本不低于 3.10。

  • CentOS-7.5-x86_64-DVD-1804.iso
  • Chinaskill_Cloud_iaas.iso

2. 网络架构及硬件配置

主机名内存硬盘 1硬盘 2IP 地址 (VMnet1)IP 地址 (VMnet8)
controller4G100G192.168.100.10192.168.200.10
compute4G100G200G192.168.100.20192.168.200.20

3. 基础环境部署

3.1 配置映射、主机名、网络、关闭防火墙

controller 节点和 compute 节点:

修改 /etc/hosts 文件添加映射:

192.168.100.10 controller
192.168.100.20 compute

3.1.1 controller 节点

修改主机名:

hostnamectl set-hostname controller

配置网络:

修改 BOOTPROTO=dhcp (改为 static),ONBOOT=no (改为 yes)。

ens33 添加:

IPADDR=192.168.100.10
PREFIX=24
GATEWAY=192.168.100.1

ens34 添加:

IPADDR=192.168.200.10
PREFIX=24

关闭防火墙及修改配置文件:

[root@controller ~]# systemctl stop firewalld     # 关闭防火墙
[root@controller ~]# systemctl disable firewalld
[root@controller ~]# vi /etc/selinux/config
# SELINUX=enforcing 改为 disabled
[root@controller ~]# setenforce 0    # 立即生效
[root@controller ~]# getenforce

3.1.2 compute 节点

修改主机名:

hostnamectl set-hostname compute

配置网络:

修改 BOOTPROTO=dhcp (改为 static),ONBOOT=no (改为 yes)。

ens33 添加:

IPADDR=192.168.100.20
PREFIX=24
GATEWAY=192.168.100.1

ens34 添加:

IPADDR=192.168.200.20
PREFIX=24

关闭防火墙及修改配置文件:

[root@compute ~]# systemctl stop firewalld     # 关闭防火墙
[root@compute ~]# systemctl disable firewalld
[root@compute ~]# vi /etc/selinux/config
# SELINUX=enforcing 改为 disabled
[root@compute ~]# setenforce 0     # 立即生效
[root@compute ~]# getenforce

3.2 挂载镜像、配置 yum 源

3.2.1 controller 节点

上传 CentOS 7.5 镜像和 Chinaskills_Cloud_iaas.iso 镜像至 controller 节点。

查看镜像是否已上传:

[root@controller ~]# mkdir /opt/{iaas,centos}       # 创建两个挂载镜像的文件夹
[root@controller ~]# mv /etc/yum.repos.d/CentOS-* /home       # 备份原 yum 源配置文件
[root@controller ~]# vi /etc/yum.repos.d/local.repo       # 创建本地 yum 源配置文件

local.repo 内容:

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

挂载镜像并更新 yum 源:

[root@controller ~]# mount -o loop /CentOS-7.5-x86_64-DVD-1804.iso /opt/centos
[root@controller ~]# mount -o loop /Chinaskill_Cloud_iaas.iso /opt/iaas

[root@controller ~]# yum clean all    # 清除 yum 缓存
[root@controller ~]# yum repolist     # 显示仓库

搭建 FTP 服务器:

[root@controller ~]# yum -y install vsftpd
[root@controller ~]# vi /etc/vsftpd/vsftpd.conf
# 添加 anon_root=/opt/
[root@controller ~]# systemctl restart vsftpd
[root@controller ~]# systemctl enable vsftpd

3.2.2 compute 节点

[root@compute ~]# mv /etc/yum.repos.d/CentOS-* /home       # 备份原 yum 源配置文件
[root@compute ~]# vi /etc/yum.repos.d/local.repo       # 创建本地 yum 源配置文件

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/iaas-repo
gpgcheck=0
enabled=1

更新 yum 源:

[root@compute ~]# yum clean all    # 清除 yum 缓存
[root@compute ~]# yum repolist     # 显示仓库

3.3 计算节点分区

在 compute 节点上利用空白分区划分 2 个 100G 分区。

[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  

3.4 编辑环境变量

controller 和 compute 节点都要操作。

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

[root@controller ~]# yum -y install iaas-xiandian
[root@controller ~]# vi /etc/xiandian/openrc.sh

[root@compute ~]# yum -y install iaas-xiandian
[root@compute ~]# vi /etc/xiandian/openrc.sh

配置文件内容示例:

HOST_IP=192.168.100.10  # 控制节点IP地址
HOST_PASS=000000
HOST_NAME=controller    # 控制节点主机名
HOST_IP_NODE=192.168.100.20 # 计算节点IP地址
HOST_PASS_NODE=000000
HOST_NAME_NODE=compute  # 计算节点主机名
network_segment_IP=192.168.100.0/24
RABBIT_USER=openstack
RABBIT_PASS=000000
DB_PASS=000000
DOMAIN_NAME=demo
ADMIN_PASS=000000
DEMO_PASS=000000
KEYSTONE_DBPASS=000000
GLANCE_DBPASS=000000
GLANCE_PASS=000000
NOVA_DBPASS=000000
NOVA_PASS=000000
NEUTRON_DBPASS=000000
NEUTRON_PASS=000000
METADATA_SECRET=000000
INTERFACE_IP=192.168.100.x # 当前节点IP地址
INTERFACE_NAME=ens34    # 外部网络网卡名称
Physical_NAME=provider  # 外部网络适配器名称
minvlan=1               # vlan网络范围的第一个vlanID
maxvlan=1000            # vlan网络范围的最后一个vlanID
CINDER_DBPASS=000000
CINDER_PASS=000000
BLOCK_DISK=sdb1         # 计算节点第一块磁盘分区名
SWIFT_PASS=000000
OBJECT_DISK=sdb2        # 计算节点第二块磁盘分区名
STORAGE_LOCAL_NET_IP=192.168.100.20 # 计算节点IP地址
HEAT_DBPASS=000000
HEAT_PASS=000000
ZUN_DBPASS=000000
ZUN_PASS=000000
KURYR_DBPASS=000000
KURYR_PASS=000000
CEILOMETER_DBPASS=000000
CEILOMETER_PASS=000000
AODH_DBPASS=000000
AODH_PASS=000000

3.5 通过脚本安装服务

3.5.1 执行脚本 iaas-pre-host.sh 进行安装

controller 节点:

安装完成后同时重启,重启后需重新挂载 iso 镜像。

[root@controller ~]# iaas-pre-host.sh
[root@controller ~]# reboot  # 重启
[root@controller ~]# mount -o loop CentOS-7-x86_64-DVD-1804.iso /opt/centos/
[root@controller ~]# mount -o loop chinaskills_cloud_iaas.iso /opt/iaas/

compute 节点:

[root@compute ~]# iaas-pre-host.sh
[root@compute ~]# reboot  # 重启

3.5.2 MySQL 数据库服务

controller 节点:

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

3.5.3 Keystone 认证服务

controller 节点:

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

3.5.4 Glance 镜像服务

controller 节点:

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

3.5.5 Nova 计算服务

controller 节点:

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

compute 节点:

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

3.5.6 Neutron 网络服务

controller 节点:

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

compute 节点:

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

3.5.7 Dashboard 服务

controller 节点:

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

在浏览器中输入 http://192.168.100.10/dashboard

注:检查防火墙规则,确保允许 HTTP 服务相关端口通行,或者关闭防火墙。

  • Domain:demo
  • 用户名:admin
  • 密码:000000

出现以下图示表示云平台搭建成功。


附录:常用命令

加载 admin 环境变量:

source /etc/keystone/admin-openrc.sh

上传镜像到 OpenStack 平台:

openstack image create --disk-format qcow2 --file /opt/cirros-0.3.4-x86_64-disk.img cirros
版权声明

本文由 念舒 原创,采用 CC BY-NC-SA 4.0 协议进行许可。

转载请注明出处:https://blog.nianshu2022.cn/blog/openstack-deployment-guide

💬

评论区