Building Kubernetes Operators in an Ansible-native way

By Timothy Appnel

Elevator Pitch

Operators are usually written in Go, but there’s an alternative. Ansible is a first class citizen in the Operator SDK that frees up application engineers and maximizes time to automate and orchestrate your applications across both new & existing platforms with one simple language.

Description

An Operator is a method of packaging, deploying and automating the complete lifecycle management activities of a Kubernetes application. Put more simply, an Operator encodes human operational knowledge. It is designed to observe and respond to the resources in your cluster and enable your application to more consistently run in its desired state.

While powerful, Operators are usually written in Go, requires expertise in the advanced libraries and patterns used to write Kubernetes controllers. Ansible can help. It is a first class citizen in the Operator SDK, providing a means of automating the deployment and management of Kubernetes applications on a cluster in an Ansible-native way. Ansible-based Operators provide a lower barrier to entry, faster iterations, and the power of Ansible and its vibrant community and ecosystem.

Combining Ansible and Kubernetes frees up engineers to minimize the new skill sets required and improve time to delivery. Furthermore, using tried and trusted Ansible tooling lets you automate and orchestrate your applications across both new and existing platforms with one simple language.

This talk introduces Operators with Ansible and demonstrates how you develop and deploy them to automate the management of complex Kubernetes application on a cluster.