|
| 1 | +--- |
| 2 | +name: engine-manage |
| 3 | +description: Manage the Kurtosis engine server. Start, stop, restart the engine, check status, and view engine logs. Covers both Docker and Kubernetes engine backends. Use when the engine won't start, needs restarting, or you need to check engine health. |
| 4 | +compatibility: Requires kurtosis CLI. Docker or Kubernetes cluster access depending on backend. |
| 5 | +metadata: |
| 6 | + author: ethpandaops |
| 7 | + version: "1.0" |
| 8 | +--- |
| 9 | + |
| 10 | +# Engine Manage |
| 11 | + |
| 12 | +Manage the Kurtosis engine server lifecycle. |
| 13 | + |
| 14 | +## Status |
| 15 | + |
| 16 | +```bash |
| 17 | +kurtosis engine status |
| 18 | +``` |
| 19 | + |
| 20 | +Shows whether the engine is running and its version. |
| 21 | + |
| 22 | +## Start |
| 23 | + |
| 24 | +```bash |
| 25 | +# Start with default settings |
| 26 | +kurtosis engine start |
| 27 | + |
| 28 | +# Start with debug images |
| 29 | +kurtosis --debug-mode engine start |
| 30 | +``` |
| 31 | + |
| 32 | +On Kubernetes, the engine runs as a pod in a `kurtosis-engine-*` namespace. You also need to run `kurtosis gateway` to access it from your local machine. |
| 33 | + |
| 34 | +## Stop |
| 35 | + |
| 36 | +```bash |
| 37 | +kurtosis engine stop |
| 38 | +``` |
| 39 | + |
| 40 | +## Restart |
| 41 | + |
| 42 | +```bash |
| 43 | +kurtosis engine restart |
| 44 | +``` |
| 45 | + |
| 46 | +Equivalent to stop + start. Useful after changing cluster settings or upgrading. |
| 47 | + |
| 48 | +## View logs |
| 49 | + |
| 50 | +```bash |
| 51 | +kurtosis engine logs |
| 52 | +``` |
| 53 | + |
| 54 | +Dumps engine server logs. Useful for diagnosing startup failures or API errors. |
| 55 | + |
| 56 | +## Docker vs Kubernetes |
| 57 | + |
| 58 | +```bash |
| 59 | +# Check which backend is active |
| 60 | +kurtosis cluster get |
| 61 | + |
| 62 | +# Switch to Docker |
| 63 | +kurtosis cluster set docker |
| 64 | +kurtosis engine restart |
| 65 | + |
| 66 | +# Switch to Kubernetes |
| 67 | +kurtosis cluster set kubernetes |
| 68 | +kurtosis engine restart |
| 69 | +kurtosis gateway # Required for k8s |
| 70 | +``` |
| 71 | + |
| 72 | +## Engine on Kubernetes |
| 73 | + |
| 74 | +When running on Kubernetes: |
| 75 | + |
| 76 | +```bash |
| 77 | +# The engine runs in its own namespace |
| 78 | +kubectl get ns | grep kurtosis-engine |
| 79 | + |
| 80 | +# Check engine pod |
| 81 | +kubectl get pods -n <engine-namespace> |
| 82 | + |
| 83 | +# View engine logs directly |
| 84 | +kubectl logs <engine-pod> -n <engine-namespace> |
| 85 | + |
| 86 | +# Start the gateway (required for local CLI to reach k8s engine) |
| 87 | +kurtosis gateway & |
| 88 | +``` |
| 89 | + |
| 90 | +## Common issues |
| 91 | + |
| 92 | +| Symptom | Fix | |
| 93 | +|---------|-----| |
| 94 | +| `No Kurtosis engine is running` | Run `kurtosis engine start` | |
| 95 | +| Engine starts but `engine status` shows nothing (k8s) | Start the gateway: `kurtosis gateway` | |
| 96 | +| Version mismatch warning | `kurtosis engine restart` to match CLI version | |
| 97 | +| Engine start hangs (k8s) | Check pods: `kubectl get pods -A \| grep kurtosis` | |
| 98 | +| Old engine blocking new start | `kurtosis engine stop` then clean namespaces | |
0 commit comments