当前位置:网站首页>一個人管理1000臺服務器?這款自動化運維工具一定要掌握

一個人管理1000臺服務器?這款自動化運維工具一定要掌握

2022-06-27 07:16:00 墨雨雲烟

本頭條號每天堅持更新原創幹貨技術文章,歡迎關注本頭條號"Linux學習教程",公眾號名稱“Linux入門學習教程"。

如需學習視頻,請複制以下信息到手機瀏覽器或電腦瀏覽器上:

h5.zcwyou.com

1. 前言

本文主要介紹Ansible的基本工作原理和應用場景。


一個人管理1000臺服務器?這款自動化運維工具一定要掌握

ansible


2. Ansible簡介

Ansible是一個軟件工具,為跨平臺計算機支持提供强大的自動化管理功能。它主要面向IT專業人員,他們使用Ansible進行應用程序部署、工作站和服務器上的更新、雲供應、配置管理、服務內部編排,以及幾乎系統管理員每周或每天所做的任何事情。Ansible不依賴代理軟件,也沒有額外的安全基礎設施,因此很容易部署。


一個人管理1000臺服務器?這款自動化運維工具一定要掌握

ansible架構


因為Ansible完全是自動化的,它需要指令來完成每一項工作。使用簡單的劇本(PlayBook)形式寫下所有內容,可以很容易地進行版本控制。這一做法的實際結果是對IT領域“基礎設施即代碼”作出最佳實踐。服務器和客戶端基礎架構的維護可以並且應該與軟件開發一樣,對基礎設施的管理可以實現文檔化的、可驗證化、可執行化,而不受人員變更的影響。

Ansible處於自動化、系統管理和DevOps的最前沿,但它對日常用戶也很有用。Ansible不僅可以配置一臺計算機,還可以同時配置整個計算機網絡,而且不需要編程技能。為Ansible編寫的指令是人類可讀的。無論你是計算機新手還是專家,Ansible文件都很容易理解。

3. Ansible是如何工作的?

在Ansible中,有兩類計算機:控制節點和被管理節點。控制節點是運行Ansible的計算機。必須至少有一個控制節點,但也可能存在備份控制節點。被管理節點是由控制節點管理的任何設備。


一個人管理1000臺服務器?這款自動化運維工具一定要掌握

Ansible是如何工作的?


Ansible的工作原理是連接到網絡上的節點(客戶端、服務器或任何你正在配置的節點),然後向該節點發送一個名為Ansible模塊的小程序。Ansible通過SSH執行這些模塊,並在完成時删除它們。這種交互的唯一要求是你的Ansible控制節點有登錄訪問被管理節點的權限。SSH密鑰是提供訪問的最常見方式,但也支持其他形式的身份驗證。

4. Ansible可實現什麼?

Ansible模塊這個術語聽起來很複雜,但大部分的複雜性都是由Ansible來處理的,而不是用戶。Ansible模塊被編寫為一個系統期望狀態的模型,這意味著每個模塊定義了在任何給定的托管節點上應該是什麼狀態。例如,如果系統管理員决定一個組織中的所有工作站都應該安裝LibreOffice X.Z版本,那麼Ansible的打包模塊將决定每個節點上是否安裝了LibreOffice X.Z版本。如果Ansible找到一個安裝了LibreOffice X.Y的托管節點,它就會檢測操作系統,並運行必要的程序將其更新到LibreOffice X.Z版本。這樣,組織中的每個工作站都可以在極短的時候內按IT部門的願意,使用受支持的版本。

但是,維護基礎設施不僅僅是檢查軟件版本。當人們談論使用Ansible時,他們實際上指的是使用Ansible模塊,因為這些模塊是Ansible中執行特定任務的部分。如果你需要在多臺計算機上自動化一些事情,看看Ansible模塊,找到處理你需要執行的任務的那一個,然後安裝Ansible,這樣你就可以配置和調用那個模塊。如果您是一名程序員,您還可以編寫自己的定制模塊來執行專門的任務。如果你的模塊通常是有用的,你也可以把它提交到Ansible項目中,這樣其他人就可以從你的工作中受益。

5. Ansible Playbook (劇本)

雖然模塊提供了完成任務的方法,但你使用它們的方式是通過Ansible劇本。劇本是用YAML編寫的配置文件,它提供了需要執行哪些操作的說明,以便使托管節點達到所需的狀態。劇本應該是簡單的、人類可讀的和自我記錄的。它們也是幂等的,這意味著劇本可以隨時在系統上運行,而不會對系統產生負面影響。如果劇本運行在一個已經正確配置並且處於所需狀態的系統上,那麼在劇本運行之後,不會對該系統作出任何變更。

劇本可以非常簡單,比如下面這個劇本,它以特權用戶的身份將Apache HTTP服務器安裝在IT部門webservers組的任何節點上:

- name: Apache server installed  hosts: webservers  become: yes

劇本也可以非常複雜,包含條件和變量。然而,由於大多數實際工作是由Ansible模塊完成的,因此劇本仍然保持簡潔、易讀和清晰,即使它們可以編排整個托管節點網絡。

6. 學習Ansible

你可以通過在家或工作中使用Ansible來學習。如果您是YAML的新手,請花時間學習它,然後編寫您的第一個劇本。如果你喜歡從簡單的應用開始,你可以在你的個人電腦上安裝Ansible,用它來管理自己或家庭網絡上的幾臺電腦。最重要的是,嘗試不同的模塊,這樣您就可以熟練地使用和配置新的模塊。


如果喜歡本文,歡迎轉發。本文已同步至博客站,尊重原創,轉載時請在正文中附帶以下鏈接:
https://www.linuxrumen.com/rmxx/2123.html

原网站

版权声明
本文为[墨雨雲烟]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/178/202206270648334864.html