Kubernetes Programming with Go: Programming Kubernetes Clients and Operators Using Go and the Kubernetes API
暫譯: 使用 Go 編程 Kubernetes:利用 Go 和 Kubernetes API 編寫 Kubernetes 客戶端和運算子

Martin, Philippe

  • 出版商: Apress
  • 出版日期: 2022-12-25
  • 售價: $2,350
  • 貴賓價: 9.5$2,233
  • 語言: 英文
  • 頁數: 297
  • 裝訂: Quality Paper - also called trade paper
  • ISBN: 1484290259
  • ISBN-13: 9781484290255
  • 相關分類: Go 程式語言Kubernetes
  • 海外代購書籍(需單獨結帳)

相關主題

商品描述

This book begins by introducing the structure of the Kubernetes API and which operations it serves. Following chapters demonstrate how to write native Kubernetes resources definitions using Go structures defined in the API and API Machinery libraries. Miscellaneous utilities are described to help you work with different resource fields and to convert your resource definitions to or from YAML or JSON. Next, you will learn how to interact with the Kubernetes API server to create, delete, update, and monitor resources in a cluster using the client-go library. A complete chapter is devoted to tools provided to test your programs using the client-go library. An example follows to wrap up the first part of the book, describing how to write a kubectl plugin. Next, you will learn how to extend the Kubernetes API using Custom Resource Definitions, and how to write Kubernetes resources in a generic way as well as how to create your own resources using the unstructured concept. The next chapters delve into the controller-runtime library, useful for extending Kubernetes by writing operators, and the kubebuilder framework, which leverages this library, to help you start writing operators in minutes.

After reading this book, you will have a deep understanding of the Kubernetes API's structure and how Kubernetes resources are organized within it, and have at your disposal a complete toolbox to help you write Kubernetes clients and operators.

What You Will Learn

  • Understand how the Kubernetes API and its resources are organized
  • Write Kubernetes resources in Go
  • Create resources in a cluster
  • Leverage your newly-gained knowledge to write Kubernetes clients and operators

Who is this Book for:

Software engineers and (Site Reliability Engineers) SREs wishing to write Kubernetes clients and operators using the Go language.

商品描述(中文翻譯)

這本書首先介紹了 Kubernetes API 的結構以及它所提供的操作。接下來的章節展示了如何使用 API 和 API Machinery 函式庫中定義的 Go 結構來編寫原生的 Kubernetes 資源定義。書中描述了一些雜項工具,以幫助您處理不同的資源欄位,並將資源定義轉換為 YAML 或 JSON 格式。接下來,您將學習如何與 Kubernetes API 伺服器互動,以使用 client-go 函式庫在叢集中創建、刪除、更新和監控資源。專門有一章介紹了使用 client-go 函式庫測試您的程式的工具。接著將提供一個範例,總結本書的第一部分,描述如何編寫 kubectl 插件。然後,您將學習如何使用自定義資源定義(Custom Resource Definitions)擴展 Kubernetes API,以及如何以通用的方式編寫 Kubernetes 資源,並使用非結構化概念創建自己的資源。接下來的章節深入探討 controller-runtime 函式庫,這對於通過編寫運營商來擴展 Kubernetes 非常有用,還有 kubebuilder 框架,它利用這個函式庫,幫助您在幾分鐘內開始編寫運營商。

閱讀完這本書後,您將對 Kubernetes API 的結構有深入的了解,並了解 Kubernetes 資源在其中的組織方式,並擁有一整套工具來幫助您編寫 Kubernetes 客戶端和運營商。

您將學到的內容:
- 理解 Kubernetes API 及其資源的組織方式
- 使用 Go 編寫 Kubernetes 資源
- 在叢集中創建資源
- 利用新獲得的知識編寫 Kubernetes 客戶端和運營商

本書適合對象:
希望使用 Go 語言編寫 Kubernetes 客戶端和運營商的軟體工程師和網站可靠性工程師(Site Reliability Engineers, SRE)。

作者簡介

Philippe Martin has been working with Kubernetes for five years, first by creating an operator to deploy video CDNs into the cloud, later helping companies deploy their applications into Kubernetes, then writing a client to help developers work in a Kubernetes environment. Philippe passed the CKAD, CKA and CKS certifications.

He has long experience with distributed systems and open-source software: he started his career 20 years ago creating thin clients based on the Linux kernel and open source components. He is currently working at Red Hat on the Development Tools team.

Philippe is active in the development of Kubernetes, especially its documentation, and participates in the translation of the official documentation into French, has edited two reference books about the Kubernetes API and kubectl, and is responsible for the French translation of the Kubernetes Dashboard. He participated in Google Season of Docs to create the new Kubernetes API Reference section of the official documentation, and is maintaining it. He is currently participating in the Apps SIG, a group that covers deploying and operating applications in Kubernetes.

作者簡介(中文翻譯)

Philippe Martin 已經在 Kubernetes 領域工作了五年,最初是透過創建一個運算子(operator)將視頻 CDN 部署到雲端,後來幫助公司將其應用程式部署到 Kubernetes,接著編寫了一個客戶端以幫助開發人員在 Kubernetes 環境中工作。Philippe 通過了 CKAD、CKA 和 CKS 認證。

他在分散式系統和開源軟體方面擁有豐富的經驗:他在 20 年前開始了自己的職業生涯,創建基於 Linux 核心和開源組件的輕量級客戶端。他目前在 Red Hat 的開發工具團隊工作。

Philippe 在 Kubernetes 的開發中非常活躍,特別是在其文檔方面,並參與將官方文檔翻譯成法語,編輯了兩本有關 Kubernetes API 和 kubectl 的參考書籍,並負責 Kubernetes Dashboard 的法語翻譯。他參加了 Google Season of Docs,創建了官方文檔的新 Kubernetes API 參考部分,並持續維護它。他目前參與 Apps SIG,這是一個涵蓋在 Kubernetes 中部署和運行應用程式的團體。