使用 ”代碼即基礎設施” 這一理念實現軟件自動化,是大部分機構對DevOps 的呼吁。本書給開發者、架構師、運維工程師提供了富有實踐價值的技術資料。閱讀本書,將學習到如何使用以容器為中心的方法,幫助團隊交付高質量的軟件,而這都是基于紅帽的云化PaaS 平臺OpenShift 來自動服務的。圖書作者是三位紅帽的OpenShift 專家。本書詳細介紹了如何配置容器應用、如何使用OpenShift的開發運維工具管理Kubernetes 集群,可以帶領讀者探索屏蔽基礎設施的容器管理平臺如何幫助團隊使用OpenShift 在企業中落地DevOps。
圖書作者是三位紅帽的OpenShift 專家。Stefano Picozzi: 紅帽Pass產品leader, 澳大利亞和新西蘭解決方案架構師,紅帽OpenShift 專家Mike Hepburn: 新奧銀行PaaS 主題專家,有應用架構、中間件集成和運維背景。Noel O’Connor 紅帽首席顧問和解決方案架構師,他帶領并交付了歐洲和亞太地區的重要客戶的重大項目。
郭志宏:騰訊云容器服務產品架構師,多年IT行業從業經驗,關注云計算和大數據,4年容器及容器云領域工作經驗,曾參與了數人云整個產品的研發,主導了多個金融客戶,互聯網客戶容器云產品的落地與應用遷移,了解了企業級客戶的痛點和真實訴求以及他么面臨的困境;旨在幫助更多的企業客戶解決Devops 過程中面臨的種種問題。杜金源:北航碩士,曾在樂視,美團擔任資深大數據開發工程師,對大數據離線數據倉庫,實時計算,分布式系統和數據平臺工具鏈有多年開發經驗。目前在BAT某公司擔任技術專家,主要技術方向為個性化推薦算法和大數據領域。
第1章 基于OpenShift的DevOps簡介 1
DevOps 1
容器 2
容器編排 2
持續集成 3
持續交付 3
持續部署 3
管道 4
軟件配置管理 5
部署模式 5
持續改進 5
總結 6
第2章 OpenShift一體化安裝 7
軟件依賴 8
安裝OpenShift和客戶端工具 9
安裝Docker 10
啟動OpenShift 11
驗證環境 14
使用命令行登錄 14
使用控制臺登錄 15
設置存儲 17
創建持久化卷 17
設置卷聲明 19
創建Github賬戶 20
其他方式 20
總結 21
第3章 部署 22
復制控制器(Replication Controller) 22
部署策略 23
滾動策略 23
觸發器 25
重建策略 27
自定義策略 28
生命周期掛鉤 28
部署Pod資源 34
藍綠部署 35
A/B部署 37
灰度部署 40
回滾 41
總結 44
第4章 管道(Pipeline) 45
我們的第一個Pipeline例子 45
Pipeline組件 49
探究Pipeline的細節 50
探索Jenkins 52
多項目Pipeline示例 54
構建、標記、提交 54
創建項目 55
添加基于角色的訪問控制 57
部署Jenkins和Pipeline 57
部署示例應用 59
運行Pipeline 61
快速部署一個新分支 63
管理鏡像的變化 64
級聯式的Pipeline 66
自定義Jenkins 69
并行構建任務 72
總結 73
第5章 配置管理 74
Secret 75
創建Secret 75
在Pod中使用Secret 76
額外說明 80
ConfigMap 81
創建ConfigMap 81
ConfigMap以卷的形式掛載 82
ConfigMap以環境變量的形式掛載 83
環境變量 85
添加環境變量 85
刪除環境變量 86
更改觸發器 87
標簽與注釋 90
標簽示例 90
注釋示例 91
Downward API 91
處理大型配置數據集 94
持久卷 94
鏡像分層 95
總結 96
第6章 構建自定義鏡像 97
鏡像構建 97
構建策略 97
構建源 98
構建配置 99
創建構建配置 102
源碼鏡像 102
S2I過程 104
自定義S2I腳本 105
構建環境 105
自定義S2I構建器 106
構建器鏡像 106
S2I腳本 108
添加一個構建器鏡像 109
構建一個示例應用 110
替代方法 111
故障排查 114
總結 115
第7章 應用管理 116
日志集成 117
容器日志是短暫的 117
日志聚合 118
Kibana 120
常用的Kibana查詢 121
簡單監控 123
資源調度 126
配額 128
配額范圍 131
配額執行 132
限制范圍和請求 133
多項目配額 135
應用 136
驅逐和Pod重新調度 137
超賣 138
Pod自動擴縮 138
使用Jolokia基于Java應用程序的監控和管理 141
總結 146
后記 148
涵蓋范圍 148
結束語 149
附錄A OpenShift和12 Factor App 150
基準代碼 152
依賴 152
配置 153
后端服務 153
構建、發布、運行 154
進程 155
開發環境與線上環境一致 156
日志 157
管理進程 157
安全 158
總結 159
讀者調查表 160
電子工業出版社編著書籍推薦表 162