Code Monkey home page Code Monkey logo

federatorai-operator's Introduction

Federator.ai Operator

Federator.ai Operator is an Operator that manages Federator.ai components for an OpenShift cluster. Once installed, the Federator.ai Operator provides the following features:

  • Create/Clean up: Launch Federator.ai components using the Operator.
  • Easy Configuration: Easily configure data source of Prometheus and enable/disable add-on components, such as GUI, and predictive autoscaling.
  • Pod Scaling Recommendation/Autoscaling: Use provided CRD to setup target pods and desired policies for scaling recommendation and autoscaling.

Note: Federator.ai requires a Prometheus datasource to get historical metrics of pods and nodes. When launching Federator.ai components, Prometheus connection settings need to be provided.

Federator.ai

Federator.ai is the brain of resource orchestration for kubernetes. We use machine learning technology to provide intelligence that foresees future resource usage of your Kubernetes cluster across multiple layers. Federator.ai recommends the right sizes of containers and the right number of replications. It also elastically manages pod scaling and scheduling of your containerized applications. The benefits of Federator.ai include:

  • Up to 60% resource savings
  • Increased operational efficiency
  • Reduced manual configuration time with digital intelligence

For more information, visit our website and github.com/containers-ai/alameda.

Documentations

Please visit docs

Resources

Usage

Configuration

There are two method of configuration, the precedence from high to low is Setting Environment Variable, Setting Configuration File.

Setting Environment Variable

There are two types of environment variable that Federatorai-Operator accepts

  • Variables with prefix FEDERATORAI_OPERATOR, the available variables list are identical to the configuration file. Properties in the configuration file tree are seperated with underscore("_"). For example, to configure the logger output level, set environment variable FEDERATORAI_OPERATOR_LOG_OUTPUTLEVEL to the desired value.

  • Variables that are not with prefix FEDERATORAI_OPERATOR, the variables are listed below

    • name: WATCH_NAMESPACE
      • description: Federatorai-Operator will only reconcile AlamedaService in this namespace, or all namespaces if the variable is set to "".
    • name: POD_NAME
      • description: Federatorai-Operator will get the pod with this name that the pod is where the code is running at. It expects the environment variable POD_NAME to be set by the downwards API.
    • name: OPERATOR_NAME
      • description: Federatorai-Operator will create a service name in OPERATOR_NAME to expose metrics service.
    • name: DISABLE_OPERAND_RESOURCE_PROTECTION
      • description: If true Federatorai-Operator will not reconcile k8s obejcts that are owned by AlamedaService when those objects have been changed individually, which means Federatorai-Operator will only reconcile those objects when AlamedaService has been changed.

Setting Configuration File

See the example file. Assign the configuration file path when running Federatorai-Operator with flag --config.

$FEDERATORAI_OPERATOR_BIN --config $CONFIGURATION_FILE_PATH

Develop

Requirements

  • operator-sdk v0.5.0

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.