原创 Linux企業實戰-ansible(38)判斷

絕大多數語言中,都使用“if“作爲條件判斷的關鍵字,而在ansible中,條件判斷的關鍵字是"when",我們可以使用when關鍵字爲任務指定條件,條件成立,則執行任務,條件不成立,則不執行任務 當item>1的時候才執行msg中的內容

原创 Linux企業實戰-ansible(46)loop代替with

利用loop關鍵字代替with 利用loop和dict代替我們的with_dict 也可以使用loop和filter代替loop和lookup 上述列表輸出不會被拉平我們可以使用flatten進行操作 當由多層嵌套的時候我

原创 Linux企業實戰-ansible(51)jinja2宏

宏定義如下所示 查看渲染出來的模板 我們也可以通過宏調用參數 也可以使用默認數值 我們定義三個變量其中兩個賦予默認數值 這樣我們發現有默認值的被賦予了a沒默認值的賦予了1 這樣顯然不符合我們的規定 所以我們必須把沒有默認

原创 Linux企業實戰-ansible(32)關鍵字

之前講過如下兩個playbook的效果是一樣的 我們還可以設置嵌套列表 運行結果如下 這樣輸出結果和我們想象的不一樣我們希望像列表一樣輸出的123在一起ab在一起,此時我們只需要把關鍵字改一下就可以吧item改爲list 單層列

原创 Linux企業實戰-ansible(52)宏參數

在宏的內部,有三個默認的內置特殊變量可供我們使用,它們分別是varargs、kwargs、caller varargs可以將多餘的參數放在一起 如果我們不設置形參然後還傳遞參數 相當於Python中的可變參數 varargs=

原创 Linux企業實戰-ansible(42)fail

有關錯誤處理的功能在我們playbook中的用法fail模塊 運行結果如下 報錯並且指出了錯誤的根源 我們可以自定義輸出的消息 我們使用fail模塊結合when模塊 如果上述不使用--error也可以使用--westos則顯示

原创 Linux企業實戰-ansible(47、48)模板jinja2

首先在server4中安裝redis然後啓動redis 然後修改redis的6379.conf的配置文件 如果我們的ansible主機如何修改上百臺電腦的redis監聽端口保證每一臺都能監聽到自己的主機 實驗要求:我們需要保證每一條

原创 Linux企業實戰-ansible(50)jinja2

如果讓jinja2中的花括號變成正常的符號,可以通過引號 也可以使用如下注釋方式 我們可以讓雙小括號也變得有意義 只有小括號中的內容別解析了

原创 Docker之compose

Docker compose簡介 ·微服務架構的應用系統一般包含若干個微服務,每個微服務一般都會部署多個實例,如果每個微服務都要手動啓停,那麼效率之低,維護量之大可想而知。 ·Docker Compose是一種編排服務,基於pyhton語

原创 Linux企業實戰-ansible(53)角色

tasks目錄:角色需要執行的主任務文件放置在此目錄中,默認的主任務文件名爲main.yml,當調用角色時,默認會執行main.yml文件中的任務 handlers目錄:當角色需要調用handlers時,默認會在此目錄中的main.yml

原创 Linux企業實戰-ansible(35)循環關鍵字with

with_sequence循環關鍵字,告訴你start和end然後告訴你步長 上述格式也可以寫成如下格式 這裏我們也可以使用count進行操作count一般都是默認從1開始 當start比end大的時候我們可以設置步長爲負數即可

原创 Linux企業實戰-ansible(34)循環關鍵字

with_indexex_items關鍵字 我沒可以修改一下輸出形式 查看嵌套運行結果 如果我們使用列表嵌套列表 使用with_item的時候也不會拉平 使用with_flattened的時候回拉平

原创 鏡像的優化

選擇最精簡的基礎鏡像 減少鏡像的層數 清理鏡像構建的中間產物 注意優化網絡請求 儘量去用構建緩存 使用多階段構建鏡像 打開虛擬機然後打開docker systemctl start docker 然後我們編輯我們的dockerfile(v

原创 Linux企業實戰-ansible(36)關鍵字

將字典應用到playbook中 運行結果如下所示 我們可以寫的更具體將 我們可以將字典寫的更詳細 運行 我們可以使用如下讓value單獨顯示 使用列表嵌套 我們也可以讓輸出更高效      

原创 Linux企業實戰-ansible(31)

通過playbook返回returnvalue的值 返回的是字典的形式 上述代碼和循環沒有關係我們將其改爲循環模式 運行 雖然執行了但是執行的結果比較長我們想要比較短的可以通過result關鍵字來獲取 上述這麼寫現實還是比較長