Skip to content
cccskills
FreePublished on GitHub

k8s-kind

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

The English summary is being prepared. Showing the original description.

See how to install

Files included (2)

  • SKILL.md10.9 KB
  • references/CONFIGS.md3.6 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

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_toolConnect to registry
kind_node_exec_toolExecute on node
kind_node_restart_toolRestart node
kind_ingress_setup_toolSetup ingress

kind vs vind (vCluster)

Featurekindvind (vCluster)
PurposeLocal dev/CI clustersVirtual clusters in existing K8s
IsolationFull clusters in DockerVirtual namespaces with isolation
Resource UsageHigher (full cluster)Lower (shares host cluster)
Best ForLocal testing, CI/CDMulti-tenancy, dev environments
RequiresDockerExisting K8s cluster

Related Skills

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Configure Kubernetes autoscaling with HPA, VPA, and KEDA. Use for horizontal/vertical pod autoscaling, event-driven scaling, and capacity management.

The English summary is being prepared. Showing the original description.

rohitg00/kubectl-mcp-server964Updated Apr 9, 2026

Kubernetes backup and restore with Velero. Use when creating backups, restoring applications, managing disaster recovery, or migrating workloads between clusters.

The English summary is being prepared. Showing the original description.

rohitg00/kubectl-mcp-server964Updated Apr 9, 2026

Browser automation for Kubernetes dashboards and web UIs. Use when interacting with Kubernetes Dashboard, Grafana, ArgoCD UI, or other web interfaces. Requires MCP_BROWSER_ENABLED=true.

The English summary is being prepared. Showing the original description.

rohitg00/kubectl-mcp-server964Updated Apr 9, 2026

Cluster API lifecycle management for provisioning, scaling, and upgrading Kubernetes clusters. Use when managing cluster infrastructure or multi-cluster operations.

The English summary is being prepared. Showing the original description.

rohitg00/kubectl-mcp-server964Updated Apr 9, 2026

Kubernetes certificate management with cert-manager. Use when managing TLS certificates, configuring issuers, or troubleshooting certificate issues.

The English summary is being prepared. Showing the original description.

rohitg00/kubectl-mcp-server964Updated Apr 9, 2026

Cilium and Hubble network observability for Kubernetes. Use when managing network policies, observing traffic flows, or troubleshooting connectivity with eBPF-based networking.

The English summary is being prepared. Showing the original description.

rohitg00/kubectl-mcp-server964Updated Apr 9, 2026

See all skills by rohitg00

Report a problem with this skill