kom
If you are the rightful owner of kom and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
`kom` is a tool for Kubernetes operations, providing SDK-level encapsulation of kubectl and client-go.
Kom, or Kubernetes Operations Manager, is a comprehensive tool designed to simplify the management of Kubernetes resources. It acts as an SDK-level wrapper for kubectl and client-go, offering a range of functionalities for creating, updating, deleting, and retrieving Kubernetes resources. Kom supports various Kubernetes resource types, including custom resource definitions (CRDs), and allows users to perform operations such as resource querying, log retrieval, and file manipulation within pods. Additionally, it supports SQL-like queries for managing Kubernetes resources, enhancing the ease of resource management. Kom is particularly useful for managing multiple clusters, supporting both stdio and SSE modes, and offers a callback mechanism for extending business logic without tight coupling to Kubernetes operations.
Features
- Simple and easy to use: Provides rich functionalities for resource operations, including built-in and CRD resources.
- Multi-cluster support: Manage multiple Kubernetes clusters with ease using RegisterCluster.
- MCP support: Supports multi-cluster MCP management with stdio and SSE modes, and offers over 100 combination operations.
- Cross-namespace support: Query resources across namespaces using kom.Namespace().List().
- Chained calls: Offers intuitive and straightforward resource operations through chained calls.
Tools
category
describe
**Cluster Management
List all registered Kubernetes clusters
**Deployment Management
Expanding capacity Deployment
restart_deployment
Restart Deployment
stop_deployment
Stop Deployment
restore_deployment
Restoring Deployment
update_tag_deployment
Update Deployment image tags
rollout_history_deployment
Query the Deployment upgrade history
rollout_undo_deployment
Rollback Deployment
rollout_pause_deployment
Pause Deployment upgrade
rollout_resume_deployment
Restoring Deployment Upgrade
rollout_status_deployment
Query the Deployment upgrade status
hpa_list_deployment
Query the HPA list of Deployment
list_deployment_pods
Get the list of Pods managed by Deployment
**Dynamic resource management
Get k8s resources
describe_k8s_resource
Description k8s resources
delete_k8s_resource
Delete k8s resources
list_k8s_resource
Get k8s resources in the form of a list
list_k8s_event
Get k8s events in the form of a list
patch_k8s_resource
Update k8s resources, update in JSON Patch
label_k8s_resource
Add or delete tags for k8s resources
annotate_k8s_resource
Add or delete comments for k8s resources
**Node Management
Add blemishes to nodes
untaint_node
Remove stains for nodes
cordon_node
Set up Cordon for nodes
uncordon_node
Cancel Cordon for node
drain_node
Perform Drain for nodes
get_node_resource_usage
Query the resource usage of nodes
get_node_ip_usage
Query the usage of Pod IP resources on the node
get_node_pod_count
Query the number of pods on the node
**Pod Management
List Pod files
list_all_pod_files
List all Pod files
delete_pod_file
Delete Pod file
upload_file_to_pod
Upload files into the pod, supports passing text content, and is stored as files within the pod
get_pod_logs
Get Pod log
run_command_in_pod
Execute commands in Pod
get_pod_linked_service
Get the Pod-associated Service
get_pod_linked_ingress
Get the Ingress associated with Pod
get_pod_linked_endpoints
Get Pod-associated Endpoints
get_pod_linked_pvc
Get the PVC associated with Pod
get_pod_linked_pv
Get the PV associated with Pod
get_pod_linked_env
Get Pod runtime environment variables by running env command inside pod
get_pod_linked_env_from_yaml
Get Pod runtime environment variables through Pod yaml definition
get_pod_resource_usage
Get the resource usage of the Pod, including requested values, limit values, allocable values ββand usage ratios of CPU and memory
**YAML Management
Apply YAML resources
delete_yaml
Delete YAML resources
**Storage Management
Set the default StorageClass
get_storageclass_pvc_count
Get the number of PVCs under StorageClass
get_storageclass_pv_count
Get the number of PVs under StorageClass
**Ingress Management
Set the default IngressClass