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】基礎運維任務[5分]
【題目1】基礎環境配置
根據表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
【題目2】鏡像掛載
將提供的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
【題目3】Yum源配置
在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
【題目4】時間同步配置
在controller節點上部署chrony服務器,允許其他節點同步時間,啟動服務并設定為開機啟動;在compute節點上指定controller節點為上游NTP服務器,重啟服務并設為開機啟動,完成后提交控制節點的用戶名、密碼和IP地址到答題框,
iaas-pre-host.sh ##跑完這個腳本就完成了
【題目5】計算節點磁區
在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來磁區
【任務2】OpenStack搭建任務[10分]
【題目1】基礎安裝
在控制節點和計算節點上分別安裝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號比賽會給的
【題目2】資料庫安裝
在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 "/"
【題目3】Keystone服務安裝
在controller節點上使用iaas-install-keystone.sh 腳本安裝Keystone服務,創建一個用戶完成后提交控制節點的用戶名、密碼和IP地址到答題框,
[root@controller ~]# iaas-install-keystone.sh
[root@controller ~]# openstack user create --domain demo --password 000000 chinaskill
【題目4】Glance安裝
在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
【題目5】Nova安裝
在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
【題目6】Neutron安裝
在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
【題目7】Doshboard安裝
在controller節點上使用iaas-install-dashboad.sh腳本安裝dashboad服務,完成后提交控制節點的用戶名、密碼和IP地址到答題框,
[root@controller ~]# iaas-install-dashboad.sh
【任務3】OpenStack運維任務[10分]
【題目1】heat模板管理
在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
【題目2】云主機管理
在openstack私有云平臺上,基于“cirros”鏡像、flavor使用“m1.flavor”、extnet的網路,創建一臺虛擬機VM1,啟動VM1,并使用PC機能遠程登錄到VM1,提交控制節點的用戶名、密碼和IP地址到答題框,
[root@controller ~]# openstack server create --image cirros --flavor m1.flavor --network extnet VM1
【題目3】虛擬機調整flavor
使用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
【題目4】swift后端存盤
[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
【題目5】RabbitMQ集群
使用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 ~]#
##具體做法在另外一個文章里面
【題目6】主從資料庫管理
使用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
##具體做法在另外一個文章里面
【題目7】資料庫讀寫分離
用上個案例安裝完成的主從資料庫作為基礎進行實驗,使用OpenStack平臺再創建一臺云主機作為mycat資料庫中間件,邏輯庫USERDB對應資料庫database為test(在部署主從資料庫時已創建);設定資料庫寫入節點為主節點mysql1;設定資料庫讀取節點為從節點mysql2,
[root@mycat ~]# mysql -h127.0.0.1 -P9066 -uroot -p000000 -e 'show @@datasource;'
【題目8】排錯題
有一個錯誤鏡像,然后排錯
【題目9】zun的運維
使用zun使用鏡像CentOS_6.5_x86_64_XD.qcow2上傳到創建一個容器,運行一個容器
【任務4】OpenStack運維開發任務[10分]
【題目1】使用python呼叫api
后期做一篇關于python呼叫api的文章
【題目2】Ansible腳本開發
后期做一篇關于ansible的文章c
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/275437.html
標籤:其他
