Skip to content
@Optikube

OptiKube

Kubernetes resource optimization and management made easy.

Hey there 👋 and welcome to OptiKube!


OptiKube Horizontal Logo

OptiKube is open source application for Kubernetes users to optimize and manage their cluster resources and costs effectively. Continue reading and find out more about what OptiKube can do for you or contact optikube@gmail.com for assistance. To learn more about the process and work that went into building Optikube look here.

Tech Stack

Google Cloud Kubernetes Helm Redis NodeJS Express Prometheus Grafana React Next.js Javascript TypeScript Tailwindcss HTML5 CSS3


Status

Optikube is currently in production stage but is set to launch soon!

Table of Contents


Description

Welcome to OptiKube, an advanced open-source tool designed for Kubernetes users aiming to optimize and manage their cluster resources and costs effectively. OptiKube offers a comprehensive solution to efficient cluster management, enabling detailed cost and resource visualizations alongside automated scaling functionalities. By leveraging real-time data from services like Google Cloud Platform and integrating with KEDA for event-driven autoscaling, OptiKube ensures efficient resource utilization and cost management across Kubernetes deployments.

Features

  • Event-Driven Autoscaling
    • Integrates with Kubernetes Event-driven Autoscalers (KEDA) to dynamically adjust pod counts based on user-defined optimization settings and workload demands.
  • Automated Resource Optimization:
    • Queries Kubecost data hourly to adjust resources, ensuring optimal performance and cost efficiency for OptiKube managed deployments.
  • Cost and Resource Visualizations:
    • Provides comprehensive graphs and visuals that display cost breakdowns, resource usage, and resource efficiency across various deployments.
  • Savings and Cluster Recommendations:
    • Access tailored recommendations for cost savings and optimal resource allocation by deployment and namespace, based on user specified criteria and goals.
  • Scaler Management:
    • Allows users to create, update, and delete KEDA scalers through the frontend interface.
  • User-Centric Optimization Settings:
    • Enables users to specify optimization priorities, including application criticality and workload variability, focusing on either cost reduction or performance enhancement.

Getting Started

Prerequisites

Before attempting to launch Optikube, the following should already be installed and running on your local machine:

  • Helm Client installed ➡️ Helm
  • Kubectl installed ➡️ Kubectl
  • A supported Kubernetes cluster deployed (currently only GKE) ➡️ GKE

Installing OptiKube

Step 1: Install OptiKube

  • Running the following command will install OptiKube via Helm chart.
helm repo add optikube https://optikube.github.io/optikube-helm-chart/ && \
helm repo update && \
helm install optikube optikube/optikube --namespace optikube --create-namespace

Step 2: Enable port-forward

kubectl port-forward --namespace optikube deployment/optikube-dashboard 3000

Step 3: Optimize your cluster! 🎉

  • You can now view the deployed frontend by visiting the following link.
  • http://localhost:3000
  • Publish :3000 as a secure endpoint on your cluster to remove the need to port forward.

Using OptiKube

With Optikube installed, you can immediately start to harness the full potential of your Kubernetes cluster:

Overview

  • The landing page for OptiKube provides a snapshot of both weekly resource allocation as well as daily cost for the past week.
  • For more detailed cost and metrics insights users can navigate to the cost and metrics dashboards.

Metrics Insights

  • By accessing the metrics dashboard monitor cumulative costs by namespace over selectable time windows, providing clear visibility into resource expenditure across your Kubernetes environment.

Cost Insights

  • Users can utilize the cost dashboard to gain detailed insights into Kubernetes spending with filters for time frames, namespaces, nodes, and deployments, allowing for precise cost management and analysis.

Cluster Recommendations

  • Access tailored recommendations for cost savings and optimal resource allocation by deployment and namespace, based on your specified criteria and goals.

Creating KEDA Scalers

  • Accessing the HPA dashboard will allow you to create, delete, and manage Kubernetes event driven autoscalers (KEDA).
  • The HPA dashboard will display deployments eligible for scaler creation and managed optimization by OptiKube.
  • Creating a scaler requires the user to input optimization settings and preferences for the delployment.
  • To learn more about optimization settings please refer to the optikube-operator optimization settings section.

Updating Optimization Settings

  • For each OptiKube managed deployment you can update your preferred optimization settings such as workload variability, application criticality, and optimization priority.
  • These optimization settings impact the scaling policies for both KEDA scalers as well as OptiKube's hourly resource optimization for managed deployments.
  • For more information on KEDA scaling policies and hourly resource optimization in OptiKube please refer to the optikube-operator readme.

Managing OptiKube

Updating OptiKube

After installing OptiKube, you will be able to update your version with the following command:

helm repo add optikube https://optikube.github.io/optikube-helm-chart/ && \
helm repo update && \
helm upgrade optikube optikube/optikube -n optikube

Deleting OptiKube

After installing OptiKube, you will be able to update your version with the following command:

helm uninstall optikube -n optikube

Contributions

Contributions play a vital role in the open-source community and would be welcomed! If you'd like to contribute to OptiKube please follow the steps below.

  • Fork the project.
  • Create and work off of your feature branch.
  • Create a pull request with a detailed description of your changes using our template to merge your feature branch into dev.
  • We will review it and get back to you!

Creators

Name GitHub LinkedIn
Andy Guajardo github linkedin
Cheryl Lee github linkedin
George Huang github linkedin
Josh Bajarias github linkedin
James Shea github linkedin

License

OptiKube is developed under the MIT License.

Popular repositories Loading

  1. optikube-operator optikube-operator Public

    Repository for OptiKube's custom Kubernetes operator.

    JavaScript 6

  2. optikube-dashboards optikube-dashboards Public

    Repository for Optikube's Client Dashboards

    TypeScript 5

  3. optikube-helm-chart optikube-helm-chart Public

    Helm repository for OptiKube product.

    Smarty 3

  4. .github .github Public

Repositories

Showing 4 of 4 repositories
  • optikube-dashboards Public

    Repository for Optikube's Client Dashboards

    Optikube/optikube-dashboards’s past year of commit activity
    TypeScript 5 MIT 0 0 0 Updated May 17, 2024
  • .github Public
    Optikube/.github’s past year of commit activity
    0 0 0 0 Updated May 16, 2024
  • optikube-operator Public

    Repository for OptiKube's custom Kubernetes operator.

    Optikube/optikube-operator’s past year of commit activity
    JavaScript 6 MIT 0 0 0 Updated May 16, 2024
  • optikube-helm-chart Public

    Helm repository for OptiKube product.

    Optikube/optikube-helm-chart’s past year of commit activity
    Smarty 3 MIT 0 0 0 Updated May 16, 2024

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…