幫助中心 | 我的帳號 | 關於我們

Terraform實戰

  • 作者:(美)斯科特·溫克勒|責編:謝曉芳|譯者:趙利通
  • 出版社:人民郵電
  • ISBN:9787115584854
  • 出版日期:2022/04/01
  • 裝幀:平裝
  • 頁數:349
人民幣:RMB 99.9 元      售價:
放入購物車
加入收藏夾

內容大鋼
    本書基於實際項目,揭示如何使用Terraform自動擴展和管理基礎架構。本書重點介紹了Terraform 0.12的語法、基礎知識和高級設計(如零停機時間部署和創建Terraform提供程序)。本書主要內容包括如何使用Terraform,如何管理Terraform資源的生命周期,如何編程,如何在AWS雲中部署多層的Web應用程序,如何實現無伺服器的部署,如何通過Terraform部署伺服器,如何實現零停機部署,如何測試、重構,如何擴展Terraform,如何通過Terraform自動部署,如何實現安全管理。
    本書適合作為系統管理員、DevOps工程師、開發人員的自學和參考用書。

作者介紹
(美)斯科特·溫克勒|責編:謝曉芳|譯者:趙利通
    斯科特·溫克勒,Scott Winkler是一位DevOps工程師,還是著名的Terraform專家。他在HashiConf和HashiTalks上展示過自己的成果,並且是HashiCorp的核心貢獻者。Scott在社區中很活躍,開發了許多模塊和提供程序。在空閑時間,Scott喜歡騎馬。Scott還負責提供Terraform的獨立咨詢服務。

目錄
第一部分  Terraform訓練營
  第1章  Terraform入門
    1.1  Terraform的優點
      1.1.1  置備工具
      1.1.2  易於使用
      1.1.3  免費且開源的軟體
      1.1.4  聲明式編程
      1.1.5  雲無關
      1.1.6  表達能力強且高度可擴展
    1.2  「Hello Terraform!」
      1.2.1  編寫Terraform配置
      1.2.2  配置AWS提供程序
      1.2.3  初始化Terraform
      1.2.4  部署EC2實例
      1.2.5  銷毀EC2實例
    1.3  新的「Hello Terraform!」
      1.3.1  修改Terraform配置
      1.3.2  應用修改
      1.3.3  銷毀基礎設施
    1.4  爐邊談話
  小結
  第2章  Terraform資源的生命周期
    2.1  過程概述
    2.2  聲明本地文件資源
    2.3  初始化工作空間
    2.4  生成執行計劃
    2.5  創建本地文件資源
    2.6  執行no-op
    2.7  更新本地文件資源
      2.7.1  檢測配置漂移
      2.7.2  terraform refresh
    2.8  刪除本地文件資源
    2.9  爐邊談話
  小結
  第3章  函數式編程
    3.1  有趣的Mad Libs
      3.1.1  輸入變數
      3.1.2  使用變數定義文件賦值
      3.1.3  驗證變數
      3.1.4  打亂列表
      3.1.5  函數
      3.1.6  輸出值
      3.1.7  模板
      3.1.8  生成輸出結果
    3.2  生成許多Mad Libs故事
      3.2.1  for表達式
      3.2.2  局部值
      3.2.3  隱式依賴
      3.2.4  count元實參
      3.2.5  條件表達式

      3.2.6  更多模板
      3.2.7  本地文件
      3.2.8  壓縮文件
      3.2.9  應用修改
    3.3  爐邊談話
  小結
  第4章  在AWS中部署多層Web應用程序
    4.1  架構
    4.2  Terraform模塊
      4.2.1  模塊的語法
      4.2.2  根模塊
      4.2.3  標準模塊結構
    4.3  根模塊
    4.4  網路模塊
    4.5  資料庫模塊
      4.5.1  從網路模塊傳遞數據
      4.5.2  生成隨機密碼
    4.6  自動擴展模塊
      4.6.1  下滴數據
      4.6.2  模板化cloudinit_config
    4.7  部署Web應用程序
    4.8  爐邊談話
  小結
第二部分  現實環境下的Terraform
  第5章  簡單的無伺服器部署
    5.1  「兩美分網站」
    5.2  架構和計劃
    5.3  編寫代碼
      5.3.1  資源組
      5.3.2  存儲容器
      5.3.3  存儲blob
      5.3.4  Function應用
      5.3.5  最終潤色
    5.4  部署到Azure
    5.5  將Azure資源管理器與Terraform結合起來
      5.5.1  部署不支持的資源
      5.5.2  從遺留代碼遷移
      5.5.3  生成配置代碼
    5.6  爐邊談話
  小結
  第6章  與朋友協同使用Terraform
    6.1  標準後端和增強後端
    6.2  開發S3後端模塊
      6.2.1  架構
      6.2.2  扁平模塊
      6.2.3  編寫代碼
    6.3  共享模塊
      6.3.1  GitHub
      6.3.2  Terraform註冊表
    6.4  每人一個S3後端

      6.4.1  部署S3後端
      6.4.2  在S3後端存儲狀態
    6.5  在工作空間中復用配置代碼
      6.5.1  部署多個環境
      6.5.2  清理
    6.6  Terraform Cloud簡介
    6.7  爐邊談話
  小結
  第7章  CI/CD管道即代碼
    7.1  兩個部署
    7.2  GCP上的Docker容器的CI/CD
      7.2.1  設計管道
      7.2.2  施工設計
    7.3  初始工作空間設置
    7.4  動態配置和置備程序
      7.4.1  for_each與count
      7.4.2  使用置備程序執行腳本
      7.4.3  帶有local-exec置備程序的null資源
      7.4.4  處理重複的配置塊
      7.4.5  動態塊
    7.5  配置無伺服器容器
    7.6  部署靜態基礎設施
    7.7  Docker容器的CI/CD
    7.8  爐邊談話
  小結
  第8章  多雲MMORPG
    8.1  混合雲負載均衡
      8.1.1  架構概覽
      8.1.2  代碼
      8.1.3  部署
    8.2  在Nomad集群聯邦上部署一個MMORPG
      8.2.1  集群聯邦基礎
      8.2.2  架構
      8.2.3  階段1:靜態基礎設施
      8.2.4  階段2:動態基礎設施
      8.2.5  準備玩家
    8.3  使用托管服務重新設計MMORPG
      8.3.1  代碼
      8.3.2  準備玩家
    8.4  爐邊談話
  小結
第三部分  精通Terraform
  第9章  零停機時間部署
    9.1  自定義生命周期
      9.1.1  使用create_before_destroy實現零停機時間部署
      9.1.2  其他考慮因素
    9.2  藍/綠部署
      9.2.1  架構
      9.2.2  代碼
      9.2.3  部署

      9.2.4  藍/綠切換
      9.2.5  其他考慮因素
    9.3  配置管理
      9.3.1  將Terraform和Ansible組合起來
      9.3.2  代碼
      9.3.3  基礎設施部署
      9.3.4  應用程序部署
    9.4  爐邊談話
  小結
  第10章  測試和重構
    10.1  置備自助基礎設施
      10.1.1  架構
      10.1.2  代碼
      10.1.3  預部署
      10.1.4  污染和輪轉訪問密鑰
    10.2  重構Terraform配置
      10.2.1  模塊化代碼
      10.2.2  模塊展開
      10.2.3  使用局部值替換多行字元串
      10.2.4  循環多個模塊實例
      10.2.5  新的IAM模塊
    10.3  遷移Terraform狀態
      10.3.1  狀態文件的結構
      10.3.2  移動資源
      10.3.3  重新部署
      10.3.4  導入資源
    10.4  測試基礎設施即代碼
      10.4.1  編寫一個基本的Terraform測試
      10.4.2  測試套件
      10.4.3  運行測試
    10.5  爐邊談話
  小結
  第11章  通過編寫自定義提供程序擴展Terraform
    11.1  Terraform提供程序的藍圖
      11.1.1  Terraform提供程序的基礎知識
      11.1.2  Pestore提供程序的架構
    11.2  編寫Petstore提供程序
      11.2.1  設置Go項目
      11.2.2  配置提供程序模式
    11.3  創建寵物資源
      11.3.1  定義Create()
      11.3.2  定義Read()
      11.3.3  定義Update()
      11.3.4  定義Delete()
    11.4  編寫驗收測試
      11.4.1  測試提供程序模式
      11.4.2  測試寵物資源
    11.5  生成、測試、部署
      11.5.1  部署Petstore API
      11.5.2  測試和生成提供程序

      11.5.3  安裝提供程序
      11.5.4  寵物即代碼
    11.6  爐邊談話
  小結
  第12章  自動化Terraform
    12.1  仿造版的Terraform Enterprise
      12.1.1  對Terraform Enterprise實施逆向工程
      12.1.2  設計細節
    12.2  從根級別開始
    12.3  開發一個Terraform CI/CD管道
      12.3.1  聲明輸入變數
      12.3.2  IAM角色和策略
      12.3.3  構建計劃和應用階段
      12.3.4  配置環境變數
      12.3.5  聲明管道即代碼
      12.3.6  最終代碼
    12.4  部署Terraform CI/CD管道
      12.4.1  創建源代碼倉庫
      12.4.2  創建最小特權部署策略
      12.4.3  配置Terraform變數
      12.4.4  部署到AWS
      12.4.5  連接到GitHub
    12.5  使用管道部署「Hello World!」
    12.6  爐邊談話
  小結
  第13章  安全和密鑰管理
    13.1  保護Terraform狀態
      13.1.1  從Terraform狀態刪除不必要的密鑰
      13.1.2  使用最小特權訪問控制
      13.1.3  靜態加密
    13.2  保護日誌
      13.2.1  哪些敏感信息會被泄露
      13.2.2  local-exec置備程序的危險
      13.2.3  外部數據源的危險
      13.2.4  HTTP提供程序的危險
      13.2.5  限制日誌訪問
    13.3  管理靜態密鑰
      13.3.1  環境變數
      13.3.2  Terraform變數
      13.3.3  重定向敏感的Terraform變數
    13.4  使用動態密鑰
      13.4.1  HashiCorp Vault
      13.4.2  AWS Secrets Manager
    13.5  Sentinel和策略即代碼
      13.5.1  編寫一個基本的Sentinel策略
      13.5.2  阻塞local-exec置備程序
    13.6  結語
  小結
附錄A  AWS身份驗證
附錄B  Azure身份驗證

附錄C  GCP身份驗證
附錄D  使用Shell提供程序創建自定義資源
附錄E  創建Petstore數據源

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們Top↑
Copyrightc 1999~2008 美商天龍國際圖書股份有限公司 臺灣分公司. All rights reserved.
營業地址:臺北市中正區重慶南路一段103號1F 105號1F-2F
讀者服務部電話:02-2381-2033 02-2381-1863 時間:週一-週五 10:00-17:00
 服務信箱:bookuu@69book.com 客戶、意見信箱:cs@69book.com
ICP證:浙B2-20060032