Whether you want to build applications that operate themselves or provision infrastructure from Java code, Kubernetes Operators are the way to go. java-operator-sdk is based on the fabric8 Kubernetes client and will make it easy for Java developers to embrace this new way of automation.
Why build your own Operator?
Infrastructure automation using the power and flexibility of Java
- see blog post
Provisioning of complex applications
- avoid Helm chart hell
Integration with Cloud services
- e.g. Secret stores
Safer deployment of applications
- only expose cluster to users by Custom Resources
- Framework for handling Kubernetes API events
- Mapping Custom Resources to Java classes
- Retry action on failure
- Smart event scheduling (only handle latest event for the same resource)
- Avoid concurrency issues - related events are serialized, unrelated executed in parallel
- Smooth integration with Quarkus and Spring Boot
- Handling of events from non-Kubernetes resources
- Comprehensive documentation
- Integrate with operator-sdk to generate project skeleton
- Testing of the framework and all samples while running on a real cluster.
- Generate Java classes from CRD definion (and/or the other way around)