OpenStack Victoria版——1.控制节点-环境配置与基础安装环境配置

2024-09-08 10:32

本文主要是介绍OpenStack Victoria版——1.控制节点-环境配置与基础安装环境配置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.控制节点-环境配置与基础安装环境配置

更多步骤:OpenStack Victoria版安装部署系列教程

OpenStack部署系列文章
OpenStack Victoria版 安装部署系列教程
OpenStack Ussuri版 离线安装部署系列教程(全)
OpenStack Train版 离线安装部署系列教程(全)
欢迎留言沟通,共同进步。


文章目录

  • 环境配置
    • 1.更换为国内yum源
    • 2.SSH登录配置
    • 3.主机基础网络配置
      • (1)更换网络服务
      • (2)静态IP配置
      • (3)网关配置
      • (4)hostname主机名配置
    • 4.免密登录
    • 5.禁用防火墙,关闭selinux
  • 系统基础软件工具安装与配置
    • 1.基础
    • 2.NTP时间同步
  • OpenStack基础软件安装
    • 1.安装OpenStack存储仓库
    • 2.OpenStack客户端相关软件
    • 3.基础服务:数据库SQL database
    • 4.基础服务:消息队列Message queue
    • 5.基础服务:Memcached缓存
    • 6.基础服务:Etcd集群
  • 完成控制节点环境准备

环境配置

1.更换为国内yum源

下载阿里云源文件

wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-8.repo

替换阿里云镜像地址

sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo

建立缓存

yum makecache

2.SSH登录配置

安装openssh和openssh-server

dnf -y install openssh
dnf -y install openssh-serversystemctl enable sshd
systemctl start sshd
systemctl status sshd
q
netstat -lntp

卸载openssh和openssh-server

dnf -y remove openssh
dnf -y remove openssh-server

配置允许root通过 SSH 登录,如果禁止root远程登录,那就设置为 no

vim /etc/ssh/sshd_config
PermitRootLogin yes

Esc,wq保存,重启ssh服务。

systemctl enable sshd
systemctl start sshd
systemctl status sshd

免密登录

3.主机基础网络配置

(1)更换网络服务

在安装部署OpenStack时,OpenStack的网络服务会与NetworkManager服务产生冲突,二者无法一起正常工作,需要使用Network。

安装Network服务

dnf install network-scripts -y

停用NetworkManager并禁止开机自启

systemctl stop NetworkManager && systemctl disable NetworkManager

启用 Network并设置开机自启

systemctl start network
systemctl enable network
systemctl status network

(2)静态IP配置

  • 管理网络网卡ens33

备份ifcfg-ens33文件

cp /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-ens33.bak

修改确认以下内容

# 设为静态
BOOTPROTO=static
# 设为开机自动连接
ONBOOT=yes# 添加IP、子网掩码、网关、DNS等
# add follow
BOOTPROTO="static"
IPADDR="10.0.0.11"
NETMASK="255.255.255.0"
GATEWAY="10.0.0.2"
DNS1="1.1.1.1"
vim /etc/sysconfig/network-scripts/ifcfg-ens33 

确保注释

#BOOTPROTO=dhcp
...
#IPV6_ADDR_GEN_MODE=stable-privacy
# add follow
BOOTPROTO="static"
IPADDR="10.0.0.11"
NETMASK="255.255.255.0"
GATEWAY="10.0.0.2"
DNS1="1.1.1.1"

在这里插入图片描述

ens33例子如下

[root@controller ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33
ifcfg-ens33      ifcfg-ens33.bak  
[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=66e5a322-41bd-462d-bb10-b080ab3b3d44
DEVICE=ens33
ONBOOT=yes# add follow
BOOTPROTO="static"
IPADDR="10.0.0.11"
NETMASK="255.255.255.0"
GATEWAY="10.0.0.2"
DNS1="1.1.1.1"
[root@controller ~]# 
  • 供应商网络网卡ens34

备份ifcfg-ens34文件

cp /etc/sysconfig/network-scripts/ifcfg-ens34 /etc/sysconfig/network-scripts/ifcfg-ens34.bak

修改确认以下内容

# 设为静态
BOOTPROTO=static
# 设为开机自动连接
ONBOOT=yes# 添加IP、子网掩码、网关、DNS等
# add follow
BOOTPROTO="static"
IPADDR="192.168.2.11"
NETMASK="255.255.255.0"
#GATEWAY="192.168.2.1"
DNS1="1.1.1.1"
vim /etc/sysconfig/network-scripts/ifcfg-ens34

确保注释

#BOOTPROTO=dhcp
...
#IPV6_ADDR_GEN_MODE=stable-privacy
# add follow
BOOTPROTO="static"
IPADDR="192.168.2.11"
NETMASK="255.255.255.0"
#GATEWAY="192.168.2.1"
DNS1="1.1.1.1"

在这里插入图片描述

ens34例子如下

[root@controller ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens34
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=ens34
UUID=f9f07eb6-dbf0-4e8d-aee0-d3e94bfae78a
DEVICE=ens34
ONBOOT=yes# add follow
BOOTPROTO="static"
IPADDR="192.168.2.11"
NETMASK="255.255.255.0"
#GATEWAY="192.168.2.1"
DNS1="1.1.1.1"
[root@controller ~]# 

重启Network网络服务

systemctl restart network

(3)网关配置

此处也可以将网关配置为供应商的网络,同时注意在上面的2张网卡配置中只保留一个网关,注释其他网卡的网关。

cp /etc/networks /etc/networks.bak
vim /etc/networks
#add follow
NETWORKING=yes
GATEWAY=10.0.0.2

例子如下

[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=10.0.0.2
[root@controller ~]# 

(4)hostname主机名配置

  • 控制节点
hostnamectl set-hostname controller
exec bash
echo 10.0.0.11 controller >> /etc/hosts
echo 10.0.0.31 compute1 >> /etc/hosts
echo 10.0.0.32 compute2 >> /etc/hosts

配置后可通过命令scp -rp /etc/hosts 10.0.0.31:/etc/hosts直接覆盖另一节点hosts文件。

  • 计算节点1
hostnamectl set-hostname compute1
exec bash
echo 10.0.0.11 controller >> /etc/hosts
echo 10.0.0.31 compute1 >> /etc/hosts
echo 10.0.0.32 compute2 >> /etc/hosts
  • 计算节点2
hostnamectl set-hostname compute2
exec bash
echo 10.0.0.11 controller >> /etc/hosts
echo 10.0.0.31 compute1 >> /etc/hosts
echo 10.0.0.32 compute2 >> /etc/hosts

验证联通性

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

4.免密登录

控制节点执行

ssh-keygen -t rsa
ssh-copy-id controller 
ssh controller

如果有计算节点,则在控制节点继续下面命令,即可各个节点之间相互免密登陆。

ssh-copy-id compute1
scp -r .ssh compute1:~/
ssh-copy-id compute2
scp -r .ssh compute2:~/

5.禁用防火墙,关闭selinux

(1)禁用防火墙

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

(2)关闭selinux

CentOS 8 禁用 SELinux 教程,在开始在CentOS 8上禁用SELinux之前,请务必先检查SELinux的状态。

sestatus

要暂时禁用SELinux,请运行命令。

setenforce 0

另外,您可以运行命令。

setenforce Permissive

这些命令中的任何一个都将暂时禁用SELinux,直到下次重启为止。
在CentOS 8上永久禁用SELinux

sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config

CentOS7则为:

sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/sysconfig/selinux

然后使用命令重新启动CentOS 8

reboot

再次查看selinux状态

sestatus

系统基础软件工具安装与配置

1.基础

yum install net-tools lsof wget git vim bash-completion lrzsz unzip zip -y
dnf install openssh openssh-server vim git wget net-tools bash-completion -y
dnf install crudini -y

注:crudini方便完成快速配置文件参数的修改,crudini手动安装,全平台crudini下载地址,Centos8版下载地址

wget https://download-ib01.fedoraproject.org/pub/epel/8/Everything/x86_64/Packages/c/crudini-0.9.3-1.el8.noarch.rpmrpm -Uvh crudini*rpm
wget https://download-ib01.fedoraproject.org/pub/epel/8/Everything/x86_64/Packages/c/crudini-0.9.3-1.el8.noarch.rpm
#Install epel-release rpm:
rpm -Uvh crudini*rpm
#or
#Install crudini rpm package:
dnf install crudini

2.NTP时间同步

rpm -qa |grep chrony
dnf install chrony -y

若已安装则编辑chrony配置文件修改以下两块信息

控制节点

vim /etc/chrony.conf
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
server ntp1.aliyun.com iburst
server ntp2.aliyun.com iburst
# Allow NTP client access from local network.
allow 10.0.0.0/24

例子

在这里插入图片描述

注意:在计算节点仅修改一块信息,修改为server controller iburst,直接与控制节点同步。

计算节点

vim /etc/chrony.conf
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
#pool 2.centos.pool.ntp.org iburstserver controller iburst

在这里插入图片描述

在这里插入图片描述

systemctl restart chronyd.service
systemctl status chronyd.service
systemctl enable chronyd.service
systemctl list-unit-files |grep chronyd.service
timedatectl set-timezone Asia/Shanghai
chronyc sources
timedatectl status

OpenStack基础软件安装

1.安装OpenStack存储仓库

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. For CentOS8, you will also need to enable the PowerTools repository.

dnf config-manager --enable powertools
dnf install centos-release-openstack-victoria -y
yum clean all
yum makecache
yum repolist

2.OpenStack客户端相关软件

dnf install python3-openstackclient openstack-selinux -y

3.基础服务:数据库SQL database

安装Mariadb数据库,也可安装MySQL数据库

yum install -y mariadb mariadb-server python3-PyMySQL 

创建和编辑文件,添加如下信息

touch /etc/my.cnf.d/openstack.cnf
vim   /etc/my.cnf.d/openstack.cnf

文件内容如下

[mysqld]
bind-address = 10.0.0.11default-storage-engine = innodb
innodb_file_per_table = on
max_connections = 4096
collation-server = utf8_general_ci
character-set-server = utf8

在这里插入图片描述

启动数据库并设置为开机自启

systemctl enable mariadb.service
systemctl start mariadb.service
systemctl status mariadb.service
systemctl list-unit-files |grep mariadb.service

保护数据库服务

/usr/bin/mysql_secure_installation

测试环境中,设置密码为root,

注意:生产环境可以使用pwgen工具生成数据库密码

openssl rand -hex 10
# 输入命令后,第一次按回车,Y,设置密码,然后输入root账户,设置密码为root,然后一路y回车,直至安装成功。
# 输入当前用户root密码,若为空直接回车
Enter current password for root (enter for none):
OK, successfully used password, moving on...
# 是否设置root密码
Set root password? [Y/n] y
# 输入新密码
New password:
# 再次输入新密码
Re-enter new password:
# 是否删除匿名用户
Remove anonymous users? [Y/n] y
# 是否禁用远程登录
Disallow root login remotely? [Y/n] n
# 是否删除数据库并访问它
Remove test database and access to it? [Y/n] y
# 是否重新加载权限表
Reload privilege tables now? [Y/n] y# 以上步骤根据实际情况做配置即可,不一定要与此处保持一致
systemctl restart mariadb.service
systemctl status mariadb.service

测试数据库,相关的数据库在需要时单独创建

mysql -uroot -proot
flush privileges;
show databases;
select user,host from mysql.user;
exit

4.基础服务:消息队列Message queue

安装软件包

dnf install rabbitmq-server -y

启动消息队列服务并设置为开机自启

systemctl enable rabbitmq-server.service
systemctl start rabbitmq-server.service
systemctl status rabbitmq-server.service

添加openstack用户并设置密码为111111

rabbitmqctl add_user openstack 111111

给openstack用户可读可写可配置权限

rabbitmqctl set_permissions openstack ".*" ".*" ".*"
rabbitmqctl list_users 
rabbitmq-plugins list

为了方便监控,启用Web界面管理插件

rabbitmq-plugins enable rabbitmq_management
rabbitmq-plugins list
netstat -lntup
lsof -i:15672

安装成功后通过命令netstat -lntup查看多了一个15672的服务端口,通过浏览器访问可以成功登录RabbitMQ,默认管理员账号guest密码guest,登录成功页面如下图

在这里插入图片描述

5.基础服务:Memcached缓存

身份服务验证机制使用Memcached来缓存令牌。Memcached服务通常在控制节点上运行。

安装软件包
For CentOS 8 and RHEL 8

dnf install memcached python3-memcached -y

编辑vim /etc/sysconfig/memcached文件,将OPTTONS行修改成如下信息

OPTIONS="-l 127.0.0.1,::1,controller"
cp /etc/sysconfig/memcached /etc/sysconfig/memcached.bak
cat /etc/sysconfig/memcached 
sed -i 's|127.0.0.1,::1|127.0.0.1,::1,controller|g' /etc/sysconfig/memcached 
cat /etc/sysconfig/memcached 

启动Memcached服务并设置开机自启

systemctl restart memcached.service
systemctl status memcached.service
netstat -anptl|grep memcachedsystemctl enable memcached.service
systemctl list-unit-files |grep memcached.service

6.基础服务:Etcd集群

安装软件包

dnf install etcd -y

编辑vim /etc/etcd/etcd.conf文件,修改如下信息

cp /etc/etcd/etcd.conf /etc/etcd/etcd.conf.bak
vim /etc/etcd/etcd.conf
[root@controller ~]# cat /etc/etcd/etcd.conf
#[Member]
ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
ETCD_LISTEN_PEER_URLS="http://10.0.0.11:2380"
ETCD_LISTEN_CLIENT_URLS="http://10.0.0.11:2379"
ETCD_NAME="controller"
#[Clustering]
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://10.0.0.11:2380"
ETCD_ADVERTISE_CLIENT_URLS="http://10.0.0.11:2379"
ETCD_INITIAL_CLUSTER="controller=http://10.0.0.11:2380"
ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster-01"
ETCD_INITIAL_CLUSTER_STATE="new"

在这里插入图片描述

启动Etcd服务并设置开机自启

systemctl restart etcd.service
systemctl status etcd.service
netstat -anptl|grep etcdsystemctl enable etcd.service
systemctl list-unit-files |grep etcd.service

完成控制节点环境准备

关闭控制节点虚拟机,现在可以关机做快照,然后打开虚拟机。

poweroff 

这篇关于OpenStack Victoria版——1.控制节点-环境配置与基础安装环境配置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/1147859

相关文章

Redis Cluster模式配置

《RedisCluster模式配置》:本文主要介绍RedisCluster模式配置,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录分片 一、分片的本质与核心价值二、分片实现方案对比 ‌三、分片算法详解1. ‌范围分片(顺序分片)‌2. ‌哈希分片3. ‌虚

SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志

《SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志》在SpringBoot项目中,使用logback-spring.xml配置屏蔽特定路径的日志有两种常用方式,文中的... 目录方案一:基础配置(直接关闭目标路径日志)方案二:结合 Spring Profile 按环境屏蔽关

Python中使用uv创建环境及原理举例详解

《Python中使用uv创建环境及原理举例详解》uv是Astral团队开发的高性能Python工具,整合包管理、虚拟环境、Python版本控制等功能,:本文主要介绍Python中使用uv创建环境及... 目录一、uv工具简介核心特点:二、安装uv1. 通过pip安装2. 通过脚本安装验证安装:配置镜像源(可

Maven 配置中的 <mirror>绕过 HTTP 阻断机制的方法

《Maven配置中的<mirror>绕过HTTP阻断机制的方法》:本文主要介绍Maven配置中的<mirror>绕过HTTP阻断机制的方法,本文给大家分享问题原因及解决方案,感兴趣的朋友一... 目录一、问题场景:升级 Maven 后构建失败二、解决方案:通过 <mirror> 配置覆盖默认行为1. 配置示

Nexus安装和启动的实现教程

《Nexus安装和启动的实现教程》:本文主要介绍Nexus安装和启动的实现教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、Nexus下载二、Nexus安装和启动三、关闭Nexus总结一、Nexus下载官方下载链接:DownloadWindows系统根

Springboot3+将ID转为JSON字符串的详细配置方案

《Springboot3+将ID转为JSON字符串的详细配置方案》:本文主要介绍纯后端实现Long/BigIntegerID转为JSON字符串的详细配置方案,s基于SpringBoot3+和Spr... 目录1. 添加依赖2. 全局 Jackson 配置3. 精准控制(可选)4. OpenAPI (Spri

从基础到进阶详解Pandas时间数据处理指南

《从基础到进阶详解Pandas时间数据处理指南》Pandas构建了完整的时间数据处理生态,核心由四个基础类构成,Timestamp,DatetimeIndex,Period和Timedelta,下面我... 目录1. 时间数据类型与基础操作1.1 核心时间对象体系1.2 时间数据生成技巧2. 时间索引与数据

Java SWT库详解与安装指南(最新推荐)

《JavaSWT库详解与安装指南(最新推荐)》:本文主要介绍JavaSWT库详解与安装指南,在本章中,我们介绍了如何下载、安装SWTJAR包,并详述了在Eclipse以及命令行环境中配置Java... 目录1. Java SWT类库概述2. SWT与AWT和Swing的区别2.1 历史背景与设计理念2.1.

maven私服配置全过程

《maven私服配置全过程》:本文主要介绍maven私服配置全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录使用Nexus作为 公司maven私服maven 私服setttings配置maven项目 pom配置测试效果总结使用Nexus作为 公司maven私

springboot加载不到nacos配置中心的配置问题处理

《springboot加载不到nacos配置中心的配置问题处理》:本文主要介绍springboot加载不到nacos配置中心的配置问题处理,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录springboot加载不到nacos配置中心的配置两种可能Spring Boot 版本Nacos