Giter Site home page Giter Site logo

180254 / scheduled-events-operator-2 Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 91 KB

The application responds to scheduled events for virtual machines on the Azure platform by draining AKS nodes.

License: MIT License

Dockerfile 1.93% Shell 0.34% Smarty 5.30% Python 92.42%
aks azure scheduled-events

scheduled-events-operator-2's Introduction

# scheduled-events-operator-2

The application responds to scheduled events for virtual machines on the Azure platform by draining AKS nodes.

## advertising slogan

Avoid the hassle when Azure maintains one of the nodes in your Azure Kubernetes Service cluster.
This program takes care of that. The program is written in python and is installable as a daemon in the AKS cluster.

## a longer story about what it's about and what it's for

Azure does VM maintenance from time to time and notifies you some time in advance using scheduled events.
https://docs.microsoft.com/en-us/azure/virtual-machines/linux/scheduled-events

The program listens for scheduled events. It then takes automatic action to avoid service downtime.
If a scheduled event occurs, it automatically drains the node in preparation for maintenance.
The node becomes empty so that no maintenance operations can harm your service.
The node will become serviceable again after some time, or the cluster's autoscaler will soon remove it.

Your cluster and application must respond correctly to a node drain operation for this to work.
In particular, you need a working application graceful shutdown, PodDisruptionBudget policy.

The program works in a painfully simple way, has dependencies on several external programs (kubectl).
Docker image size is under 100 MB, python and dependencies take up some disk space.

## building and running

You can do the deployment in the standard way.
Assume that "todayisnotmonday" is your Azure Container Registry.
The deployment for AKS+helm is as follows:

$ ./build.sh --no-cache
$ docker tag seo2:3.0.2 todayisnotmonday.azurecr.io/seo2:3.0.2
$ docker push todayisnotmonday.azurecr.io/seo2:3.0.2
$ helm install seo2 charts/seo2 --set namespace=seo2,namespaceCreate=true --set image.repository=todayisnotmonday.azurecr.io/seo2

scheduled-events-operator-2's People

Watchers

 avatar  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.