2022年全國職業(yè)院校技能大賽高職組云計(jì)算賽項(xiàng)試卷(容器云)_第1頁
2022年全國職業(yè)院校技能大賽高職組云計(jì)算賽項(xiàng)試卷(容器云)_第2頁
2022年全國職業(yè)院校技能大賽高職組云計(jì)算賽項(xiàng)試卷(容器云)_第3頁
2022年全國職業(yè)院校技能大賽高職組云計(jì)算賽項(xiàng)試卷(容器云)_第4頁
2022年全國職業(yè)院校技能大賽高職組云計(jì)算賽項(xiàng)試卷(容器云)_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

2022年全國職業(yè)院校技能大賽高職組云計(jì)算賽項(xiàng)試卷

【賽程名稱】云計(jì)算賽項(xiàng)第二場-容器云

說明:完成本任務(wù)需要兩臺(tái)安裝了CentOS7.9操作系統(tǒng)的云主機(jī):master和node。

Chinaskill_Cloud_PaaS.iso鏡像包中有本次容器云部署所需的所有文件,運(yùn)維所需的文件見附件。

某公司技術(shù)部產(chǎn)品開發(fā)上線周期長,客戶的需求經(jīng)常得不到及時(shí)響應(yīng)。引入CICD

(ContinuousIntegration持續(xù)集成、ContinuousDelivery持續(xù)交付)成了公司的當(dāng)務(wù)之急,研

發(fā)團(tuán)隊(duì)決定搭建基于Kubernetes的CICD環(huán)境,希望基于這個(gè)平臺(tái)來實(shí)現(xiàn)DevOps的部分流

程,來減輕開發(fā)、部署、運(yùn)維的負(fù)擔(dān)。

為了能夠讓公司開發(fā)的web應(yīng)用系統(tǒng)產(chǎn)品能夠基于服務(wù)器的性能、可靠性、高可用性

與方便維護(hù),研發(fā)部決定使用微服務(wù)架構(gòu),實(shí)現(xiàn)基于Kubernetes的容器化部署。

節(jié)點(diǎn)規(guī)劃如表1所示。

表1容器云平臺(tái)節(jié)點(diǎn)規(guī)劃

節(jié)點(diǎn)角色主機(jī)名VCPUS內(nèi)存硬盤

Master、Harbor、CICDmaster812G100G

WorkerNodenode88G100G

【任務(wù)1】容器云平臺(tái)搭建[5分]

【適用平臺(tái)】私有云

【題目1】平臺(tái)部署--部署容器云平臺(tái)[1.5分]

登錄OpenStack私有云平臺(tái),使用CentOS7.9鏡像創(chuàng)建兩臺(tái)云主機(jī),使用kubeeasy工具

完成Kubernetes1.22.1集群的搭建。然后使用nginx鏡像在default命名空間下創(chuàng)建一個(gè)名為

exam的Pod,并為該P(yáng)od設(shè)置環(huán)境變量exam,其值為2022。

完成后提交master節(jié)點(diǎn)的用戶名、密碼和IP到答題框。

1.Kubernetes集群部署成功得1分;

2.Pod創(chuàng)建成功且環(huán)境變量設(shè)置正確得0.5分。

【題目2】平臺(tái)部署--部署Istio服務(wù)網(wǎng)格[0.5分]

在Kubernetes集群上完成Istio服務(wù)網(wǎng)格環(huán)境的安裝,然后新建命名空間exam,為該命

名空間開啟自動(dòng)注入Sidecar。

完成后提交master節(jié)點(diǎn)的用戶名、密碼和IP到答題框。

1.Istio所有組件運(yùn)行成功得0.3分;

2.命名空間exam自動(dòng)注入成功得0.2分。

【題目3】平臺(tái)部署--部署KubeVirt虛擬化[1分]

在Kubernetes集群上完成KubeVirt虛擬化環(huán)境的安裝。

完成后提交master節(jié)點(diǎn)的用戶名、密碼和IP到答題框。

1.KubeVirt所有組件運(yùn)行成功得1分。

【題目4】平臺(tái)部署--部署Harbor倉庫及Helm包管理工具[1分]

在master節(jié)點(diǎn)上完成Harbor鏡像倉庫及Helm包管理工具的部署。然后使用nginx鏡像

自定義一個(gè)Chart,Deployment名稱為nginx,副本數(shù)為1,然后將該Chart部署到default

命名空間下,Release名稱為web。

完成后提交master節(jié)點(diǎn)的用戶名、密碼和IP到答題框。

1.Harbor倉庫部署成功得0.5分;

2.Helm工具安裝成功得0.2分;

3.Chart包部署成功得0.3分。

【題目5】集群管理--備份ETCD數(shù)據(jù)[1分]

Kubernetes使用ETCD來存儲(chǔ)集群的實(shí)時(shí)運(yùn)行數(shù)據(jù),為防止服務(wù)器宕機(jī)導(dǎo)致Kubernetes

集群數(shù)據(jù)丟失,請(qǐng)將Kubernetes集群數(shù)據(jù)備份到/root/etcd.db中。

完成后提交master節(jié)點(diǎn)的IP地址、用戶名和密碼到答題框。

1.etcdctl工具安裝成功得0.2分;

2.ETCD數(shù)據(jù)備份成功得0.8分。

【任務(wù)2】容器云應(yīng)用部署:DockerCompose編排部署[7.0分]

【適用平臺(tái)】私有云

Hyperf是一個(gè)高性能、高靈活性的漸進(jìn)式PHP協(xié)程框架,內(nèi)置協(xié)程服務(wù)器及大量常用

的組件,性能較傳統(tǒng)基于PHP-FPM的框架有質(zhì)的提升,提供超高性能的同時(shí),也保持著極

其靈活的可擴(kuò)展性。請(qǐng)根據(jù)要求完成數(shù)據(jù)庫服務(wù)MariaDB、緩存服務(wù)Redis、微服務(wù)Hyperf

及前端服務(wù)Nginx按照要求進(jìn)行容器化。

【題目1】容器化MariaDB服務(wù)[1分]

編寫Dockerfile文件構(gòu)建hyperf-mariadb:v1.0鏡像,具體要求如下:(需要用到的軟件包:

Hyperf.tar.gz)

(1)基礎(chǔ)鏡像:centos:7.9.2009;

(2)完成MariaDB服務(wù)的安裝;

(3)聲明端口:3306;

(4)設(shè)置數(shù)據(jù)庫root用戶的密碼為root;

(5)將提供的數(shù)據(jù)庫文件hyperf_admin.sql導(dǎo)入數(shù)據(jù)庫;

(6)設(shè)置服務(wù)開機(jī)自啟。

完成后構(gòu)建鏡像,并提交master節(jié)點(diǎn)的用戶名、密碼和IP地址到答題框。

1.鏡像構(gòu)建成功得0.5分;

2.數(shù)據(jù)庫安裝且導(dǎo)入數(shù)據(jù)成功得0.5分。

【題目2】容器化Redis服務(wù)[1分]

編寫Dockerfile文件構(gòu)建hyperf-redis:v1.0鏡像,具體要求如下:(需要用到的軟件包:

Hyperf.tar.gz)

(1)基礎(chǔ)鏡像:centos:7.9.2009;

(2)安裝Redis服務(wù);

(3)關(guān)閉保護(hù)模式;

(4)聲明端口:6379;

(5)設(shè)置服務(wù)開機(jī)自啟。

完成后構(gòu)建鏡像,并提交master節(jié)點(diǎn)的用戶名、密碼和IP地址到答題框。

1.鏡像構(gòu)建成功的0.5分;

2.Redis服務(wù)安裝成功且配置正確得0.5分。

【題目3】容器化Nginx服務(wù)[0.5分]

編寫Dockerfile文件構(gòu)建hyperf-nginx:v1.0鏡像,具體要求如下:(需要用到的軟件包:

Hyperf.tar.gz)

(1)基礎(chǔ)鏡像:centos:7.9.2009;

(2)安裝nginx服務(wù);

(3)聲明端口:80;

(4)設(shè)置服務(wù)開機(jī)自啟。

完成后構(gòu)建鏡像,并提交master節(jié)點(diǎn)的用戶名、密碼和IP地址到答題框。

1.鏡像構(gòu)建成功得0.3分;

2.Nginx安裝成功且配置正確得0.2分。

【題目4】容器化Hyperf服務(wù)[1分]

編寫Dockerfile文件構(gòu)建hyperf-service:v1.0鏡像,具體要求如下:(需要用到的軟件包:

Hyperf.tar.gz)

(1)基礎(chǔ)鏡像:centos:7.9.2009;

(2)安裝PHP及擴(kuò)展;

(3)使用源碼編譯安裝Swoole。

完成后構(gòu)建鏡像,并提交master節(jié)點(diǎn)的用戶名、密碼和IP地址到答題框。

1.鏡像構(gòu)建成功得0.5分;

2.PHP安裝成功得0.2分;

3.Swoole安裝成功得0.3分。

【題目5】編排部署Hyperf框架[3.5分]

編寫/root/hyperf/project/docker-compose.yaml文件,具體要求如下:

(1)容器1名稱:hyperf-mysql;鏡像:hyperf-mariadb:v1.0;端口映射:3306:3306;

(2)容器2名稱:hyperf-redis;鏡像:hyperf-redis:v1.0;

(3)容器3名稱:hyperf-ui;鏡像:hyperf-nginx:v1.0;端口映射:80:8081;

(4)容器4名稱:hyperf-service;鏡像:hyperf-service:v1.0。

完成后編排部署Hyperf框架,并提交master節(jié)點(diǎn)的用戶名、密碼和IP地址到答題框。

1.docker-compose.yaml文件編排成功得1.5分;

2.8081端口訪問服務(wù)成功得1分;

3.Hyperf-service連接數(shù)據(jù)庫和Redis成功得1分。

【任務(wù)3】容器云應(yīng)用部署:基于Kubernetes構(gòu)建CICD[8.0分]

該公司決定采用Kubernetes+GitLabCI來構(gòu)建CICD環(huán)境,以縮短新功能開發(fā)上線周

期,及時(shí)滿足客戶的需求,實(shí)現(xiàn)DevOps的部分流程,來減輕部署運(yùn)維的負(fù)擔(dān),實(shí)現(xiàn)可視化

容器生命周期管理、應(yīng)用發(fā)布和版本迭代更新,請(qǐng)完成GitLabCI+Kubernetes的CICD環(huán)

境部署(構(gòu)建持續(xù)集成所需要的所有軟件包在軟件包CICD-Runner.tar.gz中)。CICD應(yīng)用系

統(tǒng)架構(gòu)如下:

【適用平臺(tái)】私有云

【題目1】安裝GitLab環(huán)境[1分]

在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)

1.GitLab部署正確且能正常訪問得0.5分;

2.項(xiàng)目導(dǎo)入成功得0.5分。

【題目2】部署GitLabRunner[2分]

將GitLabRunner部署到gitlab-ci命名空間下,Release名稱為gitlab-runner,為GitLab

Runner創(chuàng)建持久化構(gòu)建緩存目錄/home/gitlab-runner/ci-build-cache以加速構(gòu)建速度,并將其

注冊(cè)到GitLab中。

完成后提交master節(jié)點(diǎn)的用戶名、密碼和IP地址到答題框。(需要用到的軟件包路徑

CICD-Runner.tar.gz)

1.GitLabRunner部署成功得0.5分;

2.GitLabRunner注冊(cè)成功得0.5分;

3.GitLabRunner持久化配置成功得1分。

【題目3】配置GitLab[1.5分]

將Kubernetes集群添加到demo-2048項(xiàng)目中,并命名為kubernetes-agent,項(xiàng)目命名空

間選擇gitlab-ci。

完成后提交master節(jié)點(diǎn)的用戶名、密碼和IP地址到答題框。(需要用到的軟件包路徑

CICD-Runner.tar.gz)

1.GitLabAgent安裝成功得1分;

2.Kubernetes連接成功得0.5分。

【題目4】構(gòu)建CICD[3.5分]

編寫流水線腳本.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)

1.項(xiàng)目變異成功得0.5分;

2.鏡像構(gòu)建成功得1分;

3.服務(wù)發(fā)布成功得1分;

4.服務(wù)能正常訪問得1分。

【任務(wù)4】容器云服務(wù)運(yùn)維:Kubernetes基于容器的運(yùn)維[6分]

【適用平臺(tái)】私有云

【題目1】Pod管理--創(chuàng)建Pod[0.5分]

在default命名空間下使用nginx:latest鏡像創(chuàng)建一個(gè)QoS類為Guaranteed的Pod,名稱

為qos-demo。

完成后提交master節(jié)點(diǎn)的IP地址、用戶名和密碼到答題框。

1.Pod創(chuàng)建成功得0.2分;

2.PodQoS類型為Guaranteed得0.3分。

【題目2】安全管理--配置Pod安全上下文[0.5分]

使用busybox鏡像啟動(dòng)一個(gè)名為context-demo的Pod,為該P(yáng)od配置安全上下文,要求

容器內(nèi)以用戶1000和用戶組3000來運(yùn)行所有進(jìn)程,并在啟動(dòng)時(shí)執(zhí)行“sleep1h”命令。

完成后提交master節(jié)點(diǎn)的IP地址、用戶名和密碼到答題框。

1.Pod安全上下午配置正確得0.5分。

【題目3】CRD管理--創(chuàng)建自定義資源類型[0.5分]

在Kubernetes集群中自定義一種資源類型Student,API為/v1,單數(shù)

形式為student,復(fù)數(shù)形式為students,簡寫為stu,作用域?yàn)槊臻g級(jí),然后在default命

名空間下創(chuàng)建一個(gè)名為exam的Student對(duì)象。

完成后提交master節(jié)點(diǎn)的IP地址、用戶名和密碼到答題框。

1.資源類型Student定義成功的0.3分;

2.exam創(chuàng)建成功得0.2分。

【題目4】解析管理--添加主機(jī)別名到Pod[0.5分]

使用nginx鏡像在default命名空間下創(chuàng)建一個(gè)名為nginx的Pod,并在Pod的/etc/hosts

中添加IP地址與chinaskills的解析。

完成后提交master節(jié)點(diǎn)的IP地址、用戶名和密碼到答題框。

1.自定義解析配置正確得0.5分。

【題目5】HPA管理--創(chuàng)建HPA規(guī)則[1分]

默認(rèn)情況下HPA是無法調(diào)整伸縮靈敏度的,但不同的業(yè)務(wù)場景對(duì)伸縮靈敏度的要求不

一樣。要求在default命名空間下使用nginx鏡像創(chuàng)建一個(gè)名為web的deployment,自定義

HPA的伸縮靈敏度,為該deployment創(chuàng)建一個(gè)名為web的HPA,擴(kuò)容時(shí)立即新增當(dāng)前9倍

數(shù)量的副本數(shù),時(shí)間窗口為5s,伸縮范圍為1--1000。例如一開始只有1個(gè)Pod,當(dāng)CPU使

用率超過80%時(shí),Pod數(shù)量變化趨勢為:1→10→100→1000。

完成后提交master節(jié)點(diǎn)的IP地址、用戶名和密碼到答題框。

1.HPA創(chuàng)建成功得0.2分;

2.HPA伸縮策略配置正確得0.8分。

【題目6】節(jié)點(diǎn)親和性管理--創(chuàng)建硬限制規(guī)則的Pod[0.5分]

在default命名空間下使用nginx鏡像運(yùn)行一個(gè)Pod,名稱為nginx,要求使用

requiredDuringSchedulingIgnoredDuringExecution策略將Pod調(diào)度到具有“disktype=ssd”標(biāo)

簽的節(jié)點(diǎn)。

完成后提交master節(jié)點(diǎn)的用戶名、密碼和IP到答題框。

1.Pod調(diào)度策略配置正確得0.5分。

【題目7】網(wǎng)絡(luò)策略管理--創(chuàng)建Pod網(wǎng)絡(luò)策略[0.5分]

創(chuàng)建一個(gè)網(wǎng)絡(luò)策略network-exam,要求只有internal命名空間下的Pod可以通過TCP

協(xié)議的8080端口訪問到mysql命名空間下的Pod。

完成后提交master節(jié)點(diǎn)的IP、用戶名和密碼到答題框。

1.網(wǎng)絡(luò)策略創(chuàng)建成功得0.2分;

2.規(guī)則配置正確得0.3分。

【題目8】驅(qū)逐機(jī)制管理--配置節(jié)點(diǎn)壓力驅(qū)逐[0.5分]

設(shè)置kubelet數(shù)據(jù)存儲(chǔ)在/apps/data/kubelet目錄下,并設(shè)置當(dāng)kubelet的存儲(chǔ)空間不足5%,

或者當(dāng)容器運(yùn)行時(shí)文件系統(tǒng)可用存儲(chǔ)空間不足5%時(shí)開始驅(qū)逐Pod。

完成后提交master節(jié)點(diǎn)的IP地址、用戶名和密碼到答題框。

1.節(jié)點(diǎn)壓力驅(qū)逐配置正確得0.5分。

【題目9】流量管理--創(chuàng)建IngressGateway[0.5分]

使用提供的軟件包ServiceMesh.tar.gz將Bookinfo應(yīng)用部署到default命名空間下,使用

IstioGateway可以實(shí)現(xiàn)應(yīng)用程序從外部訪問,請(qǐng)為Bookinfo應(yīng)用創(chuàng)建一個(gè)名為

bookinfo-gateway的網(wǎng)關(guān),指定所有HTTP流量通過80端口流入網(wǎng)格,然后將網(wǎng)關(guān)綁定到虛

擬服務(wù)bookinfo上。

完成后提交master節(jié)點(diǎn)的IP地址、用戶名和密碼到答題框。

1.Bookinfo應(yīng)用部署成功得0.2分;

2.Bookinfo能通過網(wǎng)關(guān)訪問得0.3分。

【題目10】服務(wù)網(wǎng)格--創(chuàng)建基于用戶身份的路由[0.5分]

創(chuàng)建一個(gè)名為reviews路由,要求來自名為Jason的用戶的所有流量將被路由到服務(wù)

reviews:v2。

完成后提交master節(jié)點(diǎn)的用戶名、密碼和IP到答題框。

1.路由創(chuàng)建成功得0.2分;

2.用戶限制正確得0.3分。

【題目11】服務(wù)網(wǎng)格--創(chuàng)建請(qǐng)求路由[0.5分]

在default命名空間下創(chuàng)建一個(gè)名為reviews-route的虛擬服務(wù),默認(rèn)情況下,所有的HTTP

流量都會(huì)被路由到標(biāo)簽為version:v1的reviews服務(wù)的Pod上。此外,路徑以/wpcatalog/或

/consumercatalog/開頭的HTTP請(qǐng)求將被重寫為/newcatalog,并被發(fā)送到標(biāo)簽為version:v2的

Pod上。

完成后提交master節(jié)點(diǎn)的IP地址、用戶名和密碼到答題框。

1.請(qǐng)求路由創(chuàng)建成功得0.2分;

2.路由策略配置正確得0.3分。

【任務(wù)5】容器云服務(wù)運(yùn)維:Kubernetes基于虛擬機(jī)的運(yùn)維[4.0分]

【適用平臺(tái)】私有云

【題目1】VM管理--創(chuàng)建VM[0.5分]

使用鏡像fedora-virt:v1.0在default命名空間下創(chuàng)建一臺(tái)vm,名稱為vm-fedora,內(nèi)存為

1G。

完成后提交master節(jié)點(diǎn)的IP地址、用戶名和密碼到答題框。

1.VM創(chuàng)建成功得0.3分;

2.VM配置正確得0.2分。

【題目2】存儲(chǔ)與卷--創(chuàng)建emptyDisk卷[1分]

使用鏡像fedora-virt:v1.0在default命名空間下創(chuàng)建一臺(tái)vmi,名稱為vmi-fedora,并使

用emptyDisk卷為vmi掛載一塊2G的磁盤。

完成后提交master節(jié)點(diǎn)的IP地址、用戶名和密碼到答題框。

1.VMI創(chuàng)建成功得0.4分;

2.卷掛載成功得0.6分。

【題目3】KubeVirt運(yùn)維--創(chuàng)建VMI[1.5分]

將提供的鏡像exam.qcow2轉(zhuǎn)換為docker鏡像exam:v1.0,然后使用鏡像exam:v1.0鏡像

在default命名空間下創(chuàng)建一臺(tái)vmi,名稱為exam,將虛擬機(jī)的80端口以NodePort的方式

對(duì)外暴露為30082,并使用數(shù)據(jù)源在啟動(dòng)時(shí)將VM的主機(jī)名初始化為exam。

完成后提交master節(jié)點(diǎn)的IP地址、用戶名和密碼到答題框。

1.qcow2鏡像轉(zhuǎn)化成功得0.3分;

2.VMI創(chuàng)建成功得0.3分;

3.端口暴露成功得0.3分;

4.服務(wù)能正常訪問得0.4分;

5.主機(jī)名初始化成功得0.2分。

【題目4】KubeVirt運(yùn)維--啟用快照[1分]

KubeVirt支持對(duì)VM進(jìn)行快照,請(qǐng)啟用KubeVirt快照管理功能:

完成后提交master節(jié)點(diǎn)的IP地址、用戶名和密碼到答題框。

1.快照功能啟用成功得1分。

【任務(wù)6】容器云運(yùn)維開發(fā):KubernetesAPIs運(yùn)維開發(fā)[10分]

【適用平臺(tái)】私有云

【題目1】Python運(yùn)維開發(fā):基于KubernetesRestfulAPI實(shí)現(xiàn)Deployment創(chuàng)建[2分]

在提供的OpenStack私有云平臺(tái)上,使用k8s-python-dev鏡像創(chuàng)建1臺(tái)云主機(jī),云主機(jī)

類型使用4vCPU/12G內(nèi)存/100G硬盤。該主機(jī)中已經(jīng)默認(rèn)安裝了所需的開發(fā)環(huán)境,登錄默

認(rèn)賬號(hào)密碼為“root/1DaoYun@2022”。

使用KubernetesRestfulAPI庫,在/root目錄下,創(chuàng)建api_deployment_manager.py文件,

要求編寫python代碼,代碼實(shí)現(xiàn)以下任務(wù):

(1)編寫Python程序?qū)崿F(xiàn)Deployment資源的創(chuàng)建。Deployment配置信息如下。如果

同名Deployment存在,先刪除再創(chuàng)建。

(2)創(chuàng)建完成后,查詢?cè)揇eployment的詳細(xì)信息,執(zhí)行結(jié)果控制臺(tái)輸出,以yaml格

式展示。

創(chuàng)建Deployment的yaml的配置如下:

apiVersion:apps/v1

kind:Deployment

metadata:

name:nginx-deployment

labels:

app:nginx

spec:

replicas:3

selector:

matchLabels:

app:nginx

template:

metadata:

labels:

app:nginx

spec:

containers:

-name:nginx

image:nginx:1.15.4

ports:

-containerPort:80

1.執(zhí)行api_deployment_manager.py腳本,成功創(chuàng)建deployment資源,計(jì)1分;

2.檢查創(chuàng)建的deployment資源,配置信息無誤計(jì)1分。

【題目2】Python運(yùn)維開發(fā):基于KubernetesPythonSDK實(shí)現(xiàn)Job創(chuàng)建[1分]

在前面已建好的Kubernetes開發(fā)環(huán)境云平臺(tái)上。使用KubernetespythonSDK的

“kubernetes”Python庫,在/root目錄下,創(chuàng)建sdk_job_manager.py文件,要求編寫python代

碼,代碼實(shí)現(xiàn)以下任務(wù):

(1)編寫Python程序?qū)崿F(xiàn)Job資源的創(chuàng)建。Job配置信息如下。如果同名Job存在,

先刪除再創(chuàng)建。

(2)創(chuàng)建完成后,查詢?cè)揓ob的詳細(xì)信息,執(zhí)行結(jié)果控制臺(tái)輸出,以json格式展示。

Job創(chuàng)建yaml的信息如下:

apiVersion:batch/v1

kind:Job

metadata:

name:pi

spec:

template:

spec:

containers:

-name:pi

image:perl

command:["perl","-Mbignum=bpi","-wle","printbpi(2000)"]

restartPolicy:Never

backoffLimit:4

1.執(zhí)行sdk_job_manager.py腳本,成功創(chuàng)建job資源,計(jì)0.5分;

2.查詢job資源,配置信息無誤,計(jì)0.5分。

【題目3】Python運(yùn)維開發(fā):Pod資源的RestfulAPIsHTTP服務(wù)封裝[3分]

編寫Python程序?qū)崿F(xiàn)Pod資源管理程序,將Pod資源管理的封裝成Web服務(wù)。

在/root目錄下創(chuàng)建pod_server.py程序,實(shí)現(xiàn)Pod的增刪查改等Web訪問操作。http.server

的host為localhost,端口8889;程序內(nèi)部實(shí)現(xiàn)Kubernetes認(rèn)證。

提示說明:Python標(biāo)準(zhǔn)庫http.server模塊,提供了HTTPServer請(qǐng)求封裝。

需要實(shí)現(xiàn)的RestfulAPI接口如下:

GET/pod/{name},查詢指定名稱{name}的Pod;Response的Body以json格式輸出。

POST/pod/{yamlfilename}創(chuàng)建yaml文件名稱為{yamlfilename}的Pod;Response的

Body以json格式。

編碼完成后,“手工下載”文件服務(wù)器主目錄所有*.yaml文件到root目錄下,“手動(dòng)執(zhí)

行”所編寫pod_server.py程序,提交答案進(jìn)行檢測。

1.HTTP服務(wù)成功啟動(dòng),計(jì)1分;

2.發(fā)起指定參數(shù)的GET查詢Pod請(qǐng)求,成功查詢指定名稱的pod服務(wù),計(jì)1分;

3.發(fā)起指定參數(shù)的POST創(chuàng)建Pod請(qǐng)求,成功創(chuàng)建Pod服務(wù),計(jì)1分。

【題目4】Python運(yùn)維開發(fā):Service資源RestfulAPIsHTTP服務(wù)封裝[4分]

編寫Python程序?qū)崿F(xiàn)Service資源管理程序,將Service資源管理的封裝成Web服務(wù)。

在/root目錄下創(chuàng)建service_server.py程序,實(shí)現(xiàn)Service的增刪查改等Web訪問操作。

http.server的host為localhost,端口8888;程序內(nèi)部實(shí)現(xiàn)Kubernetes認(rèn)證。

提示說明:Python標(biāo)準(zhǔn)庫http.server模塊,提供了HTTPServer請(qǐng)求封裝。

需要實(shí)現(xiàn)的RestfulAPI接口如下:

GET/services/{name},查詢指定名稱{name}的Service;Response的Body以json格式

輸出。

POST/services/{yamlfilename}創(chuàng)建yaml文件名稱為{yamlfilename}的Service;

Response的Body以json格式,(手工將文件服務(wù)器主目錄所有*.yaml文件下載到root目錄

下)。

DELETE/services/{name};刪除指定名稱的Service;Response的Body以json格式。

編碼完成后,自己手動(dòng)執(zhí)行提供WebHTTP服務(wù)的service_server.py程序,提交答案進(jìn)

行檢測。

1.HTTP服務(wù)成功啟動(dòng),計(jì)1分;

2.發(fā)起指定參數(shù)的POST創(chuàng)建service請(qǐng)求,成功創(chuàng)建service資源,計(jì)1分;

3.發(fā)起指定參數(shù)的GET查詢service請(qǐng)求,成功查詢指定名稱的Service,計(jì)1分;

4.發(fā)起指定參數(shù)的DELETE刪除service請(qǐng)求,成功刪除指定名稱的Service,計(jì)1分。

2022年全國職業(yè)院校技能大賽高職組云計(jì)算賽項(xiàng)試卷

【賽程名稱】云計(jì)算賽項(xiàng)第二場-容器云

說明:完成本任務(wù)需要兩臺(tái)安裝了CentOS7.9操作系統(tǒng)的云主機(jī):master和node。

Chinaskill_Cloud_PaaS.iso鏡像包中有本次容器云部署所需的所有文件,運(yùn)維所需的文件見附件。

某公司技術(shù)部產(chǎn)品開發(fā)上線周期長,客戶的需求經(jīng)常得不到及時(shí)響應(yīng)。引入CICD

(ContinuousIntegration持續(xù)集成、ContinuousDelivery持續(xù)交付)成了公司的當(dāng)務(wù)之急,研

發(fā)團(tuán)隊(duì)決定搭建基于Kubernetes的CICD環(huán)境,希望基于這個(gè)平臺(tái)來實(shí)現(xiàn)DevOps的部分流

程,來減輕開發(fā)、部署、運(yùn)維的負(fù)擔(dān)。

為了能夠讓公司開發(fā)的web應(yīng)用系統(tǒng)產(chǎn)品能夠基于服務(wù)器的性能、可靠性、高可用性

與方便維護(hù),研發(fā)部決定使用微服務(wù)架構(gòu),實(shí)現(xiàn)基于Kubernetes的容器化部署。

節(jié)點(diǎn)規(guī)劃如表1所示。

表1容器云平臺(tái)節(jié)點(diǎn)規(guī)劃

節(jié)點(diǎn)角色主機(jī)名VCPUS內(nèi)存硬盤

Master、Harbor、CICDmaster812G100G

WorkerNodenode88G100G

【任務(wù)1】容器云平臺(tái)搭建[5分]

【適用平臺(tái)】私有云

【題目1】平臺(tái)部署--部署容器云平臺(tái)[1.5分]

登錄OpenStack私有云平臺(tái),使用CentOS7.9鏡像創(chuàng)建兩臺(tái)云主機(jī),使用kubeeasy工具

完成Kubernetes1.22.1集群的搭建。然后使用nginx鏡像在default命名空間下創(chuàng)建一個(gè)名為

exam的Pod,并為該P(yáng)od設(shè)置環(huán)境變量exam,其值為2022。

完成后提交master節(jié)點(diǎn)的用戶名、密碼和IP到答題框。

1.Kubernetes集群部署成功得1分;

2.Pod創(chuàng)建成功且環(huán)境變量設(shè)置正確得0.5分。

【題目2】平臺(tái)部署--部署Istio服務(wù)網(wǎng)格[0.5分]

溫馨提示

  • 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)論