Skip to main content

Collection of Kubernetes command-line utilities

Project description

k8s-utils

A collection of Kubernetes command-line utilities built with Python and Typer.

Installation

This project uses uv for package management. Make sure you have uv and uvx installed.

Just testing it out:

# Install dependencies
uvx k8s-helpers --help

Installation

uv tool install k8s-helpers

This installs the k8s-helpers command and the shorthand k8sh

Commands

podcount

Count non-daemonset pods per node in the current Kubernetes context.

# Use current context
k8sh podcount --help

# Specify a different context
k8sh podcount --context my-context

# Show nodegroup and zone labels, and sort by nodegroup
k8sh podcount \
--node-labels "eks.amazonaws.com/nodegroup" \
--node-labels "topology.kubernetes.io/zone" \
--sort "eks.amazonaws.com/nodegroup" \
--show-taints

This command:

  • Retrieves all pods and nodes in the cluster
  • Excludes pods managed by DaemonSets
  • Displays a table showing pod count per node
  • Shows total non-DaemonSet pod count

delpods

Delete pods matching certain statuses across namespaces.

# Delete pods with specific statuses across all namespaces
k8sh delpods --all-namespaces --status ImagePullBackOff --status CrashLoopBackOff

# Preview what would be deleted (dry run)
k8sh delpods -A --status CrashLoopBackOff --dry-run

# Delete in specific namespace without confirmation
k8sh delpods -n default --status Error --yes

# Use specific context
k8sh delpods -c my-cluster -A --status ImagePullBackOff

Available arguments:

  • --all-namespaces, -A: Search pods in all namespaces
  • --namespace, -n: Specify a namespace (default: current context namespace)
  • --status: Pod status to match (can be specified multiple times)
  • --dry-run: Show what would be deleted without deleting
  • --yes, -y: Skip confirmation prompt
  • --context, -c: Kubernetes context to use

resources

Analyze CPU and memory consumption per node (excluding DaemonSet pods).

# Show all nodes
k8sh resources

# Analyze single node (faster for large clusters)
k8sh resources --node my-node-name

# Include pod breakdown
k8sh resources -p

# Sort by memory requests
k8sh resources --sort mem-req

Shows requests, limits, allocatable capacity, and actual usage (if metrics-server is available).

node

Analyze resource waste for pods on a specific node.

# Analyze waste on a node
k8sh node my-node-name

# Sort by CPU waste
k8sh node my-node-name --sort cpu-waste

Shows actual usage vs requests, with color-coded waste percentages (green=efficient, red=wasteful).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

k8s_helpers-1.0.14.tar.gz (24.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

k8s_helpers-1.0.14-py3-none-any.whl (15.4 kB view details)

Uploaded Python 3

File details

Details for the file k8s_helpers-1.0.14.tar.gz.

File metadata

  • Download URL: k8s_helpers-1.0.14.tar.gz
  • Upload date:
  • Size: 24.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for k8s_helpers-1.0.14.tar.gz
Algorithm Hash digest
SHA256 92264ba945e5a7490406765824cd8d09c1d1dcbc23d211166644a860f553e9ac
MD5 a4309b476d8ecc9462ee65d5bbfef453
BLAKE2b-256 f3d10405a54b09fe7b8f4d8fa7243240d1d7a05fc9443c42646f7eed9ba0c74d

See more details on using hashes here.

Provenance

The following attestation bundles were made for k8s_helpers-1.0.14.tar.gz:

Publisher: ci.yml on trondhindenes/k8s-helpers

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file k8s_helpers-1.0.14-py3-none-any.whl.

File metadata

  • Download URL: k8s_helpers-1.0.14-py3-none-any.whl
  • Upload date:
  • Size: 15.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for k8s_helpers-1.0.14-py3-none-any.whl
Algorithm Hash digest
SHA256 5d542a38008f731f6cd3c3c9ef072636017c4f80be0122f39f2f8dc57b864a78
MD5 bdcab7dec81722929c2a8f8461c50381
BLAKE2b-256 94e2a40d4e2e32876aafe1275271e8e1905f206beb9662de48bcdced134e3b2b

See more details on using hashes here.

Provenance

The following attestation bundles were made for k8s_helpers-1.0.14-py3-none-any.whl:

Publisher: ci.yml on trondhindenes/k8s-helpers

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page