Packaging Applications and Services with Kubernetes Operators

Package applications and services for Kubernetes with the Operator framework. 

Developing Operators

Image result for operator framework image

Operators give you a convenient way to package, deploy, manage and distribute applications for Kubernetes. The method allows you to package configuration so that users can deploy operators from a simple catalog without having to engage administrators. You can distribute operators beyond your organization using OperatorHub.io which is open to all contributions or the Red Hat OpenShift OperatorHub using Red Hat's certification process. 

Download Operator-SDK binary 

Operator maturity model

Conceptually, an Operator takes human operational knowledge and encodes it into software that is more easily packaged and shared with consumers. How you approach and build your Operator is up to you. Advanced Operators are designed to handle upgrades seamlessly, react to failures automatically, and not take shortcuts, such as skipping a software backup process to save time.

A Kubernetes application is both deployed on Kubernetes and managed using the Kubernetes APIs and kubectl/oc tooling. You can think of Operators as the runtime that manages this type of application on Kubernetes.

Hands-on Operator labs

Course

Building Operators on OpenShift

9 lessons | 240 minutes

Learn about k8s API fundamentals, the etcd operator, using the Operator SDK with Go and Helm, review Ansible basics, and use Ansible to deploy Kubernetes modules.

Lesson

Operator SDK with Helm

30 minutes | Beginner

Create a CockroachDB Operator from an existing CockroachDB Helm chart, running securely without Tiller or manual invocation.

Lesson

Manage the etcd Operator

30 minutes | Beginner

Manage etcd clusters on Kubernetes and automate resize, failover, and upgrade tasks, including backup and restore actions.

Lesson

Install the Operator Lifecycle Manager

30 minutes | Beginner

Install the Operator Lifecycle Manager in an OpenShift environment, access the UI, create a subscription manifest, and approve an InstallPlan.

Lesson

Ansible Operator Overview

30 minutes | Beginner

Learn what the Ansible Operator is, how to map custom resource events, pass extra variables, leverage existing roles from Ansible Galaxy, then how to deploy and run the Operator in a local or remote OpenShift cluster.

Lesson

Mcrouter Operator powered by Ansible Operator

30 minutes | Beginner

Gather basic understanding of the Mcrouter operator that was built with the Ansible Operator SDK.

Lesson

Kubernetes API fundamentals

30 minutes | Beginner

Understand the structure and features of the Kubernetes API fundamentals.

Lesson

Ansible Kubernetes Modules

15 minutes | Beginner

Learn to use the Ansible k8s (Kubernetes) module by creating and removing Kubernetes resources and reusing existing Kubernetes manifest files.

Technology partners: Publish on OpenShift OperatorHub

operatorhub

Red Hat Partner Connect is a program for technology partners—ISVs, SIs, and VARs—that provides software, tools, and other technical resources for your development work, and marketing resources for your marketing & sales colleagues.

Certify your Operator with Red Hat Partner Connect

When you publish, you get:

security

Seal of approval

Your Operator functionality is verified by Red Hat.

Faster

Promotion

Listed in Red Hat OpenShift OperatorHub and Red Hat Ecosystem Catalog for all customers to see and download.

RHEL Release

Continuous certification

Using Red Hat Certification Build Service APIs means continuous security compliance—great for CI/CD.

RHEL Release

Support coverage

Full Red Hat support for the foundation of Operators and their containers when used with Red Hat OpenShift.

New articles about Operators

Featured image for Node.js with Opossum.
Article

Node.js circuit breakers for serverless functions

September 15, 2021

Use Opossum, a Node.js implementation of the circuit breaker pattern, to solve a persistence challenge in Red Hat OpenShift Serverless Functions.

Featured image for "Build a Kubernetes Operator in six steps."
Article

Build a Kubernetes Operator in six steps

September 7, 2021

Use Golang, Minikube, and the Kubernetes Operator SDK 1.11+ to create and deploy a Kubernetes Operator on your local system.

Featured image for "Red Hat CodeReady Containers 1.31.2 makes the leap."
Article

Red Hat CodeReady Containers 1.31.2 makes the leap

September 1, 2021

Red Hat CodeReady Containers 1.31.2 features an upgrade to Red Hat OpenShift 4.8, but that's not all. Find out what's new for OpenShift on your laptop.

Featured image for OpenShift operators.
Article

Cluster tooling updates and more in Red Hat OpenShift's Web Terminal Operator 1.3

August 19, 2021

The Red Hat OpenShift Web Terminal Operator provides an environment with cluster tooling. Read about improvements and updates in Web Terminal Operator 1.3.

Featured image for microservices.
Article

How to maximize data storage for microservices and Kubernetes, Part 1: An introduction

August 11, 2021

In Part 1 of this series, explore data storage options in Kubernetes, including persistent storage management with Red Hat OpenShift Data Foundation.

Featured image for OpenShift operators.
Article

Troubleshooting application performance with Red Hat OpenShift metrics, Part 5: Test results

August 5, 2021

See the performance testing results and how they were used to tune Service Binding Operator for use in the Developer Sandbox for Red Hat OpenShift.

More articles about Operators

Latest Comments

Waiting for Disqus…

Adventures Aboard the Kluster Kruise Ship

This story uses a series of metaphors to introduce the concept of Operators, explain how they aid in the automation of clusters, and provide a high-level overview of Operator Lifecycle Management in a way that anyone can understand. Readers will meet Kate the octopus, esteemed cruise ship director, who finds herself overwhelmed with the responsibilities associated with her position.

 

Get a copy of the book

Interested in the Operator community?

OperatorHub is the community home for Kubernetes Operators. Find an existing Operator or list your own.

Browse Operators