《容器化技術(shù)》課件-ConfigMap卷的特點(diǎn)和使用方法_第1頁
《容器化技術(shù)》課件-ConfigMap卷的特點(diǎn)和使用方法_第2頁
《容器化技術(shù)》課件-ConfigMap卷的特點(diǎn)和使用方法_第3頁
《容器化技術(shù)》課件-ConfigMap卷的特點(diǎn)和使用方法_第4頁
《容器化技術(shù)》課件-ConfigMap卷的特點(diǎn)和使用方法_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

ConfigMap卷的特點(diǎn)和使用方法目錄contents01ConfigMap基本概念02ConfigMap創(chuàng)建方式03ConfigMap使用方法04使用ConfigMap的注意事項(xiàng)一、ConfigMap基本概念ConfigMapSecretKubernetes系統(tǒng)特殊類型的存儲卷一、ConfigMap基本概念ConfigMap對象用于為容器中的應(yīng)用提供配置文件等信息。Secret比較敏感的數(shù)據(jù),例如密鑰、證書等由Secret對象來進(jìn)行配置。一、ConfigMap基本概念ConfigMapSecret將相應(yīng)的配置信息保存于對象中,而后在Pod資源上以存儲卷的形式掛載并獲取相關(guān)的配置,以實(shí)現(xiàn)配置與鏡像文件的解耦。一、ConfigMap基本概念在生產(chǎn)環(huán)境中經(jīng)常會遇到需要修改應(yīng)用服務(wù)配置文件的情況,傳統(tǒng)的修改方式不僅會影響到服務(wù)的正常運(yùn)行,操作步驟也很煩瑣。為了解決這個(gè)問題,Kubernetes1.2版本開始引入了ConfigMap功能,用于將應(yīng)用的配置信息與程序的配置信息分離。這種方式不僅可以實(shí)現(xiàn)應(yīng)用程序的復(fù)用,還可以通過不同的配置實(shí)現(xiàn)更靈活的功能。在創(chuàng)建容器時(shí),用戶可以將應(yīng)用程序打包為容器鏡像,然后通過環(huán)境變量或者外接掛載文件進(jìn)行配置注入。ConfigMap是以key:value的形式保存配置項(xiàng),既可以用于表示一個(gè)變量的值(如config=info),也可以用于表示一個(gè)完整配置文件的內(nèi)容。一、ConfigMap基本概念將配置項(xiàng)設(shè)置為容器內(nèi)的環(huán)境變量。將啟動(dòng)參數(shù)設(shè)置為環(huán)境變量。以Volume的形式掛載到容器內(nèi)部的文件或目錄。二、ConfigMap創(chuàng)建方式系統(tǒng)中可以通過YAML配置文件或者直接使用kubectlcreateconfigmap命令來創(chuàng)建ConfigMap。1.通過YAML配置文件創(chuàng)建創(chuàng)建YAML文件config.yaml,描述將應(yīng)用所需的變量定義為ConfigMap的用法。$kubectldescribeconfigmapmy-configKeyValue配置文件的別名是配置文件的全部文本內(nèi)容二、ConfigMap創(chuàng)建方式執(zhí)行kubectlcreate命令創(chuàng)建ConfigMap,并使用相關(guān)命令查看創(chuàng)建好的Config,示例代碼如下:$kubectlcreate-fconfig.yaml二、ConfigMap創(chuàng)建方式另外,可以使用命令查看ConfigMap詳細(xì)信息,代碼如下:kubectldescribeconfigmapmy-config二、ConfigMap創(chuàng)建方式2.

通過Kubectl命令行創(chuàng)建在kubectlcreateconfigmap命令種使用參數(shù)--from-file或--from-literal指定文件、目錄或者文本,也可以創(chuàng)建一個(gè)或者多個(gè)ConfigMap。$echohello>test1.txt$ehcoworld>test2.txt$kubectlcreateconfigmapmy-config--from-file=key1=test1.txt--from-file=key2=test2.txt$kubectldescribeconfigmapmy-config(1)指定文件二、ConfigMap創(chuàng)建方式2.

通過Kubectl命令行創(chuàng)建$mkdirconfig$echohello>config/test1$echoworld>config/test2(2)指定目錄需要注意,目錄中的每個(gè)配置文件名都會被設(shè)置為Key,文件中的內(nèi)容將被設(shè)置為Value,語法格式如下:#根據(jù)文件夾創(chuàng)建configmap$kubectlcreateconfigmapdir-config--from-file=config/$kubectldescribeconfigmapdir-confi二、ConfigMap創(chuàng)建方式$kubectlcreateconfigmapliteral-config--from-literal=key1=hello--from-literal=key2=world$kubectldescribeconfigmapliteral-config(3)指定文本此方式將直接指定Key:Value,語法格式如下:三、ConfigMap使用方法在Kubernetes中創(chuàng)建好ConfigMap后,容器可以通過以下兩種方法使用ConfigMap中的內(nèi)容。通過環(huán)境變量獲取ConfigMap中的內(nèi)容。通過Volume掛載的方式將ConfigMap中的內(nèi)容掛載為容器內(nèi)部的文件或目錄。三、ConfigMap使用方法1.

通過環(huán)境變量使用ConfigMap以先前創(chuàng)建的config.yaml為例,ConfigMap的定義文件如下所示。三、ConfigMap使用方法創(chuàng)建相關(guān)Pod,并在該P(yáng)od定義文件的spec.env字段中加入ConfitgMap的配置,示例代碼如下:#test-pod-configmap.yamlapiVersion:v1kind:Podmetadata:name:test-pod-configmapenv:-name:KEY1valueFrom:configMapKeyRef:name:my-configkey:key1-name:KEY2valueFrom:configMapKeyRef:name:my-configkey:key2spec:containers:-name:test-busyboximage:busyboximagePullPolicy:IfNotPresentargs:-sleep-"86400"

三、ConfigMap使用方法使用“kubectlcreate–f”命令創(chuàng)建該P(yáng)od,由于是測試Pod,所以該P(yáng)od在執(zhí)行完啟動(dòng)命令后將會退出,并且不會被系統(tǒng)自動(dòng)重啟。$kubectlcreate-ftest-pod-configmap.yaml使用kubectlgetpods命令查看創(chuàng)建的Pod。三、ConfigMap使用方法創(chuàng)建相關(guān)Pod,并在該P(yáng)od定義文件的spec.env字段中加入ConfitgMap的配置,示例代碼如下:#test-pod-configmap.yamlapiVersion:v1kind:Podmetadata:name:test-pod-configmapenv:-name:KEY1valueFrom:configMapKeyRef:name:my-configkey:key1-name:KEY2valueFrom:configMapKeyRef:name:my-configkey:key2spec:containers:-name:test-busyboximage:busyboximagePullPolicy:IfNotPresentargs:-sleep-"86400"

三、ConfigMap使用方法查看該P(yáng)od的日志,執(zhí)行代碼如下:$kubectllogstest-pod-configmap-cmd注意,環(huán)境變量的名稱受POSIX命名規(guī)范約束,不能以數(shù)字開頭。如果配置中包含非法字符,系統(tǒng)將會跳過該條環(huán)境變量的創(chuàng)建,并記錄一個(gè)Event來提醒用戶環(huán)境變量無法生成,但不阻止Pod的啟動(dòng)。三、ConfigMap使用方法為了便于更好地對比學(xué)習(xí),這里使用cm-apache.yaml文件。2.

通過Volume掛載使用ConfigMap三、ConfigMap使用方法創(chuàng)建YAML文件Pod-volume-test.yaml,并在配置中加入Volume信息,示例代碼如下:2.

通過Volume掛載使用ConfigMap三、ConfigMap使用方法根據(jù)定義文件,創(chuàng)建該P(yáng)od,示例代碼如下:查看新創(chuàng)建Pod是否正常運(yùn)行,示例代碼如下:通過執(zhí)行結(jié)果可以看出,以Volume掛載方式成功配置了ConfigMap。四、使用ConfigMap的注意事項(xiàng)Kubernetes中使用ConfigMap的注意事項(xiàng)如下。ConfigMap必須在Pod之前創(chuàng)建。ConfigMap受到命名空間限制

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論