configmap原理和實踐

2021-10-01 05:35:13 字數 2248 閱讀 1174

原理:kubernetes通過configmap來實現對容器中應用的配置管理,configmap api資源儲存配置資料的鍵值對,可以在pods中使用或者可以用於儲存系統元件的配置資料。簡單的說也就是,configmap是kubernetes的一種資源,configmap可用於儲存細粒度資訊如單個屬性,或粗粒度資訊如整個配置檔案或json物件。在容器中configmap可用於填充各個環境變數或者整個使用。使用configmap 掛載的 env 不會同步更新,使用configmap 掛載的 volume 中的資料需要一段時間才能同步更新。

建立configmap

(1)命令列建立

kubectl create configmap test-config --from-file=/configs

直接將乙個目錄下的所有配置檔案建立為乙個configmap

kubectl create configmap test-config2 --from-file=./configs/db.conf --from-file=./configs/cache.conf

直接將乙個配置檔案建立為乙個configmap

kubectl create configmap test-config3 --from-literal=db.host=10.5.10.116 --from-literal=db.port=『3306』

在使用kubectl建立的時候,通過在命令列直接傳遞鍵值對建立

(2)yaml 檔案建立

apiversion: v1

kind: configmap

metadata:

name: test

namespace: default

data:

special.how: nice

special.type: charm

這就是建立乙個有兩個鍵值的configmap。

使用configmap

(1)通過環境變數的方式,直接傳遞pod(容器中的環境變數不會更新)

apiversion: v1

kind: pod

metadata:

name: ssk-pod

spec:

containers:

- name: test-container

image: www.registry.it/dou

command: [「./run.sh」]

env:

- name: special_how

valuefrom:

configmapkeyref:

name: test

key: special.how

- name: special_type

valuefrom:

configmapkeyref:

name: test

key: special.type

restartpolicy: never

kubectl create -f ssk1.yaml 這樣建立的容器中,環境變數special_how對應的值就是nice,special_type對應的值就是charm。

(2)使用volume的方式掛載入到pod內

apiversion: v1

kind: pod

metadata:

name: ssk2-pod

spec:

containers:

- name: test-container

image: www.registry.it/dou

command: [「./run.sh」]

volumemounts:

- name: config-volume

mountpath: /etc/config

volumes:

- name: config-volume

configmap:

name: test

restartpolicy: never

kubectl create -f ssk2.yaml這樣建立的容器中,/etc/config就有兩個鍵值的檔案。

在pod對configmap 進行掛載操作時,容器內部只能掛載為目錄,無法掛載檔案。在掛載到容器內部後,目錄中將包含configmap定義到每個item,如果該目錄下原先還有其他檔案,則容器內的該目錄將會被掛載的configmap進行覆蓋。如果應用程式需要保留原來的檔案,則需要進行額外的處理。可以通過將configmap掛載到容器內部的臨時目錄,再通過啟動指令碼將配置檔案複製或者鏈結到應用所用的實際配置目錄下。

dubbo 原理和入門實踐

一。dubbo 遠端服務呼叫的分布式框架 其核心部分包含 1.遠端通訊 提供對多種基於長連線的nio框架抽象封裝,包括多種執行緒模型,序列化,以及 請求 響應 模式的資訊交換方式。2.集群容錯 提供基於介面方法的透明遠端過程呼叫,包括多協議支援,以及軟負載均衡,失敗容錯,位址路由,動態配置等集群支援...

python爬蟲的定義和實踐原理

1 爬蟲的定義 網路爬蟲是一種按照一定的規則自動爬取爬取網路資訊的程式或者指令碼。簡單來說,網路爬蟲就是就是根據一定的演算法實現程式設計開發,主要通過url實現資料的抓取和發掘。爬蟲的型別和原理 2 實現python爬蟲的思路 第一步 明確目的 1.找到想要爬取資料的網頁 2.分析網頁結構,找到需要...

LSA LSI原理以及實踐

lsa latent semantic analysis 潛在語義分析也可以稱為 lsi latent semantic index 該方法和傳統向量空間模型一樣使用向量來表示詞 iterms 和文件 documents 並通過向量間 一般通過余弦相似度來刻畫 的關係來表示詞和文件之間的相似度 三個...