Creates, manages, and debugs local Kubernetes clusters running inside Docker containers.

Install

mkdir -p .claude/skills/k8s-kind && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/4255" && unzip -o skill.zip -d .claude/skills/k8s-kind && rm skill.zip

Installs to .claude/skills/k8s-kind

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Manage kind (Kubernetes IN Docker) local clusters. Use when creating, testing, or developing with local Kubernetes clusters in Docker containers.
145 chars✓ has a “when” trigger
Beginner

Key capabilities

  • Initializes local containerized clusters
  • Injects local images into cluster nodes
  • Generates multi-node topology configurations
  • Extracts container logs from simulated nodes

How it works

Invokes the kind CLI to manage Docker containers as Kubernetes nodes based on provided configuration templates.

Inputs & outputs

You give it
Configuration parameters, image tags, or cluster names
You get back
Local cluster status or path to kubeconfig file

When to use k8s-kind

  • Create a local test cluster
  • Load a custom image into the cluster
  • Generate configuration for a multi-node cluster
  • Export logs from cluster nodes

About this skill

kind (Kubernetes IN Docker) Management

Manage local Kubernetes clusters using kubectl-mcp-server's kind tools (32 tools).

kind enables running local Kubernetes clusters using Docker container "nodes". It's ideal for local development, CI/CD testing, and testing across Kubernetes versions.

When to Apply

Use this skill when:

  • User mentions: "kind", "local cluster", "Kubernetes in Docker", "dev cluster"
  • Operations: creating local clusters, loading images, CI/CD testing
  • Keywords: "local development", "test cluster", "load image", "multi-node"

Priority Rules

PriorityRuleImpactTools
1Detect kind CLI firstCRITICALkind_detect_tool
2Generate config for complex setupsHIGHkind_config_generate_tool
3Load images after cluster creationHIGHkind_load_image_tool
4Export logs for debuggingMEDIUMkind_export_logs_tool

Quick Reference

TaskToolExample
Detect kindkind_detect_toolkind_detect_tool()
Create clusterkind_create_cluster_toolkind_create_cluster_tool(name)
Load imagekind_load_image_toolkind_load_image_tool(images, name)
Get kubeconfigkind_get_kubeconfig_toolkind_get_kubeconfig_tool(name)

Prerequisites

  • kind CLI: Required for all kind tools
    # macOS
    brew install kind
    # or download binary
    curl -Lo ./kind https://kind.sigs.k8s.io/dl/latest/kind-$(uname)-amd64
    chmod +x ./kind && sudo mv ./kind /usr/local/bin/kind
    
  • Docker: Required (kind runs clusters in Docker containers)

Check Installation

kind_detect_tool()

kind_version_tool()

kind_provider_info_tool()

List Clusters

kind_list_clusters_tool()

Get Cluster Information

kind_cluster_info_tool(name="my-cluster")

kind_cluster_status_tool(name="my-cluster")

kind_get_nodes_tool(name="my-cluster")

kind_node_labels_tool(name="my-cluster")

Configuration Management

Generate Config

kind_config_generate_tool()

kind_config_generate_tool(workers=2, control_planes=1)

kind_config_generate_tool(workers=2, ingress=True, registry=True)

kind_config_generate_tool(control_planes=3, workers=3)

Validate Config

kind_config_validate_tool(config_path="/path/to/kind.yaml")

Show Running Config

kind_config_show_tool(name="my-cluster")

Available Images

kind_available_images_tool()

Get Kubeconfig

kind_get_kubeconfig_tool(name="my-cluster")

kind_get_kubeconfig_tool(name="my-cluster", internal=True)

Export Logs

kind_export_logs_tool(name="my-cluster")

kind_export_logs_tool(name="my-cluster", output_dir="/tmp/kind-logs")

Cluster Lifecycle

Create Cluster

kind_create_cluster_tool()

kind_create_cluster_tool(name="dev-cluster")

kind_create_cluster_tool(
    name="v129-cluster",
    image="kindest/node:v1.29.0"
)

kind_create_cluster_tool(
    name="multi-node",
    config="kind-config.yaml"
)

Multi-Node Config Example

Create a file kind-config.yaml:

kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
- role: control-plane
  extraPortMappings:
  - containerPort: 30000
    hostPort: 30000
    protocol: TCP
- role: worker
- role: worker

Delete Cluster

kind_delete_cluster_tool(name="dev-cluster")

kind_delete_all_clusters_tool()

Local Registry Integration

Create Registry

kind_registry_create_tool()

kind_registry_create_tool(name="my-registry", port=5001)

Connect Cluster to Registry

kind_registry_connect_tool(cluster_name="my-cluster")

Check Registry Status

kind_registry_status_tool()

Registry Workflow

kind_registry_create_tool()

config = kind_config_generate_tool(registry=True)

kind_create_cluster_tool(name="dev", config="/tmp/kind.yaml")

kind_registry_connect_tool(cluster_name="dev")

Image Loading (Key Feature!)

The ability to load local Docker images directly into kind clusters is one of its most powerful features for local development.

Load Docker Images

kind_load_image_tool(images="myapp:latest", name="my-cluster")

kind_load_image_tool(
    images="myapp:latest,mydb:latest,myweb:v1",
    name="my-cluster"
)

Load from Archive

kind_load_image_archive_tool(
    archive="/path/to/images.tar",
    name="my-cluster"
)

List Images on Cluster

kind_images_list_tool(cluster="my-cluster")

kind_images_list_tool(cluster="my-cluster", node="my-cluster-worker")

Node Management

Inspect Node

kind_node_inspect_tool(node="kind-control-plane")

Get Node Logs

kind_node_logs_tool(node="kind-control-plane")

kind_node_logs_tool(node="kind-control-plane", tail=200)

Execute Command on Node

kind_node_exec_tool(
    node="kind-control-plane",
    command="crictl images"
)

kind_node_exec_tool(
    node="kind-control-plane",
    command="journalctl -u kubelet --no-pager -n 50"
)

Restart Node

kind_node_restart_tool(node="kind-worker")

Networking

Inspect Network

kind_network_inspect_tool()

List Port Mappings

kind_port_mappings_tool(cluster="my-cluster")

Setup Ingress

kind_ingress_setup_tool(cluster="my-cluster")

kind_ingress_setup_tool(cluster="my-cluster", ingress_type="contour")

Advanced: Build Node Image

Build custom node images from Kubernetes source:

kind_build_node_image_tool()

kind_build_node_image_tool(
    image="my-custom-node:v1.30.0",
    kube_root="/path/to/kubernetes"
)

Update Kubeconfig

kind_set_kubeconfig_tool(name="my-cluster")

Development Workflow

Quick Local Development

kind_create_cluster_tool(name="dev")

kind_load_image_tool(images="myapp:dev", name="dev")

kubectl_apply(manifest="""
apiVersion: apps/v1
kind: Deployment
metadata:
  name: myapp
spec:
  replicas: 1
  selector:
    matchLabels:
      app: myapp
  template:
    metadata:
      labels:
        app: myapp
    spec:
      containers:
      - name: myapp
        image: myapp:dev
        imagePullPolicy: Never
""")

Development with Local Registry

kind_registry_create_tool()

config = kind_config_generate_tool(workers=1, ingress=True, registry=True)

kind_create_cluster_tool(name="dev", config="/tmp/kind-config.yaml")

kind_registry_connect_tool(cluster_name="dev")

kind_ingress_setup_tool(cluster="dev")

CI/CD Testing

kind_create_cluster_tool(
    name="ci-test",
    image="kindest/node:v1.29.0",
    wait="3m"
)

kind_load_image_tool(images="test-image:ci", name="ci-test")

kind_delete_cluster_tool(name="ci-test")

Version Testing

kind_create_cluster_tool(name="v128", image="kindest/node:v1.28.0")
kind_create_cluster_tool(name="v129", image="kindest/node:v1.29.0")
kind_create_cluster_tool(name="v130", image="kindest/node:v1.30.0")

kind_list_clusters_tool()

Troubleshooting

Cluster Creation Issues

kind_create_cluster_tool(name="debug", retain=True)

kind_export_logs_tool(name="debug")

kind_get_nodes_tool(name="debug")

Cluster Health Check

kind_cluster_status_tool(name="my-cluster")

Node Issues

kind_node_inspect_tool(node="kind-control-plane")

kind_node_logs_tool(node="kind-control-plane")

kind_node_exec_tool(
    node="kind-control-plane",
    command="crictl ps"
)

kind_node_restart_tool(node="kind-worker")

Network Issues

kind_network_inspect_tool()

kind_port_mappings_tool()

Cleanup

kind_delete_cluster_tool(name="broken-cluster")

kind_delete_all_clusters_tool()

CLI Installation

Install kind CLI:

# macOS (Apple Silicon)
curl -Lo ./kind https://kind.sigs.k8s.io/dl/latest/kind-darwin-arm64
chmod +x ./kind
sudo mv ./kind /usr/local/bin/kind

# macOS (Intel)
curl -Lo ./kind https://kind.sigs.k8s.io/dl/latest/kind-darwin-amd64
chmod +x ./kind
sudo mv ./kind /usr/local/bin/kind

# Linux
curl -Lo ./kind https://kind.sigs.k8s.io/dl/latest/kind-linux-amd64
chmod +x ./kind
sudo mv ./kind /usr/local/bin/kind

# Verify
kind version

Tool Reference

Read-Only Tools (20)

ToolDescription
kind_detect_toolDetect CLI installation
kind_version_toolGet CLI version
kind_list_clusters_toolList all clusters
kind_get_nodes_toolList nodes in cluster
kind_get_kubeconfig_toolGet kubeconfig
kind_export_logs_toolExport cluster logs
kind_cluster_info_toolGet cluster info
kind_node_labels_toolGet node labels
kind_config_validate_toolValidate config file
kind_config_generate_toolGenerate config YAML
kind_config_show_toolShow running config
kind_available_images_toolList K8s versions
kind_registry_status_toolCheck registry status
kind_node_logs_toolGet node logs
kind_node_inspect_toolInspect node details
kind_network_inspect_toolInspect Docker network
kind_port_mappings_toolList port mappings
kind_cluster_status_toolGet cluster health
kind_images_list_toolList images on nodes
kind_provider_info_toolGet provider info

Write Tools (12)

ToolDescription
kind_create_cluster_toolCreate cluster
kind_delete_cluster_toolDelete cluster
kind_delete_all_clusters_toolDelete all clusters
kind_load_image_toolLoad Docker images
kind_load_image_archive_toolLoad from archive
kind_build_node_image_toolBuild node image
kind_set_kubeconfig_toolSet kubeconfig context
kind_registry_create_toolCreate local registry
kind_registry_connect_toolC

Content truncated.

When not to use it

  • Deploying to production or cloud environments
  • Testing heavy-duty GPU-intensive workloads

Prerequisites

Kind CLIdocker

Limitations

  • Performance is bound by the host machine's Docker resources
  • Limited networking features compared to cloud-managed Kubernetes

How it compares

It abstracts local cluster lifecycle commands into an automated interface rather than manual CLI scripting.

Compared to similar skills

k8s-kind side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
k8s-kind (this skill)16moReviewBeginner
deployment-engineer44moNo flagsAdvanced
devops26moReviewIntermediate
devops-engineer13moReviewAdvanced

Try saying

Example prompts that trigger this skill in your AI assistant.

More by rohitg00

View all by rohitg00

Search skills

Search the agent skills registry