Skip to content

rax845163/federatorai-operator

Repository files navigation

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

About

federatorai-operator

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages