讓 DevOps 少一點,OpsDev 多一點。
在這個 DevOps 世界中,看起來開發(Dev)這一半成為了關注的焦點,而運維(Ops)則是這個關係中被遺忘的另一半。這幾乎就好像是領頭的開發告訴尾隨的運維做什麼,幾乎所有的“運維”都是開發說要做的。因此,運維被拋到後面,降級到了替補席上。
我想看到更多的 OpsDev。因此,讓我們來看看 Ansible 在日常的運維中可以幫助你什麼。
我選擇在 Ansible Tower 中展示這些方案,因為我認為使用者介面 (UI) 可以增色大多數的任務。如果你想模擬測試,你可以在 Tower 的上游開源版本 AWX 中測試它。
在大規模環境中,你的使用者將集中在活動目錄或 LDAP 等系統中。但我敢打賭,仍然存在許多包含大量的靜態使用者的全負荷環境。Ansible 可以幫助你將這些分散的環境集中到一起。社群已為我們解決了這個問題。看看 Ansible Galaxy 中的 users 角色。
這個角色的聰明之處在於它允許我們通過資料管理使用者,而無需更改執行邏輯。
通過簡單的資料結構,我們可以在系統上新增、刪除和修改靜態使用者。這很有用。
提權有多種形式,但最流行的是 sudo。通過每個 user
、group
等離散檔案來管理 sudo 相對容易。但一些人對給予特權感到緊張,並傾向於有時限地給予提權。因此下面是一種方案,它使用簡單的 at
命令對授權存取設定時間限制。
給入門級運維團隊提供選單以便他們可以重新啟動某些服務不是很好嗎?看下面!
這有一個簡單的角色,可在特定目錄中查詢位元組大於某個大小的檔案。在 Tower 中這麼做時,啟用回撥有額外的好處。想象一下,你的監控方案發現檔案系統已超過 X% 並觸發 Tower 中的任務以找出是什麼檔案導致的。
這個角色相當簡單:它執行一些命令並列印輸出。細節在最後輸出,讓你 —— 系統管理員快速瀏覽一眼。另外可以使用 正規表示式 在輸出中找到某些條件(比如說 CPU 佔用率超過 80%)。
我已經錄製了這五個任務的簡短視訊。你也可以在 Github 上找到所有程式碼!