TOP
0
0
【23號簡體館日】限時三天領券享優惠!!
奔跑吧Ansible:探索自動化配置與部署捷徑(第2版)(簡體書)
滿額折
奔跑吧Ansible:探索自動化配置與部署捷徑(第2版)(簡體書)
奔跑吧Ansible:探索自動化配置與部署捷徑(第2版)(簡體書)
奔跑吧Ansible:探索自動化配置與部署捷徑(第2版)(簡體書)
奔跑吧Ansible:探索自動化配置與部署捷徑(第2版)(簡體書)
奔跑吧Ansible:探索自動化配置與部署捷徑(第2版)(簡體書)
奔跑吧Ansible:探索自動化配置與部署捷徑(第2版)(簡體書)
奔跑吧Ansible:探索自動化配置與部署捷徑(第2版)(簡體書)
奔跑吧Ansible:探索自動化配置與部署捷徑(第2版)(簡體書)
奔跑吧Ansible:探索自動化配置與部署捷徑(第2版)(簡體書)
奔跑吧Ansible:探索自動化配置與部署捷徑(第2版)(簡體書)
奔跑吧Ansible:探索自動化配置與部署捷徑(第2版)(簡體書)
奔跑吧Ansible:探索自動化配置與部署捷徑(第2版)(簡體書)
奔跑吧Ansible:探索自動化配置與部署捷徑(第2版)(簡體書)

奔跑吧Ansible:探索自動化配置與部署捷徑(第2版)(簡體書)

人民幣定價:119 元
定  價:NT$ 714 元
優惠價:87621
領券後再享88折
海外經銷商無庫存,到貨日平均30天至45天
可得紅利積點:18 點
相關商品
商品簡介
作者簡介
目次

商品簡介

Ansible是近年來急速發展的開源配置管理工具。在Ansible之前,行業中已經有很多開源配置管理工具了,特別是大名鼎鼎的Puppet,簡直是配置管理工具中的超級巨星。然而,Ansible依靠它的簡單易用、“零依賴”以及弱抽象獲得了無數開發者和運維工程師的青睞。遺憾的是,除了官方文檔外,Ansible相關的優秀文檔鳳毛麟角,而本書恰恰就是為了緩解這一問題而編寫的。作者在本書中演示了如何使用Ansible管理接近真實生產環境的案例。既展現了Ansible的強大功能,又能夠幫助讀者快速入門與上手,本書非常適合作為官方文檔的補充或者搭配閱讀。特別值得一提的是,本書第2版還增加了管理Windows服務器和網絡設備方面的章節,並重新編寫了Docker相關章節,及時地對第1版中的不足進行了改進。

作者簡介

Lorin Hochstein Lorin Hochestin是Netflix的Chaos工程團隊的高級軟件工程師。他曾在SendGrid實驗室擔任高級軟件工程師,在那之前曾在Nimbis Services擔任雲服務首席架構師,還曾經是加州大學信息科學院的計算機科學家。從小在魁北克蒙特利爾長大,除了偶爾會說“閉上燈”這種話之外,從他的口音中你絕對猜不出他是加拿大人。他正在回歸學術界:他已經在內布拉斯加大學林肯分校作為教授計算機科學與應用的副教授兩年。此外,他還曾作為計算機科學家在南加州大學信息科學院工作過四年。他在麥吉爾大學取得了計算機工程學學士學位,在波士頓大學取得了電子工程學碩士學位,並在馬裡蘭大學帕克分校取得了計算機科學的博士學位。他現在在Netflix 的Chaos 工程團隊任高級軟件工程師。

René Moser 是一位瑞士籍系統工程師,ASF CloudStack的代碼貢獻者,Ansible中與CloudStack集成相關部分的作者,並從2016年起一直是Ansible社區的核心成員。與妻子和三個孩子定居在瑞士。他獲得了IT 專業的高等教育文憑。在IT 領域,他喜歡以簡單的方式實現需求並不斷擴展。他沉浸于開源社區已超過15 年,他是Ansible 核心貢獻者和40 多個Ansible 模塊的作者,他還是Apache CloudStack 項目管理委員會成員及代碼貢獻者。他目前在SWISS TXT 任職系統工程師。

譯者簡介
主譯人員曾于新浪任職技術總監,負責私有雲平臺研發與運維並支撐新浪微博從零至上市高速發展的過程。後於華為任職技術專家,致力於提升華為公有雲運維能力。2016年加入貝殼找房前身鏈家網,並一直致力於打造基於ansible的自動化平臺。

本書贏得的讚譽
大規模集群的配置管理工具一直都是提升效率的利器。新浪在 2003年前後開始使用 CFengine;在 2010年前後,為了解決 CFengine的一些問題,逐漸在一些業務中用 SSH進行批量命令執行和配置文件拉取,這種組合一直用到現在,管理著數萬台服務器,但現在基本上已經以 SSH為主了。本書的譯者在新浪負責很多配置管理系統的開發,以我們的經驗來看,基於 SSH進行配置管理有很多好處,這也是我對 Ansible很感興趣的地方。充分利用系統現成的機制,不僅省去了 Agent的安裝,在數千台規模的大型數據中心,少一些中心化服務還意味著少了一些路由和安全策略的配置,省去了很多不必要的麻煩。當然,Ansible還有很多吸引人的地方,非常值得你去學習和發現。
――童劍新浪研發中心總經理
Ansible作為自動化系統運維的一大利器,在構建整個體系過程中有著舉足輕重的地位。 DSL、冪等性、playbook、大量的模板等都是它的魅力所在,再加上易封裝、接口調用方便, Ansible正在被越來越多的大公司採用,包括獨立使用以及與其他工具(如 Puppet)結合使用。
本書通過大量簡單易用的實例幫助讀者快速上手,通讀全書會讓你對 Ansible有一個全面的瞭解,動手操作書中的實例,可快速掌握 Ansible,剩下的就交給你的靈感吧。
――劉宇 @守住每一天,金山西山居架構師《Puppet實戰》作者,《Puppet實戰手冊》譯者之一
對於 DevOps,我自己的理解是運維即開發,人管理代碼,代碼管理機器,而不是人直接管理機器。Ansible幫我們實現了運維人員向運維開發的轉型,讓繁雜、危險的運維工作變得簡單、安全和可控。本書秉承了 Ansible這一工具簡明的一貫特點,不是長篇累牘地講解複雜技術原理,而是列舉了大量簡明的實例,拿來閱讀半小時即可上手解決實際問題。
――程輝 UnitedStack公司創始人兼 CEO
我在幾個小時內就瘋狂地“啃”完了第 1版《奔跑吧 Ansible》的手稿: Lorin妙筆生花,對 Ansible的講解如行雲流水。聽到他與 René合寫第 2版的時候我感到非常興奮。在第 2版中,兩位作者向讀者展示了如何將一個非常有用的實用工具應用得出神入化,我想不出有什麼內容是他們沒有討論到的。
―Jan-Piet Mens,諮詢顧問
Ansible的萬用指南。本書不僅適用於入門,也適用於瞭解如何使用高級功能提升你的 Ansible技能。 ―Matt Jaynes,High Velocity Ops首席工程師
Ansible的美妙在於,你可以從實踐入手,而它又易於快速實現原型,很快就能迭代起來,並且能不斷解決問題。這當然很棒。然而,隨著時間的推移,這種方式會導致知識和理解上的偏差,而且很難去調和。
《奔跑吧 Ansible》(第 2版)恰恰可以解決這個問題。因為它從 Ansible的基礎知識一直
講解到使用 YAML和 Jinja2的複雜性。而且本書還包含許多現成的案例可供學習和測試,
可以幫助讀者深入瞭解自動化構建與部署生產環境。
在過去幾年的培訓課程和實踐工作中,我總是向同事和客戶推薦這本書。
―Dag Wieers,自由職業 Linux系統工程師, Ansible長期貢獻者和諮詢顧問
本書既為大家提供了簡單功能的講解,同時也深入探討了 Ansible的配置管理方法。本書還包含很多提示和指引,並覆蓋了各種形式的案例,例如 AWS、Windows和 Docker。
―Ingo Jochim, itelligence GMS/CIS Cloud Implementation經理
Lorin和 René字字珠璣,妙合無痕。他們手把手帶領讀者完成創建和管理 Ansible項目的所有重要步驟。本書不單單是一本 Ansible的參考書,它還涵蓋了官方文檔中缺少的幾個重要概念和主題。它是 Ansible初學者的優秀學習資源,同時也包含許多對 Ansible中高級使用者很有幫助的概念與技巧。
―Dominique Barton, confirm IT solutions DevOps工程師
不管你是一名新手,還是一名已經在使用 Ansible並且希望繼續取得進步的老程序員,本書都精闢地涵蓋了你所需要瞭解的內容。它與同類書籍最大的區別在於,它採用了真實的例子,並解釋了如何實現以及為什麼會這樣,這一大特點將幫助你更加深入地理解 Ansible。
―Paul Angus, ShapeBlue技術 VP

第2版譯者序
距離上一版《奔跑吧 Ansible》中文版問世已經兩年有餘,非常榮幸還能主導本次第 2版的翻譯工作。自第 1版出版後,不管是大規模服務器配置管理、Ansible社區,還是我的工作,都有了很多變化。
我從專注於運維能力提升的專家崗位上離職,轉而回歸基礎設施研發與運維團隊的技術管理工作。在新的崗位上,我有三個深切的感觸:第一,自動化配置管理領域的觸角已經深入網絡設備領域;第二,在數據中心與 IT基礎設施中,仍然有部分領域難以避免地使用 Windows操作系統;第三,容器化接過雲計算的接力棒,正在席捲整個行業。也許是作者也和我有類似的感受,第 2版《奔跑吧 Ansible》如期而至,添加了 Windows管理和網絡設備管理的相關章節。同時,還重寫了 Docker一章。
除了行業的變化外,Ansible的大版本也來到了 2.x。在這個大版本中,Ansible帶來了不少改變與新特性。使用 Ansible新版本的同時,繼續使用第 1版的《奔跑吧 Ansible》作為工具書顯然會讓讀者產生很多困惑,第 2版的出版恰好可以解決這個問題。
在第 2版的翻譯中,我嘗試讓我所管理的 SRE團隊都參與到本書的翻譯工作中,感謝各位同事的辛勤勞動。參與翻譯的人員如下:楊振振(第 1章和第 15章)、劉德鑫(第 2至 4章)、高雪(第 5至 7章)、張冠男(第 8至 9章和第 19章)、劉陽龍(第 11至 12章和第 18章)、李震(第 10章、第 16至 17章)以及劉志遠(第 13至 14章)。

第1版譯者序
由於諸多原因,早在童年時代計算機就進入了我的生活。對計算機的迷戀最終將我帶進了計算機工程領域。而讓我真正從玩耍轉向工程化地對待計算機的分水嶺是,對系統管理領域的接觸。好吧,不管多麼不樂意,這類工作在那個年代就是被稱作網管。從我剛開始入門系統管理的時候,我就一直有一個疑問:如果一家公司足夠大,有上百台計算機,該怎麼管理呢?總不能一台台遠程桌面連上去吧?嗯,沒錯,那個時候我使用的還是 Windows,而上百台計算機對於當時的我來說已經是一個很誇張的數字了。2007年我加入新浪平臺架構部,這裡的工作為我真正打開了新世界的大門。那個時候,部門正在使用 CFEngine管理上百台機器、為不同功能的服務器劃分角色、為相同功能的服務器進行編號(像為公牛編號那樣)、為配置文件編寫模板來減少硬編碼,所有這一切都用一種工程實踐的方法解決了我之前的所有疑問。後來,我才知道這個實踐性很強的方法的名字――配置管理。轉眼之間,我已經在新浪工作了七年之久。這七年間,我的職位與工作內容有多次變化,但所圍繞的工作核心從未改變:如何讓數千台服務器按照我們想要的方式運轉。為了更好地達到這一目的,我嘗試過各種配置管理的方式:從 CFEngine到 Puppet、SaltStack,甚至是自行開發配置管理工具。但是每一種方式都與我理想中那個遵循“ KISS原則”、易於學習,且在功能上具有無窮擴展空間的配置管理工具相差甚遠――直到經同事文旭的推薦,我認識了 Ansible。Ansible的輕量、最小化抽象層及輕鬆擴展與收縮一下子就吸引了我。到目前為止,它是與我理想中的配置管理工具最接近的一個。這樣優秀的工具我當然不會自己獨享。我曾經在各種場合向正在尋找合適配置管理工具的朋友與同事推薦 Ansible。我發現有一部分朋友雖然給予了 Ansible正面的評價,卻對缺少中文文檔感覺略有不便。這讓我意識到語言仍舊是部分技術人員學習的障礙之一。顯然,我並不具備幫助技術人員提升英語閱讀水平的能力,但至少我可以將這本《奔跑吧 Ansible》的中文版帶給大家,希望本書可以幫助一些讀者快速上手 Ansible。
由於水平所限,本書中難免出現一些翻譯錯誤,誠懇地歡迎大家向我或者出版社反饋本書中的各種錯誤。
最後,我想要感謝趙新宇、陳明傑和劉宇等朋友,他們在我翻譯本書的過程中為我提供了無私的幫助和支持。還要感謝我的夫人張若金的支持與理解。沒有你們就不會有本書的出版。


2012年 2月 Ansible創立的時候,它還是一個非常簡單的項目,隨後它的快速發展令我們十分驚喜。現在,它已經是上千人參與開發的產品了(如果包括參與貢獻想法的人還會更多),並且幾乎在每個國家都有人在使用。在各種技術會議中也總是能找到一些人在使用它,這在計算機領域是一件很不尋常的事。
Ansible的不平凡源自于它的平凡。Ansible並不企圖做盤古開天地般的創新,而是從那些聰明的傢伙已經提出的想法中提煉出精華,並將這些想法盡可能地落地。
Ansible旨在探求某些學術上的 IT 自動化方法(它們本身就是對大型繁雜的商業套件的一種反映)與簡單粗暴解決問題的腳本之間的平衡點。另外,我們如何能將配置管理系統、部署發佈系統、編排系統(orchestration project)以及千奇百怪但是非常重要的 shell腳本庫用一個單一系統替換呢?這恰恰是 Ansible 要實現的。
我們可以從 IT自動化技術棧中移除主要架構組件嗎?去掉管理性守護進程,轉而依賴於 OpenSSH,意味著系統轉眼間就可以開始管理一台新的計算機,而不需要在被管理的機器上安裝任何東西。更深一層來說,系統更趨於可靠和安全。
我注意到,嘗試使用自動化

目次

序. .................................... xxiii
第 2版前言. .......................... xxv
第 1版前言. ........................ xxvii
第 1章 簡介........................... 1
關於版本的說明 .................... 2
Ansible的優勢 ...................... 2
Ansible如何運作 .................. 3
Ansible的精妙設計賞析 ....... 4
易讀的語法.................... 4
遠程主機無須安裝依賴 . 5
基於推送模式 ................ 5
使用 Ansible管理小規模環境 ................................... 6
內置模塊 ....................... 6
非常輕量的抽象層 ........ 7
Ansible太過於簡單了嗎 ....... 8
需要哪些基礎知識 ................ 8
哪些內容不會涉及 ................ 9
安裝 Ansible ....................... 10
建立一台用於測試的服務器 ........................................... 11
使用 Vagrant來創建測試服務器 ............................. 11
將測試服務器的信息配置在 Ansible中 .................. 14
使用 ansible.cfg文件來簡化配置 ............................ 16
展望 .................................... 19

第 2章 playbook:一切的開始. 20
一些準備工作 ..................... 20
一個簡單的 playbook .......... 21
定義 Nginx的配置文件 ........................................... 23
創建一個定制的首頁 ... 24
創建一個 webservers群組 ....................................... 25
運行這個 playbook .............. 25
YAML格式的 playbook ...... 27
文件起始 ..................... 27
注釋 ............................. 27
字符串 ......................... 27
布爾型 ......................... 28
列表 ............................. 28
字典 ............................. 28
分行 ............................. 29
剖析 playbook ..................... 30
play.............................. 31
task .............................. 32
模塊 ............................. 33
將它們整合在一起 ...... 34
執行 Ansible後發生變化了嗎?跟蹤主機狀態 .............. 35
來點更酷炫的:添加 TLS支持 ...................................... 35
生成 TLS證書 ............. 36
變量 ............................. 37
生成 Nginx配置模板 .. 39
handler ......................... 41
運行 playbook.............. 42

第 3章 使用 inventory描述你的服務器................................... 44
inventory文件..................... 44
準備工作:創建多台 Vagrant虛擬機 ............................. 45
inventory 行為參數 ............. 48
ansible_connection ...... 49
ansible_shell_type ....... 49
ansible_python_interpreter ....................................... 49
ansible_*_interpreter ... 49
改變行為參數的默認值 ........................................... 50
群組 .................................... 50
範例:部署一個 Django應用.................................. 51
別名和端口.................. 54
群組的群組.................. 54
為主機編號(寵物還是公牛 ) ................................. 55
在 inventory內部的主機和組變量 .................................. 55
在各自文件中的主機和組變量 ....................................... 57
動態 inventory..................... 59
動態 inventory腳本接口 ......................................... 60
編寫動態 inventory腳本 ......................................... 61
預裝 inventory腳本 ..... 65
將 inventory分割到多個文件 ......................................... 65
使用 add_host和 group_by在運行時添加條目 ............... 65
add_host ...................... 65
group_by ..................... 67

第 4章 變量與 fact................ 69
在 playbook中定義變量 ..... 69
檢查變量的值 ..................... 70
registering 變量 ................... 70
fact ...................................... 74
查看與某台服務器關聯的所有 fact ......................... 75
查看 fact子集 .............. 75
任何模塊都可以返回 fact ........................................ 77
本地 fact ...................... 77
使用 set_fact定義新變量 .... 79
內置變量 ............................. 79
hostvars ....................... 80
inventory_hostname ..... 80
groups .......................... 81
在命令行設置變量 .............. 81
優先級 ................................. 82

第 5章 引入測試應用:Mezzanine. ....................................... 84
為什麼向生產環境部署軟件是一件複雜的事 ................. 84
PostgreSQL:數據庫 ... 88
Gunicorn:應用服務器 ........................................... 88
Nginx:Web服務器 .... 89
Supervisor:進程管理器 ......................................... 90

第 6章 使用 Ansible部署 Mezzanine....................................91
列出 playbook中的 task...... 91
組織要部署的文件 .............. 92
變量和秘密變量 .................. 93
使用迭代(with_items)安裝多個軟件包 ...................... 95
向任務中添加 Become語句 96
更新 apt緩存 ...................... 97
使用 Git獲取項目源碼 ....... 98
將 Mezzanine和其他軟件包安裝到 virtualenv中 ......... 100
任務中的複雜參數:稍微跑個題 ............

您曾經瀏覽過的商品

購物須知

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:87 621
海外經銷商無庫存,到貨日平均30天至45天

暢銷榜

客服中心

收藏

會員專區