天天看點

你知道配置管理工具是什麼嗎_什麼是配置管理工具?

你知道配置管理工具是什麼嗎

對于大多數人而言,計算機并不會保持不變。 添加,删除和更新軟體。 配置已更改。 考慮一下自第一次啟動計算機以來對計算機所做的更改。 現在想象一下對10台,100台或1000台計算機進行這些更改。 配置管理工具使實作和實施這些更改成為可能。

原型配置管理

作為初始安裝過程的一部分,使用“黃金映像”(作業系統和某些應用程式的預配置副本)複制到計算機上是配置管理的前提。 使用此方法,您知道所管理的每台計算機都是從一個共同的起點開始的,即使它們随時間而變化。 但是這種差異的可能性意味着,從現在開始六個月後,您将無法真正預測每台計算機将處于何種狀态。而且,黃金映像也不是非常靈活。

配置管理系統發展的下一步就是我所說的“安裝管理”工具。 這些提供了更大的靈活性,并且基本上允許“正常”安裝的自動化。 Fedora和Red Hat使用的Kickstart ,Debian及其衍生版本使用的Preseed和Solaris的jumpstart都是安裝管理工具。 它們允許使用所需的配置和軟體包來安裝計算機。 基本邏輯運算符允許進行更細粒度的控制,而自定義安裝後腳本則進一步擴充了該範圍。 但是後續更改仍然是手動過程。

配置管理功能

輸入配置管理工具。 每個工具都是唯一的,但是它們都為重要功能提供了一定程度的支援。

執法。 配置強制實施可能是配置管理工具的最重要的單個功能。 通過定期運作并確定将機器配置為所需狀态,配置管理工具可防止配置漂移。 配置漂移可以通過多種方式發生:程式包更新,實時調試,“有用的”同僚等。無論是什麼原因,都可以自信地說“這是這台機器的配置方式”,這是縮短運作時間的好方法事件解決時間并減少意外。

促進合作。 配置管理工具使團隊成員更容易合作。 隻需更改一下,就可以在整個基礎架構中更新配置。 在機器上手動編輯配置隻會導緻意想不到的差異。 通過将所有配置放在一個位置,您可以避免踩到别人(包括您将來的腳趾)的腳趾。

版本控制友好。 當然,實作合作的最佳方法是将所有内容都放在版本控制系統中。 下面列出的所有工具都使用某種形式的文本進行配置。 這意味着您可以利用自己喜歡的版本控制系統的優勢。 版本控制的好處不在本文的讨論範圍之内,但是讓我向您保證,您确實希望在版本控制系統中進行配置。

啟用變更控制流程。 因為配置管理工具是文本的并且對VCS友好,是以您可以将基礎結構更改視為代碼。 更改可以差異或合并請求的形式送出,并在準許之前接受代碼檢查。 明确枚舉帶有時間戳的更改可以使事件重建變得更加容易。 借助原子更改,您可以以合适的速率釋放它們,而不必一次對基礎架構進行大量更改。

抽象。 很少有系統管理者可以維護完全同質的環境。 即使您是全Linux商店,也可能有多個受支援的發行版,或者至少有多個發行版。 使用配置管理工具,可以為您抽象出許多特定于作業系統的實作。 例如,相同的配置檔案可用于管理Red Hat和Ubuntu系統上的Apache HTTPD安裝。

一些配置管理工具

當今存在出色的配置管理工具,它們隻是在等待您試用它們。 下表列出了一些最受歡迎的工具,但還有更多工具。 目前,大多數配置管理工具除Linux外還支援Windows和Unix。

工具 語言 牙線版本
CFEngine C CFEngine社群
Puppet Ruby 開源木偶
Chef Ruby 廚師
Ansible Python Ansible
SaltStack Python SaltOpen

為什麼要使用配置管理

如果前面的800個單詞不能使您信服,請嘗試使用此轶事來确定大小。 幾年前,我曾與一個由大約十二名系統管理者組成的團隊合作,負責維護大型研究型大學的高性能計算基礎架構。 因為每台機器的邊際成本都非常小,是以我們能夠使我們的機器數量增加的速度快于員勞工數的增加。 從配置的角度來看,我們可以将每個群集有效地視為一台機器。 重組将我們的一些團隊成員轉移到一個不包含配置管理的團隊之後,我們對自己所擁有的有了更好的了解。

一天的午餐,一位不幸的同僚告訴我們,他的小組維護的130台左右的機器中,同一配置檔案有近100個變體。 它們中的大多數在功能上是相同的,這使情況更糟。 必須記住哪些更改是重要的,哪些機器進行了這些更改,進而增加了多少認知開銷? 當需要更改該檔案時需要花費多少精力? 無論您維護5000台計算機還是五台計算機,配置管理工具都使工作變得更加輕松。

翻譯自: https://opensource.com/business/16/9/what-are-configuration-management-tools

你知道配置管理工具是什麼嗎