2021江苏省云计算技术与应用比赛
由于没有原题,单纯靠记忆力记下来的,可能没有看起来那么正规,比的时候太紧张了,也没有可能有些题目没有记全,只能说个大概,有些资源没有所以就没有做了
某企业拟使用OpenStack搭建一个企业云平台,以实现资源池化弹性管理、企业应用集中管理、统一安全认证和授权等管理。
系统架构如图1所示,IP地址规划如表1所示。
图1系统架构图
表1 IP地址规划
设备名称 主机名 接口 IP地址 说明
云服务器1 Controller eth0 192.168.x.10/24 Vlan x
eth1 192.168.y.10/24 Vlan y
云服务器2 Compute eth0 192.168.x.20/24 Vlan x
eth1 192.168.y.20/24 Vlan y
PC-1 本地连接 172.24.z.2/24 Vlan 1
交换机 Vlan 1 172.24.z.1/24 PC机使用
Vlan 10 192.168.x.1/24 服务器使用
Vlan 20 192.168.y.1/24 虚拟机使用
说明:
1.表中的 x,y 为vlan号,每人有两个vlan号;z为工位号;
2.根据图表给出的信息,检查硬件连线及网络设备配置,确保网络连接正常;
3.考试所需要的资源包与附件均在考位信息表中给出;
4.竞赛过程中,为确保服务器的安全,请自行修改服务器密码;在考试系统提交信息时,请确认自己的IP地址,用户名和密码。
根据表1中的IP地址规划,设置各服务器节点的IP地址,确保网络正常通信,然后按以下要求配置服务器:
(1)设置控制节点主机名为controller,设置计算节点主机名为compute;
(2)修改hosts文件将IP地址映射为主机名;
(3)关闭控制节点的防火墙,设置开机不启动;
(4)设置SELinux为Permissive 模式。
完成后提交控制节点的用户名、密码和IP地址到答题框。
**controller节点:**
[root@localhost ~]# hostnamectl set-hostname controller
[root@localhost ~]# bash
[root@controller ~]# echo 192.168.100.10 controller >> /etc/hosts ##根据自己的IP地址来改
[root@controller ~]# echo 192.168.100.20 compute >> /etc/hosts ##根据自己的IP地址来改
[root@controller ~]# systemctl stop firewalld && systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@controller ~]# setenforce 0
**compute节点:**
[root@localhost ~]# hostnamectl set-hostname controller
[root@localhost ~]# hostnamectl set-hostname compute
[root@localhost ~]# bash
[root@compute ~]# echo 192.168.100.10 controller >> /etc/hosts ##根据自己的IP地址来改
[root@compute ~]# echo 192.168.100.20 compute >> /etc/hosts ##根据自己的IP地址来改
[root@compute ~]# systemctl stop firewalld && systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@compute ~]# setenforce 0
[root@compute ~]# getenforce
Permissive
将提供的CentOS-7-x86_64-DVD-1804.iso和chinaskills_cloud_iaas.iso光盘镜像上传到controller节点/root目录下,然后在/opt目录下分别创建centos目录和openstack目录,并将镜像文件CentOS-7-x86_64-DVD-1804.iso挂载到centos目录下,将镜像文件chinaskills_cloud_iaas.iso挂载到openstack目录下。完成后提交控制节点的用户名、密码和IP地址到答题框。
[root@controller ~]# mkdir /opt/{centos,openstack}
[root@controller ~]# mount CentOS-7-x86_64-DVD-1804.iso /opt/centos/
mount: /dev/loop1 is write-protected, mounting read-only
[root@controller ~]# mount chinaskills_cloud_iaas.iso /opt/openstack/
mount: /dev/loop2 is write-protected, mounting read-only
在controller节点上利用/opt/centos目录中的软件包安装httpd服务,设置开机自启动,并使用http提供yum仓库服务,在http服务默认工作目录下创建openstack和centos目录,将需要用到的源文件分别复制到这两个目录下。分别设置controller节点和compute节点的yum源文件http.repo,其中http服务器地址使用主机名形式。完成后提交控制节点的用户名、密码和IP地址到答题框。
[root@controller ~]# cat /etc/yum.repos.d/http.repo
[centos]
name=centos
gpgcheck=0
enabled=1
baseurl=http://controller/centos
[iaas]
name=iaas
gpgcheck=0
enabled=1
baseurl=http://controller/openstack/iaas-repo
[root@controller ~]# systemctl enable httpd
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
[root@compute ~]# cat /etc/yum.repos.d/http.repo
[centos]
name=centos
gpgcheck=0
enabled=1
baseurl=http://controller/centos
[iaas]
name=iaas
gpgcheck=0
enabled=1
baseurl=http://controller/openstack/iaas-repo
在controller节点上部署chrony服务器,允许其他节点同步时间,启动服务并设置为开机启动;在compute节点上指定controller节点为上游NTP服务器,重启服务并设为开机启动。完成后提交控制节点的用户名、密码和IP地址到答题框。
iaas-pre-host.sh ##跑完这个脚本就完成了
在compute节点上利用空白分区划分2个100G分区。完成后提交计算节点的用户名、密码和IP地址到答题框。
[root@controller ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdb 8:16 0 1.8T 0 disk
├─sdb1 8:17 0 1G 0 part /boot
├─sdb2 8:18 0 1T 0 part
│ ├─centos-root 253:0 0 2.5T 0 lvm /
│ ├─centos-swap 253:1 0 15.8G 0 lvm [SWAP]
│ └─centos-home 253:2 0 600G 0 lvm /home
├─sdb3 8:19 0 100G 0 part
└─sdb4 8:20 0 100G 0 part
##这题比赛的时候有坑,一般来说2T一下用fdisk即可,可是比赛的时候fdisk不能用需要使用parted来分区
在控制节点和计算节点上分别安装iaas-xiandian软件包,根据表2配置两个节点脚本文件中的基本变量(配置脚本文件为/etc/xiandian/openrc.sh)。
表2 云平台配置信息
服务名称 变量 参数/密码
Mysql :
root 000000
Keystone 000000
Glance 000000
Nova 000000
Neutron 000000
Heat 000000
Zun 000000
Keystone :
DOMAIN_NAME demo
Admin 000000
Rabbit 000000
Glance 000000
Nova 000000
Neutron 000000
Heat 000000
Zun 000000
Neutron :
Metadata 000000
External Network enp9s0(外网卡名)
完成后提交控制节点的用户名、密码和IP地址到答题框。
##IP地址实际环境给
[root@controller ~]# cat /etc/xiandian/openrc.sh |egrep -v '(^#|^$)'
HOST_IP=192.168.100.10
HOST_PASS=000000
HOST_NAME=controller
HOST_IP_NODE=192.168.100.20
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.10
INTERFACE_NAME=enp9s0
Physical_NAME=provider
minvlan=101
maxvlan=200 ##vlan号比赛会给的
在controller节点上使用iaas-install-mysql.sh 脚本安装Mariadb、Memcached、etcd服务。
1、安装完后登入数据库中创建chinaskilldb库,在chinaskilldb库中创建表testable (id int not null primary key,Teamname varchar(50), remarks varchar(255)),在表中插入记录(1,“cloud”,“chinaskill”)。
2、将memcached的缓存大小从64Mib改成256Mib。
3、使用rabbitmq命令 创建用户,并设置Administrators限权
完成后提交控制节点的用户名、密码和IP地址到答题框。
[root@controller ~]# iaas-install-mysql.sh
[root@controller ~]# mysql -uroot -p000000 -e "create database chinaskilldb;"
[root@controller ~]# mysql -uroot -p000000 -e "use chinaskilldb;create table testable (id int not null primary key,Teamname varchar(50), remarks varchar(255));"
[root@controller ~]# mysql -uroot -p000000 -e "use chinaskilldb;insert into testable values(2,'cloudq','chinaskillq');"
[root@controller ~]# sed -i 's/64/256/g' /etc/sysconfig/memcached
[root@controller ~]# systemctl restart memcached
[root@controller ~]# rabbitmqctl add_user chinaskill 000000
Creating user "chinaskill"
[root@controller ~]# rabbitmqctl set_permissions chinaskill ".*" ".*" ".*"
Setting permissions for user "chinaskill" in vhost "/"
在controller节点上使用iaas-install-keystone.sh 脚本安装Keystone服务。创建一个用户完成后提交控制节点的用户名、密码和IP地址到答题框。
[root@controller ~]# iaas-install-keystone.sh
[root@controller ~]# openstack user create --domain demo --password 000000 chinaskill
在controller节点上使用iaas-install-glance.sh脚本安装glance 服务。完成后上传一个镜像提交控制节点的用户名、密码和IP地址到答题框。
[root@controller ~]# iaas-install-glance.sh
[root@controller ~]# glance image-create --name cirros --disk-format qcow2 --container bare --progress < openstack/cirros-0.3.4-x86_64-disk.img
在controller节点和compute节点上分别使用iaas-install-nova -controller.sh脚本、iaas-install-nova-compute.sh脚本安装Nova 服务。完成后创建一个实例类型提交控制节点的用户名、密码和IP地址到答题框。
[root@controller ~]# iaas-install-nova-controller.sh
[root@controller ~]# openstack flavor create --id 1 --disk 20 --ram 1024 test
在controller节点和compute节点上分别修改iaas-install-neutron-controller.sh脚本、iaas-install-neutron-compute.sh脚本分别安装 Neutron 服务,执行完脚本后创建云主机网络extnet,子网extsubnet,虚拟机网段为192.168.y.0/24(其中y是vlan号), 网关为192.168.y.1。完成后提交控制节点的用户名、密码和IP地址到答题框。
##命令行也行,界面也行
[root@controller ~]# iaas-install-neutron-controller.sh
[root@controller ~]# openstack network create --share --external --provider-physical-network provider --provider-network-type vlan extnet
[root@controller ~]# openstack subnet create --network extnet --gateway=192.168.200.1 --subnet-range 192.168.200.0/24 extsubnet
在controller节点上使用iaas-install-dashboad.sh脚本安装dashboad服务。完成后提交控制节点的用户名、密码和IP地址到答题框。
[root@controller ~]# iaas-install-dashboad.sh
在openstack私有云平台上,在/root目录下编写模板server.yaml,创建名为“m1.flavor”、 ID 为 1234、内存为1024MB、硬盘为20GB、vcpu数量为 1的云主机类型。完成后提交控制节点的用户名、密码和IP地址到答题框。(在提交信息前请准备好yaml模板执行的环境)
[root@controller ~]# cat flavor.yaml
heat_template_version: 2018-03-02
description: Simple template to deploy a single flavor
resources:
server:
type: OS::Nova::Flavor
properties:
disk: 20
flavorid: 1234
name: m1.flavor
ram: 1024
vcpus: 1
在openstack私有云平台上,基于“cirros”镜像、flavor使用“m1.flavor”、extnet的网络,创建一台虚拟机VM1,启动VM1,并使用PC机能远程登录到VM1。提交控制节点的用户名、密码和IP地址到答题框。
[root@controller ~]# openstack server create --image cirros --flavor m1.flavor --network extnet VM1
使用OpenStack私有云平台,使用centos7.5镜像,flavor使用1vcpu/2G内存/40G硬盘,创建云主机cscc_vm,假设在使用过程中,发现该云主机配置太低,需要调整,请修改相应配置,将dashboard界面上的云主机调整实例大小可以使用,将该云主机实例大小调整为2vcpu/4G内存/40G硬盘。完成后提交所修改配置文件节点的IP地址、用户名和密码到答题框。
[root@controller ~]# cat /etc/nova/nova.conf|grep -Ev '^$|#'
allow_resize_to_same_host=True
[root@controller ~]# cat /etc/glance/glance-api.conf |egrep -v '^$|^#'
[glance_store]
stores = glance.store.swift.Store
default_store = swift
swift_store_region = RegionOne
swift_store_endpoint_type = internalURL
swift_store_container = glance
swift_store_large_object_size = 5120
swift_store_large_object_chunk_size = 200
swift_store_create_container_on_put = True
swift_store_multi_tenant = True
swift_store_admin_tenants = service
swift_store_auth_address = http://controller:5000/v3.0/
swift_store_user = glance
swift_store_key = 000000
使用OpenStack私有云平台,创建三个centos7.5系统的云主机,使用附件\私有云附件\RabbitMQ目录下的软件包安装RabbitMQ服务,安装完毕后,搭建RabbitMQ集群,并打开RabbitMQ服务的图形化监控页面插件。集群使用普通集群模式,其中第一台做磁盘节点,另外两台做内存节点。完成后提交磁盘节点的用户名、密码和IP地址到答题框。
[root@node1 ~]# rabbitmqctl cluster_status
Cluster status of node rabbit@node1 ...
[{nodes,[{disc,[rabbit@node1]},{ram,[rabbit@node3,rabbit@node2]}]},
{running_nodes,[rabbit@node3,rabbit@node2,rabbit@node1]},
{cluster_name,<<"rabbit@node1">>},
{partitions,[]}]
...done.
[root@node1 ~]# rabbitmq-plugins list|grep [E]
[E] rabbitmq_management 3.3.5
[root@node1 ~]#
##具体做法在另外一个文章里面
使用OpenStack私有云平台,使用centos7.5系统,创建两台云主机mysql1和mysql2;在这2台云主机上安装据库(使用附件中提供的MariaDB目录下的mariadb-repo作为安装源)并配置为主从数据库(master为主节点、slave为从节点、数据库密码设置为000000);
[root@mysql2 ~]# mysql -uroot -p000000 -e "show slave status\G"
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: mysql1
Master_User: user
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000001
Read_Master_Log_Pos: 1642
Relay_Log_File: mysql2-relay-bin.000002
Relay_Log_Pos: 1941
Relay_Master_Log_File: mysql-bin.000001
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 1642
Relay_Log_Space: 2250
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 0
Last_SQL_Error:
Replicate_Ignore_Server_Ids:
Master_Server_Id: 3
Master_SSL_Crl:
Master_SSL_Crlpath:
Using_Gtid: No
Gtid_IO_Pos:
Replicate_Do_Domain_Ids:
Replicate_Ignore_Domain_Ids:
Parallel_Mode: conservative
SQL_Delay: 0
SQL_Remaining_Delay: NULL
Slave_SQL_Running_State: Slave has read all relay log; waiting for the slave I/O thread to update it
Slave_DDL_Groups: 6
Slave_Non_Transactional_Groups: 0
Slave_Transactional_Groups: 1
##具体做法在另外一个文章里面
用上个案例安装完成的主从数据库作为基础进行实验,使用OpenStack平台再创建一台云主机作为mycat数据库中间件,逻辑库USERDB对应数据库database为test(在部署主从数据库时已创建);设置数据库写入节点为主节点mysql1;设置数据库读取节点为从节点mysql2。
[root@mycat ~]# mysql -h127.0.0.1 -P9066 -uroot -p000000 -e 'show @@datasource;'
有一个错误镜像,然后排错
使用zun使用镜像CentOS_6.5_x86_64_XD.qcow2上传到创建一个容器,运行一个容器
后期做一篇关于python调用api的文章
后期做一篇关于ansible的文章c
错误描述: 在开发.net项目中,通过microsoft.ACE.oledb读取excel文件信息时,报...
4月11日20:30~22:00通过腾讯会议进行了第二次在线学习讨论我把学习笔记整理一下...
Elasticsearch 是通过 Lucene 的倒排索引技术实现比关系型数据库更快的过滤。特...
工具:Eclipse,Oracle,smartupload.jar;语言:jsp,Java;数据存储:Oracle。...
DELETEFROMTablesWHEREIDNOTIN(SELECTMin(ID)FROMTablesGROUPBYName) Min的话保...
上篇文章给大家介绍了 Java正则表达式匹配,替换,查找,切割的方法 ,接下来,...
项目中用到的一些特殊字符和图标 html代码 XML/HTML Code 复制内容到剪贴板 div ...
正则忽略大小写 – RegexOptions.IgnoreCase 例如: 复制代码 代码如下: Str = R...
复制代码 代码如下: % URL="http://news.163.com/special/00011K6L/rss_newstop....
本文实例讲述了Laravel框架源码解析之反射的使用。分享给大家供大家参考,具体如...