![Kubernetes 集群實(shí)戰(zhàn)(微課版)課件 項(xiàng)目8 高效管理應(yīng)用程序的部署_第1頁](http://file4.renrendoc.com/view4/M00/10/37/wKhkGGaGK76ANitnAAEeCGH1usM377.jpg)
![Kubernetes 集群實(shí)戰(zhàn)(微課版)課件 項(xiàng)目8 高效管理應(yīng)用程序的部署_第2頁](http://file4.renrendoc.com/view4/M00/10/37/wKhkGGaGK76ANitnAAEeCGH1usM3772.jpg)
![Kubernetes 集群實(shí)戰(zhàn)(微課版)課件 項(xiàng)目8 高效管理應(yīng)用程序的部署_第3頁](http://file4.renrendoc.com/view4/M00/10/37/wKhkGGaGK76ANitnAAEeCGH1usM3773.jpg)
![Kubernetes 集群實(shí)戰(zhàn)(微課版)課件 項(xiàng)目8 高效管理應(yīng)用程序的部署_第4頁](http://file4.renrendoc.com/view4/M00/10/37/wKhkGGaGK76ANitnAAEeCGH1usM3774.jpg)
![Kubernetes 集群實(shí)戰(zhàn)(微課版)課件 項(xiàng)目8 高效管理應(yīng)用程序的部署_第5頁](http://file4.renrendoc.com/view4/M00/10/37/wKhkGGaGK76ANitnAAEeCGH1usM3775.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
Kubernetes集群實(shí)戰(zhàn)(微課版)工業(yè)和信息化精品系列教材——云計(jì)算技術(shù)項(xiàng)目8
高效管理應(yīng)用程序的部署能力CAPACITY要求了解Helm及其相關(guān)概念和基本用法掌握使用Helm部署和管理Kubernetes應(yīng)用程序的方法了解Kustomization文件了解Kustomize的基本用法學(xué)會使用Kustomize管理Kubernetes應(yīng)用程序的部署任務(wù)8.2使用Kustomize定制應(yīng)用程序的部署配置任務(wù)8.1使用Helm簡化應(yīng)用程序的部署和管理任務(wù)8.1使用Helm簡化應(yīng)用程序的部署和管理任務(wù)說明01OPTION02OPTION03OPTION了解Helm的概念和工作機(jī)制了解Chart結(jié)構(gòu)了解Helm的基本用法04OPTION掌握Helm的安裝和配置方法05OPTION學(xué)會使用Helm在Kubernetes中部署和管理應(yīng)用程序任務(wù)8.1使用Helm簡化應(yīng)用程序的部署和管理相關(guān)知識8.1.1什么是HelmHelm是Kubernetes應(yīng)用程序的包管理器。Helm的主要功能支持公共或私有倉庫實(shí)現(xiàn)Kubernetes應(yīng)用程序軟件包的版本管理和分發(fā)。方便普通用戶從第三方獲取共享的Kubernetes應(yīng)用程序軟件包。創(chuàng)建和托管自己的Kubernetes應(yīng)用程序軟件包。簡化Kubernetes應(yīng)用程序的安裝部署。簡化Kubernetes應(yīng)用程序的管理操作,如升級、刪除、回滾等。Helm特別適合管理復(fù)雜的Kubernetes應(yīng)用程序。任務(wù)8.1使用Helm簡化應(yīng)用程序的部署和管理相關(guān)知識8.1.2Helm是如何工作的Helm的基本概念Chart——代表一個(gè)Helm包,其中包含了在Kubernetes集群中運(yùn)行應(yīng)用程序、工具或服務(wù)所需的所有資源定義等。Repository——用于發(fā)布和存儲Chart的倉庫。Release——代表在Kubernetes集群中運(yùn)行的Chart的一個(gè)實(shí)例。Helm模板Helm在Chart包中使用Gotemplate模板語言來編寫表示Kubernetes資源的模板文件,并提供讓用戶配置這些模板變量的能力。任務(wù)8.1使用Helm簡化應(yīng)用程序的部署和管理相關(guān)知識8.1.2Helm是如何工作的Helm的工作機(jī)制任務(wù)8.1使用Helm簡化應(yīng)用程序的部署和管理相關(guān)知識8.1.3Chart結(jié)構(gòu)Chart的文件組織結(jié)構(gòu)wordpress/Chart.yaml#包含Chart描述信息的YAML文件
LICENSE#提供Chart許可證信息的純文本文件,該文件是可選的
README.md#易讀格式的README文件,此文件也是可選的
values.yaml#提供Chart默認(rèn)配置值的YAML文件
values.schema.json#影響values.yaml文件結(jié)構(gòu)的JSON模式,這是可選的
charts/#存放此Chart所依賴的其他Chart包的目錄
crds/#存放自定義資源定義文件的目錄
templates/#存放用于生成有效的Kubernetes配置文件的模板的目錄
templates/NOTES.txt#包含模板用法簡要說明的純文本文件任務(wù)8.1使用Helm簡化應(yīng)用程序的部署和管理相關(guān)知識8.1.3Chart結(jié)構(gòu)Chart.yaml文件組織格式apiVersion:ChartAPI版本(必需)name:Chart名稱(必需)version:語義化(SemVer)2版本(必需)kubeVersion:兼容Kubernetes版本的語義化版本(可選)description:對該項(xiàng)目的描述(可選)type:Chart類型(可選)keywords:-關(guān)于項(xiàng)目的關(guān)鍵字列表(可選)home:項(xiàng)目首頁的URL(可選)sources:-項(xiàng)目源碼的URL列表(可選)dependencies:#Chart必要條件列表(可選)
-name:Chart名稱(如nginx)
version:Chart名稱(如"1.2.3")
repository:(可選)倉庫URL(如"/charts")或別名(如"@repo-name")任務(wù)8.1使用Helm簡化應(yīng)用程序的部署和管理相關(guān)知識8.1.3Chart結(jié)構(gòu)Chart.yaml文件組織格式condition:(可選)解析為布爾值的YAML文件路徑,用于啟用或禁用Charttags:#(可選)-用于成批啟用或禁用Chart的標(biāo)記
import-values:#(可選)-保存源值到要導(dǎo)入的父項(xiàng)的映射的重要值
alias:(可選)用于Chart的別名。多次添加相同的Chart時(shí)會很有用maintainers:#(可選)-name:維護(hù)者名字(每個(gè)維護(hù)者都需要)
email:維護(hù)者電子郵箱(每個(gè)維護(hù)者可選)
url:維護(hù)者URL(每個(gè)維護(hù)者可選)icon:當(dāng)前項(xiàng)目的圖標(biāo)的SVG或PNG格式的圖片的URL(可選)appVersion:包含的應(yīng)用程序版本(可選)。不需要語義化,建議使用引號deprecated:Chart是否被降級(可選,布爾值)annotations:
鍵值對形式的注解列表(可選)任務(wù)8.1使用Helm簡化應(yīng)用程序的部署和管理相關(guān)知識8.1.4Helm的基本用法命令說明create創(chuàng)建一個(gè)Chart并指定名稱dependency管理Chart的依賴get下載一個(gè)Release??捎玫淖用畎╝ll、hooks、manifest、notes、valueshistory獲取Release的歷史信息install安裝Chartlist查看Release列表package將Chart目錄打包到Chart歸檔文件中pull從遠(yuǎn)程倉庫中下載Chart到本地,如果加上--untar選項(xiàng)還會自動(dòng)解壓push將Chart推送到遠(yuǎn)程倉庫repo管理Chart倉庫,可用的子命令add、list、remove、update、index分別在本地添加、列出、移除、更新和索引Chart倉庫rollback從之前的版本回滾search根據(jù)關(guān)鍵字搜索Chart??捎玫淖用畎╝ll、chart、readme、valuesshow查看Chart的詳細(xì)信息??捎玫淖用畎╝ll、chart、readme、valuesstatus顯示已命名Release的狀態(tài)template本地呈現(xiàn)模板uninstall卸載Releaseupgrade更新Releaseversion查看Helm客戶端版本任務(wù)8.1使用Helm簡化應(yīng)用程序的部署和管理任務(wù)實(shí)現(xiàn)任務(wù)8.1.1安裝和配置Helm安裝Helm(1)下載指定的Heml發(fā)行版。這里從官網(wǎng)下載適合Linuxamd64平臺的3.10.2版本。(2)執(zhí)行tar-zxvfhelm-v3.10.2-linux-amd64.tar.gz命令將下載的軟件包解壓縮。(3)在解壓縮后的目錄中找到helm二進(jìn)制文件,并將其移動(dòng)到所需的目標(biāo)位置(這里為/usr/local/bin/helm)。(4)執(zhí)行helmversion命令查看Helm命令行版本來驗(yàn)證Helm的安裝。任務(wù)8.1使用Helm簡化應(yīng)用程序的部署和管理任務(wù)實(shí)現(xiàn)任務(wù)8.1.1安裝和配置Helm初始化Helm的Chart倉庫#helmrepoaddbitnami/bitnami"bitnami"hasbeenaddedtoyourrepositories#helmrepolistNAME URLbitnami /bitnami#helmsearchrepobitnamiNAMECHARTVERSIONAPPVERSIONDESCRIPTIONbitnami/airflow14.2.22.6.0ApacheAirflowisatoolto...bitnami/apache9.5.32.4.57ApacheHTTPServerisan...任務(wù)8.1使用Helm簡化應(yīng)用程序的部署和管理任務(wù)實(shí)現(xiàn)任務(wù)8.1.2熟悉Helm的基本操作搜索Chart(1)使用helmsearchhub命令從ArtifactHub或自己的hub實(shí)例中搜索Chart。(2)使用helmsearchrepo命令可以在已添加到本地的倉庫中搜索Chart。查看Chart的詳細(xì)信息#helmshowchartbitnami/mysqlannotations:category:DatabaseapiVersion:v2appVersion:8.0.31dependencies:-name:commonrepository:/bitnaminame:mysqlsources:-/bitnami/containers/tree/main/bitnami/mysql-version:9.4.3任務(wù)8.1使用Helm簡化應(yīng)用程序的部署和管理任務(wù)實(shí)現(xiàn)任務(wù)8.1.2熟悉Helm的基本操作通過安裝Chart部署應(yīng)用程序基本用法helminstall[NAME][CHART][flags]HelmChart安裝源安裝源示例Chart引用helminstallmymariaexample/mariadb本地的Chart包文件helminstallmynginx./nginx-1.2.3.tgz未打包的Chart目錄路徑Helminstallmynginx./nginx完整的URLhelminstallmynginx/charts/nginx-1.2.3.tgzChart引用和倉庫的URLhelminstall--repo/charts/mynginxnginxOCI注冊中心helminstallmynginx--version1.2.3oci:///charts/nginx任務(wù)8.1使用Helm簡化應(yīng)用程序的部署和管理任務(wù)實(shí)現(xiàn)任務(wù)8.1.2熟悉Helm的基本操作通過安裝Chart部署應(yīng)用程序(1)執(zhí)helmrepoupdate命令更新本地倉庫,確保獲取最新的Chart列表。(2)執(zhí)行安裝MySQL的Chart命令。#helminstallbitnami/mysql--generate-nameNAME:mysql-1684417119#Release名稱LASTDEPLOYED:ThuMay1821:38:462023根據(jù)安裝提示連接到數(shù)據(jù)庫繼續(xù)測試所部署的MySQL實(shí)例。獲取MySQL實(shí)例的root賬戶的密碼。#MYSQL_ROOT_PASSWORD=$(kubectlgetsecret--namespacedefaultmysql-1684417119-ojsonpath="{.data.mysql-root-password}"|base64-d)任務(wù)8.1使用Helm簡化應(yīng)用程序的部署和管理任務(wù)實(shí)現(xiàn)任務(wù)8.1.2熟悉Helm的基本操作通過安裝Chart部署應(yīng)用程序運(yùn)行一個(gè)Pod作為MySQL客戶端,然后登錄連接到MySQL服務(wù)器。[root@master01~]#kubectlrunmysql-1684417119-client--rm--tty-i--restart='Never'--imagedocker.io/bitnami/mysql:8.0.33-debian-11-r7--namespacedefault--envMYSQL_ROOT_PASSWORD=$MYSQL_ROOT_PASSWORD--command--bashIfyoudon'tseeacommandprompt,trypressingenter.Ihavenoname!@mysql-1684417119-client:/$mysql-hmysql-1684417119.default.svc.cluster.local-uroot-p"$MYSQL_ROOT_PASSWORD"#連接MySQLmysql:[Warning]Usingapasswordonthecommandlineinterfacecanbeinsecure.WelcometotheMySQLmonitor.Commandsendwith;or\g.YourMySQLconnectionidis78mysql>showdatabases;#執(zhí)行數(shù)據(jù)庫操作任務(wù)8.1使用Helm簡化應(yīng)用程序的部署和管理任務(wù)實(shí)現(xiàn)任務(wù)8.1.2熟悉Helm的基本操作查看部署的Release#helmlistNAMENAMESPACEREVISIONUPDATEDSTATUSCHARTAPPVERSIONmysql-1684417119default12023-...deployedmysql-9.9.18.0.33刪除部署的Release#helmuninstallmysql-1684417119release"mysql-1684417119"uninstalled任務(wù)8.1使用Helm簡化應(yīng)用程序的部署和管理任務(wù)實(shí)現(xiàn)任務(wù)8.1.2熟悉Helm的基本操作管理Chart倉庫#helmrepoaddstable/charts"stable"hasbeenaddedtoyourrepositories[root@master01~]#helmrepoaddkaiyuanshe/kubernetes/charts"kaiyuanshe"hasbeenaddedtoyourrepositories#helmrepolistNAME URLbitnami /bitnamistable /chartskaiyuanshe /kubernetes/charts任務(wù)8.1使用Helm簡化應(yīng)用程序的部署和管理任務(wù)實(shí)現(xiàn)任務(wù)8.1.3使用Helm在Kubernetes中部署Kafka部署Kafka集群(1)搜索Kafka的Chart。#helmsearchrepokafkaNAMECHARTVERSIONAPPVERSIONDESCRIPTIONbitnami/kafka22.1.23.4.0ApacheKafkaisadistributedstreaming...(2)安裝Kafka指定版本的Chart,并使用--set選項(xiàng)進(jìn)行自定義部署配置(replicaCount=2表示將副本數(shù)設(shè)置為2),部署名為kafka的Release。安裝過程中會給出許多提示信息。#helminstallkafkabitnami/kafka--version22.1.2--setreplicaCount=2NAME:kafkaLASTDEPLOYED:FriMay1914:35:392023NAMESPACE:defaultSTATUS:deployedREVISION:1#以下為關(guān)鍵的提示信息Kafkacanbeaccessedbyconsumersviaport9092onthefollowingDNSnamefromwithinyourcluster:#消費(fèi)者訪問Kafka的DNS名稱和端口
kafka.default.svc.cluster.local任務(wù)8.1使用Helm簡化應(yīng)用程序的部署和管理任務(wù)實(shí)現(xiàn)任務(wù)8.1.3使用Helm在Kubernetes中部署Kafka部署Kafka集群(5)創(chuàng)建一個(gè)用作Kafka客戶端的Pod。#kubectlrunkafka-client--restart='Never'--imagedocker.io/bitnami/kafka:3.4.0-debian-11-r28--namespacedefault--command--sleepinfinitypod/kafka-clientcreated(6)進(jìn)入該P(yáng)od容器中,再執(zhí)行相應(yīng)命令創(chuàng)建一個(gè)消息生產(chǎn)者。[root@master01~]#kubectlexec--tty-ikafka-client--namespacedefault--bashIhavenoname!@kafka-client:/$kafka-console-producer.sh\--broker-listkafka-0.kafka-headless.default.svc.cluster.local:9092,kafka-1.kafka-headless.default.svc.cluster.local:9092\--topictest>任務(wù)8.1使用Helm簡化應(yīng)用程序的部署和管理任務(wù)實(shí)現(xiàn)任務(wù)8.1.3使用Helm在Kubernetes中部署Kafka部署Kafka集群(7)打開另一個(gè)終端窗口,進(jìn)入該P(yáng)od容器中,再執(zhí)行相應(yīng)命令創(chuàng)建一個(gè)消息消費(fèi)者。#kubectlexec--tty-ikafka-client--namespacedefault--bashIhavenoname!@kafka-client:/$kafka-console-consumer.sh\--bootstrap-serverkafka.default.svc.cluster.local:9092\--topictest\--from-beginning任務(wù)8.1使用Helm簡化應(yīng)用程序的部署和管理任務(wù)實(shí)現(xiàn)任務(wù)8.1.3使用Helm在Kubernetes中部署Kafka部署Kafka集群(8)切換到消息生產(chǎn)者所在的終端窗口,輸入測試用的消息內(nèi)容。然后切換到消息消費(fèi)者所在的終端窗口,可以發(fā)現(xiàn)會同步顯示該消息內(nèi)容。任務(wù)8.1使用Helm簡化應(yīng)用程序的部署和管理任務(wù)實(shí)現(xiàn)任務(wù)8.1.3使用Helm在Kubernetes中部署Kafka升級與回滾Kafka部署的Release#helmupgradekafkabitnami/kafka--version22.1.2--setreplicaCount=3Release"kafka"hasbeenupgraded.HappyHelming!NAME:kafkaLASTDEPLOYED:FriMay1915:12:172023NAMESPACE:defaultSTATUS:deployedREVISION:2
#helmhistorykafkaREVISIONUPDATEDSTATUSCHARTAPPVERSIONDESCRIPTION1FriMay1914:35:392023supersededkafka-22.1.23.4.0InstallcompleteFriMay1915:12:172023deployedkafka-22.1.23.4.0Upgradecomplete#helmrollbackkafka1Rollbackwasasuccess!HappyHelming!任務(wù)8.1使用Helm簡化應(yīng)用程序的部署和管理任務(wù)實(shí)現(xiàn)任務(wù)8.1.3使用Helm在Kubernetes中部署Kafka刪除現(xiàn)有的Release部署#helmuninstallkafkarelease"kafka"uninstalled執(zhí)行helmuninstall命令并不會刪除Release自動(dòng)創(chuàng)建的相關(guān)PVC。任務(wù)8.2使用Kustomize定制應(yīng)用程序的部署配置任務(wù)8.1使用Helm簡化應(yīng)用程序的部署和管理任務(wù)8.2使用Kustomize定制應(yīng)用程序的部署配置任務(wù)說明01OPTION02OPTION03OPTION了解Kustomize的特性和應(yīng)用了解Kustomize的基本用法學(xué)會使用Kustomize的貫穿性字段統(tǒng)一定義資源04OPTION學(xué)會使用Kustomize組合和定制資源05OPTION學(xué)會使用Kustomize管理不同環(huán)境的應(yīng)用程序配置任務(wù)8.2使用Kustomize定制應(yīng)用程序的部署配置相關(guān)知識8.2.1Kustomize的特性和應(yīng)用場景主要特性與Kubernetes一樣使用純聲明性的配置定制方法,無須學(xué)習(xí)額外的語法。能夠遍歷Kubernetes配置文件以添加、刪除或更新配置選項(xiàng)??梢怨芾砣我鈹?shù)量的自定義Kubernetes配置。使用的每個(gè)工件都是簡單的YAML,方便進(jìn)行驗(yàn)證和處理。通過統(tǒng)一的模板管理一個(gè)項(xiàng)目的Kubernetes部署結(jié)構(gòu)。應(yīng)用場景通過統(tǒng)一的模板管理一個(gè)項(xiàng)目的Kubernetes部署結(jié)構(gòu)。簡化多套部署環(huán)境的Kubernetes應(yīng)用程序管理。用于持續(xù)集成和與持續(xù)部署(CI/CD)版本管理工作流。任務(wù)8.2使用Kustomize定制應(yīng)用程序的部署配置相關(guān)知識8.2.1Kustomize的特性和應(yīng)用場景用于多套部署環(huán)境的Kustomize應(yīng)用任務(wù)8.2使用Kustomize定制應(yīng)用程序的部署配置相關(guān)知識8.2.1Kustomize的特性和應(yīng)用場景具體功能基于文件或字面值生成ConfigMap和Secret對象。為Kubernetes對象設(shè)置貫穿性(Cross-Cutting)字段。組合和定制資源。任務(wù)8.1使用Helm簡化應(yīng)用程序的部署和管理相關(guān)知識8.2.2Kustomization文件apiVersion:kustomize.config.k8s.io/v1beta1kind:Kustomizationresources:#Kubernetes資源(對象)-{pathOrUrl}-...generators:#生成器用來創(chuàng)建Kubernetes資源(對象)-{pathOrUrl}-...transformers:#轉(zhuǎn)換器用來處理Kubernetes資源(對象)-{pathOrUrl}-...validators:#驗(yàn)證器用來檢驗(yàn)是否存在錯(cuò)誤-{pathOrUrl}-...任務(wù)8.1使用Helm簡化應(yīng)用程序的部署和管理相關(guān)知識8.2.3Kustomize的基本用法(1)準(zhǔn)備Kustomize項(xiàng)目。app1/kustomization.yaml#下面4行是kustomization.yaml內(nèi)容
|resources:|-../base|patches:|-patch1.yamlpatch1.yamlapp2/kustomization.yaml#下面4行是kustomization.yaml內(nèi)容
|resources:|-../base|patches:|-patch2.yamlpatch2.yamlbase/kustomization.yaml#下面3行是kustomization.yaml內(nèi)容
|resources:|-deployment.yaml|-configMap.yamldeployment.yamlconfigMap.yaml任務(wù)8.1使用Helm簡化應(yīng)用程序的部署和管理相關(guān)知識8.2.3Kustomize的基本用法(2)根據(jù)基于項(xiàng)目生成自定義的YAML,語法格式:kubectlkustomize<Kustomization目錄>(3)將該項(xiàng)目的資源部署到Kubernetes集群。kubectlapply-k<Kustomization目錄>(4)在kubectl命令中使用--kustomize或-k選項(xiàng)來指定被Kustomization文件所管理的資源,該選項(xiàng)的參數(shù)是一個(gè)Kustomization目錄。kubectlget-k<Kustomization目錄>#顯示對象列表kubectldescribe-k<Kustomization目錄>#顯示對象詳細(xì)信息kubectldelete-k<kustomization目錄>#刪除使用Kustomize創(chuàng)建的對象任務(wù)8.1使用Helm簡化應(yīng)用程序的部署和管理任務(wù)實(shí)現(xiàn)任務(wù)8.2.1使用Kustomize管理Secret對象創(chuàng)建Secret資源(1)準(zhǔn)備一個(gè)存放Kustomization文件的目錄。(2)在該目錄中創(chuàng)建名為kustomization.yaml的文件。secretGenerator:-name:database-credsliterals:-username=admin-password=abc123(3)基于Kustomization目錄生成Secret對象。#kubectlapply-k/k8sapp/08/secretGensecret/database-creds-bkkhd2g59fcreated(4)查看所創(chuàng)建的Secret對象的具體內(nèi)容以進(jìn)行驗(yàn)證。apiVersion:v1data:password:YWJjMTIzusername:YWRtaW4=kind:Secretmetadata:任務(wù)8.1使用Helm簡化應(yīng)用程序的部署和管理任務(wù)實(shí)現(xiàn)任務(wù)8.2.1使用Kustomize管理Secret對象修改Secret數(shù)據(jù)(1)對上述kustomization.yaml文件進(jìn)行修改。(2)再次基于該Kustomization目錄生成一個(gè)新的Secret對象。(3)列出當(dāng)前的Secret對象,可以發(fā)現(xiàn)原有的Secret對象依然保留。#kubectlgetsecretNAMETYPEDATAAGEdatabase-creds-4fk78b5485Opaque258sdatabase-creds-bkkhd2g59fOpaque28m25s(4)刪除這兩個(gè)Secret對象,清理實(shí)驗(yàn)環(huán)境。#kubectldeletesecretdatabase-creds-4fk78b5485database-creds-bkkhd2g59f任務(wù)8.1使用Helm簡化應(yīng)用程序的部署和管理任務(wù)實(shí)現(xiàn)任務(wù)8.2.1使用Kustomize管理Secret對象控制Secret對象的生成(1)修改上述kustomization.yaml文件。generatorOptions:disableNameSuffixHash:truelabels:type:generatedByKustomize(2)再次基于該Kustomization目錄生成一個(gè)新的Secret對象。(3)查看所創(chuàng)建的Secret對象的詳細(xì)信息以進(jìn)行驗(yàn)證。
labels:type:generatedByKustomizename:database-creds(4)刪除Secret對象,清理實(shí)驗(yàn)環(huán)境。任務(wù)8.1使用Helm簡化應(yīng)用程序的部署和管理任務(wù)實(shí)現(xiàn)任務(wù)8.2.2為Kubernetes對象設(shè)置貫穿性字段貫穿性字段常見的應(yīng)用場景為所有對象設(shè)置相同的名稱空間。為所有對象的名稱添加相同的前綴或后綴。為對象添加相同的標(biāo)簽集合。為對象添加相同的注解集合。任務(wù)8.1使用Helm簡化應(yīng)用程序的部署和管理任務(wù)實(shí)現(xiàn)任務(wù)8.2.2為Kubernetes對象設(shè)置貫穿性字段準(zhǔn)備deployment.yaml文件(用于創(chuàng)建Deployment對象)。apiVersion:apps/v1kind:Deploymentmetadata:name:nginx-deploylabels:app:nginxspec:selector:matchLabels:app:nginxtemplate:metadata:labels:app:nginxspec:containers:-name:nginximage:nginx:1.14.2任務(wù)8.1使用Helm簡化應(yīng)用程序的部署和管理任務(wù)實(shí)現(xiàn)任務(wù)8.2.2為Kubernetes對象設(shè)置貫穿性字段準(zhǔn)備kustomization.yaml文件。namespace:test-namespace#設(shè)置名稱空間namePrefix:dev-#添加名稱前綴nameSuffix:"-001"#添加名稱后綴commonLabels:#添加標(biāo)簽和選擇器
app:test-nginxcommonAnnotations:#添加注解
oncallPager:testcross-cuttingresources:#要處理的資源-deployment.yaml任務(wù)8.1使用Helm簡化應(yīng)用程序的部署和管理任務(wù)實(shí)現(xiàn)任務(wù)8.2.2為Kubernetes對象設(shè)置貫穿性字段創(chuàng)建test-namespace名稱空間。穿性字段設(shè)置的名稱空間必須預(yù)先創(chuàng)建。#kubectlcreatenstest-namespacenamespace/test-namespacecreated基于該項(xiàng)目生成自定義的YAML。[root@master01~]#kubectlkustomize/k8sapp/08/crossField文件metadata:annotations:#所添加的注解
oncallPager:testcross-cuttinglabels:#所添加的標(biāo)簽
app:test-nginxname:dev-nginx-deploy-001#所添加的名稱前后綴
namespace:test-namespace#所設(shè)置的名稱空間spec:selector:#所添加的選擇器
matchLabels:app:test-nginxtemplate:metadata:annotations:#所添加的注解
oncallPager:testcross-cuttinglabels:#所添加的標(biāo)簽
app:test-nginx任務(wù)8.1使用Helm簡化應(yīng)用程序的部署和管理任務(wù)實(shí)現(xiàn)任務(wù)8.2.2為Kubernetes對象設(shè)置貫穿性字段創(chuàng)建test-namespace名稱空間。穿性字段設(shè)置的名稱空間必須預(yù)先創(chuàng)建。#kubectlcreatenstest-namespacenamespace/test-namespacecreated基于該項(xiàng)目生成自定義的YAML。#kubectlkustomize/k8sapp/08/crossFieldapiVersion:apps/v1kind:Deploymentmetadata:annotations:#所添加的注解
oncallPager:testcross-cuttinglabels:#所添加的標(biāo)簽
app:test-nginxname:dev-nginx-deploy-001#所添加的名稱前后綴
namespace:test-namespace#所設(shè)置的名稱空間任務(wù)8.1使用Helm簡化應(yīng)用程序的部署和管理任務(wù)實(shí)現(xiàn)任務(wù)8.2.2為Kubernetes對象設(shè)置貫穿性字段基于該項(xiàng)目生成自定義的YAML。spec:selector:#所添加的選擇器
matchLabels:app:test-nginxtemplate:metadata:annotations:#所添加的注解
oncallPager:testcross-cuttinglabels:#所添加的標(biāo)簽
app:test-nginx任務(wù)8.1使用Helm簡化應(yīng)用程序的部署和管理任務(wù)實(shí)現(xiàn)任務(wù)8.2.3使用Kustomize組合Kubernetes資源準(zhǔn)備一個(gè)項(xiàng)目目錄。在該目錄中創(chuàng)建deployment.yaml文件。在該目錄中創(chuàng)建service.yaml文件apiVersion:v1kind:Servicemetadata:name:nginx-svclabels:app:nginxspec:ports:-port:80protocol:TCPselector:app:nginx任務(wù)8.1使用Helm簡化應(yīng)用程序的部署和管理任務(wù)實(shí)現(xiàn)任務(wù)8.2.3使用Kustomize組合Kubernetes資源在該目錄中創(chuàng)建kustomization.yaml文件。resources:-deployment.yaml-service.yaml使用tree/k8sapp/08/composing命令查看整個(gè)項(xiàng)目的目錄結(jié)構(gòu)。/k8sapp/08/composing├──deployment.yaml├──kustomization.yaml└──service.yaml基于該項(xiàng)目生成自定義的YAML。kubectlkustomize/k8sapp/08/composingapiVersion:v1kind:ServiceapiVersion:apps/v1kind:Deployment任務(wù)8.1使用Helm簡化應(yīng)用程序的部署和管理任務(wù)實(shí)現(xiàn)任務(wù)8.2.4使用Kustomize定制Kubernetes資源準(zhǔn)備一個(gè)項(xiàng)目目錄。在該目錄中創(chuàng)建deployment.yaml文件。在該目錄中創(chuàng)建補(bǔ)丁文件increase_replicas.yaml。apiVersion:apps/v1kind:Deploymentmetadata:name:nginx-deploy#名稱同原資源定義spec:replicas:3#副本數(shù)改為3在該目錄中創(chuàng)建補(bǔ)丁文件set_memory.yaml。spec:template:spec:containers:-name:nginxresources:
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年強(qiáng)力霹靂燈管項(xiàng)目可行性研究報(bào)告
- 2025年塑料封口項(xiàng)目可行性研究報(bào)告
- 2025至2031年中國中厚料機(jī)旋梭行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025年依非巴特項(xiàng)目可行性研究報(bào)告
- 2025年3-甲基-2-硝基苯甲酸項(xiàng)目可行性研究報(bào)告
- 2025至2030年鋼鐵制品項(xiàng)目投資價(jià)值分析報(bào)告
- 2025至2030年葡萄糖大輸液項(xiàng)目投資價(jià)值分析報(bào)告
- 2025至2030年白象牙木板材項(xiàng)目投資價(jià)值分析報(bào)告
- 2025至2030年浪涌抗擾度測試儀項(xiàng)目投資價(jià)值分析報(bào)告
- 2025至2030年木制辦公椅項(xiàng)目投資價(jià)值分析報(bào)告
- 梁湘潤《子平基礎(chǔ)概要》簡體版
- 兒童常用藥物及安全用藥課件
- 冬季安全生產(chǎn)知識講座
- 2024年媒體與傳媒行業(yè)培訓(xùn)資料掌握新媒體技術(shù)和內(nèi)容創(chuàng)作的最佳實(shí)踐
- 護(hù)士團(tuán)隊(duì)的協(xié)作和領(lǐng)導(dǎo)力培養(yǎng)培訓(xùn)課件
- 安全生產(chǎn)法培訓(xùn)課件
- 導(dǎo)言中職專用《職業(yè)道德與法治》(高教版2023基礎(chǔ)模塊)
- 人教版《道德與法治》四年級下冊教材簡要分析課件
- 數(shù)字示波器的工作原理及其應(yīng)用
- 病史采集評分標(biāo)準(zhǔn)-純圖版
- 自行聯(lián)系單位實(shí)習(xí)申請表
評論
0/150
提交評論