Module 7: Production Considerations

Overview

Now that you can build, test, and debug operators (Module 6), it’s time to prepare them for production. This module covers packaging, distribution, security, high availability, and performance optimization - all essential for running operators in production environments.

Duration: 6-7 hours
Prerequisites:

Learning Objectives

By the end of this module, you will:

  • Package operators for distribution (images, Helm charts, OLM bundles)
  • Configure proper RBAC and security
  • Implement high availability with leader election
  • Optimize performance and scalability
  • Understand production deployment best practices

Module Structure

  1. Lesson 7.1: Packaging and Distribution
  2. Lesson 7.2: RBAC and Security
  3. Lesson 7.3: High Availability
  4. Lesson 7.4: Performance and Scalability

Prerequisites Check

Before starting, ensure you’ve completed:

  • Module 6: Operator with tests and observability
  • ✅ Have a working operator from previous modules
  • ✅ Understand container images and Docker
  • ✅ Basic understanding of Helm charts

If you haven’t completed Module 6, start with Module 6: Testing and Debugging.

What You’ll Build

Throughout this module, you’ll prepare your Database operator for production:

  • Container image for distribution
  • Helm chart for easy deployment
  • Proper RBAC configuration
  • High availability setup
  • Performance optimizations

Setup

Before starting this module:

  1. Have your Database operator from Module 3/4/5/6:
    • Should have a working operator
    • Tests should be passing
    • Ready for production deployment
  2. Ensure development environment is ready:
    ./scripts/setup-dev-environment.sh
    
  3. Have access to a container registry:
    • Docker Hub, GitHub Container Registry, or private registry
    • For local testing, you can use kind’s image loading

Hands-on Labs

Each lesson includes hands-on exercises that prepare your operator for production.

Solutions

Complete working solutions for all labs are available in the solutions directory: