新到貨2本75折
Spinnaker實戰:云原生多云環境的持續部署方案

Spinnaker實戰:云原生多云環境的持續部署方案

  • 定價:648
  • 運送方式:
  • 臺灣與離島
  • 海外
  • 可配送點:台灣、蘭嶼、綠島、澎湖、金門、馬祖
  • 可取貨點:台灣、蘭嶼、綠島、澎湖、金門、馬祖
載入中...
  • 分享
 

內容簡介

本書聚焦於雲原生和多雲環境的持續部署方案,共分13章,內容涉及聲明式持續部署概述、Spinnaker基礎與實戰、金絲雀發佈與灰度發佈、部署安全、混沌工程及生產化建議等,結構清晰,循序漸進,深入淺出。
 
在持續部署最佳實踐方面,本書重點介紹了如何實施灰度發佈、自動金絲雀分析和混沌工程,這些高級部署功能是Netflix 公司實現快速而穩定反覆運算的核心技術。關於如何落地Spinnaker,本書站在人和組織架構的視角,為遷移團隊提供了指導性的意見,解決了新技術落地難的問題。
 

作者介紹

王煒,騰訊雲CODING高級架構師,CNCF大使,KubeCon評審委員會成員,開源雲原生開發境Nocalhost研發負責人,騰訊雲大學講師。多年來始終從事雲原生架構、Docker、Kubernetes、DevOps及微服務領域的研究與實踐,擅長開源項目治理和運營。
 
王振威,騰訊雲CODING研發總監,開源雲原生開發環境Nocalhost產品負責人。深耕開發者工具領域,實現了CODING代碼託管、CI/CD等產品從0到1的突破,在Linux、Golang、Java、Kubernetes、Docker等技術領域有所見長。
 
 

目錄

01 聲明式持續部署概述 1
1.1 持續交付與持續部署 2
1.1.1 為什麼要持續交付 2
1.1.2 持續交付的好處 3
1.1.3 保持隨時可交付 4
1.1.4 解決問題:提高發佈頻率 4
1.1.5 自動化持續部署 5
1.2 命令式與聲明式 6
1.2.1 簡單易用的命令式 7
1.2.2 抽象和歸納的聲明式 8
1.3 常見的聲明式系統 9
1.3.1 Kubernetes 9
1.3.2 Terraform 11
1.3.3 Ansible 12
1.4 聲明式與命令式結合:聲明式腳本流水線 13
1.4.1 核心思想 13
1.4.2 代碼即流水線 14
1.4.3 步驟執行 15
1.5 聲明式腳本流水線的意義 16
1.5.1 簡化行為描述 16
1.5.2 降低學習曲線 17
1.5.3 落地持續部署 17
1.5.4 實現自動化 17
1.6 本章小結 18

02 管理雲基礎設施 19
2.1 遷移至雲原生與混合雲的挑戰 20
2.1.1 憑據管理 20
2.1.2 多雲架構 20
2.1.3 跨地域部署 21
2.1.4 自動伸縮 21
2.1.5 不可變的基礎設施和部署製品 22
2.1.6 服務發現 22
2.2 組織雲基礎設施 23
2.2.1 以應用為中心 23
2.2.2 抽象對雲的操作 24
2.2.3 雲模型 26
2.2.4 多雲配置 26
2.3 流量組織形式 27
2.3.1 啟用/不啟用 27
2.3.2 啟用/啟用 27
2.4 持續部署工具對比 27
2.4.1 Tekton 28
2.4.2 Argo CD 31
2.5 本章小結 36

03 Spinnaker 簡介 37
3.1 概念 38
3.2 應用管理 38
3.2.1 應用 39
3.2.2 伺服器組 39
3.2.3 集群 39
3.2.4 負載等化器 41
3.2.5 防火牆 41
3.3 應用程式部署 42
3.3.1 流水線 42
3.3.2 階段 43
3.3.3 任務 43
3.3.4 部署策略 43
3.4 雲提供商 45
3.5 Spinnaker 架構 46
3.5.1 Deck 48
3.5.2 Gate 50
3.5.3 Clouddriver 50
3.5.4 Orca 51
3.5.5 Echo 52
3.5.6 Front50 53
3.5.7 Igor 54
3.5.8 Fiat 54
3.5.9 Rosco 55
3.5.10 Kayenta 56
3.6 本章小結 57

04 安裝Spinnaker 59
4.1 環境要求 59
4.1.1 Kubernetes 59
4.1.2 Kubectl 62
4.1.3 Jenkins 63
4.1.4 Docker Registery 66
4.2 安裝部署 67
4.2.1 Halyard 命令列工具 67
4.2.2 選擇雲提供商 70
4.2.3 選擇運行環境 71
4.2.4 選擇存儲方式 71
4.2.5 部署 73
4.2.6 升級 78
4.2.7 備份配置 79
4.2.8 常見問題 81
4.3 本章小結 82

05 Spinnaker基本工作流程:流水線 84
5.1 管理流水線 85
5.1.1 創建流水線 85
5.1.2 配置流水線 87
5.1.3 添加自動觸發器 87
5.1.4 添加階段 88
5.1.5 手動運行流水線 89
5.1.6 禁用流水線 91
5.1.7 刪除流水線 91
5.1.8 鎖定流水線 92
5.1.9 重命名流水線 92
5.1.10 通過JSON編輯流水線 93
5.1.11 流水線歷史版本 94
5.2 部署製品 95
5.2.1 在流水線中使用製品 98
5.2.2 自訂觸發器製品 103
5.2.3 Kubernetes Manifest 製品 104
5.2.4 製品類型 108
5.3 啟動參數 108
5.4 階段 109
5.4.1 基礎設施階段 110
5.4.2 集成外部系統階段 112
5.4.3 測試階段 113
5.4.4 流程控制階段 113
5.4.5 自訂階段 114
5.5 觸發器 114
5.5.1 時間型觸發器 115
5.5.2 事件型觸發器 115
5.6 通知 116
5.7 流水線運算式 118
5.7.1 編寫運算式 119
5.7.2 測試運算式 124
5.8 版本控制和審計 125
5.9 動態流水線示例 126
5.10 本章小結 132

06 深入核心概念 133
6.1 虛擬機器階段 133
6.1.1 Bake 133
6.1.2 Tag Image 135
6.1.3 Find Image From Cluster 135
6.1.4 Find Image From Tags 136
6.1.5 Deploy 137
6.1.6 Disable Cluster 139
6.1.7 Disable Server Group 140
6.1.8 Enable Server Group 141
6.1.9 Resize Server Group 142
6.1.10 Clone Server Group 143
6.1.11 Rollback Cluster 144
6.1.12 Scale Down Cluster 145
6.2 Kubernetes階段 145
6.2.1 Bake (Manifest) 146
6.2.2 Delete (Manifest) 147
6.2.3 Deploy (Manifest) 148
6.2.4 Find Artifacts From Resource (Manifest) 151
6.2.5 Patch (Manifest) 152
6.2.6 Scale (Manifest) 154
6.2.7 Undo Rollout (Manifest) 155
6.3 集成外部系統階段 156
6.3.1 Jenkins 156
6.3.2 運行 Script 腳本 158
6.3.3 Travis階段 160
6.3.4 Concourse階段 162
6.3.5 Wercker階段 163
6.3.6 Webhook階段 165
6.3.7 自訂 Webhook階段 167
6.4 流程控制階段 170
6.4.1 Wait 171
6.4.2 Manual Judgment 171
6.4.3 Check Preconditions 173
6.4.4 Pipeline 174
6.5 其他階段 175
6.6 部署製品類型 176
6.6.1 Docker 鏡像 176
6.6.2 Base64 178
6.6.3 AWS S3 179
6.6.4 Git Repo 181
6.6.5 GitHub 文件 182
6.6.6 GitLab 文件 184
6.6.7 Helm 185
6.6.8 HTTP文件 188
6.6.9 Kubernetes 對象 189
6.6.10 Maven 190
6.7 配置觸發器 192
6.7.1 Git 192
6.7.2 Docker Registry 194
6.7.3 Helm Chart 196
6.7.4 Artifactory 197
6.7.5 Webhook 198
6.7.6 Jenkins 201
6.7.7 Concourse 202
6.7.8 Travis 202
6.7.9 CRON 203
6.7.10 Pipeline 204
6.7.11 Pub/Sub 204
6.8 使用流水線範本 205
6.8.1 安裝 Spin CLI 206
6.8.2 創建流水線範本 209
6.8.3 渲染流水線範本 211
6.8.4 使用範本創建流水線 211
6.8.5 繼承範本或覆蓋 213
6.9 消息通知 213
6.9.1 Email 216
6.9.2 Slack 218
6.9.3 SMS 220
6.9.4 企業微信機器人 221
6.9.5 釘釘機器人 223
6.10 本章小結 226

07 自動金絲雀分析 227
7.1 Spinnaker 自動金絲雀發佈 227
7.2 安裝組件 229
7.2.1 安裝 Prometheus 229
7.2.2 集成 Minio 232
7.2.3 集成 Prometheus 233
7.3 配置金絲雀 233
7.3.1 創建一個金絲雀配置 234
7.3.2 創建和使用選擇器範本 239
7.3.3 創建金絲雀階段 240
7.4 獲取金絲雀報告 248
7.5 工作原理 250
7.6 最佳實踐 251
7.7 本章小結 253

08 混沌工程 254
8.1 理論基礎 254
8.1.1 概念定義 254
8.1.2 發展歷程 255
8.2 為什麼需要混沌工程 256
8.2.1 與測試的區別 256
8.2.2 與故障注入的區別 256
8.2.3 核心思想 257
8.3 五大原則 257
8.3.1 建立穩定狀態的假設 257
8.3.2 用多樣的現實世界事件做驗證 258
8.3.3 在生產環境中進行測試 258
8.3.4 快速終止和最小爆炸半徑 259
8.3.5 自動化實驗以持續運行 259
8.4 如何實現混沌工程 259
8.4.1 設計實驗步驟 260
8.4.2 確定成熟度模型 260
8.4.3 確定應用度模型 262
8.4.4 繪製成熟度模型 263
8.5 在 Spinnaker 中實施混沌工程 263
8.5.1 Gremlin 264
8.5.2 Chaos Mesh 265
8.6 本章小結 268

09 使部署更加安全 269
9.1 集群部署 269
9.1.1 部署策略 269
9.1.2 回滾策略 278
9.1.3 時間窗口 283
9.2 流水線執行 285
9.2.1 併發 285
9.2.2 鎖定 286
9.2.3 禁用 287
9.2.4 階段條件判斷 288
9.2.5 人工確認 288
9.3 自動驗證階段 295
9.4 審計和可追溯 299
9.4.1 消息通知 299
9.4.2 流水線變更歷史 300
9.4.3 事件流記錄 301
9.5 本章小結 302

10 最佳實踐 303
10.1 南北流量自動灰度發佈:Kubernetes + Nginx Ingress 304
10.1.1 環境準備 304
10.1.2 部署 Nginx Ingress 305
10.1.3 初始化環境 308
10.1.4 創建流水線 309
10.1.5 運行流水線 311
10.1.6 原理分析 317
10.1.7 生產建議 319
10.2 東西流量自動灰度發佈:Kubernetes + Service Mesh 319
10.2.1 環境準備 320
10.2.2 安裝 Istio 321
10.2.3 Bookinfo 應用 322
10.2.4 初始化環境 324
10.2.5 創建流水線 326
10.2.6 運行流水線 328
10.2.7 原理分析 332
10.3 本章小結 334

11 生產建議 336
11.1 SSL 336
11.2 認證 341
11.2.1 SAML 342
11.2.2 OAuth 345
11.2.3 LDAP 349
11.2.4 x509 350
11.3 授權 351
11.3.1 YAML 353
11.3.2 SAML 354
11.3.3 LDAP 354
11.3.4 GitHub 355
11.3.5 Service Account 356
11.3.6 流水線許可權 358
11.4 Redis配置優化 359
11.5 橫向擴容 360
11.6 使用MySQL 作為存儲系統 363
11.6.1 Front50 366
11.6.2 Clouddriver 367
11.6.3 Orca 369
11.7 監控 372
11.7.1 Prometheus 373
11.7.2 Grafana 378
11.8 本章小結 382

12 擴展 Spinnaker 383
12.1 配置開發環境 383
12.1.1 Kork 383
12.1.2 組件概述 384
12.1.3 環境配置 385
12.2 編寫新階段 386
12.3 本章小結 394

13 遷移到Spinnaker 395
13.1 如何說服團隊 395
13.2 遷移原則 396
13.2.1 最小化變更工作流 396
13.2.2 利用已有設施 397
13.2.3 組織架構不變性 397
13.3 本章小結 399
 

詳細資料

  • ISBN:9787121419669
  • 規格:平裝 / 428頁 / 16k / 19 x 26 x 2.14 cm / 普通級 / 單色印刷 / 初版
  • 出版地:中國

最近瀏覽商品

 

相關活動

  • 【科普、飲食、電腦】高寶電子書暢銷書展:人生就是選擇的總和,全展75折起
 

購物說明

溫馨提醒您:若您訂單中有購買簡體館無庫存/預售書或庫存於海外廠商的書籍,建議與其他商品分開下單,以避免等待時間過長,謝謝。

大陸出版品書況:因裝幀品質及貨運條件未臻完善,書況與台灣出版品落差甚大,封面老舊、出現磨痕、凹痕等均屬常態,故簡體字館除封面破損、內頁脫落...等較嚴重的狀態外,其餘所有商品將正常出貨。 

 

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

調貨時間:若您購買海外庫存之商品,於您完成訂購後,商品原則上約45個工作天內抵台(若有將延遲另行告知)。為了縮短等待的時間,建議您將簡體書與其它商品分開訂購,以利一般商品快速出貨。 

若您具有法人身份為常態性且大量購書者,或有特殊作業需求,建議您可洽詢「企業採購」。 

退換貨說明 

會員所購買的商品均享有到貨十天的猶豫期(含例假日)。退回之商品必須於猶豫期內寄回。 

辦理退換貨時,商品必須是全新狀態與完整包裝(請注意保持商品本體、配件、贈品、保證書、原廠包裝及所有附隨文件或資料的完整性,切勿缺漏任何配件或損毀原廠外盒)。退回商品無法回復原狀者,恐將影響退貨權益或需負擔部分費用。 

訂購本商品前請務必詳閱商品退換貨原則

  • 翦商作者新作79折
  • 針灸匠張寶旬
  • 浪漫小說精選3本72折