About Xkops is an integrated solution that combines widely-adopted open-source utilities to simplify Kubernetes management, emphasizing the enhancement of observability, reliability, security, and cost control in cluster operations which help users optimize the deployment and management of Kubernetes clusters.
Apache License 2.0
61
stars
4
forks
source link
X-workflow 2: Detecting and Deleting Unutilized Nodes in a Kubernetes Cluster #58
X-workflow 2: Detecting and Deleting Unutilized Nodes in a Kubernetes Cluster
Overview
This workflow aims to identify unutilized nodes in a Kubernetes cluster, display them on a dashboard, and allow users to delete these nodes. The process involves querying Kubecost, storing information in a MongoDB database, and using Robusta to delete nodes.
Programming language to be used: Golang
Tasks ### Breakdown
Task 1: Set Up and Configure MongoDB
Description: Define and configure a MongoDB database to store unutilized node data.
Subtasks:
Create a MongoDB instance.
Define the database schema for storing unutilized node information.
Implement connection logic between the application and MongoDB.
Task 2: Develop Kubecost Query Pod
Description: Create a pod that queries Kubecost for unutilized nodes based on a given cron expression and stores the data in MongoDB.
Subtasks:
Set up a cron job in Kubernetes to run the pod at specified intervals.
Query Kubecost to get a list of unutilized nodes by cost.
Store the retrieved data in MongoDB.
Task 3: Implement Dashboard for Displaying Unutilized Nodes
Description: Develop a dashboard to display unutilized nodes stored in MongoDB.
Subtasks:
Design and develop the user interface for the dashboard.
Implement backend services to fetch data from MongoDB and display it on the dashboard.
Add a button for users to trigger the deletion of selected nodes.
Task 4: Implement Node Deletion Workflow
Description: Create an API endpoint to handle node deletion requests from the dashboard, triggering a call to Robusta and updating MongoDB.
Subtasks:
Develop an API endpoint to receive node deletion requests.
Implement logic to call Robusta API with the node information to delete the node.
Update the state of the node in MongoDB after successful deletion.
Task 5: Integrate Dashboard with Node Deletion API
Description: Connect the dashboard's delete button with the node deletion API and update the displayed data accordingly.
Subtasks:
Ensure the delete button triggers the node deletion API call.
Refresh the dashboard to reflect the updated state of nodes in MongoDB after deletion.
X-workflow 2: Detecting and Deleting Unutilized Nodes in a Kubernetes Cluster
Overview This workflow aims to identify unutilized nodes in a Kubernetes cluster, display them on a dashboard, and allow users to delete these nodes. The process involves querying Kubecost, storing information in a MongoDB database, and using Robusta to delete nodes.
Programming language to be used: Golang Tasks ### Breakdown Task 1: Set Up and Configure MongoDB
Task 2: Develop Kubecost Query Pod
Task 3: Implement Dashboard for Displaying Unutilized Nodes
Task 4: Implement Node Deletion Workflow
Task 5: Integrate Dashboard with Node Deletion API