Kubernetes administrators swiss knife. Kmon will automate boring, frequently performed tasks in Kubernetes.
Some examples:
- create a pod using a specified PVC to check its content
- create a pod with a PVC restored from a specific
VolumeSnapshot - create a PVC from
VolumeSnapshot - and the list goes on...
Kmon can be used as a standalone CLI tool, like any other. But its true power comes from integration with k9s as a k9s plugin
- POD modes
kmon pod:- Create a pod from PVC
--mode run-from-pvc - Create a pod with a PVC restored from VolumeSnapshot
--mode run-from-snapshot--mount-path stringmount path (default "kmon-mnt")--name stringpod name (default "kmon-pod")--pvc-name stringpvc name (default "kmon-pvc")--snapshot-name stringsnapshot name (default "kmon-snapshot")--volume-name stringvolume name (default "kmon-volume")--context stringkubeconfig context to use-n, --namespace stringnamespace to run in (default "default")
- Create a pod from PVC
- PVC modes
kmon pvc- Create VolumeSnapshot from PVC
--mode snapshot-from-pvc--name stringpvc name (default "kmon-pvc")--snapshot-class-name stringsnapshot class name--snapshot-name stringsnapshot name (default "kmon-snap")--source-pvc-name stringsource pvc name
- Create VolumeSnapshot from PVC
To configure kmon as a k9s plugin, check out k9s-plugin.yaml for reference
kmon potentially can be used to automate repetitive tasks, like creating VolumeSnapshots on a schedule using CronJob for example.
- Import AWS Volume Snapshot into K8s
VolumeSnapshot- for situations when we're copying volumes across regions for example. - Delete the existing PVC and replace it with another one with the same name, using
VolumeSnapsthotto restore data and restart workloads. - Discover pods and send http requests to all of them at once - for troubleshooting data propagation on distributed systems for example.
- If there is anything else you think it would be useful, feel free to create an issue with a feature request or create a PR.