Agent skill

k8s-kind

Manage kind (Kubernetes IN Docker) local clusters. Use when creating, testing, or developing with local Kubernetes clusters in Docker containers.

Stars 865
Forks 168

Install this agent skill to your Project

npx add-skill https://github.com/rohitg00/kubectl-mcp-server/tree/main/kubernetes-skills/claude/k8s-kind

Metadata

Additional technical details for this skill

tools
32
author
rohitg00
version
1.0.0
category
development

SKILL.md

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

Priority Rule Impact Tools
1 Detect kind CLI first CRITICAL kind_detect_tool
2 Generate config for complex setups HIGH kind_config_generate_tool
3 Load images after cluster creation HIGH kind_load_image_tool
4 Export logs for debugging MEDIUM kind_export_logs_tool

Quick Reference

Task Tool Example
Detect kind kind_detect_tool kind_detect_tool()
Create cluster kind_create_cluster_tool kind_create_cluster_tool(name)
Load image kind_load_image_tool kind_load_image_tool(images, name)
Get kubeconfig kind_get_kubeconfig_tool kind_get_kubeconfig_tool(name)

Prerequisites

  • kind CLI: Required for all kind tools
    bash
    # 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

python
kind_detect_tool()

kind_version_tool()

kind_provider_info_tool()

List Clusters

python
kind_list_clusters_tool()

Get Cluster Information

python
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

python
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

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

Show Running Config

python
kind_config_show_tool(name="my-cluster")

Available Images

python
kind_available_images_tool()

Get Kubeconfig

python
kind_get_kubeconfig_tool(name="my-cluster")

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

Export Logs

python
kind_export_logs_tool(name="my-cluster")

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

Cluster Lifecycle

Create Cluster

python
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:

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

python
kind_delete_cluster_tool(name="dev-cluster")

kind_delete_all_clusters_tool()

Local Registry Integration

Create Registry

python
kind_registry_create_tool()

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

Connect Cluster to Registry

python
kind_registry_connect_tool(cluster_name="my-cluster")

Check Registry Status

python
kind_registry_status_tool()

Registry Workflow

python
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

python
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

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

List Images on Cluster

python
kind_images_list_tool(cluster="my-cluster")

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

Node Management

Inspect Node

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

Get Node Logs

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

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

Execute Command on Node

python
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

python
kind_node_restart_tool(node="kind-worker")

Networking

Inspect Network

python
kind_network_inspect_tool()

List Port Mappings

python
kind_port_mappings_tool(cluster="my-cluster")

Setup Ingress

python
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:

python
kind_build_node_image_tool()

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

Update Kubeconfig

python
kind_set_kubeconfig_tool(name="my-cluster")

Development Workflow

Quick Local Development

python
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

python
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

python
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

python
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

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

kind_export_logs_tool(name="debug")

kind_get_nodes_tool(name="debug")

Cluster Health Check

python
kind_cluster_status_tool(name="my-cluster")

Node Issues

python
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

python
kind_network_inspect_tool()

kind_port_mappings_tool()

Cleanup

python
kind_delete_cluster_tool(name="broken-cluster")

kind_delete_all_clusters_tool()

CLI Installation

Install kind CLI:

bash
# 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)

Tool Description
kind_detect_tool Detect CLI installation
kind_version_tool Get CLI version
kind_list_clusters_tool List all clusters
kind_get_nodes_tool List nodes in cluster
kind_get_kubeconfig_tool Get kubeconfig
kind_export_logs_tool Export cluster logs
kind_cluster_info_tool Get cluster info
kind_node_labels_tool Get node labels
kind_config_validate_tool Validate config file
kind_config_generate_tool Generate config YAML
kind_config_show_tool Show running config
kind_available_images_tool List K8s versions
kind_registry_status_tool Check registry status
kind_node_logs_tool Get node logs
kind_node_inspect_tool Inspect node details
kind_network_inspect_tool Inspect Docker network
kind_port_mappings_tool List port mappings
kind_cluster_status_tool Get cluster health
kind_images_list_tool List images on nodes
kind_provider_info_tool Get provider info

Write Tools (12)

Tool Description
kind_create_cluster_tool Create cluster
kind_delete_cluster_tool Delete cluster
kind_delete_all_clusters_tool Delete all clusters
kind_load_image_tool Load Docker images
kind_load_image_archive_tool Load from archive
kind_build_node_image_tool Build node image
kind_set_kubeconfig_tool Set kubeconfig context
kind_registry_create_tool Create local registry
kind_registry_connect_tool Connect to registry
kind_node_exec_tool Execute on node
kind_node_restart_tool Restart node
kind_ingress_setup_tool Setup ingress

kind vs vind (vCluster)

Feature kind vind (vCluster)
Purpose Local dev/CI clusters Virtual clusters in existing K8s
Isolation Full clusters in Docker Virtual namespaces with isolation
Resource Usage Higher (full cluster) Lower (shares host cluster)
Best For Local testing, CI/CD Multi-tenancy, dev environments
Requires Docker Existing K8s cluster

Related Skills

  • k8s-vind - vCluster management
  • k8s-multicluster - Multi-cluster management
  • k8s-helm - Helm chart operations
  • k8s-operations - kubectl operations

Expand your agent's capabilities with these related and highly-rated skills.

Didn't find tool you were looking for?

Be as detailed as possible for better results