Giter VIP home page Giter VIP logo

operator-sample-go's Introduction

Kubernetes Operator Patterns and Best Practises

This project contains Kubernetes operator samples that demonstrate best practices how to develop operators with Golang, Operator SDK including Kubebuilder and the Operator Lifecycle Manager Framework.

Brief Overview

The repo contains two operators:

  • Application operator: Deploys and manages a front-end micro-service application which provides a simple web UI.
  • Database operator: Deploys and manages a simple database. Used by the front-end application.

Additionally the repo contains four more application components:

  • simple-microservice - A front end web application, written in Java using Quarkus
  • database-service - A simple database application deployed by the database operator, written in Java using Quarkus
  • operator-database-backup - A Go application to query the database and upload the data to cloud object storage. This container is launched on a schedule by the database operator
  • operator-application-scaler - A Go application used to make autoscaling decisions for the front-end. It queries Prometheus metrics exposed by the simple-microservice, and if necessary, modifies the custom resource which defines the size of the front-end deployment. This container is launched on a schedule by the application operator

Scripts are provided to automate build and deployment:

  • scripts - Automation to verify workstation prerequisites, build all container images and deploy to a Kubernetes or OpenShift cluster. Alternatively, the scripts can deploy pre-built 'golden' container images.

Check out this 1-minute demo video of the operators
Operator Sample Go Demo 1 min

Documentation

Extended documentation can be found in this repo: https://ibm.github.io/operator-sample-go-documentation/

IBM Build Labs

This project has been created by IBM Build Labs. We provide a service to selected IBM Business Partners (ISVs) looking to automate the operations of their solutions to meet the demands of clients, and open new routes to market using Red Hat OpenShift on any cloud/platform.

Introduction to IBM Build Labs
Unleash the Power of your Applications

Our 40-minute masterclass video provides a useful inroduction to operators and why to use them
Operators Masterclass

Additional Resources

Credits

operator-sample-go's People

Contributors

thomassuedbroecker avatar nheidloff avatar deleeuwblue avatar aairom avatar dptiwari-ibm avatar dptiwari avatar sundeepbinaylal avatar ibm-open-source-bot avatar imgbotapp avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.