




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Kubernetes集群實(shí)戰(zhàn)(微課版)工業(yè)和信息化精品系列教材——云計(jì)算技術(shù)項(xiàng)目8
高效管理應(yīng)用程序的部署能力CAPACITY要求了解Helm及其相關(guān)概念和基本用法掌握使用Helm部署和管理Kubernetes應(yīng)用程序的方法了解Kustomization文件了解Kustomize的基本用法學(xué)會(huì)使用Kustomize管理Kubernetes應(yīng)用程序的部署任務(wù)8.2使用Kustomize定制應(yīng)用程序的部署配置任務(wù)8.1使用Helm簡(jiǎn)化應(yīng)用程序的部署和管理任務(wù)8.1使用Helm簡(jiǎn)化應(yīng)用程序的部署和管理任務(wù)說(shuō)明01OPTION02OPTION03OPTION了解Helm的概念和工作機(jī)制了解Chart結(jié)構(gòu)了解Helm的基本用法04OPTION掌握Helm的安裝和配置方法05OPTION學(xué)會(huì)使用Helm在Kubernetes中部署和管理應(yīng)用程序任務(wù)8.1使用Helm簡(jiǎn)化應(yīng)用程序的部署和管理相關(guān)知識(shí)8.1.1什么是HelmHelm是Kubernetes應(yīng)用程序的包管理器。Helm的主要功能支持公共或私有倉(cāng)庫(kù)實(shí)現(xiàn)Kubernetes應(yīng)用程序軟件包的版本管理和分發(fā)。方便普通用戶從第三方獲取共享的Kubernetes應(yīng)用程序軟件包。創(chuàng)建和托管自己的Kubernetes應(yīng)用程序軟件包。簡(jiǎn)化Kubernetes應(yīng)用程序的安裝部署。簡(jiǎn)化Kubernetes應(yīng)用程序的管理操作,如升級(jí)、刪除、回滾等。Helm特別適合管理復(fù)雜的Kubernetes應(yīng)用程序。任務(wù)8.1使用Helm簡(jiǎn)化應(yīng)用程序的部署和管理相關(guān)知識(shí)8.1.2Helm是如何工作的Helm的基本概念Chart——代表一個(gè)Helm包,其中包含了在Kubernetes集群中運(yùn)行應(yīng)用程序、工具或服務(wù)所需的所有資源定義等。Repository——用于發(fā)布和存儲(chǔ)Chart的倉(cāng)庫(kù)。Release——代表在Kubernetes集群中運(yùn)行的Chart的一個(gè)實(shí)例。Helm模板Helm在Chart包中使用Gotemplate模板語(yǔ)言來(lái)編寫(xiě)表示Kubernetes資源的模板文件,并提供讓用戶配置這些模板變量的能力。任務(wù)8.1使用Helm簡(jiǎn)化應(yīng)用程序的部署和管理相關(guān)知識(shí)8.1.2Helm是如何工作的Helm的工作機(jī)制任務(wù)8.1使用Helm簡(jiǎn)化應(yīng)用程序的部署和管理相關(guān)知識(shí)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#包含模板用法簡(jiǎn)要說(shuō)明的純文本文件任務(wù)8.1使用Helm簡(jiǎn)化應(yīng)用程序的部署和管理相關(guān)知識(shí)8.1.3Chart結(jié)構(gòu)Chart.yaml文件組織格式apiVersion:ChartAPI版本(必需)name:Chart名稱(必需)version:語(yǔ)義化(SemVer)2版本(必需)kubeVersion:兼容Kubernetes版本的語(yǔ)義化版本(可選)description:對(duì)該項(xiàng)目的描述(可選)type:Chart類型(可選)keywords:-關(guān)于項(xiàng)目的關(guān)鍵字列表(可選)home:項(xiàng)目首頁(yè)的URL(可選)sources:-項(xiàng)目源碼的URL列表(可選)dependencies:#Chart必要條件列表(可選)
-name:Chart名稱(如nginx)
version:Chart名稱(如"1.2.3")
repository:(可選)倉(cāng)庫(kù)URL(如"/charts")或別名(如"@repo-name")任務(wù)8.1使用Helm簡(jiǎn)化應(yīng)用程序的部署和管理相關(guān)知識(shí)8.1.3Chart結(jié)構(gòu)Chart.yaml文件組織格式condition:(可選)解析為布爾值的YAML文件路徑,用于啟用或禁用Charttags:#(可選)-用于成批啟用或禁用Chart的標(biāo)記
import-values:#(可選)-保存源值到要導(dǎo)入的父項(xiàng)的映射的重要值
alias:(可選)用于Chart的別名。多次添加相同的Chart時(shí)會(huì)很有用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)用程序版本(可選)。不需要語(yǔ)義化,建議使用引號(hào)deprecated:Chart是否被降級(jí)(可選,布爾值)annotations:
鍵值對(duì)形式的注解列表(可選)任務(wù)8.1使用Helm簡(jiǎn)化應(yīng)用程序的部署和管理相關(guān)知識(shí)8.1.4Helm的基本用法命令說(shuō)明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)程倉(cāng)庫(kù)中下載Chart到本地,如果加上--untar選項(xiàng)還會(huì)自動(dòng)解壓push將Chart推送到遠(yuǎn)程倉(cāng)庫(kù)repo管理Chart倉(cāng)庫(kù),可用的子命令add、list、remove、update、index分別在本地添加、列出、移除、更新和索引Chart倉(cāng)庫(kù)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簡(jiǎn)化應(yīng)用程序的部署和管理任務(wù)實(shí)現(xiàn)任務(wù)8.1.1安裝和配置Helm安裝Helm(1)下載指定的Heml發(fā)行版。這里從官網(wǎng)下載適合Linuxamd64平臺(tái)的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命令行版本來(lái)驗(yàn)證Helm的安裝。任務(wù)8.1使用Helm簡(jiǎn)化應(yīng)用程序的部署和管理任務(wù)實(shí)現(xiàn)任務(wù)8.1.1安裝和配置Helm初始化Helm的Chart倉(cāng)庫(kù)#helmrepoaddbitnami/bitnami"bitnami"hasbeenaddedtoyourrepositories#helmrepolistNAME URLbitnami /bitnami#helmsearchrepobitnamiNAMECHARTVERSIONAPPVERSIONDESCRIPTIONbitnami/airflow14.2.22.6.0ApacheAirflowisatoolto...bitnami/apache9.5.32.4.57ApacheHTTPServerisan...任務(wù)8.1使用Helm簡(jiǎn)化應(yīng)用程序的部署和管理任務(wù)實(shí)現(xiàn)任務(wù)8.1.2熟悉Helm的基本操作搜索Chart(1)使用helmsearchhub命令從ArtifactHub或自己的hub實(shí)例中搜索Chart。(2)使用helmsearchrepo命令可以在已添加到本地的倉(cāng)庫(kù)中搜索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簡(jiǎn)化應(yīng)用程序的部署和管理任務(wù)實(shí)現(xiàn)任務(wù)8.1.2熟悉Helm的基本操作通過(guò)安裝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引用和倉(cāng)庫(kù)的URLhelminstall--repo/charts/mynginxnginxOCI注冊(cè)中心helminstallmynginx--version1.2.3oci:///charts/nginx任務(wù)8.1使用Helm簡(jiǎn)化應(yīng)用程序的部署和管理任務(wù)實(shí)現(xiàn)任務(wù)8.1.2熟悉Helm的基本操作通過(guò)安裝Chart部署應(yīng)用程序(1)執(zhí)helmrepoupdate命令更新本地倉(cāng)庫(kù),確保獲取最新的Chart列表。(2)執(zhí)行安裝MySQL的Chart命令。#helminstallbitnami/mysql--generate-nameNAME:mysql-1684417119#Release名稱LASTDEPLOYED:ThuMay1821:38:462023根據(jù)安裝提示連接到數(shù)據(jù)庫(kù)繼續(xù)測(cè)試所部署的MySQL實(shí)例。獲取MySQL實(shí)例的root賬戶的密碼。#MYSQL_ROOT_PASSWORD=$(kubectlgetsecret--namespacedefaultmysql-1684417119-ojsonpath="{.data.mysql-root-password}"|base64-d)任務(wù)8.1使用Helm簡(jiǎn)化應(yīng)用程序的部署和管理任務(wù)實(shí)現(xiàn)任務(wù)8.1.2熟悉Helm的基本操作通過(guò)安裝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ù)庫(kù)操作任務(wù)8.1使用Helm簡(jiǎn)化應(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簡(jiǎn)化應(yīng)用程序的部署和管理任務(wù)實(shí)現(xiàn)任務(wù)8.1.2熟悉Helm的基本操作管理Chart倉(cāng)庫(kù)#helmrepoaddstable/charts"stable"hasbeenaddedtoyourrepositories[root@master01~]#helmrepoaddkaiyuanshe/kubernetes/charts"kaiyuanshe"hasbeenaddedtoyourrepositories#helmrepolistNAME URLbitnami /bitnamistable /chartskaiyuanshe /kubernetes/charts任務(wù)8.1使用Helm簡(jiǎn)化應(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。安裝過(guò)程中會(huì)給出許多提示信息。#helminstallkafkabitnami/kafka--version22.1.2--setreplicaCount=2NAME:kafkaLASTDEPLOYED:FriMay1914:35:392023NAMESPACE:defaultSTATUS:deployedREVISION:1#以下為關(guān)鍵的提示信息Kafkacanbeaccessedbyconsumersviaport9092onthefollowingDNSnamefromwithinyourcluster:#消費(fèi)者訪問(wèn)Kafka的DNS名稱和端口
kafka.default.svc.cluster.local任務(wù)8.1使用Helm簡(jiǎn)化應(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簡(jiǎn)化應(yīng)用程序的部署和管理任務(wù)實(shí)現(xiàn)任務(wù)8.1.3使用Helm在Kubernetes中部署Kafka部署Kafka集群(7)打開(kāi)另一個(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簡(jiǎn)化應(yīng)用程序的部署和管理任務(wù)實(shí)現(xiàn)任務(wù)8.1.3使用Helm在Kubernetes中部署Kafka部署Kafka集群(8)切換到消息生產(chǎn)者所在的終端窗口,輸入測(cè)試用的消息內(nèi)容。然后切換到消息消費(fèi)者所在的終端窗口,可以發(fā)現(xiàn)會(huì)同步顯示該消息內(nèi)容。任務(wù)8.1使用Helm簡(jiǎn)化應(yīng)用程序的部署和管理任務(wù)實(shí)現(xiàn)任務(wù)8.1.3使用Helm在Kubernetes中部署Kafka升級(jí)與回滾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簡(jiǎn)化應(yīng)用程序的部署和管理任務(wù)實(shí)現(xiàn)任務(wù)8.1.3使用Helm在Kubernetes中部署Kafka刪除現(xiàn)有的Release部署#helmuninstallkafkarelease"kafka"uninstalled執(zhí)行helmuninstall命令并不會(huì)刪除Release自動(dòng)創(chuàng)建的相關(guān)PVC。任務(wù)8.2使用Kustomize定制應(yīng)用程序的部署配置任務(wù)8.1使用Helm簡(jiǎn)化應(yīng)用程序的部署和管理任務(wù)8.2使用Kustomize定制應(yīng)用程序的部署配置任務(wù)說(shuō)明01OPTION02OPTION03OPTION了解Kustomize的特性和應(yīng)用了解Kustomize的基本用法學(xué)會(huì)使用Kustomize的貫穿性字段統(tǒng)一定義資源04OPTION學(xué)會(huì)使用Kustomize組合和定制資源05OPTION學(xué)會(huì)使用Kustomize管理不同環(huán)境的應(yīng)用程序配置任務(wù)8.2使用Kustomize定制應(yīng)用程序的部署配置相關(guān)知識(shí)8.2.1Kustomize的特性和應(yīng)用場(chǎng)景主要特性與Kubernetes一樣使用純聲明性的配置定制方法,無(wú)須學(xué)習(xí)額外的語(yǔ)法。能夠遍歷Kubernetes配置文件以添加、刪除或更新配置選項(xiàng)??梢怨芾砣我鈹?shù)量的自定義Kubernetes配置。使用的每個(gè)工件都是簡(jiǎn)單的YAML,方便進(jìn)行驗(yàn)證和處理。通過(guò)統(tǒng)一的模板管理一個(gè)項(xiàng)目的Kubernetes部署結(jié)構(gòu)。應(yīng)用場(chǎng)景通過(guò)統(tǒng)一的模板管理一個(gè)項(xiàng)目的Kubernetes部署結(jié)構(gòu)。簡(jiǎn)化多套部署環(huán)境的Kubernetes應(yīng)用程序管理。用于持續(xù)集成和與持續(xù)部署(CI/CD)版本管理工作流。任務(wù)8.2使用Kustomize定制應(yīng)用程序的部署配置相關(guān)知識(shí)8.2.1Kustomize的特性和應(yīng)用場(chǎng)景用于多套部署環(huán)境的Kustomize應(yīng)用任務(wù)8.2使用Kustomize定制應(yīng)用程序的部署配置相關(guān)知識(shí)8.2.1Kustomize的特性和應(yīng)用場(chǎng)景具體功能基于文件或字面值生成ConfigMap和Secret對(duì)象。為Kubernetes對(duì)象設(shè)置貫穿性(Cross-Cutting)字段。組合和定制資源。任務(wù)8.1使用Helm簡(jiǎn)化應(yīng)用程序的部署和管理相關(guān)知識(shí)8.2.2Kustomization文件apiVersion:kustomize.config.k8s.io/v1beta1kind:Kustomizationresources:#Kubernetes資源(對(duì)象)-{pathOrUrl}-...generators:#生成器用來(lái)創(chuàng)建Kubernetes資源(對(duì)象)-{pathOrUrl}-...transformers:#轉(zhuǎn)換器用來(lái)處理Kubernetes資源(對(duì)象)-{pathOrUrl}-...validators:#驗(yàn)證器用來(lái)檢驗(yàn)是否存在錯(cuò)誤-{pathOrUrl}-...任務(wù)8.1使用Helm簡(jiǎn)化應(yīng)用程序的部署和管理相關(guān)知識(shí)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簡(jiǎn)化應(yīng)用程序的部署和管理相關(guān)知識(shí)8.2.3Kustomize的基本用法(2)根據(jù)基于項(xiàng)目生成自定義的YAML,語(yǔ)法格式:kubectlkustomize<Kustomization目錄>(3)將該項(xiàng)目的資源部署到Kubernetes集群。kubectlapply-k<Kustomization目錄>(4)在kubectl命令中使用--kustomize或-k選項(xiàng)來(lái)指定被Kustomization文件所管理的資源,該選項(xiàng)的參數(shù)是一個(gè)Kustomization目錄。kubectlget-k<Kustomization目錄>#顯示對(duì)象列表kubectldescribe-k<Kustomization目錄>#顯示對(duì)象詳細(xì)信息kubectldelete-k<kustomization目錄>#刪除使用Kustomize創(chuàng)建的對(duì)象任務(wù)8.1使用Helm簡(jiǎn)化應(yīng)用程序的部署和管理任務(wù)實(shí)現(xiàn)任務(wù)8.2.1使用Kustomize管理Secret對(duì)象創(chuàng)建Secret資源(1)準(zhǔn)備一個(gè)存放Kustomization文件的目錄。(2)在該目錄中創(chuàng)建名為kustomization.yaml的文件。secretGenerator:-name:database-credsliterals:-username=admin-password=abc123(3)基于Kustomization目錄生成Secret對(duì)象。#kubectlapply-k/k8sapp/08/secretGensecret/database-creds-bkkhd2g59fcreated(4)查看所創(chuàng)建的Secret對(duì)象的具體內(nèi)容以進(jìn)行驗(yàn)證。apiVersion:v1data:password:YWJjMTIzusername:YWRtaW4=kind:Secretmetadata:任務(wù)8.1使用Helm簡(jiǎn)化應(yīng)用程序的部署和管理任務(wù)實(shí)現(xiàn)任務(wù)8.2.1使用Kustomize管理Secret對(duì)象修改Secret數(shù)據(jù)(1)對(duì)上述kustomization.yaml文件進(jìn)行修改。(2)再次基于該Kustomization目錄生成一個(gè)新的Secret對(duì)象。(3)列出當(dāng)前的Secret對(duì)象,可以發(fā)現(xiàn)原有的Secret對(duì)象依然保留。#kubectlgetsecretNAMETYPEDATAAGEdatabase-creds-4fk78b5485Opaque258sdatabase-creds-bkkhd2g59fOpaque28m25s(4)刪除這兩個(gè)Secret對(duì)象,清理實(shí)驗(yàn)環(huán)境。#kubectldeletesecretdatabase-creds-4fk78b5485database-creds-bkkhd2g59f任務(wù)8.1使用Helm簡(jiǎn)化應(yīng)用程序的部署和管理任務(wù)實(shí)現(xiàn)任務(wù)8.2.1使用Kustomize管理Secret對(duì)象控制Secret對(duì)象的生成(1)修改上述kustomization.yaml文件。generatorOptions:disableNameSuffixHash:truelabels:type:generatedByKustomize(2)再次基于該Kustomization目錄生成一個(gè)新的Secret對(duì)象。(3)查看所創(chuàng)建的Secret對(duì)象的詳細(xì)信息以進(jìn)行驗(yàn)證。
labels:type:generatedByKustomizename:database-creds(4)刪除Secret對(duì)象,清理實(shí)驗(yàn)環(huán)境。任務(wù)8.1使用Helm簡(jiǎn)化應(yīng)用程序的部署和管理任務(wù)實(shí)現(xiàn)任務(wù)8.2.2為Kubernetes對(duì)象設(shè)置貫穿性字段貫穿性字段常見(jiàn)的應(yīng)用場(chǎng)景為所有對(duì)象設(shè)置相同的名稱空間。為所有對(duì)象的名稱添加相同的前綴或后綴。為對(duì)象添加相同的標(biāo)簽集合。為對(duì)象添加相同的注解集合。任務(wù)8.1使用Helm簡(jiǎn)化應(yīng)用程序的部署和管理任務(wù)實(shí)現(xiàn)任務(wù)8.2.2為Kubernetes對(duì)象設(shè)置貫穿性字段準(zhǔn)備deployment.yaml文件(用于創(chuàng)建Deployment對(duì)象)。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簡(jiǎn)化應(yīng)用程序的部署和管理任務(wù)實(shí)現(xiàn)任務(wù)8.2.2為Kubernetes對(duì)象設(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簡(jiǎn)化應(yīng)用程序的部署和管理任務(wù)實(shí)現(xiàn)任務(wù)8.2.2為Kubernetes對(duì)象設(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簡(jiǎn)化應(yīng)用程序的部署和管理任務(wù)實(shí)現(xiàn)任務(wù)8.2.2為Kubernetes對(duì)象設(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簡(jiǎn)化應(yīng)用程序的部署和管理任務(wù)實(shí)現(xiàn)任務(wù)8.2.2為Kubernetes對(duì)象設(shè)置貫穿性字段基于該項(xiàng)目生成自定義的YAML。spec:selector:#所添加的選擇器
matchLabels:app:test-nginxtemplate:metadata:annotations:#所添加的注解
oncallPager:testcross-cuttinglabels:#所添加的標(biāo)簽
app:test-nginx任務(wù)8.1使用Helm簡(jiǎn)化應(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簡(jiǎn)化應(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簡(jiǎn)化應(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. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國(guó)盆花行業(yè)運(yùn)行態(tài)勢(shì)及發(fā)展趨勢(shì)分析報(bào)告
- 2025-2030年中國(guó)電極箔產(chǎn)業(yè)發(fā)展趨勢(shì)規(guī)劃研究報(bào)告
- 2025山東省建筑安全員《B證》考試題庫(kù)
- 長(zhǎng)沙軌道交通職業(yè)學(xué)院《幼兒戲劇》2023-2024學(xué)年第二學(xué)期期末試卷
- 唐山工業(yè)職業(yè)技術(shù)學(xué)院《軟件工程原理與實(shí)踐》2023-2024學(xué)年第二學(xué)期期末試卷
- 遼寧何氏醫(yī)學(xué)院《運(yùn)動(dòng)選材學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 滁州城市職業(yè)學(xué)院《工程實(shí)訓(xùn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 中國(guó)計(jì)量大學(xué)《文學(xué)批評(píng)學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 廣西演藝職業(yè)學(xué)院《食品營(yíng)養(yǎng)學(xué)實(shí)驗(yàn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 西安信息職業(yè)大學(xué)《文獻(xiàn)檢索與科技論文寫(xiě)作》2023-2024學(xué)年第二學(xué)期期末試卷
- 幼兒園廚師廚房崗位管理培訓(xùn)教學(xué)課件(一)
- 采購(gòu)需求管理附件2采購(gòu)需求-PR-PO操作說(shuō)明
- 化工過(guò)程安全管理導(dǎo)則
- 人教版《道德與法治》四年級(jí)下冊(cè)教材簡(jiǎn)要分析課件
- 智慧水利建設(shè)頂層設(shè)計(jì)
- 數(shù)字示波器的工作原理及其應(yīng)用
- 應(yīng)聘登記表員工招聘登記表
- 肝內(nèi)膽管結(jié)石治療共識(shí) 課件
- 常見(jiàn)婚姻家庭糾紛及調(diào)解的技巧課件
- 新人教版高中數(shù)學(xué)必修二全冊(cè)教學(xué)課件ppt
- Python數(shù)據(jù)分析與應(yīng)用
評(píng)論
0/150
提交評(píng)論