OpenStack Train版离线部署|2计算节点-环境准备

855 阅读8分钟

欢迎留言讨论,期待与你共同进步掘金人的第一篇博客 - 掘金 (juejin.cn)

本系列文章包教你如何从零开始搭建一套OpenStack开发环境,涉及多个OpenStack。
当前教程中使用的OpenStack的安装版本为第20个版本Train,简称T版本。
Release Note
Train,Originally Released: 16 October, 2019
Ussuri,Originally Released: 13 May, 2020
Victoria,Originally Released: 14 October, 2020

掘金社区


掘金社区:OpenStack Train版离线部署|系列教程「全」
掘金社区:OpenStack Ussuri版离线部署|系列教程「全」
掘金社区:OpenStack Victoria版部署|系列教程「全」

OpenStack Train版离线部署|0制作本地离线yum源
OpenStack Train版离线部署|1控制节点-环境准备
OpenStack Train版离线部署|2计算节点-环境准备
OpenStack Train版离线部署|3控制节点-Keystone认证服务组件
OpenStack Train版离线部署|4控制节点-Glance镜像服务组件
OpenStack Train版离线部署|5控制节点-Placement服务组件
OpenStack Train版离线部署|6.1控制节点-Nova计算服务组件
OpenStack Train版离线部署|6.2计算节点-Nova计算服务组件
OpenStack Train版离线部署|6.3控制节点-Nova计算服务组件
OpenStack Train版离线部署|7.1控制节点-Neutron网络服务组件
OpenStack Train版离线部署|7.2计算节点-Neutron网络服务组件
OpenStack Train版离线部署|7.3控制节点-Neutron网络服务组件
OpenStack Train版离线部署|8控制节点-Horizon服务组件
OpenStack Train版离线部署|9启动一个实例
OpenStack Train版离线部署|10控制节点-Heat服务组件
OpenStack Train版离线部署|11.1控制节点-Cinder存储服务组件
OpenStack Train版离线部署|11.2存储节点-Cinder存储服务组件
OpenStack Train版离线部署|11.3控制节点-Cinder存储服务组件
OpenStack Train版离线部署|11.4计算节点-Cinder存储服务组件
OpenStack Train版离线部署|11.5实例使用-Cinder存储服务组件


掘金社区:个性化制作OpenStack镜像|系列教程
个性化制作OpenStack镜像|环境准备
个性化制作OpenStack镜像|Windows7
个性化制作OpenStack镜像|Windows10
个性化制作OpenStack镜像|Linux
个性化制作OpenStack镜像|Windows Server2019


CSDN

CSDN:OpenStack部署系列文章
OpenStack Victoria版 安装部署系列教程
OpenStack Ussuri版 离线安装部署系列教程(全)
OpenStack Train版 离线安装部署系列教程(全)
欢迎留言讨论,期待与你共同进步。


OpenStack Train版离线部署|2计算节点-环境准备

一、部署规划

官方参考链接:
OpenStack安装指南:环境
OpenStack安装指南:服务组件
CSDN博客参考:
CentOS7安装OpenStack(Rocky版)-05.安装一个nova计算节点实例

1.系统说明

(1)服务器操作系统
系统:Centos7
版本:CentOS-7-x86_64-Minimal-1908
镜像:阿里云下载地址CentOS-7-x86_64-Minimal-1908

(2)开发环境
VMware workstation Pro
在这里插入图片描述

(3)OpenStack版本:Train

2.部署规划

在这里插入图片描述 (1)节点说明
控制节点:controller,服务组件
计算节点:compute1,服务组件
可选节点:block等,其他各种服务组件。。。等

(2)物理网络
在部署之前做好网络部署规划,相关参考OpenStack官方安装指南:环境-网络
①管理网IP地址段选择,建议使用使用官方文档中的示例地址段;
②物理网卡1,默认使用第1张网卡ens33,作为管理网卡;
③物理网卡2,可以为供应商网络;provider network。
至少准备两张网卡,建议网卡数量≥3.

管理网络:10.0.0.0/24;
供应网络:192.168.2.0/24,(使用网卡,以及使用网段可以根据实际情况进行确定);

(3)虚拟网络

在这里插入图片描述

在这里插入图片描述

(4)规划概览

主机名管理网络网卡1供应网络网卡2配置
controller10.0.0.11ens33192.168.2.11ens344C8G64G
compute110.0.0.31ens33192.168.2.31ens344C8G64G
compute210.0.0.32ens33192.168.2.32ens344C8G64G
compute310.0.0.33ens33192.168.2.33ens344C8G64G

注:更多节点类型,可以依次递增,但最好完成各类网络的规划。

本教程实际测试为,在后面的教程中以下面的地址为准。

主机名管理网络网卡1供应网络网卡2配置
controller192.168.232.101ens33192.168.2.101ens344C8G64G
compute1192.168.232.111ens33192.168.2.111ens344C8G64G
compute2192.168.232.112ens33192.168.2.112ens344C8G64G
compute3192.168.232.113ens33192.168.2.113ens344C8G64G

二、环境准备

1.基础网络

(1)网卡配置
博客参考:Centos7设置静态IP地址CentOS7设置静态IP而且还可以上网
配置文件:/etc/sysconfig/network-scripts/ifcfg-ens33

[root@controller ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
# BOOTPROTO="dhcp"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
# IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="ea1c227b-1fad-48f0-942f-968d183b3523"
DEVICE="ens33"
ONBOOT="yes"

# add follow
BOOTPROTO="static"
IPADDR="192.168.232.101"
NETMASK="255.255.255.0"
GATEWAY="192.168.232.2"
DNS1="1.1.1.1"

(2)网关配置
配置文件:/etc/networks

[root@controller ~]# cat /etc/networks
default 0.0.0.0
loopback 127.0.0.0
link-local 169.254.0.0

#add follow
NETWORKING=yes
GATEWAY=192.168.232.2

2.主机名称

(1)文件修改

配置文件/etc/hosts
控制节点

[root@controller ~]# hostnamectl set-hostname controller
echo 192.168.232.101 controller >> /etc/hosts
echo 192.168.232.111 compute1 >> /etc/hosts
echo 192.168.232.112 compute2 >> /etc/hosts
echo 192.168.232.113 compute3 >> /etc/hosts

计算节点1

[root@compute1 ~]# hostnamectl set-hostname compute1
echo 192.168.232.101 controller >> /etc/hosts
echo 192.168.232.111 compute1 >> /etc/hosts
echo 192.168.232.112 compute2 >> /etc/hosts
echo 192.168.232.113 compute3 >> /etc/hosts

计算节点2

[root@compute2 ~]# hostnamectl set-hostname compute2
echo 192.168.232.101 controller >> /etc/hosts
echo 192.168.232.111 compute1 >> /etc/hosts
echo 192.168.232.112 compute2 >> /etc/hosts
echo 192.168.232.113 compute3 >> /etc/hosts

计算节点3

[root@compute3 ~]# hostnamectl set-hostname compute3
echo 192.168.232.101 controller >> /etc/hosts
echo 192.168.232.111 compute1 >> /etc/hosts
echo 192.168.232.112 compute2 >> /etc/hosts
echo 192.168.232.113 compute3 >> /etc/hosts

存储节点(可选),参考官方说明官方environment-networking-storage-cinder
注:
①某些发行版本在/etc/hosts 文件中添加了多余的条目,该条目将实际的主机名解析为另一个回送IP地址,例如127.0.1.1。如果有的话,则必须将其注释或删除,以防止名称解析问题。
②不要删除127.0.0.1条目。
③每一个节点都需要对其他节点进行主机名的解析配置。
主机名修改完成后,退出当前终端,重新登录服务器。

(2)验证连通性

在每一个节点都要进行连通性测试,最后一条ping qq.com,管理网络不一定需要和公用互联网络连通。

ping -c 4 controller
ping -c 4 compute1
ping -c 4 compute2
ping -c 4 compute3
ping -c 4 qq.com

3.免密登录

【可选】

  • 在此之前,需要先进行root密码的设置
  • 以及允许root的ssh远程登陆(一般为permissionrootlogin项)设置为yes,并且重启ssh服务
  • 至少保证控制节点和计算节点,(如果需要配置所有控制和计算节点相互之间的无密码登录,每个节点都 要进行以下操作。)

控制节点计算节点

[root@controller ~]# ssh-keygen -t rsa			#生成公私钥文件,连续回车
[root@controller ~]# ssh-copy-id controller		#将公钥复制到目标机器中,需要输入当前用户为root,对应controller主机的也应是root的密码
[root@controller ~]# ssh controller				#测试登录,然后exit退出测试终端

[root@controller ~]# ssh-copy-id compute1 		#将公钥复制到目标机器中,需要输入当前用户为root,对应compute1主机的也应是root的密码
[root@controller ~]# scp -r .ssh compute1:~/ 	#文件复制到compute1,完成相互免密登录。
[root@controller ~]# ssh compute1				#测试登录,然后exit退出测试终端

[root@controller ~]# ssh-copy-id compute2 		#将公钥复制到目标机器中,需要输入当前用户为root,对应compute2主机的也应是root的密码
[root@controller ~]# scp -r .ssh compute2:~/ 	#文件复制到compute2,完成相互免密登录。
[root@controller ~]# ssh compute2				#测试登录,然后exit退出测试终端
。。。

4.禁用防火墙

(1)关闭iptables

在CentOS7上面是firewalld服务,停止并且禁止开机启动firewalld.service

systemctl stop firewalld.service
systemctl disable firewalld.service
systemctl status firewalld.service

(2)关闭 selinux

setenforce 0
getenforce
sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/sysconfig/selinux
grep SELINUX=disabled /etc/sysconfig/selinux

5.yum源配置

(1)新建repo文件

首先移除原系统自带的repo文件,避免和新建的配置文件内容冲突

cd
mkdir ori_repo-config
mv /etc/yum.repos.d/* ./ori_repo-config/
touch /etc/yum.repos.d/CentOS-PrivateLocal.repo
vim /etc/yum.repos.d/CentOS-PrivateLocal.repo

文件内容:/etc/yum.repos.d/CentOS-PrivateLocal.repo

[base]
name=CentOS-$releasever - Base
baseurl=http://192.168.2.111/yumrepository/base/
gpgcheck=0
enabled=1

[updates]
name=CentOS-$releasever - Updates
baseurl=http://192.168.2.111/yumrepository/updates/
gpgcheck=0
enabled=1

[extras]
name=CentOS-$releasever - Extras
baseurl=http://192.168.2.111/yumrepository/extras/
gpgcheck=0
enabled=1

[centos-openstack-train]
name=CentOS-7 - OpenStack train
baseurl=http://192.168.2.111/yumrepository/centos-openstack-train/
gpgcheck=0
enabled=1

[centos-qemu-ev]
name=CentOS-$releasever - QEMU EV
baseurl=http://192.168.2.111/yumrepository/centos-qemu-ev/
gpgcheck=0
enabled=1

[centos-ceph-nautilus]
name=CentOS-7 - Ceph Nautilus
baseurl=http://192.168.2.111/yumrepository/centos-ceph-nautilus/
gpgcheck=0
enabled=1

[centos-nfs-ganesha28]
name=CentOS-7 - NFS Ganesha 2.8
baseurl=http://192.168.2.111/yumrepository/centos-nfs-ganesha28/
gpgcheck=0
enabled=1

(2)更新软件源

[root@controller ~]# yum clean all
[root@controller ~]# yum makecache
[root@controller ~]# yum repolist
Failed to set locale, defaulting to C
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
repo id                 repo name                     status
base                    CentOS-7 - Base               10097 
centos-ceph-nautilus    CentOS-7 - Ceph Nautilus      224 
centos-nfs-ganesha28    CentOS-7 - NFS Ganesha 2.8    140 
centos-openstack-train  CentOS-7 - OpenStack train    2323 
centos-qemu-ev          CentOS-7 - QEMU EV            87 
extras                  CentOS-7 - Extras             341 
updates                 CentOS-7 - Updates            1787 
repolist: 14999
[root@controller ~]# 

三、系统基础软件安装

1.Linux工具

yum install -y lsof vim net-tools wget git 

2.NTP时间同步

(1)安装软件

yum  -y install chrony
vim /etc/chrony.conf

(2)编辑chrony.conf文件,添加以下内容。

server controller iburst

(3)重新启动NTP服务,并配置开机启动项:

systemctl restart chronyd.service
systemctl status chronyd.service
systemctl enable chronyd.service
systemctl list-unit-files |grep chronyd.service

(4)设置时区,同步时间

timedatectl set-timezone Asia/Shanghai
chronyc sources
timedatectl status

四、OpenStack基础软件安装

1、(省略)OpenStack仓库安装

【所有节点】

在进行本地源配置的时候已经将本地仓库中的相关yum源配置其中,故此步骤周可省略。
官方安装指南environment-packages-rdo

  • On CentOS, the extras repository provides the RPM that enables the OpenStack repository.
  • CentOS includes the extras repository by default, so you can simply install the package to enable the OpenStack repository.
yum clean all
yum makecache
yum repolist
yum update -y #可选
yum install centos-release-openstack-train -y
yum clean all
yum makecache

2.OpenStack客户端相关软件

yum install python-openstackclient openstack-selinux -y
yum install openstack-utils -y

openstack-utils 用于OpenStack配置文件的快速配置。

五、完成计算节点环境准备

至此,计算节点compute1就完成基础环境的配置,使用VMware虚拟机的话,现在可以关机做快照。