Book Image

The Kubernetes Operator Framework Book

By : Michael Dame
1 (1)
Book Image

The Kubernetes Operator Framework Book

1 (1)
By: Michael Dame

Overview of this book

From incomplete collections of knowledge and varying design approaches to technical knowledge barriers, Kubernetes users face various challenges when developing their own operators. Knowing how to write, deploy, and pack operators makes cluster management automation much easier – and that's what this book is here to teach you. Beginning with operators and Operator Framework fundamentals, the book delves into how the different components of Operator Framework (such as the Operator SDK, Operator Lifecycle Manager, and OperatorHub.io) are used to build operators. You’ll learn how to write a basic operator, interact with a Kubernetes cluster in code, and distribute that operator to users. As you advance, you’ll be able to develop a sample operator in the Go programming language using Operator SDK tools before running it locally with Operator Lifecycle Manager, and also learn how to package an operator bundle for distribution. The book covers best practices as well as sample applications and case studies based on real-world operators to help you implement the concepts you’ve learned. By the end of this Kubernetes book, you’ll be able to build and add application-specific operational logic to a Kubernetes cluster, making it easier to automate complex applications and augment the platform.
Table of Contents (16 chapters)
1
Part 1: Essentials of Operators and the Operator Framework
4
Part 2: Designing and Developing an Operator
9
Part 3: Deploying and Distributing Operators for Public Use

Deploying in a test cluster

Now that the Operator has been built into a container image, it can be deployed in a cluster as a container. To do this, you will first need to ensure that you have access to a running cluster as well as a public image registry. To host your image in a registry, you can obtain a free personal account on Docker Hub (https://hub.docker.com).

For this tutorial, we will be using a local Kubernetes cluster created with kind, which deploys a running Kubernetes cluster within Docker containers rather than directly on the local machine, and is available at https://kind.sigs.k8s.io/. However, the steps described here will be agnostic to any Kubernetes cluster running the latest version of the platform. For example, if you are more comfortable using development environments such as minikube (or have another cluster already available), then you can skip the kind setup shown in this section. The rest of the steps in this section will apply to any Kubernetes cluster...