配置管理的演變:IaC 與 GitOps
已發表: 2022-05-23目錄
配置管理的演進
不正確的結構是 Kubernetes 編排或其他容器環境中發生安全事件的主要原因。 如果沒有正確的配置,應用程序可能會遇到各種問題,從不兼容和衝突到性能故障、安全漏洞和操作失敗。 配置管理是在軟件開發生命週期中保持計算機所需的穩定狀態的重要部分。
配置管理傳統
那時,在管理 IT 資源的變化時,IT 團隊的重點主要放在服務器層面,看看硬件的任何變化是否會導致剩餘層出現問題。 每台服務器都是手動配置的,非常小心和閒暇時間。 虛擬機為這個過程帶來了更大的靈活性和效率。
基礎架構代碼 (IaC) 是配置管理的一大步,其中將整個硬件定義為代碼。 基於雲的平台、Chef、Puppet 和 Ansible 等 IaC 工具在簡化和擴展基礎架構管理方面發揮了關鍵作用。 他們通過提高資源利用率來幫助加快基礎設施配置並降低成本。
多年來,基於雲的平台,尤其是容器,已經徹底改變了基礎設施的配置方式。 隨著主流雲的採用和 Git 向當前版本控制系統的轉變,GitOps 已成為架構管理演變的最新轉折。 GitOps 在編碼一切方面遠遠超出了 IaC。 這裡的“一切”包括基礎設施、網絡、數據和應用程序。
Kubernetes 和基礎設施的聲明式方法
像編程一樣,提供基礎設施有兩種方法——通知和強制。
一種引人注目的方法要求您指定要採取的適當步驟來提供或修改基礎架構。 它提供了使用基礎設施的體驗。 它提供了使用基礎設施的體驗。 另一方面,通知方式更適合 Kubernetes 定義的現代云原生方式。 您只需定義系統所需的狀態,並將其功能留給 Kubernetes 之類的站點。 Kubernetes 基礎設施有助於自動化和通知配置。
從 DevOps 到 GitOps 的轉變
GitOps 於 2017 年構思,是一個現代功能框架,用於管理 Kubernetes 集群和交付以 Git 為中心的應用程序。 它獲得了 DevOps 的最佳部分,例如 CI / CD 工具、Dev 和 Ops 之間的協作、流程自動化,並在使用 Git 作為真實性來源的軟件交付管道中使用它們。
DevOps 確保了開發和運營團隊之間的協作,並帶來了信息技術領域的文化變革。 但是,出乎意料的是,公司採用了持續集成和持續分發的特性,但並沒有走向持續部署。
這就是 GitOps 將事情提升到一個新水平的地方。 使用 GitOps 方法,團隊不僅可以定義而且還可以從 Git 存儲庫中管理其基礎架構的排序和修改。 對基礎設施進行更改就像現在創建拖動請求一樣簡單——您可以發現拼寫錯誤、進行定期審查或在必要時更改承諾。 使用 Git,開發人員現在可以生成代碼,操作系統工程師可以在生產中自動使用這些代碼。
使用 Flux & Helm 進行 GitOps 驅動的配置管理
Kubernetes 允許您集成各種工具來自動化容器的規劃、排序和監控。 Helm 就是這樣一種工具,它在 GitOps 生態系統中變得非常流行。
Helm 是一個功能強大的 Kubernetes 包管理器,它有助於定義、安裝和部署在各種情況下使用的重複性最高的應用程序和服務。 Helm Charts 通過提供有組織的包裝設計來管理具有重複值和硬編碼值的多個 YAML 文件,從而為連續分發環境增加了巨大的價值。
配置管理:IaC 與 GitOps
簡而言之,Helm 可以幫助您在測量和管理複雜輸出時保持簡單。 但它必須鏈接到 K8s 集群和應用程序規範定義的基本 Git 存儲庫。 助焊劑使它變得容易。
Flux 是一組開源 GitOps 代理,它們充當 Git 存儲庫和 Kubernetes 集群之間的橋樑。 Helm chart 是一個通知排序自動化工具,它通過在引入代碼更改時自動輸出來保持代碼一致性。 Flux 將這些更改從 Git 同步到 Kubernetes 集群。
它使用稱為 HelmRelease 的自定義資源來執行此操作,該資源會觸發 helm 操作符,並將更改同步到圖表代碼。 更不用說,Flux 具有廣泛的漂移檢測功能以及其他有趣的功能。
很長一段時間以來,架構管理都是關於硬件和基礎設施的,但從那時起我們已經取得了長足的進步。 隨著 GitOps 和使其變得更容易的工具的引入,開發人員和平台工程師有很多選擇來設計他們想要的基礎設施 - 以公告的方式。
Weave GitOps 利用 Flux 和 Helm,並以 Kubernetes 生成集群的所有方式從 jit 存儲庫中實現有效的配置管理工作流。 Weave GitOps 的一大特色是它能夠交付可靠的應用程序。 將可靠的實用程序交付策略作為代碼添加到 GitOps、安全性和合規性、應用程序回歸以及從源代碼到生產的編碼標準的實施。 它結合了安全的 GitOps 管道和通過編碼策略實現的持續安全測試,從而在整個軟件開發生命週期中實現安全最佳實踐和高安全標準。 GitOps 也是對現代云原生系統進行配置管理的方法,Weave GitOps 使這種方法不僅簡單而且安全。
如何創建-一個-gmail-account-step-by-step-guide
網絡爬蟲與網絡抓取有什麼區別