We continue to see the adoption of Kubernetes in new and novel scenarios. For example, we see Kubernetes is being extended to manage resources running outside of its cluster or across multiple infrastructure providers, or it is used in managing stateful applications beyond Kubernetes's original scope. These extensions are possible using the Kubernetes Operator pattern: building Kubernetes controllers that have the domain-specific knowledge of the custom resource they manage. For example, an operator that manages a stateful application can use the Kubernetes primitives to automate an application's specific tasks beyond its deployment, such as restore, backup and upgrade its database.
Operator Framework is a set of open-source tools that simplifies building and managing the lifecycle of Kubernetes operators. Although there are multiple frameworks to help you build Kubernetes operators, Operator Framework remains a good choice. It supports rich operator lifecycle management using its Operator Lifecycle Manager module; it supports multiple languages to build the operator code itself using its Operator SDK; and it provides a catalog for publishing and sharing the operators. If you're planning to build Kubernetes operators, we recommend giving the Operator Framework a try to accelerate your development reliably.
Operator Framework is a set of open-source tools that simplifies building and managing the lifecycle of Kubernetes operators. The Kubernetes operator pattern, originally introduced by CoreOS, is an approach to encapsulate the knowledge of operating an application using Kubernetes native capabilities; it includes resources to be managed and controller code that ensures the resources are matching their target state. This approach has been used to extend Kubernetes to manage many applications, particularly the stateful ones, natively. Operator Framework has three components: Operator SDK, which simplifies building, testing and packaging Kubernetes operators; Operator lifecycle manager to install, manage and upgrade the operators; and a catalog to publish and share third-party operators. Our teams have found Operator SDK particularly powerful in rapidly developing Kubernetes-native applications.