Skip to main content

kindtool

Python program for simplyfing workflows with kind.

kind is a tool for running local Kubernetes clusters using Docker container “nodes”.

With kindtool you can add a simple Kindfile to your project. You can crate, destroy, start and maintain a k8s cluster for ci or development.

Installation

Requirements:

  • docker
  • python3
  • kind
  • kubectl
  • optional: helm

Kind installation

Official documentation: https://kind.sigs.k8s.io/docs/user/quick-start/

Fast lane:

get_latest_release() {
  curl --silent "https://api.github.com/repos/$1/releases/latest" | # Get latest release from GitHub api
    grep '"tag_name":' |                                            # Get tag line
    sed -E 's/.*"([^"]+)".*/\1/'                                    # Pluck JSON value
}
KIND_LATEST=$(get_latest_release kubernetes-sigs/kind)
ARCH=$(dpkg --print-architecture 2>/dev/null || echo "amd64")

curl -Lo ./kind https://kind.sigs.k8s.io/dl/${KIND_LATEST}/kind-linux-${ARCH}
chmod +x ./kind
sudo mv ./kind /usr/local/bin/kind

Kindtool installation

$ pip3 install kindtool

Kubectl installation

Helm installation

Workflow

# creates a new Kindfile (edit for your needs)
$ kindtool init -d <projectdir>

# creates the cluster - this will create a .kind directory next to Kindfile
$ kindtool up

# kills the kind cluster - configuration, k8s config is removed,
# the persistent data will be kept in .kind/data
$ kindtool destroy

# kills the kind cluster  and removes the data folder
# this needs to be run as root! Docker might created files that have 0/0 uids/gids
$ sudo kindtool destroy -f

# is kind running - print status information
$ kindtool status

# start the k8s dashboard
$ kindtool dashboard

# returns the directory with the config files
# can be used as export KUBECONFIG=$(kindfile get kubeconfig)
$ kindtool get kubeconfig

Examples

https://github.com/egandro/kindtool-examples

Release files for kindtool 0.0.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for kindtool 0.0.4
File Size Uploaded
kindtool-0.0.4.tar.gz 16.3 kB Details

Release files / kindtool-0.0.4.tar.gz

Download URL kindtool-0.0.4.tar.gz
Size 16.3 kB
Tags Source
SHA-256 checksum
How to use checksums
bb702c6813b7d493c5d0e18231c685508af0b1baaa57bb648db60e6e164849cf
BLAKE2b-256 checksum
How to use checksums
5096efec3449f56daf572de3925e8dcda7c869bac9bc350043012a5dbd0085c2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.2

Release history Release notifications | RSS feed

This release

0.0.4 This release

1 release file

0.0.3

1 release file

0.0.2

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page