logo

Tutorial: Becoming a Kubernetes Developer: Writing Your First Operator

2022-10-27

Authors:   Abby Bangser


Summary

The presentation discusses extending Kubernetes using the operator framework and provides a hands-on tutorial for creating a CRUD operator.
  • Kubernetes can be extended at various points, including the CLI, custom resource definitions (CRDs), and the API and events API using the operator framework
  • The operator framework allows for listening to Kubernetes events and taking reactions accordingly
  • The tutorial provides a step-by-step guide for creating a CRUD operator that deploys, updates, and deletes an application
  • The tutorial uses an online learning platform that does not require downloading Docker images or configuring laptops
The presenter emphasizes the importance of using opinions by people to get started and dealing with rough edges later. They also suggest using existing tools and plugins, such as grep and get all, to extend Kubernetes rather than creating a whole new CLI. The presenter also mentions that the tutorial is designed to make the barrier to entry for Kubernetes development lower for developers who may not be familiar with the technology.

Abstract

Kubernetes is effectively a blank canvas which we as engineers need to compose into a shape and style that fits our needs. This nearly always starts with running software through deployments. While this can get us started, many of our high value use cases require more complex compositions. Operators provide engineers a way to extend the building blocks of Kubernetes to build higher level abstractions. These abstractions can codify complex setup requirements, standardise capabilities across an organisation, and more. An example of operators at work include the Prometheus operator. This helps teams get started with monitoring and alerting with packaging and providing sensible defaults across an array of associated tools including Prometheus (for metric gathering), Thanos (for metric retention), Alertmanager (for alerts), and Grafana (for graphing). In this workshop we will build a basic operator which will enable a hands on exploration into use cases and structures of operators in more depth.

Materials:

Post a comment

Related work