Coder Social home page Coder Social logo

praveenmunagapati / cluster-manager Goto Github PK

View Code? Open in Web Editor NEW

This project forked from oracle/cluster-manager

0.0 1.0 0.0 52.05 MB

Administration of multiple Kubernetes clusters using a Kubernetes federation backend

License: Apache License 2.0

Makefile 0.90% Go 98.89% Smarty 0.22%

cluster-manager's Introduction

Cluster Manager

Cluster Manager manages the life cycle of Kubernetes clusters from different cloud providers.

Before You Begin

Cluster Manager supports provisioning, scaling up, scaling down and shutting down of Kubernetes clusters on various cloud providers. The cluster lifecycle status and cloud provider specific configuration are stored as annotations into the Kubernetes Cluster object in the Federation. Cluster Manager uses these annotations to decide which lifecycle operation to perform and how to set up the cluster. Currently AWS and Wercker Clusters are supported. Support for more providers will be added in the near future

Cluster Manager may be used with Navarkos to help scale out deployments to various cloud providers. When Cluster Manager is used with Navarkos, Navarkos determines on which cluster to perform the operation depending on the demand and supply.


cluster-manager with Navarkos

Figure:1 cluster-manager with Navarkos Architecture

The Cluster Manager supports the following operations on clusters:

  1. Provisioning: Cluster Manager can create creates a new Kubernetes cluster on a cloud provider.
  2. Scale Up: Cluster Manager can scale up nodes on a currently provisioned cluster on any supported cloud provider
  3. Scale Down: Cluster Manager can scale down nodes on a currently provisioned cluster on any supported cloud provider
  4. Shutdown: Cluster Manager can shutdown a currently provisioned cluster on any supported cloud provider

Build

Requirements

Cluster Manager build has been currently tested with go version 1.8.x

Clone Repository

Clone the source to a local repository

export K8S_INCUBATOR_DIR="$GOPATH/src/github.com/kubernetes-incubator"
mkdir -p $K8S_INCUBATOR_DIR
cd $K8S_INCUBATOR_DIR
git clone https://github.com/oracle/cluster-manager

Build Project

Project Makefile supports the following targets

  • make build-local - cleans up and build Cluster Manager binary.
  • make build-image - invokes 'build-local' by building Cluster Manager docker image.
  • make build-docker - cleans up and build docker image of Cluster Manager using docker multi-stage build.
  • make push-image - pushes an already created Cluster Manager docker image to registry of choice. Use ${DOCKER_REGISTRY} environment variable to specify the registry.
  • make build-push-image - cleans up, build and push Cluster Manager docker image to a registry of choice. Use ${DOCKER_REGISTRY} environment variable to specify the registry.

Deploy

Follow the deploy instructions to deploy Cluster Manager.

Community, discussion, contribution, and support

Learn how to engage with the Kubernetes community on the community page.

You can reach the maintainers of this project at:

  • Slack: tbd
  • Mailing List: tbd
  • OWNERS file has the project leads listed.

Contributions to this code are welcome!

Refer to CONTRIBUTING.md and LICENSE on how to contribute to the project. Refer to RELEASE.md about the process of release of this project.

Kubernetes Incubator - Pending proposal

This is a Kubernetes Incubator project. The project was established 2017-12-08. The incubator team for the project is:

  • Sponsor: tbd
  • Champion: tbd
  • SIG: tbd

Code of conduct

Participation in the Kubernetes community is governed by the Kubernetes Code of Conduct.

cluster-manager's People

Contributors

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