初次接触open stack与Linux,如有错误与可改进的地方,恳请指出。
一、搭建
(一)配置推荐
系统 | 镜像 | 内存 | 储存 |
---|---|---|---|
Linux | centos7.6 | 16G+ | 100G+ |
(二)前期准备
1.开启虚拟化
图2-1 开启虚拟化
2.关闭防火墙
systemctl stop firewalld && systemctl disable firewalld
3.关闭NetworkManager
systemctl stop NetworkManager && systemctl disable NetworkManager
4.禁用SELINUX
setenforce 0 && sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
5.修改主机名
修改后重启生效。
hostnamectl set-hostname HYX-OS-01
6.配置主机映射
cat >>/etc/hosts<<eof 121.121.0.91 HYX-OS-03 eof
(三)基础配置
1.更新yum源
1.1备份
cd /etc/yum.repos.d/ mkdir back mv ./C* back/
1.2下载配置文件
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
1.3清理并建立缓存
yum clean all && yum makecache
1.4更新
遇到跑不动的请更换网络。
yum -y update
2.时间同步
2.1创建crontab任务
crontab -e
2.2添加定时任务
*/20 * * * * /usr/sbin/ntpdate pool.ntp.org > /dev/null 2>&1
2.3代码解释
这是一个使用crontab
命令设置的定时任务示例。它的含义是每20分钟执行一次/usr/sbin/ntpdate pool.ntp.org
命令,并将输出结果重定向到/dev/null
以丢弃标准输出和错误输出。
更具体地解释如下:
-
*/20 * * * *
是cron时间表达式,表示每20分钟执行一次任务。 -
/usr/sbin/ntpdate pool.ntp.org
是要执行的命令,它会使用ntpdate工具从pool.ntp.org服务器同步系统时间。 -
> /dev/null 2>&1
是重定向语法,将标准输出和错误输出都重定向到/dev/null设备,即丢弃输出。
通过将这个定时任务添加到用户的crontab中,系统会每20分钟自动执行一次命令来同步系统时间。
请注意,具体命令的路径(例如/usr/sbin/ntpdate
)和服务器地址(例如pool.ntp.org
)可能因系统配置而有所不同。确保你设置正确的路径和服务器地址,以便任务可以正常运行。
3.安装opensack
3.1版本选择
三个版本,任选其一,推荐第一个。
# openstack-train版本 yum -y install centos-release-openstack-train.noarch # openstack queens版本 yum -y install centos-release-openstack-queens # openstack rocky版本 um -y install centos-release-openstack-rocky
3.2安装依赖
yum -y install openstack-packstack
3.3快速部署
packstack --allinone
packstack --allinone
是一个命令,用于在OpenStack环境中快速部署一个"all-in-one"配置,即在一台服务器上安装并配置OpenStack的所有组件。"all-in-one"配置通常用于开发、测试或学习目的。
具体来说,packstack
是一个由Red Hat提供的用于自动化OpenStack部署的工具。通过使用packstack
命令,你可以指定不同的参数和选项来定制OpenStack的安装和配置方式。
而--allinone
选项则指示packstack
在单个节点上安装和配置具有所有OpenStack服务的"all-in-one"环境。这意味着OpenStack的各个组件,如Nova、Neutron、Glance等将被安装在同一台服务器上,用于模拟小规模的OpenStack环境。
在执行packstack --allinone
命令之前,你需要确保满足安装OpenStack所需的系统要求,并已经安装了必要的依赖软件包。
值得一提的是,packstack
命令可能会有不同的参数和选项可供使用,具体取决于你的OpenStack版本和配置需求。建议查阅相关文档或执行packstack --help
命令,以获取更多关于packstack
命令的详细信息和使用示例。
(四)WEB端
1.访问地址
图1-1 访问地址
2.登陆
2.1查看密码
图2-1 用户登陆信息
图2-2 查看用户登陆信息
3.修改密码
图3-1 修改密码(一)
图3-2 修改密码(二)
二、使用
(一)镜像管理
1.镜像下载地址
# centos7 http://cloud.centos.org/centos/7/images/ # ubuntu http://cloud-images.ubuntu.com/focal/20220213/ # windows https://cloudbase.it/windows-cloud-images/#download
2.上传镜像
图2-1 上传镜像(一)
图2-2 上传镜像(二)
图2-3 上传镜像(三)
图2-4 上传镜像(四)
(二)创建网络
1.删除路由
图1-1 删除路由
2.删除网络
图2-1 删除网络
3.创建网桥
vi /etc/sysconfig/network-scripts/ifcfg-br-ex
添加下面的内容,请注意要修改的位置。
DEVICE=br-ex DEVICETYPE=OVS TYPE=OVSBridge BOOTPROTO=static IPADDR=121.121.0.91 # 虚拟机IP地址,请修改。 PREFIX=24 GATEWAY=121.121.0.1 # 虚拟机网关,请修改。 DNS1=114.114.114.114 ONBOOT=yes
4.连接网桥
4.1备份ens33网络
cp ifcfg-ens33 ifcfg-ens33.bak
4.2修改ens33网络
请清空所有内容,可使用“%d”来清空,如若不会的话请将ifcfg-ens33删除后再次创建。
vi ifcfg-ens33
添加下面的内容,请注意要修改的位置。
DEVICE=ens33 TYPE=OVSPort DEVICETYPE=OVS OVS_BRIDGE=br-ex ONBOOT=yes HWADDR=00:0C:29:FA:D6:12 # MAC地址,请修改,MAC地址位置如下图所示。
图4-1 查看MAC地址
5.重启网络
systemctl restart network
6.验证配置
图6-1 验证配置(一)
如果重启网络后远程连接工具失去连接,请去VMware里面使用ip addr查看,如与上图不一样,则配置失败,请在VMware里面参照步骤4进行修改。
图6-2 验证配置(二)
7.创建网络
下面是另外一台虚拟机做的,请不要在意IP地址。
7.1创建公网
图7-1 创建网络(一)
图7-2 创建网络(二)
图7-3 创建网络(三)
7.2创建私网
图7-4 创建私网(一)
图7-5 创建私网(二)
图7-6 创建私网(三)
8.创建路由
图8-1 创建路由(一)
图8-2 创建路由(二)
(三)创建实例
1.公网实例
1.1创建
图1-1 创建公网实例(一)
图1-2 创建公网实例(二)
图1-3 创建公网实例(三)
图1-4 创建公网实例(四)
#!/bin/bash passwd root<<EOF 123456 123456 EOF
图1-5 创建公网实例(五)
1.2配置安全组
图2-1 配置安全组(一)
图2-2 配置安全组(二)
1.3验证实例
1.3.1宿主机ping实例的IP地址
图3-1 宿主机ping实例IP
1.3.2实例ping外网
图3-2 实例ping外网(一)
图3-3 实例ping外网(二)
1.4配置远程连接
在实例里面输入下面的代码
sed -i 's/#PasswordAuthentication yes/PasswordAuthentication yes/g' /etc/ssh/sshd_config sed -i 's/#UseDNS yes/UseDNS no/g' /etc/ssh/sshd_config sed -i 's/GSSAPIAuthentication yes/GSSAPIAuthentication no/g' /etc/ssh/sshd_config systemctl restart sshd
1.4.1命令验证
图4-1 命令验证
1.4.2远程工具验证
图4-2 远程连接工具验证
2.私网实例
2.1创建
这里与公网实例类似,只有网络那里不一样。
图1-1 私网实例创建(一)
图1-2 创建私网实例(二)
图1-3 创建私网实例(三)
图1-4 创建私网实例(四)
#!/bin/bash passwd root<<EOF 123456 123456 EOF
图1-5 创建私网实例(五)
2.2绑定浮动IP
图2-1 绑定浮动IP(一)
图2-2 绑定浮动IP(二)
图2-3 绑定浮动IP(三)
图2-4 绑定浮动IP(四)
2.3验证实例
2.3.1宿主机验证
图3-1 宿主机验证
2.3.2外网验证
图3-2 外网验证(一)
图3-3 外网验证(二)
2.4配置远程连接
由于配置出错,造成实例挂了,所以下面的IP与上面的不一样,但殊途同归。
在实例里面输入下面的代码
sed -i 's/#PasswordAuthentication yes/PasswordAuthentication yes/g' /etc/ssh/sshd_config sed -i 's/#UseDNS yes/UseDNS no/g' /etc/ssh/sshd_config sed -i 's/GSSAPIAuthentication yes/GSSAPIAuthentication no/g' /etc/ssh/sshd_config systemctl restart sshd
2.4.1命令验证
图4-1 命令验证
2.4.2远程工具验证
图4-2 远程工具验证
(四)拓展验证
1.公网实例PING私网实例
图1-1 公网实例PING私网实例
2.私网实例PING公网实例
图2-1 私网实例PING公网实例