GZ075 云計(jì)算應(yīng)用賽項(xiàng)正式賽卷及評(píng)分標(biāo)準(zhǔn)完整版包括所有附件-2023年全國職業(yè)院校技能大賽賽項(xiàng)正式賽卷_第1頁
GZ075 云計(jì)算應(yīng)用賽項(xiàng)正式賽卷及評(píng)分標(biāo)準(zhǔn)完整版包括所有附件-2023年全國職業(yè)院校技能大賽賽項(xiàng)正式賽卷_第2頁
GZ075 云計(jì)算應(yīng)用賽項(xiàng)正式賽卷及評(píng)分標(biāo)準(zhǔn)完整版包括所有附件-2023年全國職業(yè)院校技能大賽賽項(xiàng)正式賽卷_第3頁
GZ075 云計(jì)算應(yīng)用賽項(xiàng)正式賽卷及評(píng)分標(biāo)準(zhǔn)完整版包括所有附件-2023年全國職業(yè)院校技能大賽賽項(xiàng)正式賽卷_第4頁
GZ075 云計(jì)算應(yīng)用賽項(xiàng)正式賽卷及評(píng)分標(biāo)準(zhǔn)完整版包括所有附件-2023年全國職業(yè)院校技能大賽賽項(xiàng)正式賽卷_第5頁
已閱讀5頁,還剩67頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

2023年全國職業(yè)院校技能大賽(高職組)“云計(jì)算應(yīng)用”賽項(xiàng)賽卷B【賽程名稱】第一場(chǎng):模塊一私有云、模塊二容器云項(xiàng)目需求:某企業(yè)根據(jù)自身業(yè)務(wù)需求,實(shí)施數(shù)字化轉(zhuǎn)型,規(guī)劃和建設(shè)數(shù)字化平臺(tái)建設(shè),平臺(tái)聚焦“DevOps建運(yùn)一體”和“數(shù)據(jù)驅(qū)動(dòng)產(chǎn)品開發(fā)”,擬采用開源OpenStack搭建企業(yè)內(nèi)部私有云平臺(tái),開源Kubernetes搭建云原生服務(wù)平臺(tái),選擇國內(nèi)主流公有云平臺(tái)服務(wù),基于數(shù)字化平臺(tái)底座,面向業(yè)務(wù)開發(fā)云應(yīng)用產(chǎn)品。擬將該任務(wù)交給工程師A與B,分工協(xié)助完成云平臺(tái)服務(wù)部署、云應(yīng)用開發(fā)、云系統(tǒng)運(yùn)維等任務(wù),系統(tǒng)架構(gòu)如下:系統(tǒng)架構(gòu)如圖1所示,IP地址規(guī)劃如表1所示。圖1系統(tǒng)架構(gòu)圖表1IP地址規(guī)劃設(shè)備名稱主機(jī)名接口IP地址說明192.168.x.0/24Vlanxeth0云服務(wù)器1Controllereth1eth0eth1eth0自定義自行創(chuàng)建192.168.x.0/24Vlanx云服務(wù)器2Compute自定義自行創(chuàng)建云服務(wù)器3...云服務(wù)器n自定義192.168.x.0/24用于實(shí)操題PC-1本地連接/24PC使用說明:1.競(jìng)賽使用集群模式進(jìn)行,比賽時(shí)給每個(gè)參賽隊(duì)提供獨(dú)立的租戶與用戶,各用戶的資源配額相同,選手通過用戶名與密碼登錄競(jìng)賽用私有云平臺(tái),創(chuàng)建云主機(jī)進(jìn)行相應(yīng)答題;同組2名選手的賬號(hào)密碼一樣。2.表中的x為賽位號(hào);在進(jìn)行OpenStack搭建時(shí)的第二塊網(wǎng)卡地址根據(jù)題意自行創(chuàng)建;3.根據(jù)圖表給出的信息,檢查硬件連線及網(wǎng)絡(luò)設(shè)備配置,確保網(wǎng)絡(luò)連接正常;4.考試所需要的賬號(hào)資源、競(jìng)賽資源包與附件均會(huì)在考位信息表與設(shè)備確認(rèn)單中給出;5.競(jìng)賽過程中,為確保服務(wù)器的安全,請(qǐng)自行修改服務(wù)器密碼;在考試系統(tǒng)提交信息時(shí),請(qǐng)確認(rèn)自己的IP地址,用戶名和密碼?!救蝿?wù)1】私有云服務(wù)搭建[5分]【適用平臺(tái)】私有云【題目1】1.1.1基礎(chǔ)環(huán)境配置[0.2分]1.控制節(jié)點(diǎn)主機(jī)名為controller,設(shè)置計(jì)算節(jié)點(diǎn)主機(jī)名為compute;2.hosts文件將IP地址映射為主機(jī)名。使用提供的用戶名密碼,登錄提供的OpenStack私有云平臺(tái),在當(dāng)前租戶下,使用CentOS7.9鏡像,創(chuàng)建兩臺(tái)云主機(jī),云主機(jī)類型使用4vCPU/12G/100G_50G類型。當(dāng)前租戶下默認(rèn)存在一張網(wǎng)卡,自行創(chuàng)建第二張網(wǎng)卡并連接至controller和compute節(jié)點(diǎn)(第二張網(wǎng)卡的網(wǎng)段為10.10.X.0/24,X為工位號(hào),不需要?jiǎng)?chuàng)建路由)。自行檢查安全組策略,以確保網(wǎng)絡(luò)正常通信與ssh連接,然后按以下要求配置服務(wù)器:(1)設(shè)置控制節(jié)點(diǎn)主機(jī)名為controller,設(shè)置計(jì)算節(jié)點(diǎn)主機(jī)名為compute;(2)修改hosts文件將IP地址映射為主機(jī)名;完成后提交控制節(jié)點(diǎn)的用戶名、密碼和IP地址到答題框。【題目2】1.1.2Yum源配置[0.2分]使用提供的http服務(wù)地址,分別設(shè)置controller節(jié)點(diǎn)和compute節(jié)點(diǎn)的yum源文件http.repo。使用提供的http服務(wù)地址,在http服務(wù)下,存在centos7.9和iaas的網(wǎng)絡(luò)yum源,使用該http源作為安裝iaas平臺(tái)的網(wǎng)絡(luò)源。分別設(shè)置controller節(jié)點(diǎn)和compute節(jié)點(diǎn)的

yum源文件http.repo。完成后提交控制節(jié)點(diǎn)的用戶名、密碼和IP地址到答題框。【題目3】1.1.3配置無秘鑰ssh[0.2分]配置controller節(jié)點(diǎn)可以無秘鑰訪問compute節(jié)點(diǎn)。配置controller節(jié)點(diǎn)可以無秘鑰訪問compute節(jié)點(diǎn),配置完成后,嘗試ssh連接compute節(jié)點(diǎn)的hostname進(jìn)行測(cè)試。完成后提交controller節(jié)點(diǎn)的用戶名、密碼和IP地址到答題框?!绢}目4】1.1.4基礎(chǔ)安裝[0.2分]在控制節(jié)點(diǎn)和計(jì)算節(jié)點(diǎn)上分別安裝openstack-iaas軟件包。在控制節(jié)點(diǎn)和計(jì)算節(jié)點(diǎn)上分別安裝openstack-iaas軟件包,根據(jù)表2配置兩個(gè)節(jié)點(diǎn)腳本文件中的基本變量(配置腳本文件為/etc/openstack/openrc.sh)。表2云平臺(tái)配置信息服務(wù)名稱變量參數(shù)/密碼rootKeystoneGlanceNova000000000000000000000000000000000000000000demoMysqlNeutronHeatZunDOMAIN_NAMEAdmin000000000000000000000000000000000000000000RabbitGlanceNovaKeystoneNeutronHeatZunMetadata000000NeutronExternalNetworketh1(以實(shí)際為準(zhǔn))完成后提交控制節(jié)點(diǎn)的用戶名、密碼和IP地址到答題框?!绢}目5】1.1.5數(shù)據(jù)庫安裝與調(diào)優(yōu)[0.5分]在控制節(jié)點(diǎn)上使用安裝Mariadb、RabbitMQ等服務(wù)。并進(jìn)行相關(guān)操作。在controller節(jié)點(diǎn)上使用iaas-install-mysql.sh腳本安裝Mariadb、Memcached、RabbitMQ等服務(wù)。安裝服務(wù)完畢后,修改/etc/f文件,完成下列要求:1.設(shè)置數(shù)據(jù)庫支持大小寫;2.設(shè)置數(shù)據(jù)庫緩存innodb表的索引,數(shù)據(jù),插入數(shù)據(jù)時(shí)的緩沖為4G;3.設(shè)置數(shù)據(jù)庫的logbuffer為64MB;4.設(shè)置數(shù)據(jù)庫的redolog大小為256MB;5.設(shè)置數(shù)據(jù)庫的redolog文件組為2。6.修改Memcached的相關(guān)配置,將內(nèi)存占用大小設(shè)置為512MB,調(diào)整最大連接數(shù)參數(shù)為2048;7.調(diào)整Memcached的數(shù)據(jù)摘要算法(hash)為md5;完成后提交控制節(jié)點(diǎn)的用戶名、密碼和IP地址到答題框?!绢}目6】1.1.6Keystone服務(wù)安裝與使用[0.5分]在控制節(jié)點(diǎn)上安裝Keystone服務(wù)并創(chuàng)建用戶。在controller節(jié)點(diǎn)上使用iaas-install-keystone.sh腳本安裝Keystone服務(wù)。然后創(chuàng)建OpenStack域210Demo,其中包含Engineering與Production項(xiàng)目,在域210Demo中創(chuàng)建組Devops,其中需包含以下用戶:1.Robert用戶是Engineering項(xiàng)目的用戶(member)與管理員(admin),email地址為:Robert@。2.George用戶是Engineering項(xiàng)目的用戶(member),email地址為:George@。3.William用戶是Production項(xiàng)目的用戶(member)與管理員(admin),email地址為:William@。4.John用戶是Production項(xiàng)目的用戶(member),email地址為:John@。完成后提交控制節(jié)點(diǎn)的用戶名、密碼和IP地址到答題框?!绢}目7】1.1.7Glance安裝與使用[0.5分]在控制節(jié)點(diǎn)上安裝Glance服務(wù)。上傳鏡像至平臺(tái),并設(shè)置鏡像啟動(dòng)的要求參數(shù)。在controller節(jié)點(diǎn)上使用iaas-install-glance.sh腳本安裝glance服務(wù)。然后使用提供的coreos_production_pxe.vmlinuz鏡像(該鏡像為IronicDeploy鏡像,是一個(gè)AWS內(nèi)核格式的鏡像,在OpenStackIronic裸金屬服務(wù)時(shí)需要用到)上傳到OpenStack平臺(tái)中,命名為deploy-vmlinuz。完成后提交控制節(jié)點(diǎn)的用戶名、密碼和IP地址到答題框?!绢}目8】1.1.8Nova安裝與優(yōu)化[0.5分]在控制節(jié)點(diǎn)和計(jì)算節(jié)點(diǎn)上分別安裝Nova服務(wù)。安裝完成后,完成Nova相關(guān)配置。在controller節(jié)點(diǎn)和compute節(jié)點(diǎn)上分別使用iaas-install-placement.sh腳本、iaas-install-nova-controller.sh腳本、iaas-install-nova-compute.sh腳本安裝Nova服務(wù)。在OpenStack中,修改相關(guān)配置文件,修改調(diào)度器規(guī)則采用緩存調(diào)度器,緩存主機(jī)信息,提升調(diào)度時(shí)間。配置完成后提交controller點(diǎn)的用戶名、密碼和IP地址到答題框?!绢}目9】1.1.9Neutron安裝[0.2分]在控制和計(jì)算節(jié)點(diǎn)上正確安裝Neutron服務(wù)。使用提供的腳本iaas-install-neutron-controller.sh和iaas-install-neutron-compute.sh,在controller和compute節(jié)點(diǎn)上安裝neutron服務(wù)。完成后提交控制節(jié)點(diǎn)的用戶名、密碼和IP地址到答題框?!绢}目10】1.1.10Dashboard安裝[0.5分]在控制節(jié)點(diǎn)上安裝Dashboard服務(wù)。安裝完成后,將Dashboard中的Django數(shù)據(jù)修改為存儲(chǔ)在文件中。

在controller節(jié)點(diǎn)上使用iaas-install-dashboad.sh腳本安裝Dashboard服務(wù)。安裝完成后,修改相關(guān)配置文件,完成下列兩個(gè)操作:1.使得登錄Dashboard平臺(tái)的時(shí)候不需要輸入域名;2.將Dashboard中的Django數(shù)據(jù)修改為存儲(chǔ)在文件中。完成后提交控制節(jié)點(diǎn)的用戶名、密碼和IP地址到答題框?!绢}目11】1.1.11Swift安裝[0.5分]在控制節(jié)點(diǎn)和計(jì)算節(jié)點(diǎn)上分別安裝Swift服務(wù)。安裝完成后,將cirros鏡像進(jìn)行分片存儲(chǔ)。在控制節(jié)點(diǎn)和計(jì)算節(jié)點(diǎn)上分別使用iaas-install-swift-controller.sh和iaas-install-swift-compute.sh腳本安裝Swift服務(wù)。安裝完成后,使用命令創(chuàng)建一個(gè)名叫examcontainer的容器,將cirros-0.3.4-x86_64-disk.img鏡像上傳到examcontainer容器中,并設(shè)置分段存放,每一段大小為10M。完成后提交控制節(jié)點(diǎn)的用戶名、密碼和IP地址到答題框。【題目12】1.1.12Cinder創(chuàng)建硬盤[0.5分]在控制節(jié)點(diǎn)和計(jì)算節(jié)點(diǎn)分別安裝Cinder服務(wù),請(qǐng)?jiān)谟?jì)算節(jié)點(diǎn),對(duì)塊存儲(chǔ)進(jìn)行擴(kuò)容操作。在控制節(jié)點(diǎn)和計(jì)算節(jié)點(diǎn)分別使用iaas-install-cinder-controller.sh、iaas-install-cinder-compute.sh腳本安裝Cinder服務(wù),請(qǐng)?jiān)谟?jì)算節(jié)點(diǎn),對(duì)塊存儲(chǔ)進(jìn)行擴(kuò)容操作,即在計(jì)算節(jié)點(diǎn)再分出一個(gè)5G的分區(qū),加入到cinder塊存儲(chǔ)的后端存儲(chǔ)中去。完成后提交計(jì)算節(jié)點(diǎn)的用戶名、密碼和IP地址到答題框?!绢}目13】1.1.13配置主機(jī)禁ping[0.5分]修改controller節(jié)點(diǎn)的相關(guān)配置文件,配置controller節(jié)點(diǎn)禁止其他節(jié)點(diǎn)可以ping它。配置完之后。完成后提交controller節(jié)點(diǎn)的用戶名、密碼和IP地址到答題框。

【任務(wù)2】私有云服務(wù)運(yùn)維[15分]【適用平臺(tái)】私有云任務(wù)2私有云服務(wù)運(yùn)維[15分]【題目1】1.2.1Heat編排-創(chuàng)建用戶[1分]編寫Heat模板create_user.yaml,創(chuàng)建名為heat-user的用戶。使用自己搭建的OpenStack私有云平臺(tái),使用heat編寫摸板(heat_template_version:2016-04-08)創(chuàng)建名為”chinaskills”的domain,在此domain下創(chuàng)建名為beijing_group的租戶,在此租戶下創(chuàng)建名為cloud的用戶,將此文件命名及保存在/root/user_create.yml,完成后提交controller點(diǎn)的用戶名、密碼和IP地址到答題框。(競(jìng)賽系統(tǒng)會(huì)執(zhí)行yaml文件,請(qǐng)確保執(zhí)行的環(huán)境)【題目2】1.2.2KVM優(yōu)化[1分]在OpenStack平臺(tái)上修改相關(guān)配置文件,啟用-devicevirtio-net-pciinkvm。在自行搭建的OpenStack私有云平臺(tái)或賽項(xiàng)提供的all-in-one平臺(tái)上,修改相關(guān)配置文件,啟用-devicevirtio-net-pciinkvm,配置完成后提交控制節(jié)點(diǎn)的用戶名、密碼和IP地址到答題框。【題目3】1.2.3NFS對(duì)接Glance后端存儲(chǔ)[1分]使用OpenStack私有云平臺(tái),創(chuàng)建一臺(tái)云主機(jī),安裝NFS服務(wù),然后對(duì)接Glance后端存儲(chǔ)。使用賽項(xiàng)提供的OpenStack私有云平臺(tái),創(chuàng)建一臺(tái)云主機(jī)(鏡像使用CentOS7.9,flavor使用帶臨時(shí)磁盤50G的),配置該主機(jī)為nfs的server端,將該云主機(jī)中的50G磁盤通過/mnt/test目錄進(jìn)行共享(目錄不存在可自行創(chuàng)建)。然后配置controller節(jié)點(diǎn)為nfs的client端,要求將/mnt/test目錄作為glance后端存儲(chǔ)的掛載目錄。配置完成后提交controller控制節(jié)點(diǎn)的用戶名、密碼和IP地址到答題框。

【題目4】1.2.4Redis主從[1分]使用賽項(xiàng)提供的OpenStack私有云平臺(tái),創(chuàng)建兩臺(tái)云主機(jī),配置為redis的主從架構(gòu)。使用賽項(xiàng)提供的OpenStack私有云平臺(tái),申請(qǐng)兩臺(tái)CentOS7.9系統(tǒng)的云主機(jī),使用提供的http源,在兩個(gè)節(jié)點(diǎn)安裝redis服務(wù)并啟動(dòng),配置redis的訪問需要密碼,密碼設(shè)置為123456。然后將這兩個(gè)redis節(jié)點(diǎn)配置為redis的主從架構(gòu)。配置完成后提交redis主節(jié)點(diǎn)的用戶名、密碼和IP地址到答題框?!绢}目5】1.2.5Linux系統(tǒng)調(diào)優(yōu)-臟數(shù)據(jù)回寫[1分]修改系統(tǒng)配置文件,要求將回寫磁盤的時(shí)間臨時(shí)調(diào)整為60秒。Linux系統(tǒng)內(nèi)存中會(huì)存在臟數(shù)據(jù),一般系統(tǒng)默認(rèn)臟數(shù)據(jù)30秒后會(huì)回寫磁盤,修改系統(tǒng)配置文件,要求將回寫磁盤的時(shí)間臨時(shí)調(diào)整為60秒。完成后提交controller節(jié)點(diǎn)的用戶名、密碼和IP地址到答題框?!绢}目6】1.2.6Glance調(diào)優(yōu)[1分]在OpenStack平臺(tái)中,修改相關(guān)配置文件,將子進(jìn)程數(shù)量相應(yīng)的配置修改成2。在OpenStack平臺(tái)中,glance-api處理請(qǐng)求的子進(jìn)程數(shù)量默認(rèn)是0,只有一個(gè)主進(jìn)程,請(qǐng)修改相關(guān)配置文件,將子進(jìn)程數(shù)量相應(yīng)的配置修改成2,這樣的話有一個(gè)主進(jìn)程加2個(gè)子進(jìn)程來并發(fā)處理請(qǐng)求。完成后提交控制節(jié)點(diǎn)的用戶名、密碼和IP地址到答題框。【題目7】1.2.7Ceph部署[1分]使用提供的ceph.tar.gz軟件包,安裝ceph服務(wù)并完成初始化操作。使用提供的ceph-14.2.22.tar.gz軟件包,在OpenStack平臺(tái)上創(chuàng)建三臺(tái)CentOS7.9系統(tǒng)的云主機(jī),使用這三個(gè)節(jié)點(diǎn)安裝ceph服務(wù)并完成初始化操作,第一個(gè)節(jié)點(diǎn)為mon/osd節(jié)點(diǎn),第二、三個(gè)節(jié)點(diǎn)為osd節(jié)點(diǎn),部署完ceph后,創(chuàng)建vms、images、volumes三個(gè)pool。完成后提交第一個(gè)節(jié)點(diǎn)的用戶名、密碼和IP地址到答題框。

【題目8】1.2.8Glance對(duì)接Ceph存儲(chǔ)[1分]修改OpenStack平臺(tái)中Glance服務(wù)的配置文件,將Glance后端存儲(chǔ)改為Ceph存儲(chǔ)。在自己搭建的OpenStack平臺(tái)中修改glance服務(wù)的相關(guān)配置文件,將glance后端存儲(chǔ)改為ceph存儲(chǔ)。也就是所以的鏡像會(huì)上傳至ceph的imagespool中。通過命令使用cirros-0.3.4-x86_64-disk.img鏡像文件上傳至云平臺(tái)中,鏡像命名為cirros。完成后提交controller節(jié)點(diǎn)的用戶名、密碼和IP地址到答題框?!绢}目9】1.2.9Cinder對(duì)接Ceph存儲(chǔ)[1分]修改OpenStack平臺(tái)中cinder服務(wù)的配置文件,將cinder后端存儲(chǔ)改為Ceph存儲(chǔ)。修改OpenStack平臺(tái)中cinder服務(wù)的相關(guān)配置文件,將cinder后端存儲(chǔ)改為ceph存儲(chǔ)。使創(chuàng)建的cinder塊存儲(chǔ)卷在ceph的volumespool中。配置完成后,在OpenStack平臺(tái)中使用創(chuàng)建卷cinder-volume1,大小為1G。完成后提交controller節(jié)點(diǎn)的用戶名、密碼和IP地址到答題框。【題目10】1.2.10Nova對(duì)接Ceph存儲(chǔ)[1分]修改OpenStack平臺(tái)中Nova服務(wù)的配置文件,將Nova后端存儲(chǔ)改為Ceph存儲(chǔ)。修改OpenStack平臺(tái)中nova服務(wù)的相關(guān)配置文件,將nova后端存儲(chǔ)改為ceph存儲(chǔ)。使nova所創(chuàng)建的虛擬機(jī)都存儲(chǔ)在ceph的vmspool中。配置完成后在OpenStack平臺(tái)中使用命令創(chuàng)建云主機(jī)server1。完成后提交controller節(jié)點(diǎn)的用戶名、密碼和IP地址到答題框?!绢}目11】1.2.11私有云平臺(tái)優(yōu)化:系統(tǒng)網(wǎng)絡(luò)優(yōu)化[1分]使用自行創(chuàng)建的OpenStack云計(jì)算平臺(tái),配置控制節(jié)點(diǎn)的網(wǎng)絡(luò)緩存,使得每個(gè)UDP連接(發(fā)送、接受)保證能有最小358KiB最大460KiB的buffer,重啟后仍然生效。配置完成后提交controller控制節(jié)點(diǎn)的用戶名、密碼和IP地址到答題框。

【題目12】1.2.12私有云平臺(tái)排錯(cuò):Neutron網(wǎng)絡(luò)組件排錯(cuò)[2分]使用賽項(xiàng)提供的chinaskill-error01鏡像創(chuàng)建一臺(tái)云主機(jī)(云主機(jī)的登錄用戶名為root,密碼為Abc@1234),該云主機(jī)中存在錯(cuò)誤的網(wǎng)絡(luò)服務(wù),錯(cuò)誤現(xiàn)象為dashboard不能查看網(wǎng)絡(luò)相關(guān)的頁面,請(qǐng)修復(fù)neutron服務(wù)。修復(fù)完成后提交該云主機(jī)的用戶名、密碼和IP地址到答題框?!绢}目13】1.2.13私有云平臺(tái)排錯(cuò):Cinder卷組件報(bào)錯(cuò)[2分]使用賽項(xiàng)提供的chinaskill-error01鏡像創(chuàng)建一臺(tái)云主機(jī)(云主機(jī)的登錄用戶名為root,密碼為Abc@1234),該云主機(jī)中存在錯(cuò)誤的卷服務(wù),錯(cuò)誤現(xiàn)象為無法正常使用cinder命令,請(qǐng)修復(fù)卷服務(wù),然后使用命令創(chuàng)建名為chinaskill-cinder的卷,大小為2G。修復(fù)完成后提交該云主機(jī)的用戶名、密碼和IP地址到答題框。【任務(wù)3】私有云運(yùn)維開發(fā)[10分]【適用平臺(tái)】私有云【題目1】1.3.1編寫Shell一鍵部署腳本[1.0分]編寫一鍵部署nfs云網(wǎng)盤應(yīng)用系統(tǒng)。在OpenStack私有云平臺(tái),創(chuàng)建一臺(tái)云主機(jī),使用提供的軟件包,在root目錄下編寫一鍵部署腳本install_owncloud.sh,要求可以一鍵部署owncloud云網(wǎng)盤應(yīng)用系統(tǒng)。完成后提交節(jié)點(diǎn)的IP地址、用戶名和密碼到答題框?!绢}目2】1.3.2Ansible服務(wù)部署:部署ELK集群服務(wù)[2分]編寫Playbook,部署的ELK。使用賽項(xiàng)提供的OpenStack私有云平臺(tái),創(chuàng)建三臺(tái)CentOS7.9系統(tǒng)的云主機(jī)分別命名為elk-1、elk-2和elk-3,Ansible主機(jī)可以使用上一題的環(huán)境。要求Ansible節(jié)點(diǎn)編寫劇本,執(zhí)行Ansible劇本可以在這三個(gè)節(jié)點(diǎn)部署ELK集群服務(wù)(在/root目錄下創(chuàng)建install_elk目錄作為ansible工作目錄,部署的入口文件命名為install_elk.yaml)。

具體要求為三個(gè)節(jié)點(diǎn)均安裝Elasticserach服務(wù)并配置為Elasticserach集群;kibana安裝在第一個(gè)節(jié)點(diǎn);Logstash安裝在第二個(gè)節(jié)點(diǎn)。(需要用到的軟件包在HTTP服務(wù)下)完成后提交ansible節(jié)點(diǎn)的用戶名、密碼和IP地址到答題框。(考試系統(tǒng)會(huì)連接到ansible節(jié)點(diǎn),執(zhí)行ansible腳本,準(zhǔn)備好環(huán)境,以便考試系統(tǒng)訪問)【題目3】1.3.3Ansible部署Kafka服務(wù)[2.0分]編寫Playbook,部署的ZooKeeper和Kafka。使用提供的OpenStack私有云平臺(tái),創(chuàng)建4臺(tái)系統(tǒng)為centos7.5的云主機(jī),其中一臺(tái)作為Ansible的母機(jī)并命名為ansible,另外三臺(tái)云主機(jī)命名為node1、node2、node3,通過附件中的/ansible/ansible.tar.gz軟件包在ansible節(jié)點(diǎn)安裝Ansible服務(wù);使用這一臺(tái)母機(jī),編寫Ansible腳本(在/root目錄下創(chuàng)建example目錄作為Ansible工作目錄,部署的入口文件命名為cscc_install.yaml),編寫Ansible腳本使用roles的方式對(duì)其他三臺(tái)云主機(jī)進(jìn)行安裝kafka集群的操作(zookeeper和kafka的安裝壓縮包在gpmall-single.tar.gz壓縮包中,將zookeeper和kafka的壓縮包解壓到node節(jié)點(diǎn)的/opt目錄下進(jìn)行安裝)。完成后提交ansible節(jié)點(diǎn)的用戶名、密碼和IP地址到答題框。(考試系統(tǒng)會(huì)連接到你的ansible節(jié)點(diǎn),去執(zhí)行ansible腳本,請(qǐng)準(zhǔn)備好環(huán)境,以便考試系統(tǒng)訪問)【題目4】1.3.4OpenStack資源管理的客戶端程序開發(fā)[2分]使用已建好的OpenStackPython運(yùn)維開發(fā)環(huán)境,在root目錄下創(chuàng)建resource_manager.py腳本,基于OpenStack資源配額管理服務(wù)封裝客戶端工具,resource_manager.py程序支持命令行帶參數(shù)執(zhí)行,命令參數(shù)要求說明如下:(1)位置參數(shù)“command”,表示操作類型。操作類型包括“l(fā)ist”:標(biāo)識(shí)查看所有的對(duì)象;“get”:查詢指定的對(duì)象。(2)位置參數(shù)“resource”,表示資源信息類型:類型包括“provider”:資源提供者;“inventory”:資源庫存;“usage”:資源使用情況。(3)參數(shù)“-p或--provider”,標(biāo)識(shí)資源提供者的名稱。功能要求如下:

(1)程序查詢所有資源提供者,以json格式控制臺(tái)輸出。執(zhí)行實(shí)例如下:python3resource_manager.pylistprovider(2)查詢指定資源提供者的資源信息,以json格式控制臺(tái)輸出。執(zhí)行實(shí)例如下:python3resource_manager.pygetprovider-p“providername”(3)查詢指定資源提供者的資源庫存信息,以json格式控制臺(tái)輸出。執(zhí)行實(shí)例如下:python3resource_manager.pygetinventory-p“providername”(4)查詢指定資源提供者的資源使用信息,以json格式控制臺(tái)輸出。執(zhí)行實(shí)例如下:python3resource_manager.pygetusage-p“providername”【題目5】1.3.5OpenStack數(shù)據(jù)庫操作開發(fā)[3分]使用已建好的OpenStackPython運(yùn)維開發(fā)環(huán)境,在/root目錄下創(chuàng)建mysql_db_manager.py腳本,基于python的sqlalchemy庫進(jìn)行數(shù)據(jù)庫的管理,實(shí)現(xiàn)對(duì)OpenStack內(nèi)指定服務(wù)的MariaDB數(shù)據(jù)庫管理功能,實(shí)現(xiàn)該數(shù)據(jù)庫下表創(chuàng)建、刪除、數(shù)據(jù)插入、更新等操作(為確保檢測(cè)成功,OpenStackMariaDB數(shù)據(jù)庫的賬戶root、密碼000000不要修改):該表(table)用于描述OpenStack成員信息,表結(jié)構(gòu)如下:表名稱"member",該表有4個(gè)字段:idINTEGER主鍵,自動(dòng)遞增;nameVARCHAR(256);levelINTEGER;placevarchar(256);(1)mysql_db_manager內(nèi)部實(shí)現(xiàn)DM_Manager類,類初始化方法def__init__(self,db_name),參數(shù)db_name是OpenStack內(nèi)部指定的某一服務(wù)數(shù)據(jù)庫名稱。(2)DM_Manager類實(shí)現(xiàn)create_table(self)方法。實(shí)現(xiàn)創(chuàng)建表功能,表指member表。(3)DM_Manager類實(shí)現(xiàn)insert_table_data(self,**kwargs)方法。實(shí)現(xiàn)表中表數(shù)據(jù)插入功能,參數(shù)kwargs參數(shù)為要插入數(shù)據(jù)記錄信息,key與表字段名稱一致。(4)DM_Manager類實(shí)現(xiàn)update_table_data(self,**kwargs)方法。實(shí)現(xiàn)表中數(shù)據(jù)記

錄更新功能,參數(shù)kwargs參數(shù)為要更新數(shù)據(jù)記錄信息,key與表字段名稱一致。(5)DM_Manager類實(shí)現(xiàn)run_table_raw_sql(self,raw_sql:str):方法,無參數(shù)。實(shí)現(xiàn)表中直接執(zhí)行sql語句功能,raw_sql參數(shù)為sql語句。(6)DM_Manager類實(shí)現(xiàn)delete_table(self)方法。實(shí)現(xiàn)刪除表功能,表指member表?!救蝿?wù)4】容器云服務(wù)搭建[5分]【適用平臺(tái)】私有云【題目1】2.1.1部署容器云平臺(tái)[5分]使用OpenStack私有云平臺(tái)創(chuàng)建兩臺(tái)云主機(jī),云主機(jī)類型使用4vCPU/12G/100G類型,分別作為Kubernetes集群的Master節(jié)點(diǎn)和node節(jié)點(diǎn),然后完成Kubernetes集群的部署,并完成Istio服務(wù)網(wǎng)格、KubeVirt虛擬化和Harbor鏡像倉庫的部署。完成后提交Master節(jié)點(diǎn)的用戶名、密碼和IP到答題框?!救蝿?wù)5】容器云服務(wù)運(yùn)維[15分]【適用平臺(tái)】私有云【題目1】2.2.1容器化部署MariaDB[0.5分]編寫Dockerfile文件構(gòu)建mysql鏡像,要求基于centos完成MariaDB數(shù)據(jù)庫的安裝和配置,并設(shè)置服務(wù)開機(jī)自啟。編寫Dockerfile構(gòu)建鏡像erp-mysql:v1.0,要求使用centos7.9.2009鏡像作為基礎(chǔ)鏡像,完成MariaDB數(shù)據(jù)庫的安裝,設(shè)置root用戶的密碼為tshoperp,新建數(shù)據(jù)庫jsh_erp并導(dǎo)入數(shù)據(jù)庫文件jsh_erp.sql,并設(shè)置MariaDB數(shù)據(jù)庫開機(jī)自啟。完成后提交Master節(jié)點(diǎn)的IP地址、用戶名和密碼到答題框。(需要用到的軟件包:ERP.tar.gz)

【題目2】2.2.2容器化部署Redis[0.5分]編寫Dockerfile文件構(gòu)建redis鏡像,要求基于centos完成Redis服務(wù)的安裝和配置,并設(shè)置服務(wù)開機(jī)自啟。編寫Dockerfile構(gòu)建鏡像erp-redis:v1.0,要求使用centos7.9.2009鏡像作為基礎(chǔ)鏡像,完成Redis服務(wù)的安裝,修改其配置文件關(guān)閉保護(hù)模式,并設(shè)置Redis服務(wù)開機(jī)自啟。完成后提交Master節(jié)點(diǎn)的IP地址、用戶名和密碼到答題框。(需要用到的軟件包:ERP.tar.gz)【題目3】2.2.3容器化部署Nginx[0.5分]編寫Dockerfile文件構(gòu)建nginx鏡像,要求基于centos完成Nginx服務(wù)的安裝和配置,并設(shè)置服務(wù)開機(jī)自啟。編寫Dockerfile構(gòu)建鏡像erp-nginx:v1.0,要求使用centos7.9.2009鏡像作為基礎(chǔ)鏡像,完成Nginx服務(wù)的安裝,使用提供的app.tar.gz和nginx.conf啟動(dòng)Nginx服務(wù),并設(shè)置開機(jī)自啟。完成后提交Master節(jié)點(diǎn)的IP地址、用戶名和密碼到答題框。(需要用到的軟件包:ERP.tar.gz)【題目4】2.2.4容器化部署ERP[0.5分]編寫Dockerfile文件構(gòu)建erp鏡像,要求基于centos完成JDK環(huán)境和ERP服務(wù)的安裝與配置,并設(shè)置服務(wù)開機(jī)自啟。編寫Dockerfile構(gòu)建鏡像erp-server:v1.0,要求使用centos7.9.2009鏡像作為基礎(chǔ)鏡像,完成JDK環(huán)境的安裝,啟動(dòng)提供的jar包,并設(shè)置服務(wù)開機(jī)自啟。完成后提交Master節(jié)點(diǎn)的IP地址、用戶名和密碼到答題框。(需要用到的軟件包:ERP.tar.gz)

【題目5】2.2.5編排部署ERP管理系統(tǒng)[1分]編寫docker-compose.yaml文件,要求使用鏡像mysql、redis、nginx和erp完成ERP管理系統(tǒng)的編排部署。編寫docker-compose.yaml完成ERP管理系統(tǒng)的部署,要求定義mysql、redis、nginx和erp共四個(gè)Service,分別使用鏡像erp-redis:v1.0、erp-mysql:v1.0、erp-nginx:v1.0和erp-server:v1.0,并將nginx服務(wù)的80端口映射到宿主機(jī)的8888端口。完成后提交Master節(jié)點(diǎn)的IP地址、用戶名和密碼到答題框。(需要用到的軟件包:ERP.tar.gz)【題目6】2.2.6部署GitLab[1分]將GitLab部署到Kubernetes集群中,設(shè)置GitLab服務(wù)root用戶的密碼,使用Service暴露服務(wù),并將提供的項(xiàng)目包導(dǎo)入到GitLab中。在Kubernetes集群中新建命名空間gitlab-ci,將GitLab部署到該命名空間下,Deployment和Service名稱均為gitlab,以NodePort方式將80端口對(duì)外暴露為30880,設(shè)置GitLab服務(wù)root用戶的密碼為admin@123,將項(xiàng)目包demo-2048.tar.gz導(dǎo)入到GitLab中并命名為demo-2048。完成后提交Master節(jié)點(diǎn)的用戶名、密碼和IP地址到答題框。(需要用到的軟件包:CICD-Runner.tar.gz)【題目7】2.2.7部署GitLabRunner[1分]將GitLabRunner部署到Kubernetes集群中,為GitLabRunner創(chuàng)建持久化構(gòu)建緩存目錄以加速構(gòu)建速度,并將其注冊(cè)到GitLab中。將GitLabRunner部署到gitlab-ci命名空間下,Release名稱為gitlab-runner,為GitLabRunner創(chuàng)建持久化構(gòu)建緩存目錄/home/gitlab-runner/ci-build-cache以加速構(gòu)建速度,并將其注冊(cè)到GitLab中。完成后提交Master節(jié)點(diǎn)的用戶名、密碼和IP地址到答題框。(需要用到的軟件包:CICD-Runner.tar.gz)

【題目8】2.2.8部署GitLabAgent[1分]將Kubernetes集群添加到GitLab項(xiàng)目中指定名稱和命名空間。將Kubernetes集群添加到demo-2048項(xiàng)目中,并命名為kubernetes-agent,項(xiàng)目命名空間選擇gitlab-ci。完成后提交Master節(jié)點(diǎn)的用戶名、密碼和IP地址到答題框。(需要用到的軟件包:CICD-Runner.tar.gz)【題目9】2.2.9構(gòu)建CI/CD[2分]編寫流水線腳本觸發(fā)自動(dòng)構(gòu)建,要求基于GitLab項(xiàng)目完成代碼的編譯、鏡像的構(gòu)建與推送,并自動(dòng)發(fā)布應(yīng)用到Kubernetes集群中。編寫流水線腳本.gitlab-ci.yml觸發(fā)自動(dòng)構(gòu)建,具體要求如下:(1)基于鏡像maven:3.6-jdk-8構(gòu)建項(xiàng)目的drone分支;(2)構(gòu)建鏡像的名稱:demo:latest;(3)將鏡像推送到Harbor倉庫demo項(xiàng)目中;(4)將demo-2048應(yīng)用自動(dòng)發(fā)布到Kubernetes集群gitlab-ci命名空間下。完成后提交Master節(jié)點(diǎn)的用戶名、密碼和IP地址到答題框。(需要用到的軟件包:CICD-Runner.tar.gz)【題目10】2.2.10服務(wù)網(wǎng)格:創(chuàng)建VirtualService[1分]將Bookinfo應(yīng)用部署到default命名空間下,為Bookinfo應(yīng)用創(chuàng)建一個(gè)名為reviews的VirtualService,要求來自名為Jason的用戶的所有流量將被路由到reviews服務(wù)的v2版本。完成后提交Master節(jié)點(diǎn)的IP地址、用戶名和密碼到答題框。(需要用到的軟件包:ServiceMesh.tar.gz)

【題目11】2.2.11KubeVirt運(yùn)維:創(chuàng)建VMI[1分]使用提供的鏡像在default命名空間下創(chuàng)建一臺(tái)VMI,名稱為exam,指定VMI的內(nèi)存、CPU、網(wǎng)卡和磁盤等配置,并開啟Sidecar注入。將提供的鏡像cirros-0.5.2-x86_64-disk.img轉(zhuǎn)換為docker鏡像cirros:v1.0,然后使用鏡像cirros:v1.0鏡像在default命名空間下創(chuàng)建一臺(tái)vmi,名稱為vmi-cirros,內(nèi)存為1024M。完成后提交Master節(jié)點(diǎn)的IP地址、用戶名和密碼到答題框?!绢}目12】2.2.12容器云平臺(tái)優(yōu)化:使用審計(jì)日志[2分]啟用審計(jì)日志可以幫助集群管理員快速的定位問題。請(qǐng)啟用Kubernetes集群的審計(jì)日志,要求以JSON格式保存審計(jì)日志并輸出到/etc/kubernetes/audit-logs/audit.log文件中,日志最多保留10天,單個(gè)日志文件不超過500M。然后編寫審計(jì)策略文件/etc/kubernetes/audit-policy/policy.yaml,要求在日志中用RequestResponse級(jí)別記錄Pod變化,并記錄kube-system中ConfigMap變更的請(qǐng)求消息體。完成后提交master節(jié)點(diǎn)的用戶名、密碼和IP地址到答題框?!绢}目13】2.2.13容器云平臺(tái)排錯(cuò):容器引擎報(bào)錯(cuò)[1.5分]使用賽項(xiàng)提供的chinaskill-k8s-error01鏡像創(chuàng)建一臺(tái)云主機(jī)(云主機(jī)的登錄用戶名為root,密碼為Abc@1234),該云主機(jī)中存在錯(cuò)誤的容器服務(wù),錯(cuò)誤現(xiàn)象為無法正常使用crictlps-l命令,請(qǐng)修復(fù)容器服務(wù)。修復(fù)完成后提交該云主機(jī)的用戶名、密碼和IP地址到答題框?!绢}目14】2.2.14容器云平臺(tái)排錯(cuò):DNS服務(wù)報(bào)錯(cuò)[1.5分]使用賽項(xiàng)提供的chinaskill-k8s-error01鏡像創(chuàng)建一臺(tái)云主機(jī)(云主機(jī)的登錄用戶名為root,密碼為Abc@1234),該云主機(jī)中存在錯(cuò)誤的DNS服務(wù),錯(cuò)誤現(xiàn)象為coredns一直處于CrashLoopBackOff狀態(tài),請(qǐng)修復(fù)CoreDNS服務(wù),并將并發(fā)上限更改為5000。修復(fù)完成后提交該云主機(jī)的用戶名、密碼和IP地址到答題框。

【任務(wù)6】容器云運(yùn)維開發(fā)[10分]【適用平臺(tái)】私有云【題目1】2.3.1管理service資源[2分]KubernetesPython運(yùn)維腳本開發(fā),使用RestfulAPIs方式管理service服務(wù)。使用已經(jīng)部署完成的Kubernetes兩節(jié)點(diǎn)云平臺(tái),在Master節(jié)點(diǎn)安裝Python3.7.3的運(yùn)行環(huán)境與依賴庫。使用pythonrequest庫和KubernetesRestfulAPIs,在/root目錄下,創(chuàng)建api_manager_service.py文件,要求編寫python代碼,代碼實(shí)現(xiàn)以下任務(wù):(1)首先查詢查詢服務(wù)service,如果service名稱“nginx-svc”已經(jīng)存在,先刪除。(2)如果不存在“nginx-svc”,則使用service.yaml文件創(chuàng)建服務(wù)。(3)創(chuàng)建完成后,查詢?cè)摲?wù)的信息,查詢的body部分以json格式的文件輸出到當(dāng)前目錄下的service_api_dev.json文件中。(4)然后使用service_update.yaml更新服務(wù)端口。(5)完成更新后,查詢?cè)摲?wù)的信息,信息通過控制臺(tái)輸出,并通過json格式追加到service_api_dev.json文件后。編寫完成后,提交該云主機(jī)的用戶名、密碼和IP地址到答題框?!绢}目2】2.3.2管理Pod服務(wù)[3分]KubernetesPython運(yùn)維腳本開發(fā)-使用SDK方式管理Pod服務(wù)。使用已經(jīng)部署完成的Kubernetes兩節(jié)點(diǎn)云平臺(tái),在Master節(jié)點(diǎn)安裝Python3.7.3的運(yùn)行環(huán)境與依賴庫。使用KubernetespythonSDK的“kubernetes”Python庫,在/root目錄下,創(chuàng)建sdk_manager_deployment.py文件,要求編寫python代碼,代碼實(shí)現(xiàn)以下任務(wù):(1)首先使用nginx-deployment.yaml文件創(chuàng)建deployment資源。(2)創(chuàng)建完成后,查詢?cè)摲?wù)的信息,查詢的body部分通過控制臺(tái)輸出,并以json

格式的文件輸出到當(dāng)前目錄下的deployment_sdk_dev.json文件中。編寫完成后,提交該云主機(jī)的用戶名、密碼和IP地址到答題框。【題目3】2.3.3KubernetesCRD自定義資源的管理封裝[3分]Kubernetes容器云平臺(tái)通過CRD機(jī)制進(jìn)行自定義APIs資源拓展,將chinaskill-cloud-*.yaml共5個(gè)文件復(fù)制到root目錄下。參考chinaskill-cloud-11.yaml文件,編寫CRD文件“chinaskill-cloud-crd.yaml”,放在root目錄下。說明:CompetitionCRD命名要求如下:Kind為CompetitionPlural為competitionssingular為competitionshortNames為cptsession含義是賽程content含義為競(jìng)賽內(nèi)容。使用已建好的KubernetesPython運(yùn)維開發(fā)環(huán)境,在/root目錄下創(chuàng)建crd_manager.py腳本。crd_manager.py編寫基于KubernetesSDK實(shí)現(xiàn)CompetitionCRD的創(chuàng)建、刪除與事件變化監(jiān)聽。crd_manager.py內(nèi)部實(shí)現(xiàn)3個(gè)方法:crd_manager.py內(nèi)部實(shí)現(xiàn)3個(gè)方法:(1)實(shí)現(xiàn)方法create_crd(),實(shí)現(xiàn)對(duì)CompetitionCRD的創(chuàng)建。(2)實(shí)現(xiàn)方法delete_crd(),實(shí)現(xiàn)對(duì)CompetitionCRD的刪除。(3)實(shí)現(xiàn)方法watch_crd_object(),實(shí)現(xiàn)對(duì)CRD資源的變化事件監(jiān)聽,將監(jiān)聽到CompetitionCRD被刪除,將event信息輸出到控制臺(tái),并停止監(jiān)聽?!绢}目4】2.3.4KubernetesCRD的自定義對(duì)象管理封裝[2分]基于前一題目的CompetitionCRD,使用已建好的KubernetesPython運(yùn)維開發(fā)環(huán)境,在/root目錄下創(chuàng)建crd_object_manager.py腳本。crd_object_manager.py編寫基于KubernetesSDK實(shí)現(xiàn)CompetitionCRD的自定義對(duì)象的創(chuàng)建、刪除與事件變化監(jiān)聽。crd_manager.py內(nèi)部實(shí)現(xiàn)3個(gè)方法:(1)實(shí)現(xiàn)方法create_crd_object(ymlfile:str),實(shí)現(xiàn)CRD的自定義對(duì)象的創(chuàng)建,

yamlfile為CRD的自定義對(duì)象yaml文件。(2)實(shí)現(xiàn)方法delete_crd_object(crd_object_name:str),實(shí)現(xiàn)創(chuàng)建CRD功能,crd_object_name為CRD的自定義對(duì)象名稱。(3)實(shí)現(xiàn)方法watch_crd_object(crd_object_name:str),實(shí)現(xiàn)CRD的自定義對(duì)象變化事件監(jiān)聽,當(dāng)監(jiān)聽到CRD的自定義對(duì)象的名稱為crd_object_name被刪除時(shí),將event信息輸出到控制臺(tái),并停止監(jiān)聽?!举惓堂Q】模塊三公有云【任務(wù)1】公有云服務(wù)搭建[5分]【適用平臺(tái)】華為云【題目1】3.1.1私有網(wǎng)絡(luò)管理[0.3分]在公有云中完成虛擬私有云的創(chuàng)建。具體要求如下:(1)在上海一區(qū)域進(jìn)行創(chuàng)建操作;(2)創(chuàng)建一個(gè)名為intnetX的內(nèi)部網(wǎng)絡(luò):IP地址為/16;(3)創(chuàng)建子網(wǎng)名稱為intnetX-server:IP地址為/24;(4)創(chuàng)建子網(wǎng)名稱為intnetX-mysql:IP地址為/24;完成創(chuàng)建后,提交當(dāng)前的AK(SecretId)、SK(SecretKey)和intnetX網(wǎng)絡(luò)的ID到答題框?!绢}目2】3.1.2云實(shí)例管理[0.5分]登錄華為云平臺(tái),創(chuàng)建兩臺(tái)云實(shí)例。具體要求如下:(1)計(jì)費(fèi)模式:按需計(jì)費(fèi);(2)地域:上海一;

(3)CPU架構(gòu):x86計(jì)算;(4)規(guī)格:c7.xlarge.2;(5)鏡像:CentOS7.564位;(6)系統(tǒng)盤:高IO50G硬盤;(7)公網(wǎng)帶寬:按帶寬計(jì)費(fèi),5Mbps;(8)實(shí)例名稱:ChinaSkill-node-1、ChinaSkill-node-2;(9)登錄方式:使用密碼登錄,密碼自定義。創(chuàng)建完成后,提交當(dāng)前的AK(SecretId)、SK(SecretKey)和ChinaSkill-node-1的實(shí)例ID到答題框?!绢}目3】3.1.3數(shù)據(jù)庫管理[0.2分]使用intnetX-mysql網(wǎng)絡(luò)創(chuàng)建三臺(tái)云服務(wù)器chinaskill-sql-1、chinaskill-sql-2和chinaskill-sql-3(系統(tǒng)使用CentOS7.9),使用提供的壓縮文件mongodb-repo.tar.gz中的軟件包源,在這三臺(tái)云服務(wù)器上部署MongoDB數(shù)據(jù)庫服務(wù)。配置完成后提交連接chinaskill-sql-1節(jié)點(diǎn)的用戶名、密碼和公網(wǎng)IP地址到答題框?!绢}目4】3.1.4主從數(shù)據(jù)庫[0.5分]在chinaskill-sql-1、chinaskill-sql-2和chinaskill-sql-3云服務(wù)器中配置MongoDB一主二從數(shù)據(jù)庫+副本集操作,chinaskill-sql-1節(jié)點(diǎn)為主節(jié)點(diǎn),其余節(jié)點(diǎn)為從節(jié)點(diǎn),配置MongoDB集群名稱為cloud。完成后提交連接chinaskill-sql-1節(jié)點(diǎn)的用戶名、密碼和公網(wǎng)IP地址到答題框?!绢}目5】3.1.5node環(huán)境管理[0.5分]使用提供的壓縮文件,安裝Node.js環(huán)境。使用提供的壓縮文件rocketchat-cloud.tar.gz中軟件包源,在ChinaSkill-node-1部署nodejs,根據(jù)所提供的rocket.chat所需要求安裝nodejs對(duì)應(yīng)版本。配置完成后提交

連接ChinaSkill-node-1節(jié)點(diǎn)的用戶名、密碼和公網(wǎng)IP地址到答題框?!绢}目6】3.1.6安全組管理[0.5分]根據(jù)要求,創(chuàng)建一個(gè)安全組。具體要求如下:(1)名稱:intnetX-security;(2)允許策略:只放行源地址為/24訪問27017端口;(3)允許策略:只放行源地址為/24使用ping命令訪問;(4)關(guān)聯(lián)實(shí)例:將intnetX-security安全組關(guān)聯(lián)至所創(chuàng)建的數(shù)據(jù)庫中;創(chuàng)建完成后,提交當(dāng)前的AK(SecretId)、SK(SecretKey)和安全組ID到答題框?!绢}目7】3.1.7RocketChat上云[0.5分]使用http服務(wù)器提供文件,將Rocket.Chat應(yīng)用部署上云。使用http服務(wù)器提供的壓縮文件rocketchat-cloud.tar.gz中的RocketChat軟件包,在ChinaSkill-node-1中部署RocketChat的Web服務(wù)。使用chinaskill-sql-1的MongoDB為后端數(shù)據(jù)庫,設(shè)置RocketChat服務(wù)訪問端口為3000。完成Rocketchat系統(tǒng)上云后,將ChinaSkill-node-1節(jié)點(diǎn)的用戶名、密碼和公網(wǎng)IP地址到答題框?!绢}目8】3.1.8NAT網(wǎng)關(guān)[0.5分]根據(jù)要求創(chuàng)建一個(gè)公網(wǎng)NAT網(wǎng)關(guān)。具體配置如下:(1)名稱為:kcloud-nat;(2)虛擬私有云:intnetX;(3)子網(wǎng):intnetX-server;(4)規(guī)則:內(nèi)部子網(wǎng)地址訪問外網(wǎng);(5)設(shè)置Chinaskill-node-1云服務(wù)器3000端口轉(zhuǎn)換為外部3000服務(wù)端口。

創(chuàng)建完成后提交當(dāng)前的AK(SecretId)、SK(SecretKey)和NAT網(wǎng)關(guān)的ID到答題框?!绢}目9】3.1.9云備份[0.5分]創(chuàng)建一個(gè)云服務(wù)器備份存儲(chǔ)庫名為server_backup,容量為100G。將ChinaSkill-node-1云服務(wù)器制作鏡像文件chinaskill-image。完成后,將當(dāng)前的AK(SecretId)、SK(SecretKey)和存儲(chǔ)庫ID到答題框?!绢}目10】3.1.10負(fù)載均衡器[0.5分]根據(jù)要求創(chuàng)建一個(gè)負(fù)載均衡器chinaskill-elb。將ChinaSkill-node-1和ChinaSkill-node-2加入負(fù)載均衡的后端。設(shè)置一個(gè)可用的公網(wǎng)服務(wù)IP,服務(wù)端口為3000。配置監(jiān)聽器,監(jiān)聽3000端口。對(duì)浮動(dòng)公共IP進(jìn)行Web訪問測(cè)試。完成后,提交當(dāng)前的AK(SecretId)、SK(SecretKey)和負(fù)載均衡器的ID到答題框?!绢}目11】3.1.11彈性伸縮管理[0.5分]根據(jù)要求新建一個(gè)彈性伸縮啟動(dòng)配置。具體要求如下:(1)啟動(dòng)配置名稱:template-exam;(2)計(jì)費(fèi)模式:按量計(jì)費(fèi);(3)地域:上海一;(4)鏡像:chinaskill-image;(5)登錄方式:使用密碼登錄,密碼自定義。創(chuàng)建一個(gè)伸縮組,具體要求如下:(1)名稱:as-exam;(2)最小伸縮數(shù):1;起始實(shí)例數(shù):1;最大伸縮數(shù):5;(3)啟動(dòng)配置:template-exam;

(4)使用負(fù)載均衡:chinaskill-elb;(5)移出策略:移出最舊的實(shí)例。為伸縮組as-exam新建告警觸發(fā)策略,具體要求如下:(1)如果實(shí)例的內(nèi)存利用率在5分鐘內(nèi)的最大值小于40%,且連續(xù)發(fā)生3次。則實(shí)例數(shù)減少1臺(tái)。冷卻60秒;(2)如果實(shí)例的內(nèi)存利用率在5分鐘內(nèi)的最大值大于80%,且連續(xù)發(fā)生3次。則實(shí)例數(shù)增加1臺(tái)。冷卻60秒;(3)如果實(shí)例的CPU利用率在5分鐘內(nèi)的最大值小于40%,且連續(xù)發(fā)生3次。則實(shí)例數(shù)減少1臺(tái)。冷卻60秒;(4)如果實(shí)例的CPU利用率在5分鐘內(nèi)的平均值大于等于80%,且連續(xù)發(fā)生3次。則實(shí)例數(shù)增加1臺(tái)。冷卻60秒。創(chuàng)建完成后提交當(dāng)前的AK(SecretId)、SK(SecretKey)和伸縮組的實(shí)例ID到答題框?!救蝿?wù)2】公有云服務(wù)運(yùn)維[10分]【適用平臺(tái)】華為云【題目1】3.2.1云容器引擎[1分]在公有云上,按照要求創(chuàng)建一個(gè)x86架構(gòu)的容器云集群。具體要求如下:(1)集群名稱:kcloud;(2)集群版本:v1.25;(3)地域:上海一;(4)集群管理規(guī)模:50節(jié)點(diǎn);(5)節(jié)點(diǎn)使用子網(wǎng):intnetX-server;(6)節(jié)點(diǎn)預(yù)留容器IP上限:64;(7)容器網(wǎng)段:/16。創(chuàng)建一個(gè)集群節(jié)點(diǎn),節(jié)點(diǎn)配置信息要求如下:

(1)節(jié)點(diǎn)名稱:kcloud-server;(2)節(jié)點(diǎn)規(guī)格:c6s.xlarge.2(3)節(jié)點(diǎn):EulerOS2.9(4)使用docker容器引擎創(chuàng)建完成后提交當(dāng)前的AK(SecretId)、SK(SecretKey)和集群的ID到答題框?!绢}目2】3.2.2云容器管理[1分]使用插件管理在kcloud容器集群中安裝dashboard可視化監(jiān)控界面。完成后,提交dashboard訪問地址到答題框?!绢}目3】3.2.3使用kubectl操作集群[2分]在kcloud集群中安裝kubectl命令,使用kubectl命令管理kcloud集群。完成后提交連接kcloud集群節(jié)點(diǎn)的用戶名、密碼和公網(wǎng)IP地址到答題框?!绢}目4】3.2.4安裝helm[2分]在k8s集群中創(chuàng)建chartmuseum命名空間,編寫yaml文件部署ChartMuseum服務(wù)。使用提供的helm軟件包(軟件包為helm-v3.3.0-linux-amd64.tar.gz在http服務(wù)下),在kcloud集群中安裝helm服務(wù)。完成后提交連接kcloud集群節(jié)點(diǎn)的用戶名、密碼和公網(wǎng)IP地址到答題框。【題目5】3.2.5chartmuseum倉庫部署[2分]在k8s集群中創(chuàng)建chartmuseum命名空間,編寫yaml文件部署ChartMuseum服務(wù)。在k8s集群中創(chuàng)建chartmuseum命名空間,編寫yaml文件在chartmuseum命名空間中使用chartmuseum:latest鏡像創(chuàng)建本地私有chart倉庫,設(shè)置其倉庫存儲(chǔ)目錄為宿主機(jī)的/data/charts目錄。編寫service.yaml文件,為chart私有倉庫創(chuàng)建Service訪問策略,

定義其為ClusterIP訪問模式。編寫完成后啟動(dòng)chartmuseum服務(wù)。提交連接kcloud集群節(jié)點(diǎn)的用戶名、密碼和公網(wǎng)IP地址到答題框?!绢}目6】3.2.6WordPress應(yīng)用部署[2分]根據(jù)提供的chart包wordpress.tgz部署WordPress服務(wù)。根據(jù)提供的chart包wordpress-13.0.23.tgz部署wordpress服務(wù),根據(jù)chart包中內(nèi)容創(chuàng)建wordpress所需要的pv,并修改其訪問模式為NodePort。使用修改后的chart包創(chuàng)建wordpress服務(wù)。完成后提交連接kcloud集群節(jié)點(diǎn)的用戶名、密碼和公網(wǎng)IP地址到答題框?!救蝿?wù)3】公有云運(yùn)維開發(fā)[10分]【適用平臺(tái)】華為云【題目1】3.3.1開發(fā)環(huán)境搭建[1分]創(chuàng)建一臺(tái)云主機(jī),并登錄此云服務(wù)器,基于云服務(wù)器Python3.6.8運(yùn)行環(huán)境,安裝SDK依賴庫。通過華為云控制臺(tái),選擇北京四區(qū)域,創(chuàng)建一臺(tái)x86架構(gòu),“按需計(jì)費(fèi)”的2核,4G,系統(tǒng)盤50G的云實(shí)例,實(shí)例名為chinaskill,選擇鏡像為CentOS7.964bit(40GB),分配獨(dú)立的公網(wǎng)IP,帶寬選擇按使用流量計(jì)費(fèi)5M。登錄此云服務(wù)器,在云服務(wù)器Python3.6.8環(huán)境上,安裝華為云最新版本SDK的依賴庫,包括彈性云服務(wù)、虛擬私有云、鏡像服務(wù)、容器云引擎、云數(shù)據(jù)庫的python庫。完成后提交“chinaskill”開發(fā)運(yùn)行環(huán)境云主機(jī)的用戶名、密碼和IP地址到答題框。【題目2】3.3.2密鑰對(duì)管理[2分]編寫Python代碼,實(shí)現(xiàn)密鑰對(duì)的創(chuàng)建。在云服務(wù)器的/root/huawei/目錄下編寫create_keypair.py文件,使用SDK編寫

Python代碼,創(chuàng)建華為云的秘鑰對(duì),具體要求為:(1)秘鑰對(duì)名稱:chinaskills_keypair;(2)如果秘鑰對(duì)已經(jīng)存在,代碼中需要先刪除;(3)輸出此秘鑰對(duì)詳細(xì)信息。完成后提交云服務(wù)器節(jié)點(diǎn)的用戶名、密碼和IP地址到答題框?!绢}目3】3.3.3云硬盤管理[2分]調(diào)用SDK云硬盤管理的方法,實(shí)現(xiàn)云主機(jī)的的增刪查改。在/root/huawei目錄下編寫create_block_store.py文件,使用SDK編寫Python代碼,調(diào)用創(chuàng)建華為云的云硬盤,具體要求如下:(1)云硬盤可用區(qū)域:cn-north-4a(2)云硬盤名稱:chinaskills_volume(3)云硬盤規(guī)格和大小:超高IO,100G(4)設(shè)置云硬盤共享(5)設(shè)置云硬盤加密,加密秘鑰為默認(rèn)的KMS密鑰(6)如果云硬盤已經(jīng)存在,代碼中需要先刪除(7)輸出此云硬盤的詳細(xì)信息(狀態(tài)要求為available)完成后提交云服務(wù)器節(jié)點(diǎn)的用戶名、密碼和IP地址到答題框?!绢}目4】3.3.4云主機(jī)管理[3分]調(diào)用SDK云主機(jī)管理的方法,實(shí)現(xiàn)云主機(jī)的的增刪查改。使用已建好的運(yùn)維開發(fā)環(huán)境,在/root/huawei目錄下創(chuàng)建ecs_manager.py腳本,完成ECS云主機(jī)管理,ecs_manager.py程序支持命令行參數(shù)執(zhí)行。提示說明:華為云主機(jī)支持安裝所需Python庫。提交前答案前,需安裝所開發(fā)程序所依賴的Python庫。(1)程序支持根據(jù)命令行參數(shù),創(chuàng)建1個(gè)云主機(jī)。位置參數(shù)“create”,表示創(chuàng)建;參數(shù)“-i或--input”,格式為json格式文本的云主機(jī)的名稱、鏡像名稱2個(gè)信息。其他參數(shù)同上述開發(fā)環(huán)境云主機(jī)一致。創(chuàng)建待成功,再返回查詢?cè)撛浦鳈C(jī)的信息,結(jié)果以json格式輸出到控制臺(tái)。

參考執(zhí)行實(shí)例如下:python3/root/huawei/ecs_manager.pycreate--input'{"name":"chinaskill001","imagename":"imageid"}'(2)支持查詢給定具體名稱的ECS云主機(jī)查詢。位置參數(shù)“get”,表示查詢ECS;參數(shù)“-n或--name”支持指定名稱ECS查詢,類型為string。參數(shù)“-o或--output”支持查詢?cè)揈CS信息輸出到文件,格式為json格式。(3)程序支持查詢目前區(qū)域賬號(hào)下所有的ECS云主機(jī)。位置參數(shù)“getall”,表示查詢所有ECS云主機(jī);參數(shù)“-o或--output”支持輸出到文件,格式為yaml格式。(4)支持刪除指定名稱的云主機(jī)。位置參數(shù)“delete”,表示刪除一個(gè)ECS云主機(jī);返回response,通過控制臺(tái)輸出。參數(shù)“-n或--name”支持指定名稱查詢,類型為string。完成后提交“chinaskill開發(fā)運(yùn)行環(huán)境云主機(jī)”的用戶名、密碼和IP地址到答題框?!绢}目5】3.3.5基于FastAPI框架封裝華為云VPC服務(wù)RestfulAPIs接口[2分]使用已建好的運(yùn)維開發(fā)環(huán)境,可用區(qū)為華北-北京4,在/root/huaweicloud_fastapi目錄下創(chuàng)建main.py文件,基于FastAPI框架,完成虛擬私有云VPC管理服務(wù)的封裝,端口為7045。提示說明:華為云主機(jī)支持安裝所需Python庫。提交前答案前,需安裝所開發(fā)程序所依賴的Python庫。(1)封裝創(chuàng)建接口,路徑為/cloud_vpc/create_vpc,參數(shù)格式為{"name":"","cidr":""},name為VPC名稱,cidr為虛擬私有云下可用子網(wǎng)的范圍;方法為POST,返回?cái)?shù)據(jù)類型為JSON類型。(2)封裝單個(gè)VPC查詢接口,路徑為/cloud_vpc/vpc/{vpc_name},路徑中{vpc_name}為待查詢VPC;方法為GET,返回?cái)?shù)據(jù)類型為JSON類型。(3)封裝服務(wù)查詢接口,要求可以查詢到所有VPC,路徑為/cloud_vpc/vpc;方法為GET,返回的數(shù)據(jù)類型JSON類型的列表類型。(4)封裝更新VPN名稱接口,路徑為/cloud_vpc/update_vpc,參數(shù)格式為

{"new_name":"","old_name":""},new_name為VPC新名稱,old_name為待刪除的VPN名稱;方法為PUT,返回JSON類型的更新后數(shù)據(jù)。(5)封裝刪除接口,接口名為/cloud_vpc/delete_vpc,參數(shù)格式為{"vpc_name":""},vpc_name為VPC新名稱;方法為DELETE,返回JSON類型的刪除后的數(shù)據(jù)。功能編寫完成后,手工啟動(dòng)Restful服務(wù),再提交檢測(cè)?!救蝿?wù)4】邊緣計(jì)算系統(tǒng)運(yùn)維[10分]【適用平臺(tái)】私有云【題目1】4.1.1KubeEdgecloudcore云端模塊部署與配置[3分]在本地http文件服務(wù)器中下載k8s-allinone-v1.22.1.qcow2鏡像(該鏡像啟動(dòng)后內(nèi)置一個(gè)完整的kubernetes服務(wù))并完成下列操作:(1)上傳該鏡像至公有云OBS存儲(chǔ)桶中;(2)使用該鏡像文件創(chuàng)建為私有鏡像;(3)使用該鏡像創(chuàng)建一臺(tái)云主機(jī),該云主機(jī)作為KubeEdge的云端節(jié)點(diǎn)。云主機(jī)申請(qǐng)完成之后,在提供的OBS訪問域名中,下載軟件包kubernetes_kubeedge.tar到云端節(jié)點(diǎn)并部署KubeEdge1.11邊緣計(jì)算系統(tǒng),在云端節(jié)點(diǎn)部署KubeEdgecloudcore云端模塊、啟動(dòng)cloudcore服務(wù)并配置該服務(wù)可被systemd管理。完成后提交云端節(jié)點(diǎn)的IP地址、用戶名和密碼到答題框。【題目2】4.1.2KubeEdgeedgecore邊端模塊部署與配置[4分]在本地OpenStack環(huán)境中申請(qǐng)兩臺(tái)CentOS7.9虛擬機(jī)做為KubeEdge的邊緣端節(jié)點(diǎn)。主機(jī)名分別為edge-node1、edge-node2。在http文件服務(wù)器中下載kubernetes_kubeedge.tar軟件包,使用該軟件包在該虛擬機(jī)部署KubeEdgeedgecore邊端模塊,并啟動(dòng)edgecore服務(wù)。加入成功之后,啟用metrics監(jiān)控服務(wù)。完成后提交云端節(jié)點(diǎn)的IP地址、用戶名和密碼到答題框?!绢}目3】4.1.3KubeEdge應(yīng)用部署-部署計(jì)數(shù)器應(yīng)用[3分]利用搭建好的邊緣計(jì)算平臺(tái),在云端節(jié)點(diǎn)上使用提供的相關(guān)鏡像(k8simage目錄下)和yaml文件(kubeedge-counter-demo目錄下),自行編寫DeviceModel、Device資源,

要求如下:DeviceModel名字為counter-model;屬性為status,類型為字符串,存儲(chǔ)模式為讀寫模式,默認(rèn)值為空;Device名字為counter;引用counter-model設(shè)備模型;將此設(shè)備通過節(jié)點(diǎn)選擇器與edge-node1節(jié)點(diǎn)進(jìn)行綁定;在status字段中的twins字段定義屬性名稱為status、理想值為“OFF”、真實(shí)值為“0”;編寫完成后,按照順序分別部署好DeviceModel、Device以及云端計(jì)數(shù)應(yīng)用控制器和計(jì)數(shù)應(yīng)用。部署完成后,將計(jì)數(shù)器打開。完成后提交云端節(jié)點(diǎn)的用戶名、密碼和IP到答題框。【任務(wù)5】邊緣計(jì)算云應(yīng)用開發(fā)[5.0分]【適用平臺(tái)】私有云【題目1】5.1.1開發(fā)環(huán)境構(gòu)建與用戶注冊(cè)服務(wù)開發(fā)[1分]使用華為云已搭建好的KubeEdge環(huán)境,安裝Python3.7.3運(yùn)行環(huán)境,并安裝開發(fā)所需的依賴包,使用提供的mongoRepo.tar.gz軟件包在邊端安裝MongoDB數(shù)據(jù)庫,設(shè)置數(shù)據(jù)庫為任何機(jī)器都可以連接登錄。開發(fā)環(huán)境搭建好之后,將提供的代碼包導(dǎo)入到Linux服務(wù)器root目錄下,并打開fastapi_user工程目錄進(jìn)行用戶管理服務(wù)開發(fā),服務(wù)端口為8046,運(yùn)行服務(wù)后,注冊(cè)名為chinaskill的用戶,密碼為Abc@1234,手動(dòng)啟動(dòng)代碼運(yùn)行服務(wù)。代碼編寫完成后提交該云主機(jī)的用戶名、密碼和IP地址到答題框。【題目2】5.1.2AI檢測(cè)服務(wù)與網(wǎng)關(guān)服務(wù)開發(fā)[1分]使用現(xiàn)有的開發(fā)環(huán)境,將提供的代碼包導(dǎo)入到Linux服務(wù)器root目錄下,打開fastapi_ai_pcb工程目錄,基于YOLO5與已訓(xùn)練的模型實(shí)現(xiàn)PCB缺陷AI識(shí)別服務(wù),fastapi框架來定義PCB圖片的缺陷檢測(cè)接口,調(diào)用接口時(shí),需要指定device實(shí)例名稱和上傳缺陷圖片,當(dāng)識(shí)別到缺陷圖片后,返回圖片base64編碼后的數(shù)據(jù)、模型的名字、當(dāng)前的上傳時(shí)間、以及識(shí)別坐標(biāo)的位置信息和實(shí)例名稱。然后打開fastapi_gateway工程目錄,基于fastapi-gateway開源框架實(shí)現(xiàn)網(wǎng)關(guān)服

務(wù),AIPCB微服務(wù)端口為8055,微服務(wù)網(wǎng)關(guān)端口30850,通過這個(gè)網(wǎng)關(guān)來訪問用戶管理服務(wù)和AIPCB識(shí)別服務(wù),手動(dòng)啟動(dòng)AIPCB和網(wǎng)關(guān)服務(wù)。AI接口接口路徑為:/detect/pcb_detect,參數(shù)傳遞到路徑接口上,參數(shù)名為device_id。識(shí)別圖片在工程目錄中的runs目錄里。代碼編寫完成后提交該云主機(jī)的用戶名、密碼和IP地址到答題框?!绢}目3】5.1.3設(shè)備與設(shè)備模型管理服務(wù)開發(fā)[1分]使用現(xiàn)有的開發(fā)環(huán)境,將提供的代碼包導(dǎo)入到Linux服務(wù)器root目錄下,打開fastapi_cloud_edge工程目錄,基于FastAPI框架和KubernetesSDK實(shí)現(xiàn)了一組API,主要針對(duì)KubeEdge拓展的CRD的資源進(jìn)行訪問封裝,微服務(wù)端口為8045。1、完善設(shè)備模型管理服務(wù),要求如下:(1)定義獲取DeviceModel資源接口,接口名為/devicemodel/devicemodel,方法為GET;(2)定義獲取單個(gè)DeviceModel接口,接口名為/devicemodel/{name},方法為GET;(3)定義創(chuàng)建DeviceModel接口,接口名為/devicemodel/devicemodel,方法為POST,參數(shù)格式為{"name":"","properties":""},name為DeviceModel的名字,properties為DeviceModel更新的屬性內(nèi)容,類型為列表類型;(4)定義設(shè)備模型同步接口,接口名為/devicemodel/devicemodel,方法為PUT,參數(shù)格式為{"name":"","properties":""},name為DeviceModel的名字,properties為DeviceModel創(chuàng)建的屬性內(nèi)容,類型為列表類型;(5)定義刪除DeviceModel資源接口,接口名為/device/devicemodel,可以刪除指定DeviceModel,參數(shù)格式為{"name":""},name為DeviceModel的名字,方法為DELETE。2、完善設(shè)備管理服務(wù),要求如下:(1)定義獲取所有的device資源,接口名為/device/device,方法為GET;(2)定義獲取單個(gè)device,接口名為/device/{name},方法為GET;(3)定義設(shè)備同步接口,接口名為/device/device,參數(shù)格式為{"name":"","desired":{}},name為更新設(shè)備的名字,desired為更新設(shè)備的內(nèi)容,內(nèi)容格式為

JSON格式,方法為PUT;(4)定義創(chuàng)建device接口,接口名為/device/device,參數(shù)格式為{"name":"","dmName":"","nodeName":""},name為device的名字,dmName為DeviceModel的名字,nodeName為邊緣節(jié)點(diǎn)名字,方法為POST;(5)定義刪除device接口,可以刪除指定的device資源,接口名為/device/device,參數(shù)格式為{"name":""},名字為要?jiǎng)h除的device名字,方法為DELETE。手動(dòng)啟動(dòng)設(shè)備與設(shè)備模型管理服務(wù)。代碼編寫完成后提交該云主機(jī)的用戶名、密碼和IP地址到答題框?!绢}目4】5.1.4云邊數(shù)據(jù)協(xié)同開發(fā)[1分]使用現(xiàn)有的開發(fā)環(huán)境,將提供的代碼包導(dǎo)入到Linux服務(wù)器root目錄下,打開fastapi_cloud_edge工程目錄,在前面幾道題的基礎(chǔ)之上,對(duì)pcb_data_manager.py文件完善代碼,要求如下:將數(shù)據(jù)模型上傳到數(shù)據(jù)庫中,并返回該模型在數(shù)據(jù)庫中的ID,若有相同模型則不上傳;定義接收邊緣消息程序;云端接收邊端MQTT主題里所發(fā)送的數(shù)據(jù),將數(shù)據(jù)進(jìn)行解析,存儲(chǔ)到MongoDB數(shù)據(jù)庫中,并對(duì)云端pcb-device設(shè)備信息進(jìn)行更新。設(shè)備信息字段為pcb_model(模型名字)、pcb_status(設(shè)備狀態(tài))、pcb_result(模型在數(shù)據(jù)中的ID)、upload_time(識(shí)別圖片的時(shí)間)手動(dòng)啟動(dòng)該服務(wù)。【題目5】5.1.5云端節(jié)點(diǎn)管理開發(fā)[1分]使用現(xiàn)有的開發(fā)環(huán)境,將提供的代碼包導(dǎo)入到Linux服務(wù)器root目錄下,打開fastapi_cloud工程目錄,基于FastAPI框架和KubernetesSDK實(shí)現(xiàn)了一組API,來進(jìn)行管理云端節(jié)點(diǎn)和邊緣節(jié)點(diǎn)信息的后端服務(wù),微服務(wù)端口為8047,編碼要求功能如下:定義獲取云端節(jié)點(diǎn)信息的路由,接口為/cloud_edge_service/node/cloudnode,請(qǐng)求為GET,返回的數(shù)據(jù)類型為列表類型。定義獲取單個(gè)節(jié)點(diǎn)信息的路由,接口為/cloud_edge_service/node/{node_name},請(qǐng)

求為GET,返回?cái)?shù)據(jù)類型為字典類型。定義獲取邊緣節(jié)點(diǎn)信息的路由,接口為/cloud_edge_service/node/edgenode,請(qǐng)求為GET,返回?cái)?shù)據(jù)類型為列表類型。定義節(jié)點(diǎn)資源使用情況路由,接口為/cloud_edge_service/metrics/node/{node_name},請(qǐng)求為GET,返回獲取到的資源使用情況,將任意一臺(tái)邊緣節(jié)點(diǎn)的主機(jī)名存儲(chǔ)到/root/name.txt文件里。手動(dòng)啟動(dòng)云端節(jié)點(diǎn)管理服務(wù)。

2023年全國職業(yè)院校技能大賽(高職組)“云計(jì)算應(yīng)用”上午場(chǎng):私有云、容器云09:00~12:30項(xiàng)目需求:某企業(yè)根據(jù)自身業(yè)務(wù)需求,實(shí)施數(shù)字化轉(zhuǎn)型,規(guī)劃和建設(shè)數(shù)字化平臺(tái)建設(shè),平臺(tái)聚焦“DevOps建運(yùn)一體”和“數(shù)據(jù)驅(qū)動(dòng)產(chǎn)品開發(fā)”,擬采用開源OpenStack搭建企業(yè)內(nèi)部私有云平臺(tái),開源Kubernetes搭建云原生服務(wù)平臺(tái),選擇國內(nèi)主流公有云平臺(tái)服務(wù),基于數(shù)字化平臺(tái)底座,面向業(yè)務(wù)開發(fā)云應(yīng)用產(chǎn)品。擬將該任務(wù)交給工程師A與B,分工協(xié)助完成云平臺(tái)服務(wù)部署、云應(yīng)用開發(fā)、云系統(tǒng)運(yùn)維等任務(wù),系統(tǒng)架構(gòu)如下:系統(tǒng)架構(gòu)如圖1所示,IP地址規(guī)劃如表1所示。圖1系統(tǒng)架構(gòu)圖表1IP地址規(guī)劃設(shè)備名稱主機(jī)名接口eth0eth1eth0eth1IP地址192.168.x.0/24自定義說明vlanx云服務(wù)器1controller自行創(chuàng)建vlanx192.168.x.0/24自定義云服務(wù)器2compute自行創(chuàng)建第1頁共39云服務(wù)器3...自定義eth0192.168.x.0/24/24云服務(wù)器nPC-1本地連接PC使用說明:1.競(jìng)賽使用集群模式進(jìn)行,比賽時(shí)給每個(gè)參賽隊(duì)提供獨(dú)立的租戶與用戶,各用戶的資源配額相同,選手通過用戶名與密碼登錄競(jìng)賽

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論