作者 | Samuel Adebayo
編譯 | 徐杰承
今天,Kubernetes仍然是開發人員最需要的容器。Kubernets最初由 Google 工程師開發,作為跨本地、公共云、私有云或混合云托管的首選解決方案享譽全球。
來自Statista的報告顯示,公共云中的Kubernetes市場份額在過去一年中上升了近30%。并且在擁有超過1000名員工的大型科技企業中,Kubernets的采用率也在一年中至少上升了20%。
然而,盡管Kubernets越來越受歡迎,但其中仍存在一些挑戰,使得DevOps團隊很難在使用K8s構建云原生應用程序的過程中發揮它的全部優勢。對于DevOps團隊而言,應用Kubernets時應關注哪些問題呢?
1、可觀測性是關鍵
Kubernetes 有很多優點,因為容器生態系統中存在多個節點。這使得全面了解整個 K8s 環境是一項具有挑戰性的任務。事實上,想要不依賴工具直接對K8s進行檢測是非常困難的。根據Groundcover首席執行官兼聯合創始人Shahar Azulay的說法,這一挑戰的解決方案在于可觀測性解決方案。
通過使用可觀測性工具,DevOps 團隊可以全面了解 Kubernetes 中發生的一切,從日志到指標和跟蹤。這使 DevOps 團隊能夠快速修復錯誤并大規模構建應用程序。Azulay表示:“開發人員無需收集和分析每個字節可用數據或隨機采樣,而是可以通過在源頭識別最有效的數據來智能地對其進行采樣,然后僅選擇要發送到其可觀測性平臺的數據。
借助可觀測性工具,DevOps 團隊可以減少系統宕機時間、降低成本并最終提高性能。當今一些最流行的可觀測性工具包括Grafana、Groundcover和Prometheus。Azulay進一步指出,Groundcover代表了可觀測性的新范式,因為“它打破了傳統的APM模型,提供了最小的資源消耗,全面的可觀測性和簡單透明的定價。
2、將安全性放在首位
僅僅關注可觀察性是不夠的,這意味著你只能解決一半的問題。在紅帽發布的關于 2023 年 Kubernetes的 安全狀況的報告中,94% 的受訪者在過去 12 個月內經歷過安全事件,而 64% 的受訪者表示由于 K8s 的安全問題導致了他們系統的延遲或影響部署。30%的受訪者還認為漏洞是他們對容器和K8s環境的最大擔憂。
在 Kubernetes 環境中運行應用程序時保持安全性非常必要。如果不將安全性放在首位,可能會對性能產生不利影響,增加補救成本,并產生持久的破壞性影響。使用K8s時,你必須時刻保持警惕,才能夠從中獲得你想要的性能提升。
ARMO開源社區副總裁Box Craig作為當今最受歡迎的Kubernetes安全工具Kubescape創建者之一,他指出:“與所有云軟件一樣,當你將Kubernetes訪問權限委托給團隊時,你要確保自己有與之契合的的護欄,這是非常重要的。
Craig進一步指出,為確保安全性而采取的一些步驟應該包括(但不限于):
- 定期更新安全補丁。
- 配置 K8s 集群時遵循行業最佳實踐。
- 檢查并驗證映射是否存在惡意代碼、不正確的配置和其他漏洞。
- 禁止用戶訪問云 API 數據。
- 利用基于角色的訪問控制 (RBAC),允許用戶僅根據其角色和功能訪問 K8s 資源。
- 使用 Kubecsape 等安全工具保護您的 IDE、CI/CD 管道和集群。
3、修復存儲問題
使用 Kubernetes 時的額外存儲是有代價的,其承擔了開發人員和組織產生的大部分成本。為了有效地減少開發人員的部署摩擦,大型企業通常會遷移到公共云環境并減少對本地服務器的依賴。
根據ARMO的首席技術官Ben Hirschberg的說法,解決這個問題的一種方法是“從源頭分析數據,最大限度減少移動大量數據進行觀察的需要。可以直接分析節點或應用程序內部的數據,并非所有數據都需要移動到外部存儲或可觀測性平臺。通過在本地存儲數據,DevOps團隊可以避免不必要的數據傳輸成本,同時確保在需要時隨時獲得必要的數據。
4、優先考慮互操作性
大多數開發人員面臨的K8s的另一個問題是互操作性,即應用程序在K8s中相互通信的能力。K8s上可互操作的云原生應用程序之間的通信并不像看起來那么簡單。正如本文所指出的,缺乏互操作性可能會影響群集部署,因為它包含的應用程序實例可能會在群集中的單個節點上運行時出現問題。
解決這一挑戰的一種方法是利用跨多個組織(如AWS、Google、IBM、SAP和Red Hat)的協作項目,為您的云原生應用程序提供服務。
5、結語
最好的 K8s 實踐不是一次性修復;它們來自不斷從錯誤中學習和重新調整底線。對于已經陷入技術工作和以創紀錄速度部署容器的需求的 DevOps 團隊來說,這可能需要花費更多時間。但幸運的是,可觀測性工具可以確定將注意力集中在何處,并幫助針對安全性、互操作性、存儲等關鍵問題提出有積極影響作用的建議和步驟。
原文鏈接:https://dzone.com/articles/how-devops-teams-can-maintain-kubernetes-more-effe