中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

kubernetes自動生成ConfigMap中的坑怎么解決

發布時間:2021-12-30 15:06:02 來源:億速云 閱讀:186 作者:iii 欄目:云計算

本篇內容主要講解“kubernetes自動生成ConfigMap中的坑怎么解決”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“kubernetes自動生成ConfigMap中的坑怎么解決”吧!

背景問題

最近在使用Kubernetes ConfigMap過程中,由于需要把配置文件復制ConfigMap yaml編排文件中,在copy的過程中,容易出錯,于是引入了Kustomize ConfigMapGenerate,通過引用外部配置文件,自動生成配置,但在使用過程中碰到新問題。

  • ConfigMap名稱生成多余     hash
  • 加載到配置文件中內容格式錯亂。

以下分別對這兩個個問題進行分析、并給出具體解決方式。

ConfigMapGenerate使用

ConfigMapGeneratorKustomize ConfigMap自動生成配置插件,使用方式非常簡單,如下圖所示:

kubernetes自動生成ConfigMap中的坑怎么解決

執行kubectl apply -k .執行完成之后查看ConfigMap, ConfigMap倒是生成了,但是后邊多了一堆hash字符串如:test-conf-tmc5f824gt。

kubernetes自動生成ConfigMap中的坑怎么解決  

why?

deployment里面還需要引用這個ConfigMap呢?通過測試發現這個hash后綴,是針對文件內容生成的hash,如果文件內容沒有變化,這個hash不會變化,否則重新生成。

原來這個hash類似于ConfigMap版本的一個概念,但是我在使用過程中對配置文件的版本沒有什么要求。

解決方案

通過查看文檔可以發現https://github.com/kubernetes-sigs/kustomize/blob/master/examples/generatorOptions.md,只需要添加參數即可控制版本號變化:

kubernetes自動生成ConfigMap中的坑怎么解決  

一頓操作之后,就可以通過一個引用把配置自動ConfigMap資源對象,我們只需要修改我們原來的配置文件,然后重新生成即可完成ConfigMap的更新,而且不會出現多余字符串,當然如果你使用了helm等模板工具,可以考慮使用這個版本號,這樣的話ConfigMap也有了版本的概念。

ConfigMap中文本錯亂

kubernetes自動生成ConfigMap中的坑怎么解決  

當我通過kubectl獲取ConfigMap配置信息之后,日志xml文本中出現了大量的\n\t,雖然不影響使用,但是看起來糟心,而且當我們需要臨時修改配置的時候,看起來眼花繚亂,影響工作效率。(當然普通的properties配置文件也可能會出現這種問題,但是KV對配置文件很少使用tab縮進功能)

why?

通過idea編輯器打開隱藏字符(或者通過vim set list功能,也可以顯示隱藏字符),會發現xml文件中存在tab縮進字符,而對于Kubernetes yaml編排文件不允許使用tab只能使用空格,如下圖所示。

kubernetes自動生成ConfigMap中的坑怎么解決  
kubernetes自動生成ConfigMap中的坑怎么解決  
 

原因分析

猜測原因是因為Kubernetes ConfigMapload過程中發現文件中包含tab,直接轉化為\n\t。如果把文本里面的tab全部替換空格,會不會直接解決問題呢?按照這個思路,我得到了如下兩種解決方式。

 

解決方案(1)

通過編輯器正則表達式把\t替換為4個空格,再次上傳日志配置文件,之后通過ConfigMapGenerate生成配置時,發現問題已經解決,如下所示:kubernetes自動生成ConfigMap中的坑怎么解決

解決方案(2)

使用xmllint --format logback.xml -o logback.xml進行格式化配置文件,通過這種方式也可以解決如上問題。

另外因為配置文件的編輯可能在windows操作系統上,而ConfigMap的生成在linux,這會導致文件中出現^M不可見字符,可以使用dos2unix轉換文件格式,解決該問題。

到此,相信大家對“kubernetes自動生成ConfigMap中的坑怎么解決”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

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

AI

乌拉特后旗| 奉节县| 明星| 洮南市| 田东县| 莲花县| 金溪县| 长寿区| 新余市| 鄄城县| 白城市| 通江县| 农安县| 屯昌县| 盘山县| 潮安县| 鄄城县| 洪泽县| 广东省| 永寿县| 城步| 沽源县| 万源市| 建平县| 许昌市| 枞阳县| 仪征市| 昌平区| 阳原县| 苏州市| 兴城市| 塔城市| 中牟县| 乌鲁木齐县| 镇安县| 余干县| 湟中县| 樟树市| 嘉峪关市| 宁武县| 铜陵市|