如何設計 Ansible 的入門工作坊

image.png

本月在公司內(nèi)部做了一次 Ansible 的入門工作坊悼嫉。本文即對這次工作坊的設計過程進行一次總結(jié)。其他技術(shù)類的工作坊也可以參考拼窥。

設計過程大概過程如下文所述戏蔑。

首先,我們需要確定參加本次工作坊的受眾鲁纠。他們是否具有最基本的前提总棵。本次工作坊的受眾有開發(fā)、測試改含、運維情龄,還有畢業(yè)生。但是他們都會使用 shell捍壤。這已經(jīng)滿足最基本的前提骤视。同時,了解受眾后了鹃觉,也就可以因材施教专酗。

第二,分析工作坊的內(nèi)容盗扇。Ansible 是一款上手非常容易的自動化運維工具笼裳。它的特點就是實操性非常強唯卖,不需要理解 Ansible 背后的概念就可以使用的工具。

筆者根據(jù)受眾和教學內(nèi)容的特點躬柬,得出本次工作坊的目標(教學目標):

  1. 知道 Ansible 是什么拜轨,并知道它的作用。
  2. 了解如何查文檔允青。
  3. 能部署一個 Spring Boot 應用橄碾。

是不是很簡單?其實不然颠锉。整個工作坊沒有一個人能完成所有的任務法牲。同時發(fā)現(xiàn)有運維和開發(fā)基礎的同學會做得更快。

那接下來怎么實現(xiàn)這個目標呢琼掠?筆者使用的是任務驅(qū)動的方法拒垃。也就是受眾通過做一個個任務,在任務中完成學習瓷蛙。同時悼瓮,教師可以任務過程穿插講相關(guān)的知識點。

以下為任務列表:

  1. 執(zhí)行 ansible-playbook -i hosts playbook.yml 成功
  2. 創(chuàng)建用戶 apps 及用戶組 apps:
  3. 創(chuàng)建以下文件夾艰猬,并設置文件夾的用戶和組為 apps:
    /apps横堡,/apps/hello,/apps/hello/bin冠桃,/apps/hello/logs
  4. 將 helloworld-0.0.2.jar copy 到 /apps/hello/bin 目錄下命贴,設置該 jar 文件的用戶和用戶組為 apps
  5. 使用 template 模塊將 app.service copy 到目標服務器的 /etc/systemd/system 中,并重命名 hello.service :
  6. 啟動 hello 服務
  7. 監(jiān)聽 hello 服務是否啟動成功
  8. 為目標機器安裝 JDK 1.8:
    1. 在本地倉庫中創(chuàng)建 roles 目錄
    2. clone 代碼:https://github.com/geerlingguy/ansible-role-java 到 roles 目錄中
    3. 在 playbook.yml 文件中加入 ansible-role-java 的role
  9. 創(chuàng)建自定義 role: hello role
    1. 進入 roles 目錄:cd roles
    2. 使用命令生成 role 模板:ansible-galaxy init hello
    3. 將 hello 的部署邏輯(在 playbook.yml 中)寫入到 hello role 中
  10. 將 hello 部署到多臺機器
    • 需要修改 hosts 文件
  11. 多環(huán)境部署

任務的設計并不是隨意的食听,而是有意的胸蛛。比如:

  • 任務1:受眾拿到練習代碼后,執(zhí)行命令樱报,一定會報錯葬项。這時,教師可以講解 Ansible 部署時需要確定“部署位置”和“部署邏輯”肃弟。順便擴展一下:其它的自動化部署工具玷室,也需要確定這兩部分。
  • 任務2:受眾在創(chuàng)建用戶時笤受,一定會失敗穷缤。因為用戶組還沒有創(chuàng)建。
  • 任務3:重復創(chuàng)建多個文件夾箩兽,由于新手不懂with_items可以遍歷創(chuàng)建文件夾津肛,所以,新手寫出來的代碼會很多重復的汗贫。有悟性的同學身坐,會想辦法減少這種重復秸脱。
  • 任務5: 由于 app.service 模板中使用了未定義的變量,所以部蛇,此任務用戶也沒有辦法一次運行成功摊唇,而是需要學習在 playbook.yml 中定義變量,才能運行成功涯鲁。

可以看到這些任務中充滿了“陷阱”巷查。本文就不一一列出所有的陷阱。這些陷阱能達到以下效果:

  1. 在多次出現(xiàn)錯誤時抹腿,受眾會學會自己看日志岛请,查文檔,找原因警绩。
  2. 受眾可以在這個不斷遇到問題崇败,解決問題的過程中, 體會到真實的開發(fā)是怎樣的肩祥。
  3. 激發(fā)受眾的自主思考(最重要)后室。

采用任務驅(qū)動的方式,還能規(guī)避受眾能力參差不齊的問題搭幻,因為能力好的同學可以幫助能力差的同學咧擂。

后記

很久沒有做老師了逞盆,稍微找回了當年做老師的感覺檀蹋。

本次工作坊的練習代碼:https://github.com/zacker330/ansible-workshop

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市云芦,隨后出現(xiàn)的幾起案子俯逾,更是在濱河造成了極大的恐慌,老刑警劉巖舅逸,帶你破解...
    沈念sama閱讀 211,290評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件桌肴,死亡現(xiàn)場離奇詭異,居然都是意外死亡琉历,警方通過查閱死者的電腦和手機坠七,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評論 2 385
  • 文/潘曉璐 我一進店門旗笔,熙熙樓的掌柜王于貴愁眉苦臉地迎上來彪置,“玉大人,你說我怎么就攤上這事∨税茫” “怎么了授舟?”我有些...
    開封第一講書人閱讀 156,872評論 0 347
  • 文/不壞的土叔 我叫張陵救恨,是天一觀的道長筋栋。 經(jīng)常有香客問我姑曙,道長焕梅,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,415評論 1 283
  • 正文 為了忘掉前任卦洽,我火速辦了婚禮贞言,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘阀蒂。我一直安慰自己该窗,他們只是感情好,可當我...
    茶點故事閱讀 65,453評論 6 385
  • 文/花漫 我一把揭開白布蚤霞。 她就那樣靜靜地躺著酗失,像睡著了一般。 火紅的嫁衣襯著肌膚如雪争便。 梳的紋絲不亂的頭發(fā)上级零,一...
    開封第一講書人閱讀 49,784評論 1 290
  • 那天,我揣著相機與錄音,去河邊找鬼奏纪。 笑死鉴嗤,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的序调。 我是一名探鬼主播醉锅,決...
    沈念sama閱讀 38,927評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼发绢!你這毒婦竟也來了硬耍?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,691評論 0 266
  • 序言:老撾萬榮一對情侶失蹤边酒,失蹤者是張志新(化名)和其女友劉穎经柴,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體墩朦,經(jīng)...
    沈念sama閱讀 44,137評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡坯认,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,472評論 2 326
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了氓涣。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片牛哺。...
    茶點故事閱讀 38,622評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖劳吠,靈堂內(nèi)的尸體忽然破棺而出引润,到底是詐尸還是另有隱情,我是刑警寧澤痒玩,帶...
    沈念sama閱讀 34,289評論 4 329
  • 正文 年R本政府宣布淳附,位于F島的核電站,受9級特大地震影響凰荚,放射性物質(zhì)發(fā)生泄漏燃观。R本人自食惡果不足惜褒脯,卻給世界環(huán)境...
    茶點故事閱讀 39,887評論 3 312
  • 文/蒙蒙 一便瑟、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧番川,春花似錦到涂、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至沉御,卻和暖如春屿讽,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工伐谈, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留烂完,地道東北人。 一個月前我還...
    沈念sama閱讀 46,316評論 2 360
  • 正文 我出身青樓诵棵,卻偏偏與公主長得像抠蚣,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子履澳,可洞房花燭夜當晚...
    茶點故事閱讀 43,490評論 2 348

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

  • 本文作者: wuXing QQ: 1226032602 E-mail: 1226032602@qq.com ht...
    五行哥閱讀 2,394評論 0 0
  • 1)安裝2)常用模塊3)inventory4)playbook(role\tag\template)5) yaml...
    秦記閱讀 4,131評論 2 5
  • 運維核心工作: 操作系統(tǒng)安裝(物理機嘶窄、虛擬機)--> 應用程序包部署(安裝、配置距贷、服務啟動 )--> 批量操作 -...
    Net夜風閱讀 1,506評論 0 4
  • 一柄冲、初識ansible 1、ansible是新出現(xiàn)的自動化運維工具 ansible是一個配置管理和應用部署工具,基...
    清風徐來_簡閱讀 2,484評論 0 15
  • ansible 系統(tǒng)架構(gòu) ansible簡介ansible是新出現(xiàn)的自動化運維工具忠蝗,ansible是一個配置管理和...
    運維阿文閱讀 9,568評論 1 52