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
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 .
Deployment Options
Standalone Pod Deployment
For targeted debugging sessions:
kubectl apply -f https://raw.githubusercontent.com/narmidm/K8sToolbox/master/manifests/debug-pod.yaml
DaemonSet Deployment
For cluster-wide availability:
kubectl apply -f https://raw.githubusercontent.com/narmidm/K8sToolbox/master/manifests/debug-daemon.yaml
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
- Repository: narmidm/K8sToolbox
- Project Support: Star the repository
- Development: Fork and clone for local development
- Guidelines: Review CONTRIBUTING.md
Connect with the Creator
- GitHub: narmidm
- Docker Hub: narmidm/k8stoolbox
- Twitter: @that_imran
- LinkedIn: Md Imran
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)