Skip to main content

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).

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.

Release history Release notifications | RSS feed

This release

1.0.14 This release

2 files

1.0.12

2 files

1.0.11

2 files

1.0.10

2 files

1.0.9

2 files

1.0.8

2 files

1.0.7

2 files

1.0.6

2 files

1.0.5

2 files

1.0.4

2 files

1.0.3

2 files

1.0.2

2 files

Supported by

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