Talk

Writing a Kubernetes Operator in Java

Tools-in-Action
Cloud, Containers & Infrastructure

Kubernetes is much more than a runtime platform for Docker containers. Its API can be extended with application-specific custom resource definitions (CRDs), and you can implement your own controllers adapting your applications dynamically to changes in the cluster. Application-specific custom controllers are called "operators". Until recently, most operators were written in Go, re-using code from the built-in Kubernetes controllers. With Quarkus and the fabric8 Kubernetes Client we now have a great basis for implementing operators in Java, allowing us to integrate our existing code base with the power of Kubernetes API extensions. At Instana, we used these new technologies to implement our instana-agent-operator. In this presentation, we will provide an experience report and lessons learned from implementing our own operator in Java. The operator is available on https://github.com/instana/instana-agent-operator.

Java
Kubernetes
Quarkus

Fabian Stäber

Instana

Dr. Fabian Stäber is Java developer and monitoring enthusiast at Instana. As part of the infrastructure team at Instana, he started the Instana agent operator project by porting previous work from Go to Java, and helped evolving it into a production-ready open source project. Fabian is excited about Java backend development, distributed systems, operations, and monitoring. His academic research was on decentralized, peer-to-peer-based network architectures.

Talks by tracksTalks by session typesList of Speakers