场景描述
一、目标任务
某企业拟搭建私有云平台,以实现资源池化弹性管理、企业应用集中管理、统一安全认证和授权等管理。试按照赛卷给出的云平台架构进行IaaS、PaaS、大数据系统部署及运维管理;根据企业给出的岗位数据信息进行相应的统计分析处理和微信小程序开发;编写相应的工程文档。
二、云平台架构说明
赛项所采用的云计算系统架构如图1所示,IP地址规划如表1所示。
图1 云计算系统架构图
......
表1 IP地址规划表
设备名称 接口 IP地址 说明
控制节点服务器 eth0 192.168.100.10/24 Vlan 100
eth1 192.168.200.10/24(初始IP) Vlan 200
计算节点服务器 eth0 192.168.100.20/24 Vlan 100
eth1 192.168.200.20/24(初始IP) Vlan 200
PC-1 本地连接 172.16.x.2/16 Vlan 1
PC-2 本地连接 172.16.x.3/16 Vlan 1
PC-3 本地连接 172.16.x.4/16 Vlan 1
交换机 Vlan 1 172.16.x.1/16
Vlan 100 192.168.100.1/24
Vlan 200 192.168.200.1/24
注:表中的x为考位号;根据图表给出的信息,检查硬件连线及网络设备配置,确保网络连接正常。考试所需要的资源包与附件均在考位信息表中给出。
第一部分:IaaS云计算基础架构平台(共15分)
任务:IaaS云平台搭建(15分)
修改云平台IaaS各节点的系统配置,按云平台搭建步骤逐步安装,并完成相应的答题。
1.操作系统环境配置(1分)
按以下要求设置主机名、防火墙及SELinux:
(1)设置控制节点主机名为controller,计算节点主机名为compute;
(2)关闭控制节点和计算节点的防火墙,设置开机不启动;
(3)设置控制节点和计算节点的SELinux为Permissive模式;
(4)退出SecureCRT,重新通过ssh连接各节点服务器;
使用命令查询控制节点和计算节点的主机名、防火墙是否处于关闭状态及SELinux的状态。以文本形式依次将命令行及查询信息提交到答题框。
参考答案
[root@controller ~]# hostname
controller
[root@compute ~]# hostname
compute
[root@controller ~]#systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:firewalld(1)
[root@controller ~]# getenforce
Permissive
2.上传镜像源并挂载(1分)
通过SecureFX上传两个镜像文件CentOS-7-x86_64-DVD-1511.iso和 XianDian-IaaS-v2.2.iso到控制节点的opt目录下;在opt目录下创建两个子目录centos和iaas,并将镜像文件对应挂载到上述两个目录下;使用df命令查看挂载的信息(需显示挂载的文件系统类型)。依次将操作命令及执行结果以文本形式提交到答题框。
参考答案
[root@controller ~]# mkdir /opt/{centos,iaas}
[root@controller ~]# mount -o loop CentOS-7-x86_64-DVD-1511.iso /opt/centos/
mount: /dev/loop0 is write-protected, mounting read-only
[root@controller ~]# mount -o loop XianDian-IaaS-v2.2.iso /opt/iaas/
mount: /dev/loop1 is write-protected, mounting read-only
[root@controller ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/vda1 xfs 50G 7.6G 43G 16% /
devtmpfs devtmpfs 984M 0 984M 0% /dev
tmpfs tmpfs 1001M 0 1001M 0% /dev/shm
tmpfs tmpfs 1001M 17M 985M 2% /run
tmpfs tmpfs 1001M 0 1001M 0% /sys/fs/cgroup
/dev/loop0 iso9660 4.1G 4.1G 0 100% /opt/centos
/dev/loop1 iso9660 2.7G 2.7G 0 100% /opt/iaas
3.配置本地以及远程yum源(1分)
配置控制节点本地yum源文件local.repo,搭建ftp服务并配置根目录为指向存放yum源的路径;配置计算节点yum源文件ftp.repo,使用控制节点ftp服务作为yum源,其中节点的地址以主机名表示;使用cat命令查看控制节点和计算节点的yum源全路径配置文件。依次将操作命令及返回结果以文本形式提交到答题框。
参考答案
[root@controller ~]# cat /etc/yum.repos.d/local.repo
[centos]
name=centos
baseurl=file:///opt/centos
enabled=1
gpgcheck=0
[iaas]
name=iaas
baseurl=file:///opt/iaas/iaas-repo
enabled=1
gpgcheck=0
[root@compute ~]# cat /etc/yum.repos.d/ftp.repo
[centos]
name=centos
baseurl=ftp://controller/centos
enabled=1
gpgcheck=0
[iaas]
name=iaas
baseurl=ftp://controller/iaas/iaas-repo
enabled=1
gpgcheck=0
4.环境变量配置(1分)
在控制节点和计算节点分别安装iaas-xiandian软件包,根据表2完成脚本文件openrc.sh的配置。以文本形式提交脚本文件的内容到答题框中。
表2 变量配置表
服务 变量 参数/密码
Mysql root 000000
Keystone 000000
Glance 000000
Nova 000000
Neutron 000000
Heat 000000
Trove 000000
Keystone DOMAIN_NAME demo
Admin 000000
Rabbit 000000
Glance 000000
Nova 000000
Neutron 000000
Heat 000000
Trove 000000
Neutron Metadata 000000
External Network enp8s0(以实际为准)
参考答案
[root@controller opt]# cat /etc/xiandian/openrc.sh
##--------------------system config--------------------##
##Controller Server Manager IP. example:x.x.x.x
HOST_IP=192.168.100.10
##Controller Server hostname. example:controller
HOST_NAME=controller
##Compute Node Manager IP. example:x.x.x.x
HOST_IP_NODE=192.168.100.20
##Compute Node hostname. example:compute
HOST_NAME_NODE=compute
##--------------------Rabbit config ------------------##
##user for rabbit. example:openstack
RABBIT_USER=openstack
##Password for rabbit user .example:000000
RABBIT_PASS=000000
##--------------------MySQL config---------------------##
##Password for MySQL root user . exmaple:000000
DB_PASS=000000
##--------------------Keystone config------------------##
##Password for Keystore admin user. exmaple:000000
DOMAIN_NAME=demo
ADMIN_PASS=000000
DEMO_PASS=000000
##Password for Mysql keystore user. exmaple:000000
KEYSTONE_DBPASS=000000
##--------------------Glance config--------------------##
##Password for Mysql glance user. exmaple:000000
GLANCE_DBPASS=000000
##Password for Keystore glance user. exmaple:000000
GLANCE_PASS=000000
##--------------------Nova config----------------------##
##Password for Mysql nova user. exmaple:000000
NOVA_DBPASS=000000
##Password for Keystore nova user. exmaple:000000
NOVA_PASS=000000
##--------------------Neturon config-------------------##
##Password for Mysql neutron user. exmaple:000000
NEUTRON_DBPASS=000000
##Password for Keystore neutron user. exmaple:000000
NEUTRON_PASS=000000
##metadata secret for neutron. exmaple:000000
METADATA_SECRET=000000
##External Network Interface. example:eth1
INTERFACE_NAME=enp8s0
##First Vlan ID in VLAN RANGE for VLAN Network. exmaple:101
minvlan=101
##Last Vlan ID in VLAN RANGE for VLAN Network. example:200
maxvlan=200
##--------------------Cinder config--------------------##
##Password for Mysql cinder user. exmaple:000000
CINDER_DBPASS=000000
##Password for Keystore cinder user. exmaple:000000
CINDER_PASS=000000
##Cinder Block Disk. example:md126p3
BLOCK_DISK=md126p4
##--------------------Swift config---------------------##
##Password for Keystore swift user. exmaple:000000
SWIFT_PASS=000000
##The NO1. NODE Object Disk for Swift. example:md126p4. The 2nd will be OBJECT_DISK_2
OBJECT_DISK=md126p5
##The NO1. NODE IP for Swift Storage Network. example:x.x.x.x. The 2nd will be STORAGE_LOCAL_NET_IP_2
STORAGE_LOCAL_NET_IP=192.168.100.20
##--------------------Heat config----------------------##
##Password for Mysql heat user. exmaple:000000
HEAT_DBPASS=000000
##Password for Keystore heat user. exmaple:000000
HEAT_PASS=000000
##--------------------Ceilometer config----------------##
##Password for Mysql ceilometer user. exmaple:000000
CEILOMETER_DBPASS=000000
##Password for Keystore ceilometer user. exmaple:000000
CEILOMETER_PASS=000000
##--------------------AODH config----------------##
##Password for Mysql AODH user. exmaple:000000
AODH_DBPASS=000000
##Password for Keystore AODH user. exmaple:000000
AODH_PASS=000000
5.数据库安装(2分)
使用脚本安装数据库服务,以root用户身份登录数据库,查询mysql数据库中所有表的信息。依次将操作命令和查询结果以文本形式提交到答题框。
参考答案
[root@cloud-controller ~]# mysql -uroot -p000000
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 59411
Server version: 5.1.73-log Source distribution
Copyright © 2000, 2013, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.
mysql> show databases;
±-------------------+
| Database |
±-------------------+
| information_schema |
| chinaskills |
| cinder |
| glance |
| heat |
| keystone |
| mymonitor |
| mysql |
| neutron |
| nova |
| sahara |
| trove |
| xd_databases |
±-------------------+
13 rows in set (0.00 sec)
mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> show tables;
±--------------------------+
| Tables_in_mysql |
±--------------------------+
| columns_priv |
| db |
| event |
| func |
| general_log |
| help_category |
| help_keyword |
| help_relation |
| help_topic |
| host |
| ndb_binlog_index |
| plugin |
| proc |
| procs_priv |
| servers |
| slow_log |
| tables_priv |
| time_zone |
| time_zone_leap_second |
| time_zone_name |
| time_zone_transition |
| time_zone_transition_type |
| user |
±--------------------------+
23 rows in set (0.00 sec)
mysql>
6.keystone安装(2分)
使用脚本安装keystone服务,使用相关命令,查询用户列表信息。依次将操作命令和查询结果以文本形式提交到答题框。
参考答案
[root@controller ~]# openstack user list
±---------------------------------±----------+
| ID | Name |
±---------------------------------±----------+
| 1005654b458045de9c4827dd06e41bc9 | swifter |
| 1504df2d3af54008bd3b611f97b5e4ee | heat |
| 2cc9de9bab8a4e26b91f4d4eef4dcb92 | dhl |
| 2f428380cec84af396001f78996e545a | sahara |
| 357c07bf08194d5f97ad89c09d8d9d5e | ahtest002 |
| 4a25e658283043b48e80705f6bbfd3b9 | glance |
| 4ce811d67f8a4feb95aefe12e7a544d0 | fch1 |
| 511620ec388d44ed864ed21e118b7d19 | alice |
| 55e208731b05443198ee6bf2880cf81a | lisi |
| 787cc792e18f4bef934d1ce35c78e716 | swift |
| 794e03c033794036abf28dd841e043d8 | ahtest001 |
| 79e00d053d6b4770bfbc4b3d8eef4d77 | wmmm |
| 85e89c5aa18042b5a77e0ed8ff157a39 | xxxx |
| 8a379b2a64be49e39e1ea06d293274f5 | sadassdds |
| 8d6dd61e03034493ba71a00095334a19 | trove |
| 945a1fc139854502879fdfa7b156e1c4 | nova |
| 989c97c1ce55492786daeafa63b6e472 | pppp111 |
| a0844c50060248a7ba62050757f00a33 | cinder |
| aa7061ff56194e21bae1637e8fc5b052 | 张三 |
| ac293d01bc474e9596bba219b154a2d3 | admin |
| b362b62a0cad480b907d0b540a9889c9 | 111 |
| b59902c82e0e4961977cd2100369db6c | 1112222 |
| b6766ea707c941bdb0645ac6784f0d7a | ddd |
| ce687bcf73814464ba126d3703daf0c7 | neutron |
| d778681b6378411baa2347218ef934ca | wwwww |
| d8d0bc20f92d46f791fb06e2d5b77470 | 1230 |
| d902bcb4e85f4e60915a67e1aac9a2f1 | 666 |
| e3f1f29cd5c0432d83a5ece5b7f856d0 | gw001 |
±---------------------------------±----------+
7.glance安装(2分)
使用脚本安装glance服务。使用glance相关命令上传两个镜像,一个名字为testone,一个名字叫testtwo,使用相同的镜像源CentOS_6.5_x86_64_XD.qcow2,然后使用openstack命令查看镜像列表,接着检查这两个镜像的checksum值是否相同。依次将操作命令和查询结果以文本形式提交到答题框。
参考答案
[[root@xiandian ~]# glance image-create --name “testone” --disk-format “qcow2” --container-format bare --progress < /root/CentOS_6.5_x86_64_XD.qcow2
[=============================>] 100%
±-----------------±-------------------------------------+
| Property | Value |
±-----------------±-------------------------------------+
| checksum | 3e565ace16066679ea363dde5411ed25 |
| container_format | bare |
| created_at | 2018-01-17T09:01:36Z |
| disk_format | qcow2 |
| id | 3bb63ae0-3129-442b-b19f-9f66298132aa |
| min_disk | 0 |
| min_ram | 0 |
| name | testone |
| owner | 0ab2dbde4f754b699e22461426cd0774 |
| protected | False |
| size | 283181056 |
| status | active |
| tags | [] |
| updated_at | 2018-01-17T09:01:38Z |
| virtual_size | None |
| visibility | private |
±-----------------±-------------------------------------+
[root@xiandian ~]# glance image-create --name “testtwo” --disk-format “qcow2” --container-format bare --progress < /root/CentOS_6.5_x86_64_XD.qcow2
[=============================>] 100%
±-----------------±-------------------------------------+
| Property | Value |
±-----------------±-------------------------------------+
| checksum | 3e565ace16066679ea363dde5411ed25 |
| container_format | bare |
| created_at | 2018-01-18T01:02:00Z |
| disk_format | qcow2 |
| id | 4f4ca979-6fec-425f-84f7-b29be66ca055 |
| min_disk | 0 |
| min_ram | 0 |
| name | testtwo |
| owner | 0ab2dbde4f754b699e22461426cd0774 |
| protected | False |
| size | 283181056 |
| status | active |
| tags | [] |
| updated_at | 2018-01-18T01:02:04Z |
| virtual_size | None |
| visibility | private |
±-----------------±-------------------------------------+
[root@xiandian ~]# openstack image list
±-------------------------------------±--------±-------+
| ID | Name | Status |
±-------------------------------------±--------±-------+
| 4f4ca979-6fec-425f-84f7-b29be66ca055 | testtwo | active |
| 3bb63ae0-3129-442b-b19f-9f66298132aa | testone | active |
±-------------------------------------±--------±-------+
8.nova安装(2分)
使用脚本安装nova服务,通过nova的相关命令创建云主机类型,名字exam,ID为1234,内存为1024,硬盘为20G,虚拟内核数量为2,依次将操作命令和查询结果以文本形式提交到答题框。
参考答案
[root@xiandian ~]# nova flavor-create exam 1234 1024 20 2
±-----±-----±----------±-----±----------±-----±------±------------±----------+
| ID | Name | Memory_MB | Disk | Ephemeral | Swap | VCPUs | RXTX_Factor | Is_Public |
±-----±-----±----------±-----±----------±-----±------±------------±----------+
| 1234 | exam | 1024 | 20 | 0 | | 2 | 1.0 | True |
±-----±-----±----------±-----±----------±-----±------±------------±----------+
[root@xiandian ~]# nova flavor-show 1234
±---------------------------±------+
| Property | Value |
±---------------------------±------+
| OS-FLV-DISABLED:disabled | False |
| OS-FLV-EXT-DATA:ephemeral | 0 |
| disk | 20 |
| extra_specs | {} |
| id | 1234 |
| name | exam |
| os-flavor-access:is_public | True |
| ram | 1024 |
| rxtx_factor | 1.0 |
| swap | |
| vcpus | 2 |
±---------------------------±------+
9.网络创建(2分)
使用脚本安装neutron服务,并配置为GRE网络:
(1)创建云主机外部网络为ext-net,子网为ext-subnet,虚拟机浮动IP网段为192.168.200.0/24,网关为192.168.200.1;
(2)创建云主机隧道网络int-net1,子网为int-subnet1,虚拟机子网IP网段为10.0.0.0/24,网关为10.0.0.1;
(3)创建云主机隧道网络int-net2,子网为int-subnet2,虚拟机子网IP网段为10.0.1.0/24,网关为10.0.1.1;
(4)添加名为ext-router的路由器,配置路由接口地址,完成隧道网络int-net1和外部网络ext-net的连通。
使用ovs-vswitchd管理工具的相关命令查询控制节点的网桥br-ex的端口列表信息,依次将操作命令和查询结果以文本形式提交到答题框。
参考答案
[root@controller ~]# ovs-vsctl list-ports br-ex
eno33554960、
phy-br-ex
10.dashboard配置(1分)
使用脚本安装dashboard服务,使用curl命令查询http://192.168.100.10/dashboard/auth/login/。依次将操作命令和查询结果以文本形式提交到答题框。
参考答案
[root@controller ~]# curl http://192.168.100.10/dashboard/auth/login/
Login - XianDian Dashboard
云计算基础架构服务平台
第二部分:PaaS服务平台(共5分)
任务:PaaS平台搭建(5分)
1.容器平台搭建(2分)
容器平台架构如图2所示。
图2 容器平台架构
根据图2给出的PaaS 平台架构,在 IaaS 平台的两台云主机上部署一个PaaS平台,其中Server 云主机上部署 Server 节点和Registry节点,Client 云主机上部署 Client 节点。每个云主机的配置要求分别为
(1)系统配置
Server/Registry节点:2vCPU,4GB内存,60GB硬盘;
Client节点:2vCPU,4GB内存,60GB硬盘;
(2)操作系统:centos 7;
(3)IP:Server和Client云主机IP动态分配;
(4)Server节点的主机名:Server;
(5)Client节点的主机名:Client。
根据系统配置要求,完成配置文件的自定义与修改,搭建PaaS平台。登录PaaS平台,通过curl命令查询Rancher管理平台首页(自己创建的环境,非default)。依次将各操作命令与返回结果以文本形式提交到答题框。