Skip to main content
Apress

Kubernetes Programming with Go

Programming Kubernetes Clients and Operators Using Go and the Kubernetes API

  • Book
  • © 2023

Overview

  • Provides a panorama of Go libraries and tools to start programming for Kubernetes

  • Shows how to create Custom Resource Definitions and use them from clients and Operators

  • Will prepare you to participate on upstream Kubernetes development

This is a preview of subscription content, log in via an institution to check access.

Access this book

eBook USD 49.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book USD 64.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Other ways to access

Licence this eBook for your library

Institutional subscriptions

Table of contents (13 chapters)

Keywords

About this book

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.

Authors and Affiliations

  • Blanquefort, France

    Philippe Martin

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.

Bibliographic Information

  • Book Title: Kubernetes Programming with Go

  • Book Subtitle: Programming Kubernetes Clients and Operators Using Go and the Kubernetes API

  • Authors: Philippe Martin

  • DOI: https://doi.org/10.1007/978-1-4842-9026-2

  • Publisher: Apress Berkeley, CA

  • eBook Packages: Professional and Applied Computing, Professional and Applied Computing (R0), Apress Access Books

  • Copyright Information: Philippe Martin 2023

  • Softcover ISBN: 978-1-4842-9025-5Published: 25 December 2022

  • eBook ISBN: 978-1-4842-9026-2Published: 24 December 2022

  • Edition Number: 1

  • Number of Pages: XX, 316

  • Number of Illustrations: 16 b/w illustrations

  • Topics: Open Source, Professional Computing

Publish with us