ops, the Operator Framework, provides a clean Python event system for operators on Kubernetes, Linux or Windows.
This point release includes a single change, for a regression spotted in 1.0:
- Don’t skip interfaces without names: they don’t have names on k8s.
Operators are reusable ops code that drive application management - lifecycle, configuration, upgrades, scale and integration. This operator framework takes the Kubernetes operator pattern and generalises it to include traditional applications on Linux and Windows server infrastructure, physical or cloud. An operator package is called a charm, and you can find a lot of them on Charmhub.io
The framework simplifies integration between operators and emphasises collaboration between operator developers. The goal is to make it easier to write operators that drive a single microservice perfectly in any cloud, in different scenarios, and on heterogeneous architectures. Operators use the Juju operator lifecycle manager (OLM) for model-driven integration and operations.
Python is a great language for operator developers. It’s structured, testable, but still high-level and widely readable by devops. The framework enables ops code to be pure, readable Python, and provides mechanisms to for debugging and tracing in complex scale-out deployments. While the OLM is written in Golang for concurrency, operators can be written in any language, and Python is the preferred language in the Open Operator Collection community.
The framework helps you:
- model the integration of your applications
- manage the lifecycle of your application
- create reusable and scalable components
- keep your code simple and readable
We develop the Python Operator Framework on Github.