Kubernetes Programming with Go: Programming Kubernetes Clients and Operators Using Go and the Kubernetes API


Price:
Sale price$54.99

Description

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.


Author: Philippe Martin
Publisher: Apress
Published: 12/25/2022
Pages: 316
Binding Type: Paperback
Weight: 1.29lbs
Size: 10.00h x 7.00w x 0.70d
ISBN13: 9781484290255
ISBN10: 1484290259
BISAC Categories:
- Computers | Programming | Open Source

About the Author

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.