自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

介紹一款開源的IT配置管理工具—Ansible

開源
Ansible是一款開源的IT配置管理工具,常被IT界的小伙伴們用于服務(wù)部署、配置管理等工作。

一、Ansible發(fā)展和起源

Ansible是一款開源的IT配置管理工具,常被IT界的小伙伴們用于服務(wù)部署、配置管理等工作。配置文件采用最常見的yaml格式,學(xué)習(xí)起來也是比較容易,并且不像SaltStack,Ansible并不需要也沒有agent,只有一個控制端。該工具使用簡單但功能非常強(qiáng)大,可以解決眾多工作中繁瑣的服務(wù)安裝、配置等問題。

Ansible的第一個版本是0.0.1,發(fā)布于2012年3月9日,其作者兼創(chuàng)始人是Michael DeHaan。迄今為止已經(jīng)發(fā)展到了2.9版本。并且它的關(guān)注度、Star數(shù)以及Fork的次數(shù)都位居榜首。就連強(qiáng)大的SaltStack也只能排到第二。

Michael DeHaan在配置管理和架構(gòu)設(shè)計(jì)方面有豐富的經(jīng)驗(yàn),曾就職于RedHat公司,在RedHat任職期間主要開發(fā)了Cobble。在他嘗試了各種自動化工具Puppet、Chef之后,決定自己打造一款能夠結(jié)合眾多有點(diǎn)的自動化工具。由此,便有了Ansible這款易理解、易上手、受眾人喜愛的自動化工具。

二、為什么需要Ansible

前面說過,ansible通常用于自動化的場景,多用在服務(wù)部署、配置管理方面。隨著時間推移和公司發(fā)展,項(xiàng)目越來越多,團(tuán)隊(duì)日益壯大,各種公司內(nèi)部開發(fā)的應(yīng)用、第三方開源的中間件等服務(wù)越來越多,那么管理起來就相對比較困難,人肉操作已經(jīng)完全滿足不了傳統(tǒng)的運(yùn)維工作,需要消耗相當(dāng)多的時間來進(jìn)行變更,進(jìn)而阻礙了開發(fā)人員的速度,極大的降低了工作效率。顯然可考又高效的部署和管理成為了公司的一大難點(diǎn)與挑戰(zhàn)。那么一款高效且可靠的服務(wù)部署和管理工具就顯得尤為重要。而在很長一段時間里,Docker容器與kubernetes容器編排系統(tǒng)沒有被廣泛的普及之前,有很大一部分人在使用Jenkins + Ansible進(jìn)行CICD。

三、Ansible的主要功能

  • 批量執(zhí)行遠(yuǎn)程命令:可以對任意多臺主機(jī)同時進(jìn)行命令的執(zhí)行。
  • 批量配置軟件服務(wù):可以進(jìn)行自動化的方式部署、配置及管理服務(wù)。
  • 編排高級的IT任務(wù):Ansible 可以使用yaml來編寫一套完整的Playbook,用來部署維護(hù)一套完全的基礎(chǔ)架構(gòu)。

四、Ansible的相關(guān)特性

Ansible是基于每個模塊進(jìn)行工作,自身并沒有批量部署的能力,ansible自身只是提供了一種框架。

  • Ansible由Python語言開發(fā),沒有agent,不需要在被管理節(jié)點(diǎn)安裝任何客戶端。
  • 模塊化:基于模塊工作,秩序調(diào)用特定的模塊來完成特定工作。
  • 基于SSH協(xié)議。
  • 三大關(guān)鍵組成模塊:Paramiko, PyYAML, Jinja2。
  • 冪等性:一個任務(wù)執(zhí)行1遍和執(zhí)行n遍效果一樣,不因重復(fù)執(zhí)行帶來意外情況。
  • 可以使用命令行ad-hoc方式來執(zhí)行批量任務(wù),也可以使用yaml格式的文件來定制Playbook劇本實(shí)現(xiàn)批量任務(wù)。
  • 可以使用Role組織批量任務(wù)。

五、Ansible的優(yōu)點(diǎn)

  • 容易學(xué)習(xí)且輕量:無需在被控制節(jié)點(diǎn)安裝agent,做批量操作時只需要在操作機(jī)操作即可(前提:需要配置好免密登錄)。
  • 操作靈活:具有眾多的模塊,可使用命令行ad-hoc方式或者Playbook劇本的方式來實(shí)現(xiàn)批量任務(wù)執(zhí)行。
  • 可移植性高:可以基于yaml文件編寫一套Playbook,只要做好邏輯判斷,就可以在多種操作系統(tǒng)上拿來即用。
  • 冪等性:一個任務(wù)執(zhí)行1遍和執(zhí)行n遍效果一樣,不因重復(fù)執(zhí)行帶來意外情況。
  • 支持普通用戶sudo提權(quán)。

但是任何事物都具有兩面性。SSH雖好,但如果被管理的機(jī)器數(shù)量眾多的話,執(zhí)行的速度就會比較慢,就需要進(jìn)行一定的優(yōu)化和分批任務(wù)來緩解速度問題。

六、Ansible的架構(gòu)

Ansible由以下幾個核心工具組成:

  • INVENTORY:Ansible管理主機(jī)的清單/etc/anaible/hosts。
  • MODULES:Ansible執(zhí)行命令的功能模塊,多數(shù)為內(nèi)置核心模塊,也可自定義。
  • PLUGINS:模塊功能的補(bǔ)充,如連接類型插件、循環(huán)插件、變量插件、過濾插件等。
  • APl:供第三方程序調(diào)用的應(yīng)用程序編程接口。

在日常工作中,我們大多數(shù)用到的且使用比較頻繁的主要是:Inventory 和 Modules。通常我們會根據(jù)項(xiàng)目的需求來定制化我們的Inventory,不會將它放在默認(rèn)的/etc/anaible/hosts文件中。

需要提醒大家的是:

Ansible更新后,很多之前的方法在一段時間后或者說在某個版本后就會完全廢棄掉,這點(diǎn)和目前Kubernetes的API廢棄有點(diǎn)像。但是當(dāng)你在某個高版本去使用低版本提供的方法時,它會在你執(zhí)行playbook的時候給出warning警告,可以根據(jù)警告再去查詢官方文檔上對應(yīng)版本的使用方法。

Ansible官網(wǎng):https://docs.ansible.com/。

責(zé)任編輯:姜華 來源: 運(yùn)維開發(fā)故事
相關(guān)推薦

2022-05-06 12:04:24

Ansible管理工具

2022-05-24 15:03:44

開源工具可視化

2015-08-07 09:44:36

開源數(shù)據(jù)中心

2012-12-06 11:31:40

虛擬化

2019-07-19 16:55:07

MySQL管理工具Orchestrato

2019-08-30 08:00:00

WebminWebLinux

2019-08-30 10:28:18

網(wǎng)絡(luò)配置管理工具

2022-01-20 13:39:44

MySQLSequel Pro數(shù)據(jù)庫

2024-05-09 07:34:38

SQL Server數(shù)據(jù)庫管理工具

2025-04-21 01:00:00

DbGate數(shù)據(jù)庫開源

2019-10-10 08:46:02

Docker可視化技術(shù)瀏覽器

2017-05-10 15:48:59

云平臺云計(jì)算工具

2009-07-20 18:16:11

軟件配置管理

2021-11-10 09:00:00

工具Chef開發(fā)

2010-11-08 09:15:46

Puppet入門教程自動化

2022-06-15 15:09:48

管理工具

2020-07-27 09:59:25

Kafka可視化CMAK

2013-07-25 09:31:59

開源云計(jì)算

2012-10-29 16:45:07

CentOS 6.2Puppet

2010-11-15 15:22:51

開源云計(jì)算管理工具
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號