DEV Community

Cover image for K8sToolbox: A Comprehensive Debugging Toolkit for Kubernetes
Yash Londhe for RubixKube

Posted on

K8sToolbox: A Comprehensive Debugging Toolkit for Kubernetes

At RubixKube, we're excited to introduce K8sToolbox - an all-in-one toolkit engineered to streamline the management and troubleshooting of Kubernetes clusters. Created by Md Imran, this powerful toolkit brings together a comprehensive suite of tools and scripts that make it easier to maintain and optimize your cluster environments.

Check this out: https://github.com/narmidm/K8sToolbox
K8sToolbox Logo

What is K8sToolbox?

K8sToolbox is a versatile debugging and management toolkit designed for Kubernetes cluster administrators and developers. It provides a unified environment with essential utilities and automated scripts for efficient cluster operations.

Key Features

  • Comprehensive Toolset: Pre-configured with essential utilities including:
    • kubectl for cluster management
    • stern for multi-pod log tailing
    • k9s for terminal-based UI
    • mc (MinIO Client) for object storage operations
  • Flexible Deployment Options:
    • Deploy as a standalone Pod for specific debugging sessions
    • Deploy as a DaemonSet for cluster-wide availability
  • Advanced Scripting Suite: Includes scripts for:
    • Health checks and diagnostics
    • Log aggregation across namespaces
    • Resource cleanup automation
    • Network policy validation
    • Resource usage monitoring

Benefits of K8sToolbox

K8sToolbox simplifies complex Kubernetes operations through:

  • Efficient Troubleshooting: Rapid diagnosis and resolution of cluster issues
  • Resource Optimization: Automated cleanup of stale resources like completed jobs and old ReplicaSets
  • Network Diagnostics: Comprehensive tools for testing inter-pod communication and NetworkPolicies
  • Automated Operations: Streamlined scripts for routine cluster maintenance tasks
  • Centralized Logging: Consolidated log collection from multiple namespace sources

Getting Started

Prerequisites

  • Docker: Required for image building and container operations
  • Kubernetes Cluster: Access to a cluster with configured kubectl
  • RBAC Permissions: Appropriate permissions for resource deployment and execution

Building the Docker Image

git clone https://github.com/narmidm/K8sToolbox.git
cd K8sToolbox
docker build -t k8stoolbox:latest -f docker/Dockerfile .
Enter fullscreen mode Exit fullscreen mode

Deployment Options

Standalone Pod Deployment

For targeted debugging sessions:

kubectl apply -f https://raw.githubusercontent.com/narmidm/K8sToolbox/master/manifests/debug-pod.yaml
Enter fullscreen mode Exit fullscreen mode

DaemonSet Deployment

For cluster-wide availability:

kubectl apply -f https://raw.githubusercontent.com/narmidm/K8sToolbox/master/manifests/debug-daemon.yaml
Enter fullscreen mode Exit fullscreen mode

Included Scripts and Utilities

K8sToolbox provides a comprehensive set of scripts:

  • aggregate_logs.sh: Namespace-wide log aggregation
  • healthcheck.sh: Pod and node health diagnostics
  • clean_stale_resources.sh: Automated cleanup of completed Jobs and old ReplicaSets
  • test_network_policy.sh: NetworkPolicy validation through inter-pod connectivity testing
  • resource_usage.sh: Node and pod resource utilization monitoring
  • backup_restore.sh: Namespace resource backup and restoration All scripts are symlinked to /usr/local/bin for immediate accessibility within the K8sToolbox environment.

Community and Contributions

K8sToolbox is open for community contributions. Join us in enhancing this powerful Kubernetes toolkit.

Contribution Areas

  • Code Contributions: Feature additions and bug fixes
  • Documentation: Technical documentation improvements
  • Testing: Validation across different Kubernetes environments
  • Feature Requests: Suggestions for new capabilities

Getting Involved

  1. Repository: narmidm/K8sToolbox
  2. Project Support: Star the repository
  3. Development: Fork and clone for local development
  4. Guidelines: Review CONTRIBUTING.md

Connect with the Creator

Final Thoughts:

At RubixKube, our experience with Kubernetes has shown us the importance of reliable tools, and we highly recommend K8sToolbox for simplifying both development and management tasks. Its comprehensive toolset and robust debugging capabilities make it an invaluable addition to any Kubernetes administrator's toolkit. We're excited to see how the community will adopt and contribute to this project.


Start using K8sToolbox to enhance your Kubernetes operations. Your feedback and contributions are welcome!

Top comments (0)