当前位置:网站首页>一個人管理1000臺服務器?這款自動化運維工具一定要掌握
一個人管理1000臺服務器?這款自動化運維工具一定要掌握
2022-06-27 07:16:00 【墨雨雲烟】
本頭條號每天堅持更新原創幹貨技術文章,歡迎關注本頭條號"Linux學習教程",公眾號名稱“Linux入門學習教程"。
如需學習視頻,請複制以下信息到手機瀏覽器或電腦瀏覽器上:
h5.zcwyou.com1. 前言
本文主要介紹Ansible的基本工作原理和應用場景。

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

ansible架構
因為Ansible完全是自動化的,它需要指令來完成每一項工作。使用簡單的劇本(PlayBook)形式寫下所有內容,可以很容易地進行版本控制。這一做法的實際結果是對IT領域“基礎設施即代碼”作出最佳實踐。服務器和客戶端基礎架構的維護可以並且應該與軟件開發一樣,對基礎設施的管理可以實現文檔化的、可驗證化、可執行化,而不受人員變更的影響。
Ansible處於自動化、系統管理和DevOps的最前沿,但它對日常用戶也很有用。Ansible不僅可以配置一臺計算機,還可以同時配置整個計算機網絡,而且不需要編程技能。為Ansible編寫的指令是人類可讀的。無論你是計算機新手還是專家,Ansible文件都很容易理解。
3. Ansible是如何工作的?
在Ansible中,有兩類計算機:控制節點和被管理節點。控制節點是運行Ansible的計算機。必須至少有一個控制節點,但也可能存在備份控制節點。被管理節點是由控制節點管理的任何設備。

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
边栏推荐
- Spark SQL common time functions
- 记一次Spark报错:Failed to allocate a page (67108864 bytes), try again.
- OpenCV怎么下载?OpenCV下载后怎么配置?
- Date database date strings are converted to and from each other
- Winow10 installation nexus nexus-3.20.1-01
- 面试官:大量请求 Redis 不存在的数据,从而打倒数据库,你有什么方案?
- Ora-00909: invalid number of parameters, caused by concat
- Machine learning
- From 5 seconds to 1 second, the system flies
- Compatibility comparison between tidb and MySQL
猜你喜欢

OPPO面试整理,真正的八股文,狂虐面试官

Oppo interview sorting, real eight part essay, abusing the interviewer

【OpenAirInterface5g】RRC NR解析之RrcSetupComplete

Configuring FTP, enterprise official website, database and other methods for ECS

Matlab GUI interface simulation DC motor and AC motor speed simulation

The fourth question of the 299th weekly match 6103 Minimum fraction of edges removed from the tree

面试官:你天天用 Lombok,说说它什么原理?我竟然答不上来…

快速实现单片机和手机蓝牙通信

在线文本数字识别列表求和工具

Quick realization of Bluetooth ibeacn function
随机推荐
thrift
Mathematical modeling contest for graduate students - optimal application of UAV in rescue and disaster relief
Unsafe中的park和unpark
Cloud-Native Database Systems at Alibaba: Opportunities and Challenges
SQL injection bypass (I)
小米面试官:听你说精通注册中心,我们来聊 3 天 3 夜
The number of query results of maxcompute SQL is limited to 1W
Matlab GUI interface simulation DC motor and AC motor speed simulation
Some settings about postfix completion code template in idea
在线文本数字识别列表求和工具
POI replacing text and pictures in docx
将通讯录功能设置为数据库维护,增加用户名和密码
el-select多个时,el-select筛选选中过的值,第二个el-select中过滤上一个选中的值
Modeling competition - optical transport network modeling and value evaluation
[QT] use structure data to generate read / write configuration file code
Assembly language - Wang Shuang Chapter 11 flag register - Notes
Caldera安装及简单使用
Rust中的Pin详解
【LeetCode】Day90-二叉搜索树中第K小的元素
Centos7.9 install MySQL 5.7 and set startup