Python自動化運維快速入門 ( 簡體 字) |
作者:鄭征 | 類別:1. -> 程式設計 -> Python |
譯者: |
出版社:清華大學出版社 | 3dWoo書號: 50864 詢問書籍請說出此書號!【缺書】 NT售價: 295 元 |
出版日:4/1/2019 |
頁數:270 |
光碟數:0 |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787302525806 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言:隨著IT技術的進步及業務需求的快速增長,服務器也由幾十臺上升到成百上千臺,IT運維自動化是一個必然的趨勢。Python是當今最流行的編程語言之一,由于Python語言本身的優勢,因此在編寫自動化程序時簡單、高效,實用效果立竿見影。目前開源軟件社區優秀的自動化運維軟件,如Ansible、Airflow、Celery、Paramiko等框架都使用Python語言開發,甚至一些大型商用的自動化部署系統都有Python的應用。因此,學好Python,不僅可以自己編寫自動化運維程序,而且可以對開源的自動化運維工具進行二次開發,這樣才能在就業嚴峻的市場環境中具備較強的職場競爭力。 目前市場上介紹Python自動化運維的圖書并不多,真正從實際應用出發,通過各種典型應用場景和項目案例來指導讀者提高運維開發水平的圖書就更少。本書以實戰為主旨,通過Python運維開發中常見的典型應用(近百個場景),讓讀者全面、深入、透徹地學習Python在自動化運維領域的各種熱門技術及主流開源工具的使用,提高實際開發水平和項目實戰能力。 本書特色 1. 從基礎講起,適合零基礎學習Python運維的讀者 為了便于讀者理解本書內容,從基礎知識開始講述,并結合實際應用,激發學習興趣,提高學習效率。 2. 涵蓋自動化運維的主流開源工具 本書涵蓋Ansible、APScheduler、Paramiko、Celery、Airflow、Docker等主流運維工具的架構、原理及詳細使用方法。 3. 項目案例典型,實戰性強,有較高的應用價值 本書每一篇都提供了大量的實戰案例,這些案例來源于作者開發的實際項目,具有很高的應用價值和參考性,而且分別使用不同的框架組合實現。這些案例稍加修改,便可用于實際項目開發中。 本書內容 第1章 自動化運維與Python 本章介紹了自動化運維的背景知識、相關的開源工具及如何構造成熟的自動化運維體系。 第2章 基礎運維 本章介紹如何使用Python處理文件、監控系統信息、監控文件系統、調用外部命令、日志記錄、搭建FTP服務器、發送郵件報警等實用基礎運維技能。 第3~5章 多進程、多線程、協程 第3~5章對多進程和多線程中的創建方法、鎖、信號量、事件、隊列、進程池、線程池、協程的定義和使用、適用場景等進行了詳細介紹,并配有示例用于練習和實際使用。 第7~10章 開源工具的使用方法 第7~10章主要介紹開源工具的使用方法,包括自動化運維工具Ansible、定時任務框架APScheduler、執行遠程命令架構Paramiko、分布式任務隊列Celery及任務調度平臺Airflow。 第11章 Docker容器技術 本章介紹高級運維工具Docker,包括Docker的框架、原理、所能解決的問題、安裝部署、使用方法等,同時也對Docker中的卷、卷的共享、如何自制鏡像、Docker網絡配置等做了詳細介紹。 示例源代碼 本書示例源代碼下載地址請掃描右邊的二維碼獲取。如果下載有問題,請聯系booksaga@163.com,郵件主題為“Python自動化運維快速入門”。 本書讀者 ? 需要做運維自動化開發的技術人員; ? 從零開始學Python的運維人員; ? 運維工程師、運維經理和網絡管理員。 本書由鄭征主筆,其他參與創作的還有吳貴文、董山海,在此表示感謝。
著者 2019年2月 |
內容簡介:本書是一本從零開始、手把手教你運維的書籍,通過上百個實際運維場景案例,幫助讀者理解并掌握自動化運維。 本書分為三篇共11章,第一篇是基礎運維,介紹自動化運維、Python基礎、文本處理、日志、FTP服務器、使用Python發郵件、微信等。通過本篇的學習,可以達到編寫Python程序來解決基礎運維問題的水平;第二篇是中級運維,介紹自動化運維工具(Ansible)、作業調度工具(APScheduler、Airflow)、分布式任務隊列(Celery),目的是為了讓運維工作上一個新的臺階;第三篇是高級運維,介紹Docker容器技術,現現已成運維人員必備的工具。 本書內容詳盡、示例豐富,是廣大從事運維開發的讀者必備參考書,同時也非常適合學習Python的讀者閱讀,也可作為高等院校計算機及相關專業作為教材使用。 |
目錄:第一篇Python與基礎運維 第1章自動化運維與Python 3 1.1自動化運維概述 3 1.1.1自動化運維勢在必行 3 1.1.2什么是成熟的自動化運維平臺 4 1.1.3為什么選擇Python進行運維 4 1.2初識Python 8 1.3Python環境搭建 8 1.3.1Windows系統下的Python安裝 8 1.3.2Linux系統下的Python安裝 11 1.4開發工具介紹 13 1.4.1PyCharm 14 1.4.2Vim 18 1.5Python基礎語法 24 1.5.1數字運算 24 1.5.2字符串 25 1.5.3列表與元組 30 1.5.4字典 33 1.5.5集合 35 1.5.6函數 36 1.5.7條件控制與循環語句 38 1.5.8可迭代對象、迭代器和生成器 42 1.5.9對象賦值、淺復制、深復制 45 1.6多個例子實戰Python編程 49 1.6.1實戰1:九九乘法表 49 1.6.2實戰2:發放獎金的梯度 50 1.6.3實戰3:遞歸獲取目錄下文件的修改時間 51 1.6.4實戰4:兩行代碼查找替換3或5的倍數 53 1.6.5實戰5:一行代碼的實現 53 1.7pip工具的使用 54 第2章基礎運維 57 2.1文本處理 57 2.1.1Python編碼解碼 57 2.1.2文件操作 61 2.1.3讀寫配置文件 68 2.1.4解析XML文件 70 2.2系統信息監控 76 2.3文件系統監控 82 2.4執行外部命令subprocess 84 2.4.1subprocess.run()方法 84 2.4.2Popen類 86 2.4.3其他方法 87 2.5日志記錄 87 2.5.1日志模塊簡介 88 2.5.2logging模塊的配置與使用 89 2.6搭建FTP服務器與客戶端 95 2.6.1搭建FTP服務器 95 2.6.2編寫FTP客戶端程序 99 2.7郵件提醒 100 2.7.1發送郵件 100 2.7.2接收郵件 105 2.7.3將報警信息實時發送至郵箱 107 2.8微信提醒 112 2.8.1處理微信消息 112 2.8.2將警告信息發送至微信 116 第二篇中級運維 第3章實戰多進程 121 3.1創建進程的類Process 121 3.2進程并發控制之Semaphore 125 3.3進程同步之Lock 126 3.4進程同步之Event 128 3.5進程優先級隊列Queue 130 3.6多進程之進程池Pool 131 3.7多進程之數據交換Pipe 132 第4章實戰多線程 135 4.1Python多線程簡介 135 4.2多線程編程之threading模塊 139 4.3多線程同步之Lock(互斥鎖) 142 4.4多線程同步之Semaphore(信號量) 144 4.5多線程同步之Condition 145 4.6多線程同步之Event 146 4.7線程優先級隊列(queue) 148 4.8多線程之線程池pool 149 第5章實戰協程 151 5.1定義協程 151 5.2并發 153 5.3異步請求 154 第6章自動化運維工具Ansible 159 6.1Ansible安裝 159 6.2Ansible配置 160 6.3inventory文件 161 6.4ansiblead-hoc模式 163 6.5AnsiblePlaybooks模式 171 第7章定時任務模塊APScheduler 175 7.1安裝及基本概念 175 7.1.1APScheduler的安裝 175 7.1.2APScheduler涉及的幾個概念 175 7.1.3APScheduler的工作流程 176 7.2配置調度器 178 7.3啟動調度器 181 7.4調度器事件監聽 185 第8章執行遠程命令(Paramiko) 188 8.1介紹幾個重要的類 188 8.1.1通道(Channel)類 188 8.1.2傳輸(Transport)類 189 8.1.3SSHClient類 190 8.2Paramiko的使用 191 8.2.1安裝 191 8.2.2基于用戶名和密碼的SSHClient方式登錄 191 8.2.3基于用戶名和密碼的Transport方式登錄并實現上傳與下載 192 8.2.4基于公鑰密鑰的SSHClient方式登錄 193 8.2.5基于公鑰密鑰的Transport方式登錄 194 第9章分布式任務隊列Celery 195 9.1Celery簡介 195 9.2安裝Celery 197 9.3安裝RabbitMQ或Redis 198 9.3.1安裝RabbitMQ 198 9.3.2安裝Redis 199 9.4第一個Celey程序 200 9.5第一個工程項目 203 9.6Celery架構 207 9.7Celery隊列 208 9.8CeleryBeat任務調度 211 9.9Celery遠程調用 212 9.10監控與管理 215 9.10.1Celery命令行實用工具 215 9.10.2Web實時監控工具Flower 218 9.10.3Flower的使用方法 219 第10章任務調度神器Airflow 223 10.1Airflow簡介 223 10.1.1DAG 224 10.1.2操作符——Operators 224 10.1.3時區——timezone 225 10.1.4Web服務器——webserver 225 10.1.5調度器——schduler 226 10.1.6工作節點——worker 226 10.1.7執行器——Executor 226 10.2Airflow安裝與部署 226 10.2.1在線安裝 227 10.2.2離線安裝 229 10.2.3部署與配置(以SQLite為知識庫) 229 10.2.4指定依賴關系 234 10.2.5啟動scheduler 234 10.3Airflow配置MySQL知識庫和LocalExecutor 235 10.4Airflow配置Redis和CeleryExecutor 242 10.5Airflow任務開發Operators 244 10.5.1Operators簡介 245 10.5.2BaseOperator簡介 245 10.5.3BashOperator的使用 245 10.5.4PythonOperator的使用 247 10.5.5SSHOperator的使用 248 10.5.6HiveOperator的使用 249 10.5.7如何自定義Operator 250 10.6Airflow集群、高可用部署 250 10.6.1Airflow的四大守護進程 250 10.6.2Airflow的守護進程是如何一起工作的 251 10.6.3Airflow單節點部署 252 10.6.4Airflow多節點(集群)部署 252 10.6.5擴展worker節點 253 10.6.6擴展Master節點 253 10.6.7Airflow集群部署的具體步驟 255 第三篇高級運維 第11章Docker容器技術介紹 259 11.1Docker概述 259 11.2Docker解決什么問題 260 11.3Docker的安裝部署與使用 261 11.3.1安裝Docker引擎 261 11.3.2使用Docker 262 11.3.3Docker命令的使用方法 263 11.4卷的概念 266 11.5數據卷共享 267 11.6自制鏡像并發布 267 11.7Docker網絡 268 11.7.1Docker的網絡模式 269 11.7.2Docker網絡端口映射 270 11.8Docker小結 270 |
序: |