agentsclimarketplace

K8s kind

Skill ComeOnOliver/skillshub/skills/rohitg00/kubectl-mcp-server/k8s-kind

🧠 The right skill, one API call. AI agent skills registry with token-efficient skill resolution. 5,000+ skills from 500+ top repos.

Install
npx -y skills add ComeOnOliver/skillshub --skill k8s-kind

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

SKILL.md

10.6 KB, ~2.7k tokens by cl100k_base, as published. Nobody here has run it

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

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.