All Projects → gianarb → Orbiter

gianarb / Orbiter

Licence: apache-2.0
Orbiter is an opensource docker swarm autoscaler

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Orbiter

Docker Swarm
🐳🐳🐳 This repository is part of a blog series on Docker Swarm example using VirtualBox, OVH Openstack, Azure and Amazon Web Services AWS
Stars: ✭ 43 (-89.76%)
Mutual labels:  cloud, docker-swarm
Devops Readme.md
What to Read to Learn More About DevOps
Stars: ✭ 398 (-5.24%)
Mutual labels:  cloud
Openstack Grizzly Install Guide
A full install guide for OpenStack Grizzly
Stars: ✭ 358 (-14.76%)
Mutual labels:  cloud
Terratag
Terratag is a CLI tool that enables users of Terraform to automatically create and maintain tags across their entire set of AWS, Azure, and GCP resources
Stars: ✭ 385 (-8.33%)
Mutual labels:  cloud
Gifee
Google's Infrastructure for Everyone Else
Stars: ✭ 370 (-11.9%)
Mutual labels:  cloud
Ignite
Apache Ignite
Stars: ✭ 4,027 (+858.81%)
Mutual labels:  cloud
Zenko
Zenko is the open source multi-cloud data controller: own and keep control of your data on any cloud.
Stars: ✭ 353 (-15.95%)
Mutual labels:  docker-swarm
Packet Agent
A toolset for network packet capture in Cloud/Kubernetes and Virtualized environment.
Stars: ✭ 419 (-0.24%)
Mutual labels:  cloud
Sia Ui
A Graphical Frontend for Sia - https://sia.tech
Stars: ✭ 394 (-6.19%)
Mutual labels:  cloud
Awesome Docker
🐳 A curated list of Docker resources and projects
Stars: ✭ 20,870 (+4869.05%)
Mutual labels:  docker-swarm
Generator Jhipster
JHipster is a development platform to quickly generate, develop, & deploy modern web applications & microservice architectures.
Stars: ✭ 19,162 (+4462.38%)
Mutual labels:  cloud
Spring Cloud Microservice Examples
spring-cloud-microservice-examples
Stars: ✭ 372 (-11.43%)
Mutual labels:  cloud
Webdavmailrucloud
WebDAV cloud.mail.ru ...& Yandex.Disk | WebDAV Облако Mail.Ru Сетевой Диск
Stars: ✭ 386 (-8.1%)
Mutual labels:  cloud
Hackathon Toolkit
GCP Hackathon Toolkit
Stars: ✭ 358 (-14.76%)
Mutual labels:  cloud
Firesim
FireSim: Easy-to-use, Scalable, FPGA-accelerated Cycle-accurate Hardware Simulation in the Cloud
Stars: ✭ 415 (-1.19%)
Mutual labels:  cloud
Lamp Cloud
lamp-cloud 基于Jdk11 + SpringCloud + SpringBoot的微服务快速开发平台,其中的可配置的SaaS功能尤其闪耀, 具备RBAC功能、网关统一鉴权、Xss防跨站攻击、自动代码生成、多种存储系统、分布式事务、分布式定时任务等多个模块,支持多业务系统并行开发, 支持多服务并行开发,可以作为后端服务的开发脚手架。代码简洁,注释齐全,架构清晰,非常适合学习和企业作为基础框架使用。
Stars: ✭ 4,125 (+882.14%)
Mutual labels:  cloud
Westore
更好的小程序项目架构
Stars: ✭ 3,897 (+827.86%)
Mutual labels:  cloud
Please Contain Yourself
A Docker tutorial written for people who don't actually know Docker already.
Stars: ✭ 385 (-8.33%)
Mutual labels:  docker-swarm
Digitalocean Cloud Controller Manager
Kubernetes cloud-controller-manager for DigitalOcean (beta)
Stars: ✭ 418 (-0.48%)
Mutual labels:  cloud
Midway
🍔 A Node.js Serverless Framework for front-end/full-stack developers. Build the application for next decade. Works on AWS, Alibaba Cloud, Tencent Cloud and traditional VM/Container. Super easy integrate with React and Vue. 🌈
Stars: ✭ 5,080 (+1109.52%)
Mutual labels:  cloud

Build Status

Orbiter is an easy to run autoscaler for Docker Swarm. It is designed to work out of the box.

We designed it in collaboration with InfluxData to show how metrics can be used to create automation around Docker tasks.

orbiter daemon

Orbiter is a daemon that exposes an HTTP API to trigger scaling up or down.

Http API

Orbiter exposes an HTTP JSON api that you can use to trigger scaling UP (true) or DOWN (false).

The concept is very simple, when your monitoring system knows that it's time to scale it can call the outscaler to persist the right action

curl -v -d '{"direction": true}' \
    http://localhost:8000/v1/orbiter/handle/infra_scale/docker

Or if you prefer

curl -v -X POST http://localhost:8000/v1/orbiter/handle/infra_scale/docker/up

You can look at the list of services managed by orbiter:

curl -v -X GET http://localhost:8000/v1/orbiter/autoscaler

Look at the health to know if everything is working:

curl -v -X GET http://localhost:8000/v1/orbiter/health

Autodetect

orbiter daemon

It's going to start in autodetect mode. This modality at the moment only fetches for Docker SwarmMode. It uses the environment variables DOCKER_HOST (and others) to locate a Docker daemon. If it's in SwarmMode, orbiter is going to look at all the services currently running.

If a service is labeled with orbiter=true it's going to auto-register the service and it's going to enable autoscaling.

If a service is labeled with orbiter=true orbiter will auto-register the service providing autoscaling capabilities.

Let's say that you started a service:

docker service create --label orbiter=true --name web -p 80:80 nginx

When you start orbiter, it's going to auto-register an autoscaler called autoswarm/web. By default up and down are set to 1 but you can override them with the label orbiter.up=3 and orbiter.down=2.

This scalability allows you to instantiate orbiter in an extremely easy way in Docker Swarm.

A background job reads the Docker Swarm Event api to keep the services registered in sync.

With docker

docker run -it -v ${PWD}/your.yml:/etc/orbiter.yml -p 8000:8000 gianarb/orbiter daemon

We are supporting an image gianarb/orbiter in hub.docker.com. You can run it with your configuration.

In this example I am using volumes but if you have a Docker Swarm 1.13 up and running you can use secrets.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].