Git Product home page Git Product logo

mico's Introduction

Build Status

MICO

A Management System for Microservice Compositions

This is the main repository for the development project MICO at the University of Stuttgart in the masters course Software Engineering.

Installation

Supported Kubernetes cluster:

Currently, MICO is only tested with the Azure Kubernetes Service (AKS) and with the Google Kubernetes Engine (GKE). It may also work in other environments.

If you use GKE, please note that you must grant the user the ability to create roles in Kubernetes before installing MICO. This is a prerequisite to use use role-based access control on GKE. For more information see the GKE instructions.

Grant permission for the current user (GKE only):

kubectl create clusterrolebinding cluster-admin-binding --clusterrole cluster-admin --user $(gcloud config list account --format "value(core.account)")

Requirements:

  • Kubernetes cluster version must be v1.11 or newer
  • kubectl CLI tool with version v1.10 or newer
  • DockerHub account (required to store Docker images of services that are build by MICO)

Configure kubectl to use the cluster in the current context.

Setup script:

The interactive setup script install/kubernetes/setup.sh will install all MICO components and its dependencies in your cluster.

Some cloud providers (like Microsoft Azure) offers the possibility to create a static public IP address. If you want to use such a static IP address to access the MICO dashboard you can provide it during the execution of the script. Otherwise your cloud provider will create automatically a IP address for it.

Execute the script:

./install/kubernetes/setup.sh

After the script is finished, the components (especially the Neo4j database) needs some time to be ready (up to 5 minutes).

Check the current deployment status of the MICO components until all pods are running:

kubectl get pods -n mico-system --watch

Get the public IP address (or the hostname) of the MICO dashboard:

kubectl get svc mico-admin -n mico-system -o jsonpath="{.status.loadBalancer.ingress[*]['ip', 'hostname']}"

Get the public IP address (or the hostname) of the OpenFaaS Portal:

kubectl get svc gateway-external -n openfaas -o jsonpath="{.status.loadBalancer.ingress[*]['ip', 'hostname']}"

Clean up:

kubectl delete -f install/kubernetes/

Tutorials

Documentation

Update Source File Headers

mico-core

It is easy to update the license headers of the mico-core project with IntelliJ IDEA. Create a Copyright Profile in Settings > Editor > Copyright > Copyright Profiles with the license from CONTRIBUTING.md. Set this profile to the default one for the project and use the "Update Copyright..." feature on the project root.

mico's People

Contributors

buehlefs avatar davidkopp avatar gepperho avatar jakobbenz avatar jojo134 avatar lharzenetter avatar miwurster avatar pascal157600 avatar pascalweiss avatar spethso avatar thechinese avatar tsneijdr avatar vetterjn avatar wagnerdk 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.