公有云技術(shù)應(yīng)用 課件 項(xiàng)目4 公有云容器化部署_第1頁
公有云技術(shù)應(yīng)用 課件 項(xiàng)目4 公有云容器化部署_第2頁
公有云技術(shù)應(yīng)用 課件 項(xiàng)目4 公有云容器化部署_第3頁
公有云技術(shù)應(yīng)用 課件 項(xiàng)目4 公有云容器化部署_第4頁
公有云技術(shù)應(yīng)用 課件 項(xiàng)目4 公有云容器化部署_第5頁
已閱讀5頁,還剩58頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

項(xiàng)目4公有云容器化部署公有云綜合運(yùn)維知識(shí)目標(biāo)學(xué)習(xí)目標(biāo)技能目標(biāo)學(xué)習(xí)目標(biāo)

認(rèn)識(shí)云原生技術(shù)棧相關(guān)技術(shù)的使用。掌握kubernetes云平臺(tái)部署。掌握kubernetes的基礎(chǔ)知識(shí)。掌握kubernetes部署應(yīng)用系統(tǒng)的流程。4.1公有云上原生Kubernetes云平臺(tái)部署4.2基于Kubernetes集群的博客系統(tǒng)部署與運(yùn)維目錄CONTENTS目錄4.3基于公有云容器平臺(tái)的博客系統(tǒng)部署與運(yùn)維4.1公有云上原生Kubernetes云平臺(tái)部署1.掌握容器技術(shù)的架構(gòu)2.掌握Kubernetes的含義任務(wù)描述任務(wù)4.13.掌握容器的操作流程4.掌握Kubernetes搭建流程1.Docker容器技術(shù)Docker是一個(gè)開源的應(yīng)用容器引擎,基于Go語言并遵從Apache2.0協(xié)議開源。Docker可以讓開發(fā)者打包他們的應(yīng)用以及依賴包到一個(gè)輕量級(jí)、可移植的容器中,然后發(fā)布到任何流行的Linux機(jī)器上,也可以實(shí)現(xiàn)虛擬化。同時(shí)Docker也提供了一種將應(yīng)用程序安全,隔離運(yùn)行的一種方式,能夠?qū)?yīng)用程序依賴和庫文件打包在一個(gè)容器中,后續(xù)再任何地方運(yùn)行起來即可,其包含了應(yīng)用程序所依賴相關(guān)環(huán)境,一次構(gòu)建,任意運(yùn)行(buildonce,runanywhere),Docker的架構(gòu)如圖4-1-1所示。知識(shí)學(xué)習(xí)任務(wù)4.11.Docker容器技術(shù)Docker組成:DockerDaemon:容器管理組件,守護(hù)進(jìn)程,負(fù)責(zé)容器,鏡像,存儲(chǔ),網(wǎng)絡(luò)等管理DockerClient:容器客戶端,負(fù)責(zé)和DockerDaemon交互,完成容器生命周期管理DockerRegistry:容器鏡像倉(cāng)庫,負(fù)責(zé)存儲(chǔ),分發(fā),打包DockerObject:容器對(duì)象,主要包含container和images容器的優(yōu)勢(shì)與挑戰(zhàn):知識(shí)學(xué)習(xí)任務(wù)4.12.kubernetes簡(jiǎn)介與功能Kubernetes是google開源的一套微服務(wù),容器化的編排引擎,提供容器化應(yīng)用的自動(dòng)化部署,橫向擴(kuò)展和管理,是google內(nèi)部容器十多年實(shí)戰(zhàn)沉淀的結(jié)晶,已戰(zhàn)勝Swarm,Mesos成為容器編排的行業(yè)標(biāo)準(zhǔn)。kuberntes內(nèi)置有很多非常優(yōu)秀的特性使開發(fā)者專注于業(yè)務(wù)本身,其包含的功能如下:知識(shí)學(xué)習(xí)任務(wù)4.12.kubernetes簡(jiǎn)介與功能Servicediscoveryandloadbalancing:服務(wù)發(fā)現(xiàn)和負(fù)載均衡,通過DNS實(shí)現(xiàn)內(nèi)部解析,service實(shí)現(xiàn)負(fù)載均衡。Storageorchestration:存儲(chǔ)編排,通過plungin的形式支持多種存儲(chǔ),如本地,nfs,ceph,公有云塊存儲(chǔ)等。Automatedrolloutsandrollbacks:自動(dòng)發(fā)布與回滾,通過匹配當(dāng)前狀態(tài)與目標(biāo)狀態(tài)一致,更新失敗時(shí)可回滾。Automaticbinpacking:自動(dòng)資源調(diào)度,可以設(shè)置pod調(diào)度的所需(requests)資源和限制資源(limits)。Self-healing:內(nèi)置的健康檢查策略,自動(dòng)發(fā)現(xiàn)和處理集群內(nèi)的異常,更換,需重啟的pod節(jié)點(diǎn)。Secretandconfigurationmanagement:密鑰和配置管理,對(duì)于敏感信息如密碼,賬號(hào)的那個(gè)通過secret存儲(chǔ),應(yīng)用的配置文件通過configmap存儲(chǔ),避免將配置文件固定在鏡像中,增加容器編排的靈活性。Batchexecution:批處理執(zhí)行,通過job和cronjob提供單次批處理任務(wù)和循環(huán)計(jì)劃任務(wù)功能的實(shí)現(xiàn)。Horizontalscaling:橫向擴(kuò)展功能,包含有HPA和AS,即應(yīng)用的基于CPU利用率的彈性伸縮和基于平臺(tái)級(jí)的彈性伸縮,如自動(dòng)增加node和刪除nodes節(jié)點(diǎn)。知識(shí)學(xué)習(xí)任務(wù)4.13.kubernetes架構(gòu)解析kubernetes包含兩種角色:master節(jié)點(diǎn)和node節(jié)點(diǎn),master節(jié)點(diǎn)是集群的控制管理節(jié)點(diǎn),作為整個(gè)k8s集群的大腦,負(fù)責(zé)集群所有接入請(qǐng)求(kube-api-server),在整個(gè)集群的入口;(三個(gè)主要功能)。集群資源調(diào)度(kube-controller-scheduler),通過watch監(jiān)視pod的創(chuàng)建,負(fù)責(zé)將pod調(diào)度到合適的node節(jié)點(diǎn);資源調(diào)度。集群狀態(tài)的一致性(kube-controller-manager),通過多種控制器確保集群的一致性,包含有NodeController,ReplicationController,EndpointsController等。元數(shù)據(jù)信息存儲(chǔ)(etcd),主要用于存儲(chǔ)kubernetes集群狀態(tài)的數(shù)據(jù);存儲(chǔ)node節(jié)點(diǎn)和四個(gè)角色的狀態(tài)數(shù)據(jù)。云控制器管理器(cloud-ccontroller-manager),主要用于公有云的集成。知識(shí)學(xué)習(xí)任務(wù)4.13.kubernetes架構(gòu)解析node節(jié)點(diǎn)是實(shí)際的工作節(jié)點(diǎn),負(fù)責(zé)集群負(fù)載的實(shí)際運(yùn)行,即pod運(yùn)行的載體,其通常包含三個(gè)組件:ContainerRuntime,kubelet和kube-proxyContainerRuntime:是容器運(yùn)行時(shí),負(fù)責(zé)實(shí)現(xiàn)container生命周期管理,如docker,containerd,rktlet;Kubelet:負(fù)責(zé)鏡像和pod的管理,kube-proxy:是service服務(wù)實(shí)現(xiàn)的抽象,負(fù)責(zé)維護(hù)和轉(zhuǎn)發(fā)pod的路由,實(shí)現(xiàn)集群內(nèi)部和外部網(wǎng)絡(luò)的訪問。知識(shí)學(xué)習(xí)任務(wù)4.14.華為云公有云容器發(fā)展作為容器最早的采用者之一,華為自2013年起就在內(nèi)部多個(gè)產(chǎn)品落地容器技術(shù),2014年開始廣泛使用Kubernetes。云原生2.0,企業(yè)云化從“ONCloud”走向“INCloud”,生于云、長(zhǎng)于云且立而不破。智能升級(jí)新階段,賦能“新云原生企業(yè)。云原生2.0是企業(yè)智能升級(jí)的新階段,企業(yè)云化從“ONCloud”走向“INCloud“,成為”新云原生企業(yè)“。知識(shí)學(xué)習(xí)任務(wù)4.15.云原生基礎(chǔ)設(shè)施云容器引擎(CloudContainerEngine,簡(jiǎn)稱CCE)云容器實(shí)例(CloudContainerInstance,簡(jiǎn)稱CCI)容器鏡像服務(wù)(SoftwareRepositoryforContainer,簡(jiǎn)稱SWR)容器安全服務(wù)(ContainerGuardService,CGS)智能邊緣平臺(tái)(IntelligentEdgeFabric,簡(jiǎn)稱IEF)多云容器平臺(tái)(Multi-CloudContainerPlatform,簡(jiǎn)稱MCP)應(yīng)用服務(wù)網(wǎng)格(ApplicationServiceMesh,簡(jiǎn)稱ASM)知識(shí)學(xué)習(xí)任務(wù)4.16.云原生應(yīng)用賦能應(yīng)用敏捷軟件開發(fā)平臺(tái)(DevCloud)應(yīng)用管理與運(yùn)維平臺(tái)(ServiceStage)應(yīng)用與數(shù)據(jù)集成平臺(tái)(ROMAConnect)分布式消息服務(wù)(Kafka)函數(shù)工作流(FunctionGraph)業(yè)務(wù)智能AI開發(fā)平臺(tái)(ModelArts)云數(shù)據(jù)庫(GaussDB)數(shù)據(jù)湖治理中心(DGC)安全可信數(shù)據(jù)安全中心服務(wù)(DSC)企業(yè)主機(jī)安全服務(wù)(HSS)態(tài)勢(shì)感知(SA)Anti-DDoS流量清洗服務(wù)(Anti-DDoS)知識(shí)學(xué)習(xí)任務(wù)4.17.云容器引擎的優(yōu)勢(shì)云容器引擎(CloudContainerEngine,簡(jiǎn)稱CCE)提供高度可擴(kuò)展的、高性能的企業(yè)級(jí)Kubernetes集群,支持運(yùn)行Docker容器。借助云容器引擎,您可以在華為云上輕松部署、管理和擴(kuò)展容器化應(yīng)用程序,其架構(gòu)如圖如圖4-1-5所示。知識(shí)學(xué)習(xí)任務(wù)4.17.云容器引擎的優(yōu)勢(shì)云容器引擎深度整合華為云高性能的計(jì)算(ECS/BMS)、網(wǎng)絡(luò)(VPC/EIP/ELB)、存儲(chǔ)(EVS/OBS/SFS)等服務(wù),并支持GPU、NPU、ARM、FPGA等異構(gòu)計(jì)算架構(gòu),支持多可用區(qū)(Availablezone,簡(jiǎn)稱AZ)、多區(qū)域(Region)容災(zāi)等技術(shù)構(gòu)建高可用Kubernetes集群,其架構(gòu)如4-1-6所示。知識(shí)學(xué)習(xí)任務(wù)4.1任務(wù)實(shí)施任務(wù)4.1

1.云主機(jī)部署kubernetes(1)環(huán)境說明和準(zhǔn)備①設(shè)置主機(jī)名,其他兩個(gè)節(jié)點(diǎn)類似設(shè)置[root@kubernetes-1-0001~]#hostnamectlset-hostnamenode-1[root@kubernetes-1-0001~]#bash②設(shè)置hosts文件,并將文件遠(yuǎn)程復(fù)制到node-2和node-3[root@node-1~]#vim/etc/hosts28node-192node-243node-3[root@node-1~]#scp/etc/hostsnode-2:/etc/[root@node-1~]#scp/etc/hostsnode-3:/etc/任務(wù)實(shí)施任務(wù)4.1

1.云主機(jī)部署kubernetes(1)環(huán)境說明和準(zhǔn)備③設(shè)置SSH無密碼登錄,并通過ssh-copy-id將公鑰拷貝到node-2和node-3[root@node-1~]#ssh-keygen[root@node-1~]#ssh-copy-idnode-2[root@node-1~]#ssh-copy-idnode-3④三個(gè)節(jié)點(diǎn)關(guān)閉防火墻和設(shè)置為開機(jī)不啟用[root@node-1~]#systemctlstopfirewalld[root@node-1~]#systemctldisablefirewalld⑤三個(gè)節(jié)點(diǎn)修改selinux[root@node-1~]#setenforce0[root@node-1~]#getenforceDisabled任務(wù)實(shí)施任務(wù)4.1

1.云主機(jī)部署kubernetes(2)三臺(tái)節(jié)點(diǎn)安裝Docker環(huán)境①下載docker和centos的yum源文件[root@node-1~]#curl-o/etc/yum.repos.d/dockerce.repo/dockerce/linux/centos/docker-ce.repo[root@node-1~]#curl-o/etc/yum.repos.d/CentOSBase.repo/repo/Centos7.repo②將docker和centos的yum源文件遠(yuǎn)程復(fù)制到node-2和node-3[root@node-1~]#scp/etc/yum.repos.d/docker-ce.reponode-2:/etc/yum.repos.d/[root@node-1~]#scp/etc/yum.repos.d/docker-ce.reponode-3:/etc/yum.repos.d/[root@node-1~]#scp/etc/yum.repos.d/CentOS-Base.reponode-2:/etc/yum.repos.d/[root@node-1~]#scp/etc/yum.repos.d/CentOS-Base.reponode-3:/etc/yum.repos.d/任務(wù)實(shí)施任務(wù)4.1

1.云主機(jī)部署kubernetes(2)三臺(tái)節(jié)點(diǎn)安裝Docker環(huán)境③三個(gè)節(jié)點(diǎn)分別安裝docker[root@node-1~]#yuminstalldocker-ce-19.03.8dockerce-cli-19.03.8containerd.io-1.2.13-y[root@node-1~]#systemctlrestartdocker&&systemctlenabledocker[root@node-1~]#systemctlstatusdocker④查看docker的版本[root@node-1~]#dockerversion任務(wù)實(shí)施任務(wù)4.1

1.云主機(jī)部署kubernetes(2)三臺(tái)節(jié)點(diǎn)安裝Docker環(huán)境⑤三個(gè)節(jié)點(diǎn)分別修改docker的CgroupDriver為system[root@node-1~]#cat>/etc/docker/daemon.json<<EOF{"exec-opts":["native.cgroupdriver=systemd"],"log-driver":"json-file","log-opts":{"max-size":"100m"},"storage-driver":"overlay2","storage-opts":["overlay2.override_kernel_check=true"]}EOF[root@node-1~]#scp/etc/docker/daemon.jsonroot@node-2:/etc/docker/daemon.json[root@node-1~]#scp/etc/docker/daemon.jsonroot@node-3:/etc/docker/daemon.json[root@node-1~]#systemctlrestartdocker[root@node-1~]#dockerinfo|grepCgroupCgroupDriver:systemd任務(wù)實(shí)施任務(wù)4.1

1.云主機(jī)部署kubernetes(3)三個(gè)節(jié)點(diǎn)安裝kubeadm組件①三個(gè)節(jié)點(diǎn)安裝kubernetes源,國(guó)內(nèi)可以使用阿里的kubernetes源,速度會(huì)快一點(diǎn)[root@node-1~]#cat<<EOF>/etc/yum.repos.d/kubernetes.repo[kubernetes]name=Kubernetesbaseurl=/kubernetes/yum/repos/kubernetes-el7-x86_64enabled=1gpgcheck=1repo_gpgcheck=1gpgkey=/kubernetes/yum/doc/yum-key.gpg/kubernetes/yum/doc/rpmpackage-key.gpgEOF

[root@node-1~]#scp/etc/yum.repos.d/kubernetes.reponode-2:/etc/yum.repos.d/kubernetes.repo[root@node-1~]#scp/etc/yum.repos.d/kubernetes.reponode-3:/etc/yum.repos.d/kubernetes.repo任務(wù)實(shí)施任務(wù)4.1

1.云主機(jī)部署kubernetes(3)三個(gè)節(jié)點(diǎn)安裝kubeadm組件②三個(gè)節(jié)點(diǎn)安裝kubeadm,kubelet,kubectl,會(huì)自動(dòng)安裝幾個(gè)重要依賴包:socat,cri-tools,cni等包[root@node-1~]#yuminfokubeadmkubectlkubelet-y[root@node-1~]#yuminstallkubeadmkubectlkubelet-y③設(shè)置iptables網(wǎng)橋參數(shù)[root@node-1~]#cat<<EOF>/etc/sysctl.d/k8s.confnet.bridge.bridge-nf-call-ip6tables=1net.bridge.bridge-nf-call-iptables=1EOF[root@node-1~]#scp/etc/sysctl.d/k8s.confnode2:/etc/sysctl.d/k8s.confk8s.conf[root@node-1~]#scp/etc/sysctl.d/k8s.confnode3:/etc/sysctl.d/k8s.confk8s.conf任務(wù)實(shí)施任務(wù)4.1

1.云主機(jī)部署kubernetes(3)三個(gè)節(jié)點(diǎn)安裝kubeadm組件④三個(gè)節(jié)點(diǎn)重新啟動(dòng)kubelet服務(wù),使配置生效[root@node-1~]#sysctl--system,然后使用sysctl-a|grep參數(shù)的方式驗(yàn)證是否生效[root@node-1~]#sysctl-a|grepnet.bridge.bridge-nf[root@node-1~]#systemctlrestartkubelet[root@node-1~]#systemctlenablekubelet任務(wù)實(shí)施任務(wù)4.1

1.云主機(jī)部署kubernetes(4)kubeadm初始化集群①kubeadm初始化集群,需要設(shè)置初始參數(shù)。pod-network-cidr指定pod使用的網(wǎng)段,設(shè)置值根據(jù)不同的網(wǎng)絡(luò)plugin選擇,本文以flannel為例設(shè)置值為/16。[root@node-1~]#kubeadminit--pod-network-cidr/16任務(wù)實(shí)施任務(wù)4.1

1.云主機(jī)部署kubernetes(5)三節(jié)點(diǎn)添加到kubernetes集群①三臺(tái)節(jié)點(diǎn)?成kubectl環(huán)境配置?件[root@node-1~]#mkdir-p$HOME/.kube[root@node-1~]#sudocp-i/etc/kubernetes/admin.conf$HOME/.kube/config[root@node-1~]#sudochown$(id-u):$(id-g)$HOME/.kube/config[root@node-1~]#vi/root/.kube/config[root@node-1~]#vikubeinit.txt(kubeadminit初始化后自動(dòng)生成)kubeadmjoin0:6443--tokenuyubnf.5lkvfanjz1n4vtdm\--discovery-token-ca-cert-hashsha256:ec56eb59b6f592aa076f71bf2dd18e6ede3c0201cfa2d12993c3babb1aa8f549查看集群中node節(jié)點(diǎn)[root@node-1~]#kubectlgetnodes任務(wù)實(shí)施任務(wù)4.1

1.云主機(jī)部署kubernetes(5)三節(jié)點(diǎn)添加到kubernetes集群在node-2和node-3節(jié)點(diǎn)執(zhí)行命令將這兩個(gè)節(jié)點(diǎn)node加入:[root@node-2~]#kubeadmjoin0:6443--tokenuyubnf.5lkvfanjz1n4vtdm\>--discovery-token-ca-cert-hashsha256:ec56eb59b6f592aa076f71bf2dd18e6ede3c0201cfa2d12993c3babb1aa8f549[root@node-3~]#kubeadmjoin0:6443--tokenuyubnf.5lkvfanjz1n4vtdm\>--discovery-token-ca-cert-hashsha256:ec56eb59b6f592aa076f71bf2dd18e6ede3c0201cfa2d12993c3babb1aa8f549在node-1節(jié)點(diǎn)查看node節(jié)點(diǎn)情況:[root@node-1~]#kubectlgetnodesNAMESTATUSROLESAGEVERSIONnode-1NotReadymaster22mv1.18.5node-2NotReady<none>68sv1.18.5node-3NotReady<none>63sv1.18.5任務(wù)實(shí)施任務(wù)4.1

1.云主機(jī)部署kubernetes(5)三節(jié)點(diǎn)添加到kubernetes集群②在node-1節(jié)點(diǎn)下載calico的yaml文件并執(zhí)行[root@node-1~]#wget/v3.14/manifests/calico.yaml[root@node-1~]#kubectlapply-fcalico.yaml安裝完calico插件以后,三個(gè)節(jié)點(diǎn)的狀態(tài)變?yōu)镽eady狀態(tài)[root@node-1~]#kubectlgetnodesNAMESTATUSROLESAGEVERSIONnode-1Readycontrol-plane,master4m56sv1.21.1node-2Ready<none>2m30sv1.21.1node-3Ready<none>2m24sv1.21.14.2基于Kubernetes集群的博客系統(tǒng)部署與運(yùn)維1.掌握Kubernetes的架構(gòu)2.掌握Kubernetes創(chuàng)建業(yè)務(wù)的流程任務(wù)描述任務(wù)4.2

1.Kubernetes定義Kubernetes可以把大量的服務(wù)器看做一臺(tái)巨大的服務(wù)器,在一臺(tái)大服務(wù)器上面運(yùn)行應(yīng)用程序。無論Kubernetes的集群有多少臺(tái)服務(wù)器,在Kubernetes上部署應(yīng)用程序的方法永遠(yuǎn)一樣,如圖4-2-1所示。知識(shí)學(xué)習(xí)任務(wù)4.2

2.Kubernetes集群架構(gòu)Kubernetes集群包含master節(jié)點(diǎn)和node節(jié)點(diǎn),應(yīng)用部署在node節(jié)點(diǎn)上,且可以通過配置選擇應(yīng)用部署在某些特定的節(jié)點(diǎn)上。Kubernetes集群的架構(gòu)如圖4-2-2所示:知識(shí)學(xué)習(xí)任務(wù)4.2

任務(wù)實(shí)施任務(wù)4.2

1.基于Kubernetes集群的博客系統(tǒng)部署與運(yùn)維①新建namespace[root@master~]#kubectlcreatenamespaceblognamespace/blogcreated②創(chuàng)建MySQL的Deployment對(duì)象[root@node-1~]#catwordpress-db.yaml---apiVersion:apps/v1beta1kind:Deploymentmetadata:name:mysql-deploynamespace:bloglabels:app:mysql任務(wù)實(shí)施任務(wù)4.2

1.基于Kubernetes集群的博客系統(tǒng)部署與運(yùn)維spec:selector:matchLabels:app:mysqltemplate:metadata:labels:app:mysqlspec:containers:-name:mysqlimage:mysql:5.6#使用mysql:5.7鏡像會(huì)報(bào)錯(cuò)imagePullPolicy:IfNotPresentports:-containerPort:3306name:dbport任務(wù)實(shí)施任務(wù)4.2

1.基于Kubernetes集群的博客系統(tǒng)部署與運(yùn)維env:-name:MYSQL_ROOT_PASSWORDvalue:rootPassW0rd-name:MYSQL_DATABASEvalue:wordpress-name:MYSQL_USERvalue:wordpress-name:MYSQL_PASSWORDvalue:wordpressvolumeMounts:-name:dbmountPath:/var/lib/mysqlvolumes:-name:dbhostPath:path:/var/lib/mysql---apiVersion:v1kind:Servicemetadata:name:mysqlnamespace:blogspec:selector:app:mysqlports:-name:mysqlportprotocol:TCPport:3306targetPort:dbport任務(wù)實(shí)施任務(wù)4.2

1.基于Kubernetes集群的博客系統(tǒng)部署與運(yùn)維然后創(chuàng)建上面的wordpress-db.yaml文件。[root@node-1~]#kubectlcreate-fwordpressdb.yamldeployment.apps/mysql-deploycreatedservice/mysqlcreated然后查看Service的詳細(xì)情況。[root@node-1~]#kubectldescribesvcmysql-nblogName:mysqlNamespace:blogLabels:<none>Annotations:<none>Selector:app=mysqlType:ClusterIPIPFamilyPolicy:SingleStackIPFamilies:IPv4可以看到Endpoints部分匹配到了一個(gè)Pod,生成了一個(gè)clusterIP為81,現(xiàn)在就可以通過這個(gè)clusterIP加上定義的3306端口問MySQL服務(wù)了。IP:81IPs:81Port:mysqlport3306/TCPTargetPort:dbport/TCPEndpoints::3306SessionAffinity:NoneEvents:<none>任務(wù)實(shí)施任務(wù)4.2

1.基于Kubernetes集群的博客系統(tǒng)部署與運(yùn)維③創(chuàng)建Wordpress服務(wù)[root@node-1~]#catwordpress.yamlapiVersion:apps/v1kind:Deploymentmetadata:name:wordpress-deploynamespace:bloglabels:app:wordpressspec:selector:matchLabels:app:wordpresstemplate:metadata:labels:app:wordpressspec:containers:-name:wordpressimage:wordpressimagePullPolicy:IfNotPresentports:-containerPort:80name:wdportenv:-name:WORDPRESS_DB_HOSTvalue:81:3306#此處的IP,是mysqlsvc的clusterIP-name:WORDPRESS_DB_USERvalue:wordpress-name:WORDPRESS_DB_PASSWORDvalue:wordpressapiVersion:v1kind:Service任務(wù)實(shí)施任務(wù)4.2

1.基于Kubernetes集群的博客系統(tǒng)部署與運(yùn)維metadata:name:wordpressnamespace:blogspec:type:NodePortselector:app:wordpressports:-name:wordpressportprotocol:TCPport:80targetPort:wdport[root@node-1~]#kubectlcreate-fwordpress.yamldeployment.apps/wordpress-deploycreatedservice/wordpresscreated任務(wù)實(shí)施任務(wù)4.2

1.基于Kubernetes集群的博客系統(tǒng)部署與運(yùn)維編寫YAML文件wordpress-pod.yaml[root@node-1~]#catwordpress-pod.yamlapiVersion:v1kind:Podmetadata:name:wordpressnamespace:blogspec:containers:-name:wordpressimage:wordpressimagePullPolicy:IfNotPresentports:-containerPort:80name:wdportenv:-name:WORDPRESS_DB_HOSTvalue:localhost:3306-name:WORDPRESS_DB_USERvalue:wordpress-name:WORDPRESS_DB_PASSWORDvalue:wordpress-name:mysqlimage:mysql:5.6imagePullPolicy:IfNotPresentports:-containerPort:3306name:dbport任務(wù)實(shí)施任務(wù)4.2

1.基于Kubernetes集群的博客系統(tǒng)部署與運(yùn)維env:-name:MYSQL_ROOT_PASSWORDvalue:rootPassW0rd-name:MYSQL_DATABASEvalue:wordpress-name:MYSQL_USERvalue:wordpress-name:MYSQL_PASSWORDvalue:wordpressvolumeMounts:-name:dbmountPath:/var/lib/mysqlvolumes:-name:dbhostPath:path:/var/lib/mysql任務(wù)實(shí)施任務(wù)4.2

1.基于Kubernetes集群的博客系統(tǒng)部署與運(yùn)維創(chuàng)建Pod。[root@node-1~]#kubectlcreate-fwordpress-pod.yamlpod/wordpresscreated訪問服務(wù),查看svc。[root@node-1~]#kubectlgetsvc-nblogNAMETYPECLUSTER-IPEXTERNALIPPORT(S)AGEmysqlClusterIP81<none>3306/TCP72mwordpressNodePort0<none>80:32377/TCP68m可以看到Wordpress服務(wù)產(chǎn)生了一個(gè)32377的端口,現(xiàn)在通過任意節(jié)點(diǎn)的NodeIP加上32377端口,就可以訪問Wordpress應(yīng)用了,如圖4-2-3所示。4.3基于公有云容器平臺(tái)的博客系統(tǒng)部署與運(yùn)維1.掌握云容器引擎的定義2.掌握云容器引擎的部署流程任務(wù)描述任務(wù)4.3

1.云容器引擎的定義云容器引擎(CloudContainerEngine,簡(jiǎn)稱CCE)提供高度可擴(kuò)展的、高性能的企業(yè)級(jí)Kubernetes集群,支持運(yùn)行Docker容器。借助云容器引擎,您可以在云上輕松部署、管理和擴(kuò)展容器化應(yīng)用程序。云容器引擎深度整合了華為云高性能的計(jì)算(ECS/BMS)、網(wǎng)絡(luò)(VPC/EIP/ELB)、存儲(chǔ)(EVS/OBS/SFS)等服務(wù),并支持GPU、ARM、FPGA等異構(gòu)計(jì)算架構(gòu),支持多可用區(qū)(Availablezone,簡(jiǎn)稱AZ)、多區(qū)域(Region)容災(zāi)等技術(shù)構(gòu)建高可用Kubernetes集群,并提供高性能可伸縮的容器應(yīng)用管理能力,簡(jiǎn)化集群的搭建和擴(kuò)容等工作,讓您專注于容器化應(yīng)用的開發(fā)與管理。知識(shí)學(xué)習(xí)任務(wù)4.3

2.基本概念使用云容器引擎服務(wù),會(huì)涉及到以下基本概念:集群:是指容器運(yùn)行所需云資源的集合,包含了若干臺(tái)云服務(wù)器、負(fù)載均衡器等云資源。實(shí)例(Pod):由相關(guān)的一個(gè)或多個(gè)容器構(gòu)成一個(gè)實(shí)例,這些容器共享相同的存儲(chǔ)和網(wǎng)絡(luò)空間。工作負(fù)載:Kubernetes資源對(duì)象,用于管理Pod副本的創(chuàng)建、調(diào)度以及整個(gè)生命周期的自動(dòng)控制。Service:由多個(gè)相同配置的實(shí)例(Pod)和訪問這些實(shí)例(Pod)的規(guī)則組成的微服務(wù)。Ingress:Ingress是用于將外部HTTP(S)流量路由到服務(wù)(Service)的規(guī)則集合。Helm應(yīng)用:Helm是管理Kubernetes應(yīng)用程序的打包工具,提供了HelmChart在指定集群內(nèi)圖形化的增刪改查。鏡像倉(cāng)庫:用于存放Docker鏡像,Docker鏡像用于部署容器服務(wù)。知識(shí)學(xué)習(xí)任務(wù)4.3

3.應(yīng)用場(chǎng)景CCE集群支持管理X86資源池和鯤鵬資源池,能方便的創(chuàng)建Kubernetes集群、部署您的容器化應(yīng)用,以及方便的管理和維護(hù),如圖4-3-1所示。知識(shí)學(xué)習(xí)任務(wù)4.3

4.云容器引擎的優(yōu)勢(shì)多種類型的容器部署。支持部署無狀態(tài)工作負(fù)載、有狀態(tài)工作負(fù)載、守護(hù)進(jìn)程集、普通任務(wù)、定時(shí)任務(wù)等。支持替換升級(jí)、滾動(dòng)升級(jí)(按比例、實(shí)例個(gè)數(shù)進(jìn)行滾動(dòng)升級(jí));支持升級(jí)回滾。支持節(jié)點(diǎn)和工作負(fù)載的彈性伸縮。知識(shí)學(xué)習(xí)任務(wù)4.3

任務(wù)實(shí)施任務(wù)4.3

1.基于公有云容器平臺(tái)的博客系統(tǒng)部署與運(yùn)維①進(jìn)入集群服務(wù),鼠標(biāo)移動(dòng)到云桌面瀏覽器頁面中左側(cè)菜單欄,點(diǎn)擊服務(wù)列表->“容器服務(wù)”->“云容器引擎CCE”,如圖4-3-2所示,任務(wù)實(shí)施任務(wù)4.3

1.基于公有云容器平臺(tái)的博客系統(tǒng)部署與運(yùn)維②進(jìn)入云容器引擎頁面,點(diǎn)擊頁面中【CCE集群】卡片中的【創(chuàng)建】按鈕,進(jìn)入CCE集群創(chuàng)建界面。第一步“服務(wù)選型”參數(shù)配置如下:計(jì)費(fèi)模式:按需計(jì)費(fèi),區(qū)域:華北-北京四,集群名稱:(自定義),版本:v1.17.17,集群管理規(guī)模:50節(jié)點(diǎn),控制節(jié)點(diǎn)數(shù):3,如圖4-3-3所示。虛擬私有云:選擇創(chuàng)建的VPC,所在子網(wǎng):默認(rèn),網(wǎng)絡(luò)模型:容器隧道網(wǎng)絡(luò),容器網(wǎng)段:/16,服務(wù)網(wǎng)段:默認(rèn),鑒權(quán)方式:默認(rèn),認(rèn)證方式:不選,高級(jí)設(shè)置:采用默認(rèn)設(shè)置,點(diǎn)擊下一步進(jìn)入“創(chuàng)建節(jié)點(diǎn)”,如圖4-3-4所示。任務(wù)實(shí)施任務(wù)4.3

1.基于公有云容器平臺(tái)的博客系統(tǒng)部署與運(yùn)維第二步“創(chuàng)建節(jié)點(diǎn)”參數(shù)配置:創(chuàng)建節(jié)點(diǎn):現(xiàn)在添加,計(jì)費(fèi)模式:按需計(jì)費(fèi),當(dāng)前區(qū)域:華北-北京四,可選區(qū):任選一項(xiàng),如圖4-3-5所示。節(jié)點(diǎn)類型:虛擬機(jī)節(jié)點(diǎn),節(jié)點(diǎn)名稱:默認(rèn),節(jié)點(diǎn)規(guī)格:通用型sn3.large.22核|4GB,操作系統(tǒng):公共鏡像CentOS7.6,如圖4-3-6所示,系統(tǒng)盤:高IO(5000IOPS)40GB,數(shù)據(jù)盤:高IO(5000IOPS)100GB,虛擬私有云:默認(rèn),所在子網(wǎng):默認(rèn),彈性IP:自動(dòng)創(chuàng)建,規(guī)格:全動(dòng)態(tài)BGP,計(jì)費(fèi)模式:按流量計(jì)費(fèi),帶寬類型:獨(dú)享,帶寬大?。?Mbit/s,如圖4-3-7所示,登錄方式:密碼,云服務(wù)器高級(jí)設(shè)置:采用默認(rèn)設(shè)置,Kubemetes高級(jí)設(shè)置:采用默認(rèn)設(shè)置,節(jié)點(diǎn)購(gòu)買數(shù)量:3,點(diǎn)擊下一步“配置確認(rèn)”,如圖4-3-8所示,任務(wù)實(shí)施任務(wù)4.3

1.基于公有云容器平臺(tái)的博客系統(tǒng)部署與運(yùn)維任務(wù)實(shí)施任務(wù)4.3

1.基于公有云容器平臺(tái)的博客系統(tǒng)部署與運(yùn)維第三步默認(rèn)安裝插件,點(diǎn)擊下一步,如圖4-3-9所示,第四步勾選“我已知曉上述限制”,檢查集群配置無誤后點(diǎn)擊“提交”,如圖4-3-10所示。任務(wù)實(shí)施任務(wù)4.3

1.基于公有云容器平臺(tái)的博客系統(tǒng)部署與運(yùn)維提交后開始進(jìn)行創(chuàng)建,大約需要6分鐘創(chuàng)建完成,創(chuàng)建完成后,點(diǎn)擊“返回集群管理”,“集群狀態(tài)”顯示為“正常”表示該集群創(chuàng)建成功,如圖4-3-11所示,任務(wù)實(shí)施任務(wù)4.3

1.基于公有云容器平臺(tái)的博客系統(tǒng)部署與運(yùn)維②華為云云數(shù)據(jù)庫RDS購(gòu)買點(diǎn)擊右上角“購(gòu)買數(shù)據(jù)庫實(shí)例”,并按下圖配置相關(guān)信息。計(jì)費(fèi)模式:按需計(jì)費(fèi),區(qū)域:亞太-香

溫馨提示

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