13 KiB
Federator.ai Operator
Federator.ai helps enterprises optimize cloud resources, maximize application performance, and save significant cost without excessive over-provisioning or under-provisioning of resources, meeting the service-level requirements of their applications.
Enterprises often lack understanding of the resources needed to support their applications. This leads to either excessive over-provisioning or under-provisioning of resources (CPU, memory, storage). Using machine learning, Federator.ai determines the optimal cloud resources needed to support any workload on Kubernetes and helps users find the best-cost instances from cloud providers for their applications.
Multi-layer workload prediction
Using machine learning and math-based algorithms, Federator.ai predicts containerized application and cluster node resource usage as the basis for resource recommendations at application level as well as at cluster node level. Federator.ai supports prediction for both physical/virtual CPUs and memories.
Auto-scaling via resource recommendation
Federator.ai utilizes the predicted resource usage to recommend the right number and size of pods for applications. Integrated with Datadog's WPA, applications are automatically scaled to meet the predicted resource usage.
Application-aware recommendation execution
Optimizing the resource usage and performance goals, Federator.ai uses application specific metrics for workload prediction and pod capacity estimation to auto-scale the right number of pods for best performance without overprovisioning.
Multi-cloud Cost Analysis
With resource usage prediction, Federator.ai analyzes potential cost of a cluster on different public cloud providers. It also recommend appropriate cluster nodes and instance types based on resource usage.
Custom Datadog/Sysdig Dashboards
Predefined custom Datadog/Sysdig Dashboards for workload prediction/recommendation visualization for cluster nodes and applications.
SUSE/Rancher Marketplace
Federator.ai can also be directly installed from SUSE/Rancher Marketplace. Please see the following how-to video for the installation procedure.
https://www.youtube.com/watch?v=mBAPCCAH8kg
Additional resources
Want more product information? Explore detailed information about using this product and where to find additional help.
- Federator.ai Datasheet
- Quick Start Guide
- Installation Guide
- User Guide
- Release Notes
- Company Information
Prerequisites
- The Kubernetes version 1.16 or later.
- The Helm version is 3.x.x or later.
Add Helm chart repository
helm repo add prophetstor https://prophetstor-ai.github.io/federatorai-operator-helm/
Test the Helm chart repository
helm search repo federatorai
Installing with the release name my-name
:
helm install `my-name` prophetstor/federatorai --namespace=federatorai --create-namespace
To uninstall/delete the my-name
deployment:
helm ls --all-namespaces
helm delete `my-name` --namespace=federatorai
Configuration
The following table lists some of the configurable parameters of the chart. Their default values and other configurable parameters are specified inside values.yaml.
Parameters
Global parameters
Parameter | Description |
---|---|
global.imageRegistry | Image registry |
global.imageTag | Image tag of Federator.ai |
global.imagePullPolicy | Specify a imagePullPolicy |
global.imagePullSecrets | Optionally specify an array of imagePullSecrets. |
global.storageClassName | Persistent Volume Storage Class |
global.commonAnnotations | Common annotations to be added to resources |
global.commonLabels | Common labels to be added to resources |
global.podAnnotations | Annotations to be added to pods |
global.podLabels | Labels to be added to pods |
global.resourcesLimitsEnabled | Boolean to specify if you want to apply resources limits settings |
global.resourcesRequestsEnabled | Boolean to specify if you want to apply resources requests settings |
alamedaAi Parameters
Parameter | Description |
---|---|
alamedaAi.persistence.dataStorageSize | Persistence storage size for data volume |
alamedaExecutor Parameters
Parameter | Description |
---|---|
alamedaExecutor.enabled | Enable deployment of alameda-executor |
alamedaInfluxdb Parameters
Parameter | Description |
---|---|
alamedaInfluxdb.persistence.dataStorageSize | Persistence storage size for data volume |
fedemeterInfluxdb Parameters
Parameter | Description |
---|---|
fedemeterInfluxdb.persistence.dataStorageSize | Persistence storage size for data volume |
federatoraiDashboardFrontend Parameters
Parameter | Description |
---|---|
federatoraiDashboardFrontend.ingress.enabled | Enable ingress controller resource |
federatoraiDashboardFrontend.ingress.pathType | Ingress Path type |
federatoraiDashboardFrontend.ingress.hostname | Default host for the ingress resource |
federatoraiDashboardFrontend.ingress.path | The Path to REST. You may need to set this to '/*' in order to use this with ALB ingress controllers |
federatoraiDashboardFrontend.ingress.annotations | Additional annotations for the Ingress resource. To enable certificate autogeneration, place here your cert-manager annotations. |
federatoraiDashboardFrontend.ingress.ingressClassName | IngressClass that will be be used to implement the Ingress (Kubernetes 1.18+) |
federatoraiDashboardFrontend.ingress.tls | Enable TLS configuration for the hostname defined at federatoraiDashboardFrontend.ingress.hostname parameter |
federatoraiDashboardFrontend.ingress.extraHosts | The list of additional hostnames to be covered with this ingress record. |
federatoraiDashboardFrontend.ingress.extraPaths | Additional arbitrary path/backend objects |
federatoraiDashboardFrontend.ingress.extraTls | The tls configuration for additional hostnames to be covered with this ingress record. |
federatoraiDashboardFrontend.ingress.secrets | If you're providing your own certificates, please use this to add the certificates as secrets |
federatoraiDashboardFrontend.service.type | Kubernetes service type, valid value: LoadBalancer, NodePort |
federatoraiDashboardFrontend.service.port | Public service port |
federatoraiDashboardFrontend.service.targetPort | Container port of services, use 9000 for accessing over HTTP and 9001 for accessing over HTTPS |
federatoraiDashboardFrontend.service.clusterIP | Specific cluster IP when service type is cluster IP. Use None for headless service |
federatoraiDashboardFrontend.service.nodePort | Kubernetes Service nodePort if service type is NodePort |
federatoraiDashboardFrontend.service.loadBalancerIP | Load Balancer IP Adress if service type is LoadBalancer |
federatoraiDashboardFrontend.service.loadBalancerSourceRanges | Address that are allowed when svc is LoadBalancer |
federatoraiDashboardFrontend.service.externalTrafficPolicy | Enable client source IP preservation |
federatoraiDashboardFrontend.service.healthCheckNodePort | Specifies the health check node port (numeric port number) for the service if externalTrafficPolicy is set to Local. |
federatoraiDashboardFrontend.service.annotations | Additional annotations for REST service |
federatoraiPostgresql Parameters
Parameter | Description |
---|---|
federatoraiPostgresql.persistence.dataStorageSize |
Persistent Volume Size for data storage |
Specify each parameter using the --set key=value[,key=value]
argument to helm install
.
Alternatively, a YAML file that specifies the values for the parameters can be provided while installing the chart. For example,
helm install `my-name` prophetstor/federatorai -f values.yaml --namespace=federatorai --create-namespace
Tip: You can use the default values.yaml