Ansible

最近問了個朋友關(guān)于代碼發(fā)布的問題,他們測試環(huán)境是用webhook,線上用的則是ansible。

介紹

那ansible是什么呢?在它的github主頁介紹有段話

Ansible is a radically simple IT automation system. It handles configuration-management, application deployment, cloud provisioning, ad-hoc task-execution, and multinode orchestration - including trivializing things like zero downtime rolling updates with load balancers.

翻譯下來就是:

ansible是一個很簡單的IT自動化系統(tǒng)持痰。它可以用來進行配置管理,應(yīng)用部署祟蚀,云資源分配工窍,執(zhí)行ad-hoc任務(wù),還有多節(jié)點編排 - 包括瑣碎的事情前酿,如零停機更新與負載均衡器患雏。

安裝

  • ubuntu
sudo apt-get install ansible

安裝后的配置文件在/etc/ansible/目錄,ansible.cfg為ansible配置文件罢维,hosts為遠程主機配置文件

  • pip安裝
    若還未安裝pip(安裝和管理python包的工具)淹仑,可執(zhí)行下列命令安裝
sudo easy_install pip

然后安裝pip

sudo pip install ansible

特點

  • 使用python編寫
  • ansible無需客戶端,直接通過ssh來進行連接,這也意味著它比較慢匀借,這也讓ansible不需要在遠程主機上啟動守護進程颜阐,而且ssh數(shù)據(jù)傳輸是經(jīng)過加密的,主機不容易被攻破吓肋,更安全

命令介紹

ansible中的臨時命令的執(zhí)行是通過Ad-Hoc來完成凳怨,能夠快速執(zhí)行,而且不需要保存執(zhí)行的命令蓬坡,例如:

ansible -i ~/hosts all -m command -a 'who' -u root
ansible web -u Ponny -m script -a '/home/vagrant/my.sh'    //腳本是主機上的腳本

主要參數(shù)如下:
-u username 指定ssh連接的用戶名猿棉,即執(zhí)行后面命令的用戶
-i inventory_file 指定所使用的inventory文件的位置磅叛,默認為/etc/ansible/hosts
-m module 指定使用的模塊屑咳,默認為command
-f 10 指定并發(fā)數(shù),并發(fā)量大的時候弊琴,提高該值
--sudo [-k] 當(dāng)需要root權(quán)限執(zhí)行的化兆龙,-k參數(shù)用來輸入root密碼
-a 使用模塊的參數(shù)

playbook

github上有playbook的簡單示例,我自己編寫了個簡單的my.yml如下:

---
- hosts: web
  remote_user: Ponny
  tasks:
    - name: change dir
      command: cd /Users/Ponny/localhost
    - name: test connection
      file: path=my.test state=touch owner=Ponny group=staff mode=0777

本來想的做法是先change目錄敲董,再創(chuàng)建文件紫皇,但似乎并不成功,因為task不能更改work目錄

運行劇本:

ansible-playbook -i /etc/ansible/hosts my.yml

注意點

  • command模塊有個需要注意的地方

If you want to run a command through the shell (say you are using '<', '>','|', etc), you actually want the [shell] module instead. The [command] module is much more secure as it's not affected by the user's environment. 'creates', 'removes', and 'chdir' can be specified after the command. For instance, if you only want to run a command if a certain file does not exist, use this.

就是說如果你用的命令里有 '<', '>', '|' 等這些符號腋寨,執(zhí)行是不成功的聪铺,最好用shell模塊來代替,

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末萄窜,一起剝皮案震驚了整個濱河市铃剔,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌查刻,老刑警劉巖键兜,帶你破解...
    沈念sama閱讀 218,858評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異穗泵,居然都是意外死亡普气,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評論 3 395
  • 文/潘曉璐 我一進店門佃延,熙熙樓的掌柜王于貴愁眉苦臉地迎上來现诀,“玉大人,你說我怎么就攤上這事履肃∽醒兀” “怎么了?”我有些...
    開封第一講書人閱讀 165,282評論 0 356
  • 文/不壞的土叔 我叫張陵榆浓,是天一觀的道長于未。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么烘浦? 我笑而不...
    開封第一講書人閱讀 58,842評論 1 295
  • 正文 為了忘掉前任抖坪,我火速辦了婚禮,結(jié)果婚禮上闷叉,老公的妹妹穿的比我還像新娘擦俐。我一直安慰自己,他們只是感情好握侧,可當(dāng)我...
    茶點故事閱讀 67,857評論 6 392
  • 文/花漫 我一把揭開白布蚯瞧。 她就那樣靜靜地躺著,像睡著了一般品擎。 火紅的嫁衣襯著肌膚如雪埋合。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,679評論 1 305
  • 那天萄传,我揣著相機與錄音甚颂,去河邊找鬼。 笑死秀菱,一個胖子當(dāng)著我的面吹牛振诬,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播衍菱,決...
    沈念sama閱讀 40,406評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼赶么,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了脊串?” 一聲冷哼從身側(cè)響起辫呻,我...
    開封第一講書人閱讀 39,311評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎洪规,沒想到半個月后印屁,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,767評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡斩例,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年雄人,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片念赶。...
    茶點故事閱讀 40,090評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡础钠,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出叉谜,到底是詐尸還是另有隱情旗吁,我是刑警寧澤,帶...
    沈念sama閱讀 35,785評論 5 346
  • 正文 年R本政府宣布停局,位于F島的核電站很钓,受9級特大地震影響香府,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜码倦,卻給世界環(huán)境...
    茶點故事閱讀 41,420評論 3 331
  • 文/蒙蒙 一企孩、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧袁稽,春花似錦勿璃、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,988評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至歹撒,卻和暖如春莲组,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背栈妆。 一陣腳步聲響...
    開封第一講書人閱讀 33,101評論 1 271
  • 我被黑心中介騙來泰國打工胁编, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人鳞尔。 一個月前我還...
    沈念sama閱讀 48,298評論 3 372
  • 正文 我出身青樓,卻偏偏與公主長得像早直,于是被迫代替她去往敵國和親寥假。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,033評論 2 355

推薦閱讀更多精彩內(nèi)容

  • ansible 系統(tǒng)架構(gòu) ansible簡介ansible是新出現(xiàn)的自動化運維工具霞扬,ansible是一個配置管理和...
    運維阿文閱讀 9,596評論 1 52
  • 本文主要內(nèi)容均收集于網(wǎng)絡(luò)上的博文資料糕韧,僅以此文作為學(xué)習(xí)總結(jié)。BTW喻圃,目前Ansible對python3的支持還不是...
    qiuyi943閱讀 18,245評論 1 15
  • 作為背鍋俠運維工作的基本流程 運維工具的分類 : ansible的模塊化: ansible密鑰登陸 ansible...
    二郎5閱讀 4,160評論 0 10
  • 1. 什么是Ansible萤彩,它有什么用? Ansible它是個集配置管理和應(yīng)用部署于一體的自動化運維工具斧拍。 應(yīng)用情...
    午覺不眠Orz閱讀 1,521評論 0 0
  • 在項目中有很多地方用到ansible雀扶。最初使用ansible只是為了方便代碼部署和模板配置,畢竟手動去30+臺機器...
    __七把刀__閱讀 10,728評論 6 79