您现在的位置是:首页 >技术杂谈 >云计算赛项私有云服务搭建(最新版比赛步骤超详细)网站首页技术杂谈

云计算赛项私有云服务搭建(最新版比赛步骤超详细)

高龄码农创业 2024-06-09 00:00:03
简介云计算赛项私有云服务搭建(最新版比赛步骤超详细)

openstack平台搭建基础

【题目 1】基础环境搭建

使用提供的用户名密码,登录提供的 OpenStack 私有云平台,在当前租户下,使用 CentOS7.9 镜像,创建两台云主机,云主机类型使用 4vCPU/12G/100G_50G 类型。当前租户 下默认存在一张网卡,自行创建第二张网卡并连接至 controller 和 compute 节点(第二张网 卡的网段为 10.10.X.0/24,X 为工位号,不需要创建路由)。自行检查安全组策略,以确保网络正常通信与 ssh 连接,然后按以下要求配置服务器:

(1)设置控制节点主机名为 controller,设置计算节点主机名为 compute;

(2)修改 hosts 文件将 IP 地址映射为主机名;

完成后提交控制节点的用户名、密码和 IP 地址到答题框。

#controller node
hostnamectl set-hostname controller

#compute node
hostnamectl set-hostname compute

#ALL Node
cat >> /etc/hosts <<EOF
10.18.4.100 controller
10.18.4.200 compute
EOF

【题目 2】Yum 源配置

使用提供的 http 服务地址,在 http 服务下,存在 centos 和 iaas 的网络 yum 源, 使用该 http 源作为安装 iaas 平台的网络源。 分别设置 controller 节点和 compute 节点的 yum 源文件 http.repo。

#直接删除默认源
rm -rf /etc/yum.repos.d/*

#创建http类型的yum源
cat > /etc/yum.repos.d/http.repo <<EOF
[centos]
name=centos
baseurl=http://10.18.4.46/centos
gpgcheck=0
enabled=1
[iaas]
name=iaas
baseurl=http://10.18.4.46/iaas/iaas-repo
gpgcheck=0
enabled=1
EOF

#可以通过来验证源的配置是否正确
yum makecache

【题目 3】配置无秘钥 ssh

配置 controller 节点可以无秘钥访问 compute 节点,配置完成后,尝试 ssh 连接 compute 节点的 hostname 进行测试。完成后提交 controller 节点的用户名、密码和 IP 地址到答题框

#all node
#生成密钥,回显默认全部回车即可
ssh-keygen

#传输密钥
ssh-copy-id controller
ssh-copy-id compute

#测试尝试连接compute
ssh compute

【题目 4】基础安装

在控制节点和计算节点上分别安装 openstack-iaas 软件包,根据表 2 配置两个节点脚本 文件中的基本变量(配置脚本文件为/etc/openstack/openrc.sh)。

###0.提前准备
#分区
#在 compute 节点上利用空白分区划分 2个 20G 分区作为cinder与swift的存储
#划分1个5G的硬盘做为manila1的存储,见题目11
#划分1个5G的硬盘做为cinder扩展磁盘,见题目12
#分区也可以使用fdisk
    parted /dev/vdb
    (parted) mklabel gpt
    (parted) mkpart a 0% 40%  
    (parted) mkpart b 40% 80%  
    (parted) mkpart c 80% 90% 
     (parted) mkpart d 90% 100% 
    (parted) quit 

###1.安装openstack-iaas来生成openrc.sh与脚本
yum -y install openstack-iaas

###2.编辑环境变量,简化脚本
#使用vi底行模式,正则表达式如下
:%s@##.*@@g	#删除文件中开头##的所在行
:%s@#@@g		#删除文件中开头的#
:g@^$@d		#删除文件中所有的空行
:%s/PASS=/PASS=000000/g  #快速配置文件中个服务组件的password

#环境变量文件示例
HOST_IP=10.18.4.100			#controller ip address,按照实际环境来
HOST_PASS=000000
HOST_NAME=controller
HOST_IP_NODE=10.18.4.200		#compute ip address,按照实际环境来
HOST_PASS_NODE=000000
HOST_NAME_NODE=compute
network_segment_IP=10.18.4.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
PLACEMENT_DBPASS=000000
PLACEMENT_PASS=000000
NOVA_DBPASS=000000
NOVA_PASS=000000
NEUTRON_DBPASS=000000
NEUTRON_PASS=000000
METADATA_SECRET=000000
INTERFACE_NAME=ens34
Physical_NAME=provider
minvlan=1
maxvlan=200
CINDER_DBPASS=000000
CINDER_PASS=000000
BLOCK_DISK=sdb1
SWIFT_PASS=000000
OBJECT_DISK=sdb2
STORAGE_LOCAL_NET_IP=10.18.4.200 	#compute IP
TROVE_DBPASS=000000
TROVE_PASS=000000
HEAT_DBPASS=000000
HEAT_PASS=000000
CEILOMETER_DBPASS=000000
CEILOMETER_PASS=000000
AODH_DBPASS=000000
AODH_PASS=000000
ZUN_DBPASS=000000
ZUN_PASS=000000
KURYR_PASS=000000
OCTAVIA_DBPASS=000000
OCTAVIA_PASS=000000
MANILA_DBPASS=000000
MANILA_PASS=000000
SHARE_DISK=sdb3				    #manila—Disk
CLOUDKITTY_DBPASS=000000
CLOUDKITTY_PASS=000000
BARBICAN_DBPASS=000000
BARBICAN_PASS=000000

###首先执行初始化包###
(all node)
iaas-pre-host.sh

###3.controller node执行
iaas-install-mysql.sh && iaas-install-keystone.sh && iaas-install-glance.sh 
&& iaas-install-placement.sh && iaas-install-nova-controller.sh 
&& iaas-install-neutron-controller.sh && iaas-install-dashboard.sh 
&& iaas-install-cinder-controller.sh && iaas-install-swift-controller.sh  
&& iaas-install-heat.sh && iaas-install-manila-controller.sh 
&& iaas-install-cloudkitty.sh && iaas-install-barbican.sh

###4.compute node 执行
#提示:当控制节点在部署脚本的时候,计算节点也别闲着,可以为其安装相应的包
cat /usr/local/bin/iaas-*compute.sh | grep yum 

#然后将如上罗列出来的内容全部安装后,等待controller节点的脚本执行后,执行如下内容
iaas-install-nova-compute.sh  && iaas-install-neutron-compute.sh 
&& iaas-install-cinder-compute.sh && iaas-install-swift-compute.sh 
&& iaas-install-manila-compute.sh 

【题目 5】数据库安装与调优

在 controller 节点上使用 iaas-install-mysql.sh 脚本安装 Mariadb、Memcached、RabbitMQ 等服务。安装服务完毕后,修改/etc/my.cnf 文件,完成下列要求:
1.设置数据库支持大小写;
2.设置数据库缓存 innodb 表的索引,数据,插入数据时的缓冲为 4G;
3.设置数据库的 log buffer 为 64MB;
4.设置数据库的 redo log 大小为 256MB;
5.设置数据库的 redo log 文件组为 2。
完成后提交控制节点的用户名、密码和 IP 地址到答题框。

#可以快速定位参数
mysql -uroot -p000000
MariaDB [(none)]>  show variables like 'innodb_log%';

vim /etc/my.cnf
#数据库支持大小写
lower_case_table_names =1
#数据库缓存
innodb_buffer_pool_size = 4G
#数据库的log buffer即redo日志缓冲
innodb_log_buffer_size = 64MB
#设置数据库的redo log即redo日志大小
innodb_log_file_size = 256MB
#数据库的redo log文件组即redo日志的个数配置
innodb_log_files_in_group = 2

验证:重启mariadb服务来验证配置的正确与否

ststemctl restart mariadb

【题目 6】Keystone 服务安装与使用

在 controller 节点上使用 iaas-install-keystone.sh 脚本安装 Keystone 服务。安装完成后, 使用相关命令,创建用户 chinaskill,密码为 000000。完成后提交控制节点的用户名、密码 和 IP 地址到答题框。

#导入环境变量
source /etc/keystone/admin-openrc.sh 
#创建用户
openstack user create --password 000000 chinaskill

验证:

openstack user list

【题目 7】Glance 安装与使用

在 controller 节点上使用 iaas-install-glance.sh 脚本安装 glance 服务。使用命令将提供 的 cirros-0.3.4-x86_64-disk.img 镜像(该镜像在 HTTP 服务中,可自行下载)上传至平台, 命名为 cirros,并设置最小启动需要的硬盘为 10G,最小启动需要的内存为 1G。完成后提交 控制节点的用户名、密码和 IP 地址到答题框。

#下载镜像
curl -O http://10.18.4.100/cirros-0.3.4-x86_64-disk.img

#创建符合要求的镜像
openstack image create --min-disk 10 --min-ram 1024 --file cirros-0.3.3-x86_64-disk.img  cirros

验证

openstack image show cirros

【题目 8】Nova 安装与优化

在 controller 节点和 compute 节点上分别使用 iaas-install-placement.sh 脚本、 iaas-install-nova -controller.sh 脚本、iaas-install-nova-compute.sh 脚本安装 Nova 服务。安装完成后,请修改 nova 相关配置文件,解决因等待时间过长而导致虚拟机启动超时从而获取不 到 IP 地址而报错失败的问题。配置完成后提交 controller 点的用户名、密码和 IP 地址到答 题框。

#关键字是
cat /etc/nova/nova.conf |grep vif_plugging_is_fatal
vif_plugging_is_fatal=false

#重启nova-*
systemctl restart openstack-nova*

【题目 9】Neutron 安装

使用提供的脚本 iaas-install-neutron-controller.sh 和 iaas-install-neutron-compute.sh,在 controller 和 compute 节点上安装 neutron 服务。完成后提交控制节点的用户名、密码和 IP 地址到答题框。

【题目 10】Doshboard 安装

在controller节点上使用iaas-install-dashboad.sh脚本安装dashboad服务。安装完成后, 将 Dashboard 中的 Djingo 数据修改为存储在文件中(此种修改解决了 ALL-in-one 快照在其他云平台 Dashboard 不能访问的问题)。完成后提交控制节点的用户名、密码和 IP 地址到 答题框。

#根据题意找线索,是关于django的数据,这个单词他写错了,就检索出来所有关于他的配置
#会发现有一行
#SESSION_ENGINE = 'django.contrib.sessions.backends.cache'存在cache里,改一改就行。

cat /etc/openstack-dashboard/local_settings |grep django
SESSION_ENGINE = 'django.contrib.sessions.backends.file'

#重启服务生效配置
systemctl restart httpd

【题目 11】Swift 安装

在 控 制 节 点 和 计 算 节 点 上 分 别 使 用 iaas-install-swift-controller.sh 和 iaas-install-swift-compute.sh 脚本安装 Swift 服务。安装完成后,使用命令创建一个名叫 examcontainer 的容器,将 cirros-0.3.4-x86_64-disk.img 镜像上传到 examcontainer 容器中,并 设置分段存放,每一段大小为 10M。完成后提交控制节点的用户名、密码和 IP 地址到答题 框。

#通过命令行创建容器
openstack container create examcontainer
openstack container list

#下载镜像
curl -O http://10.18.4.46/cirros-0.3.4-x86_64-disk.img

#swfit切片上传cirros
swift upload examcontainer -S 10000000 cirros-0.3.4-x86_64-disk.img
swift stat examcontainer cirros-0.3.4-x8664-disk.img

【题目 12】Cinder 创建硬盘

在 控 制 节 点 和 计 算 节 点 分 别 使 用 iaas-install-cinder-controller.sh 、 iaas-install-cinder-compute.sh 脚本安装 Cinder 服务,请在计算节点,对块存储进行扩容操作, 即在计算节点再分出一个 5G 的分区,加入到 cinder 块存储的后端存储中去。完成后提交计 算节点的用户名、密码和 IP 地址到答题框。

#创建物理卷
pvcreate /dev/vdb4

#扩展cinder-volume卷组
vgextend cinder-volumes /dev/vdb4

#验证
[root@compute ~]# vgdisplay

【题目 13】Manila 服务安装与使用

在 控 制 和 计 算 节 点 上 分 别 使 用 iaas-install-manila-controller.sh 和 iaas-install-manila-compute.sh 脚本安装 manila 服务。安装服务后创建 default_share_type 共享 类型(不使用驱动程序支持),接着创建一个大小为 2G 的共享存储名为 share01 并开放 share01 目录对 OpenStack 管理网段使用权限。最后提交控制节点的用户名、密码和 IP 地址 到答题框。
#创建不适用驱动程序支持的default_share_type共享类型
manila type-create default_share_type False

#创建共享卷
manila create NFS 2 --name share01

#开放share01目录对OpenStack管理网段使用权限
manila access-allow share01 ip 10.18.4.0/24 --access-level rw

#验证
manila type-list
manila list

【题目 14】Barbican 服务安装与使用

使用 iaas-install-barbican.sh 脚本安装 barbican 服务,安装服务完毕后,使用 openstack 命令创建一个名为 secret01 的密钥,创建完成后提交控制节点的用户名、密码和 IP 地址到 答题框。

#导入环境变量
source /etc/keystone/admin-openrc.sh 

#创建密钥
openstack secret store --name secret01 --payload secretkey 

【题目 15】Cloudkitty 服务安装与使用

使用 iaas-install-cloudkitty.sh 脚本安装 cloudkitty 服务,安装完毕后,启用 hashmap 评级 模块,接着创建 volume_thresholds 组,创建服务匹配规则 volume.size,并设置每 GB 的价 格为 0.01。接下来对应大量数据设置应用折扣,在组 volume_thresholds 中创建阈值,设置 若超过 50GB 的阈值,应用 2%的折扣(0.98)。设置完成后提交控制节点的用户名、密码 和 IP 地址到答题框。

#0.启用hashmap
[root@controller ~]# openstack rating module enable hashmap 

#1.创建hashmap service
[root@controller ~]# openstack rating  hashmap service create volume.size 
+--------+--------------------------------------+
| Name   | Service ID                           |
+--------+--------------------------------------+
| volume.size | 09da4a8b-b849-4715-a8e3-7cd12dfcf46e |
+--------+--------------------------------------+

#2.创建hashmap service group
[root@controller ~]# openstack rating hashmap group create  volume_thresholds 
openstack rating hashmap group create  volume_thresholds 
+-------------------+--------------------------------------+
| Name              | Group ID                             |
+-------------------+--------------------------------------+
| volume_thresholds | 8b3dfe73-5efb-46ab-a93b-dc9519063ed6 |
+-------------------+--------------------------------------+

#3.创建volume单价
[root@controller ~]# openstack rating hashmap mapping create   -s  09da4a8b-b849-4715-a8e3-7cd12dfcf46e -g 8b3dfe73-5efb-46ab-a93b-dc9519063ed6  -t flat  0.01  

#4.创建service rule
[root@controller ~]# openstack rating hashmap threshold create   -s  09da4a8b-b849-4715-a8e3-7cd12dfcf46e -g 8b3dfe73-5efb-46ab-a93b-dc9519063ed6  -t rate 50 0.98

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。