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

Kubernetes Operator開發進階

  • 作者:編者:胡濤|責編:遲振春
  • 出版社:機械工業
  • ISBN:9787111716150
  • 出版日期:2023/01/01
  • 裝幀:平裝
  • 頁數:224
人民幣:RMB 89 元      售價:
放入購物車
加入收藏夾

內容大鋼
    Kubernetes是一個由Google開源的容器化應用編排系統,該系統為容器化應用提供了強大的資源管理調度、服務發現、應用擴/縮容、應用滾動更新與失敗回滾等功能。Kubernetes早在幾年前就已經一統容器編排領域,成為容器編排的事實標準,徹底顫覆了軟體的開發和運維模式。隨著以Kubernetes為中心所構建的雲原生應用的不斷流行,人們逐漸發現通過Kubernetes原生資源與控制器來管理複雜有狀態的應用交得越來越困難。後來Kubernetes開始支持自定義資源,接著又出現了Operator模式,最後Operator模式開始逐漸流行,成為複雜有狀態的應用上雲的事實標準。
    本書詳細講解Operator開發過程中所涉及的各個知識點,從簡單的Operator示例應用入手,幫助讀者快速上手Operator的開發流程,接著深入分析client-go、Deployment控制器等的源碼,通過一個進階應用的開發過程進一步詳細介紹Operator開發的各方面知識。通過本書的學習,讀者能夠輕鬆掌握Operator的開發技巧,深入理解Operator的底層原理等,進而在日常工作中更好地通過Operator實現各種複雜的應用治理邏輯的開發。
    無論對於雲原生領域的開發工程師、測試工程師、運維工程師、軟體架構師、技術經理,還是對於想要深入研究Kubernetes、掌Kubernetes Operator開發技能的大中專院校相關專業的學生,本書都極具參考價值。

作者介紹
編者:胡濤|責編:遲振春

目錄
推薦序
前言
第一篇  入門
  第1章  了解Kubernetes
    1.1  初識Kubernetes
    1.2  Kubernetes集群的部署
      1.2.1  Docker的安裝
      1.2.2  Kind工具介紹
      1.2.3  使用Kind快速搭建Kubernetes環境
      1.2.4  使用Kind搭建多節點Kubernetes集群環境
      1.2.5  Kind用法進階
    1.3  Kubernetes集群的基本操作
      1.3.1  示例項目介紹
      1.3.2  基礎操作演示
      1.3.3  小結
    1.4  Kubernetes的核心概念
      1.4.1  節點
      1.4.2  命名空間
      1.4.3  容器組
      1.4.4  副本集
      1.4.5  部署
      1.4.6  服務
    1.5  Kubernetes的發展歷史
    1.6  本章小結
  第2章  開始Operator開發
    2.1  理解控制器模式
      2.1.1  生活中的控制器
      2.1.2  Kubernetes中的控制器
    2.2  理解Operator模式
    2.3  Operator開發環境準備
    2.4  Kubebuilder的安裝配置
    2.5  從Application Operator Demo開始
      2.5.1  創建項目
      2.5.2  添加API
      2.5.3  CRD實現
      2.5.4  CRD部署
      2.5.5  CR部署
      2.5.6  Controller實現
      2.5.7  啟動Controller
      2.5.8  部署Controller
      2.5.9  資源清理
    2.6  Operator的發展歷史
      2.6.1  Operator概念的提出
      2.6.2  第一個Operator程序
      2.6.3  Operator的崛起
    2.7  本章小結
第二篇  進階
  第3章  Kubernetes API介紹
    3.1  認識Kubernetes API
    3.2  使用Kubernetes API

      3.2.1  Curl方式訪問API
      3.2.2  kubectl raw方式訪問API
    3.3  理解GVK:組、版本與類型
    3.4  本章小結
  第4章  理解client-go
    4.1  client-go項目介紹
      4.1.1  client-go的代碼庫
      4.1.2  client-go的包結構
      4.1.3  client-go的版本規則
      4.1.4  獲取client-go
    4.2  client-go使用示例
      4.2.1  client-go集群內認證配置
      4.2.2  client-go集群外認證配置
      4.2.3  client-go操作Deployment
    4.3  本章小結
  第5章  client-go源碼分析
    5.1  client-go源碼概覽
      5.1.1  關於client-go源碼版本
      5.1.2  client-go模塊概覽
    5.2  WorkQueue源碼分析
      5.2.1  普通隊列Queue的實現
      5.2.2  延時隊列DelayingQueue的實現
      5.2.3  限速隊列RateLimitingQueue的實現
      5.2.4  小結
    5.3  DeltaFIFO源碼分析
      5.3.1  Queue介面與DeltaFIFO的實現
      5.3.2  queueActionLocked()方法的邏輯
      5.3.3  Pop()方法和Replace()方法的邏輯
    5.4  Indexer和ThreadSafeStore
      5.4.1  Indexer介面和cache的實現
      5.4.2  ThreadSafeStore的實現
      5.4.3  各種Index方法的實現
    5.5  ListerWatcher
      5.5.1  ListWatch對象的初始化
      5.5.2  ListerWatcher介面
      5.5.3  List-Watch與HTTP chunked
    5.6  Reflector
      5.6.1  Reflector的啟動過程
      5.6.2  核心方法:Reflector.ListAndWatch()
      5.6.3  核心方法:Reflector.watchHandler()
      5.6.4  Reflector的初始化
      5.6.5  小結
    5.7  Informer
      5.7.1  Informer就是Controller
      5.7.2  SharedIndexInformer對象
      5.7.3  sharedProcessor對象
      5.7.4  關於SharedInformerFactory
      5.7.5  小結
    5.8  本章小結
  第6章  項目核心依賴包分析

    6.1  API項目
    6.2  apimachinery項目
    6.3  controller-runtime項目
    6.4  本章小結
  第7章  Operator開發進階
    7.1  進階項目設計
    7.2  準備application-operator項目
      7.2.1  創建新項目
      7.2.2  項目基礎結構分析
    7.3  定義Application資源
      7.3.1  添加新API
      7.3.2  自定義新API
    7.4  實現Application Controller
      7.4.1  實現主調諧流程
      7.4.2  實現Deployment調諧流程
      7.4.3  實現Service調諧流程
      7.4.4  設置RBAC許可權
      7.4.5  過濾調諧事件
      7.4.6  資源別名
    7.5  使用Webhook
      7.5.1  Kubernetes API訪問控制
      7.5.2  Admission Webhook介紹
      7.5.3  Admission Webhook的實現
      7.5.4  cert-manager部署
      7.5.5  Webhook部署運行
      7.5.6  Webhook測試
    7.6  API多版本支持
      7.6.1  實現V2版本API
      7.6.2  多版本API部署測試
    7.7  API分組支持
    7.8  本章小結
  第8章  Deployment Controller源碼分析
    8.1  Deployment功能分析
      8.1.1  Deployment基礎知識
      8.1.2  Deployment的滾動更新和回滾
      8.1.3  Deployment的其他特性
      8.1.4  小結
    8.2  Deployment源碼分析
      8.2.1  邏輯入口:startDeploymentController
      8.2.2  DeploymentController對象初始化
      8.2.3  ResourceEventHandler邏輯
      8.2.4  DeploymentController的啟動過程
    8.3  本章小結
第三篇  工具
  第9章  使用Kustomize管理配置
    9.1  Kustomize的基本概念
    9.2  Kustomize的安裝
    9.3  使用Kustomize生成資源
      9.3.1  ConfigMap生成器
      9.3.2  Secret生成器

      9.3.3  使用generatorOptions改變默認行為
    9.4  使用Kustomize管理公共配置項
    9.5  使用Kustomize組合資源
      9.5.1  多個資源的組合
      9.5.2  給資源配置打補丁
    9.6  Base和Overlay
    9.7  本章小結
  第10章  使用Helm打包應用
    10.1  Helm的安裝
    10.2  Helm的基本概念
    10.3  Helm的常用操作
      10.3.1  搜索Chart包
      10.3.2  安裝Chart包
      10.3.3  自定義Chart配置
      10.3.4  Release升級與回滾
      10.3.5  Release卸載
      10.3.6  Helm命令的常用參數
    10.4  封裝自己的Chart包
      10.4.1  Chart的目錄結構
      10.4.2  Chart.yaml文件
      10.4.3  Chart依賴管理
    10.5  本章小結

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們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