| name | kind:cluster |
| description | Manage Kind clusters for local Kagenti testing. Create, destroy, deploy platform, and run E2E tests. |
Kind Cluster Management Skill
Manage Kind (Kubernetes in Docker) clusters for local Kagenti development and testing.
When to Use
- Creating a new local test cluster
- Destroying an existing cluster
- Deploying Kagenti platform to Kind
- Running E2E tests locally
- User asks "create cluster", "deploy locally", or "run tests"
Quick Start
./.github/scripts/local-setup/kind-full-test.sh
Individual Scripts
Create Cluster
./.github/scripts/kind/create-cluster.sh
./.github/scripts/kind/create-cluster.sh my-cluster
CLUSTER_NAME=my-cluster ./.github/scripts/kind/create-cluster.sh
Destroy Cluster
./.github/scripts/kind/destroy-cluster.sh
./.github/scripts/kind/destroy-cluster.sh my-cluster
Deploy Platform
./.github/scripts/kind/deploy-platform.sh
This deploys:
- Kagenti platform via bash installer
- All platform components (Istio, Keycloak, SPIRE, etc.)
- Ollama LLM (pulls qwen2.5:0.5b model)
- Weather agent and tool demo
Run E2E Tests
./.github/scripts/kind/run-e2e-tests.sh
Tests include:
- Platform deployment health
- Agent conversation via A2A protocol
- MCP tool invocation
- Ollama LLM integration
Access UI
./.github/scripts/kind/access-ui.sh
Then run the suggested command and visit:
Full Test Workflows
Kind Full Test
./.github/scripts/local-setup/kind-full-test.sh
./.github/scripts/local-setup/kind-full-test.sh --include-cluster-destroy
Manual Step-by-Step
./.github/scripts/kind/create-cluster.sh
./.github/scripts/kind/deploy-platform.sh
./.github/scripts/kind/run-e2e-tests.sh
./.github/scripts/kind/access-ui.sh
Prerequisites
- Docker Desktop/Rancher Desktop/Podman (12GB RAM, 4 cores minimum)
- Kind:
brew install kind
- kubectl:
brew install kubectl
- helm:
brew install helm
- Python 3.11+ with uv
Cluster Configuration
Default Kind config: scripts/kind/kind-config-registry.yaml
Custom config:
KIND_CONFIG=/path/to/config.yaml ./.github/scripts/kind/create-cluster.sh
Environment Variables
| Variable | Default | Description |
|---|
CLUSTER_NAME | kagenti | Kind cluster name |
KIND_CONFIG | kind-config-registry.yaml | Kind configuration file |
SKIP_OLLAMA | false | Skip Ollama installation |
SKIP_AGENTS | false | Skip agent deployment |
Debugging
Check Cluster Status
kind get clusters
kubectl get nodes
kubectl get pods -A
View Logs
kubectl logs -n team1 deployment/weather-service --tail=100 -f
kubectl logs -n team1 deployment/weather-tool --tail=100 -f
kubectl logs -n kagenti-system deployment/kagenti-platform-operator --tail=100 -f
Check Events
kubectl get events -A --sort-by='.lastTimestamp' | tail -50
Ollama Status
ps aux | grep ollama
ollama list
curl http://localhost:11434/api/tags
Troubleshooting
Cluster Creation Fails
docker info | grep -E "CPUs|Total Memory"
Platform Deployment Timeout
kubectl get pods -A | grep -v Running
kubectl get events -A --sort-by='.lastTimestamp' | tail -30
./.github/scripts/kind/destroy-cluster.sh
./.github/scripts/kind/create-cluster.sh
./.github/scripts/kind/deploy-platform.sh
E2E Tests Fail
kubectl get pods -n team1
kubectl logs -n team1 deployment/weather-service --tail=100
ollama list | grep qwen
UI Not Accessible
kubectl get pods -n kagenti-system -l app=http-istio
kubectl port-forward -n kagenti-system svc/http-istio 8080:80
Related Skills
- local:testing: Detailed local testing guide
- kagenti:deploy: Alternative deployment via Python installer
- k8s:pods: Debug pod issues
- k8s:logs: Query logs
Related Documentation
.github/scripts/local-setup/README.md - Local setup documentation
deployments/README.md - Deployment guide