容器運維最佳實踐

2021-09-17 07:21:46 字數 1404 閱讀 9121

本文介紹了一組使容器更易於運維的最佳實踐。這些實踐涉及安全性、監控和日誌記錄等廣泛的主題,旨在使應用程式更容易在kubernetes engine 和一般的容器中執行。這裡討論的許多實踐都受到12因子方法的啟發 ,12因素方法是乙個構建雲原生應用程式的優質資源。

\\ 這些最佳實踐的重要等級不一樣。例如,對於有些實踐,你可能在缺少他們的情況下在生產環境中成功執行,但另外一些實踐是不可或缺的。特別是,與安全相關的最佳實踐的重要性是主觀的,是否實現它們取決於你的環境和約束。

\\ 這些實踐並不適合零基礎的讀者,你需要事先了解docker 和kubernetes 的一些知識。此處討論的一些最佳實踐也適用於windows容器,但大多情況下數假設你使用的是linux容器。有關構建容器的建議,請參閱構建容器的

最佳實踐。

\\\\

重要性:高

\\ 作為應用程式管理的一部分,日誌中包含寶貴的資訊,可讓人了解應用程式中發生的事件。docker 和kubernetes 致力於簡化日誌管理。

\\ 在傳統伺服器上,你可能需要將日誌寫入特定檔案並處理日誌輪換以避免填滿磁碟。如果有高階日誌系統,則可以將這些日誌**到遠端伺服器來集中它們。

\\ 通過容器可以將日誌寫入stdout 和stderr,因而容器提供了一種簡單且標準化的方式來處理日誌。docker 捕獲這些日誌行,並允許你使用docker logs 命令訪問它們。作為應用程式開發人員,你不需要實現高階日誌記錄機制,試試用原生的日誌記錄機制吧。

\\ 平台運營商必須提供乙個系統來集中日誌並進行搜尋,你可以使用kubernetes engine 提供的 fluentd 和 stackdriver logging。其他常見方法包括使用 efk (elasticsearch,fluentd,kibana)棧。

\\圖1.kubernetes 中典型的日誌管理系統圖

\\\\

大多數日誌管理系統實際上是時序資料庫,用於儲存時間索引文件。這些文件通常以json 格式提供。在stackdriver logging 和efk 中,單個日誌行和一些元資料(容器組、容器、節點等相關資訊)一起被儲存為乙個文件。

\\ 你可以直接通過將不同欄位以json 格式進行日誌記錄。然後,可以根據這些欄位更有效地搜尋日誌。

\\ 例如,考慮將以下日誌轉換為json格式:

\\

\[2018-01-01 01:01:01] foo - warning - foo.bar - there is something wrong.
\\

這是轉換後的日誌:

\\

\{\  \"date\": \"2018-01-01 01:01:01\

容器運維最佳實踐

本文介紹了一組使容器更易於運維的最佳實踐。這些實踐涉及安全性 監控和日誌記錄等廣泛的主題,旨在使應用程式更容易在kubernetes engine 和一般的容器中執行。這裡討論的許多實踐都受到12因子方法的啟發 12因素方法是乙個構建雲原生應用程式的優質資源。這些最佳實踐的重要等級不一樣。例如,對於...

《開源安全運維平台 OSSIM最佳實踐》內容簡介

開源安全運維平台 ossim最佳實踐 李晨光 著 清華大學出版社出版 內 容 簡 介 在傳統的異構網路環境中,運維人員往往利用各種複雜的監管工具來管理網路,由於缺乏一種整合安 全運維平台,當遇到故障時總是處於被動 救火 狀態,如何將資產管理 流量監控 漏洞管理 入侵監 測 合規管理等重要環節,通過開...

linux tar命令運維實踐

大部分運維人員之所以工資不高,之所以發展瓶頸很大,都是因為基礎不牢導致的!正所謂,基礎不牢,地動山搖 老男孩 linux tar命令運維實踐 1 進入到目錄的上一級目錄打包 除非需要完整的目錄結構才從根開始打 2 gzip格式包 tar zcvf 路徑 筐.tar.gz 蘋果 z gzip格式壓縮 ...