91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Kubernetes ConfigMap怎么安裝啟用

發布時間:2021-12-17 10:36:36 來源:億速云 閱讀:116 作者:iii 欄目:云計算

本篇內容介紹了“Kubernetes ConfigMap怎么安裝啟用”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

讓我們來看看監控配置文件變化的簡單網頁app是怎么樣的。

Kubernetes ConfigMap怎么安裝啟用

Kubernetes ConfigMap怎么安裝啟用

這個app有趣部分是ConfigManager 和 WatchFile.

ConfigManager的工作就是提供訪問我們的 Config{}的路徑結構,這樣的話當Kubernetes ConfigMap給我們一個新的配置文件版本或者我們更新 Config{} 對象時候,競爭沖突不存在。

 WatchFile的工作就是為作出的修改查看我們的配置文件,并且運行讀取配置文件的新版本回調函數,使用ConfigManager設置新的 Config{} 。

讓我們看一下ConfigManager的安裝啟用。

Kubernetes ConfigMap怎么安裝啟用

這里是我們使用一個簡單的Mutex用來避免競爭沖突的例子。通常你想要避免使用Mutex,然后使用建立在channel里面的golang。但是既然管理員的工作是保護配置對象的實例,那么使用Mutex也還是可以接受的。

懷著好奇心,我創建了一個這個對象的golang channel安裝啟用,然后運行一些基準點。你可以點擊(https://github.com/thrawn01/configmap-microservice-demo/blob/master/manager.go)找到代碼和基準點測試。

Kubernetes ConfigMap怎么安裝啟用

Mutex版本沒有死鎖的風險,很高效。

 而 FileWatcher的實施會較復雜一點。它的目標是使任意額外的fsnotify events成為一個單獨更新的event,這樣我們只要執行一次回調函數。查看完整代碼請點擊這里(https://github.com/thrawn01/configmap-microservice-demo/blob/master/watcher.go)

有意思的部分是 run()函數執行在線程中,然后運行回調函數。

Kubernetes ConfigMap怎么安裝啟用

你可能會覺得代碼應該尋找 fsnotify.Writeevents而不是fsnotify.Remove,然而……ConfigMap所呈現給應用程序的配置文件事實上是一個連接到我們配置文件的符號鏈接,而不是一個文件。當ConfigMap更新時,Kubernetes AtomicWriter()就可以實現強大的ConfigMap更新。

為了做到這樣,AtomicWriter()創建了一個新的目錄;編寫更新好的ConfigMap內容到新的目錄。一旦編寫完成,那么它就會移動原始配置文件符號鏈接,然后用新的指向最新創建目錄符號鏈接替換它。

我們的代碼處理方式理論上應該是監控我們的配置文件符號鏈接,而不是為events的真實文件。然而,fsnotify.v1并不允許我們提交IN_DONT_FOLLOW標志到inotify,inotify允許我們為修改監控符號鏈接。但是fsnotify取消引用符號鏈接,然后為events監控真實文件。這不太可能作出修改,因為fsnotify是為跨平臺設計的,而且不是所有的平臺都支持符號鏈接。

我繼續使用fsnotify函數庫,因為對于我來說,用它在osx上開發,在容器上部署都比較方便。以Linux為中心的實施應該直接使用"golang.org/x/exp/inotify"數據庫。

現在我們有了我們的代碼,我們可以創建一個Docker鏡像然后更新到Docker hub,為部署在我們Kubernetes集群做好準備。

Kubernetes ConfigMap怎么安裝啟用

假設你已經建立起了一個Kubernetes集群;讓我們來創建一個ConfigMap配置,然后用我們的容器來使用它。

創建ConfigMap

首先,我們創建一個密鑰清單文件

Kubernetes ConfigMap怎么安裝啟用

這個定義了一個新的叫做configmap-microservice-demo的ConfigMap,它包括了 data:配置文件名字叫做configmap-microservice-demo.yaml

它的內容是message: Hello World。

使用 kubectl來創建ConfigMap。

Kubernetes ConfigMap怎么安裝啟用

你可以檢測到最新的創建好的ConfigMap

Kubernetes ConfigMap怎么安裝啟用

接下來我們來定義一個Replication Controller密鑰清單來運行我們的應用程序容器。

Kubernetes ConfigMap怎么安裝啟用

有趣的地方就是volumes:和volumeMounts:,這兩者告訴運行在節點上的kubelet哪里可以安裝我們的配置文件。當我們的容器運行的時候;數據卷插件會在我們的容器中安裝一個叫做/etc/config的目錄,然后在這里面替換我們的配置文件configmap-microservice-demo.yaml。

從我們的容器觀點角度看,我們的配置文件完整途徑將會是:/etc/config/configmap-microservice-demo.yaml

現在讓我們來創建Replication Controller。

Kubernetes ConfigMap怎么安裝啟用

我們現在可以檢查我們正在運行的pods來尋找我們新pod的IP地址。

Kubernetes ConfigMap怎么安裝啟用

現在如果你登錄到我們集群中的一個節點,我們在集群里可以用pod的IP地址從任何地方來訪問應用程序。

Kubernetes ConfigMap怎么安裝啟用

如果這個部分讓你很困惑,你可以點擊這篇博客(http://www.dasblinkenlichten.com/kubernetes-101-networking/),它對于Kubernetes網絡是如何運行的有很深層次的指導意義。這個是官方文檔(http://kubernetes.io/docs/admin/networking/)。

更新ConfigMap

現在為了有趣的部分,讓我們來更新我們的配置,部署修改到ConfigMap。

讓我們打開原始的ConfigMap密鑰清單文件,然后修改我們的message: Hello World到message:Hello Grandma。

Kubernetes ConfigMap怎么安裝啟用

用我們更新的版本替代目前的ConfigMap

Kubernetes ConfigMap怎么安裝啟用

我們可以驗證到,通過在configmap資源上執行get,更新很成功。

Kubernetes ConfigMap怎么安裝啟用

我們的應用程序很快得到了更新后的配置,我們可以通過看日志就來驗證。

Kubernetes ConfigMap怎么安裝啟用

現在我們可以在集群里面curl我們的應用程序,我們應該看到更新的配置反應在我們的應用程序里。

Kubernetes ConfigMap怎么安裝啟用

你可以登錄到我們的容器正在運行的節點,然后檢查直接檢查配置文件。Kubernetes將目錄安裝在/var/lib/kubelet/pods/<pod-id>/volumes/kubernetes.io~configmap/config-volume。

“Kubernetes ConfigMap怎么安裝啟用”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

平江县| 南召县| 铁岭县| 张家口市| 米泉市| 新乡县| 巴马| 凌源市| 洞口县| 山阳县| 古丈县| 梁平县| 陵川县| 时尚| 和田市| 安阳市| 涡阳县| 富宁县| 汝阳县| 同心县| 麻城市| 家居| 界首市| 拉萨市| 右玉县| 绥中县| 商河县| 孝昌县| 永福县| 贵州省| 赤城县| 鄂尔多斯市| 枣阳市| 建始县| 永定县| 利津县| 绥化市| 肇州县| 苏尼特右旗| 收藏| 金沙县|