# Scale Deployment

> Scale a Kubernetes deployment up or down and monitor rollout. Use for high traffic, saving resources, testing replica counts, or recovering from OOM.

- Skill: `dmzoneill/scale-deployment` (Agent Skill)
- Install (CLI): `npx skillmds@latest add dmzoneill/scale-deployment`
- Raw SKILL.md: https://api.skillmd.com/api/skills/dmzoneill/scale-deployment/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: DevOps & Infra
- Author: dmzoneill (https://skillmd.com/u/dmzoneill)
- Updated: 2026-09-10
- Page: https://skillmd.com/skills/dmzoneill/scale-deployment

---


# Scale Deployment

Scale deployment to desired replicas and monitor rollout. Uses devops persona (k8s tools).

## Inputs

| Input | Type | Default | Purpose |
|-------|------|---------|---------|
| `deployment` | string | required | Deployment name |
| `replicas` | int | required | Desired replica count |
| `namespace` | string | tower-analytics-stage | Kubernetes namespace |
| `environment` | string | stage | stage, production, ephemeral |
| `wait` | bool | true | Wait for rollout to complete |

## Workflow

### 1. Load Persona
- `persona_load("devops")`

### 2. Get Current State
- `kubectl_get_deployments(namespace="{{ namespace }}", environment="{{ environment }}")`
- Parse for deployment name; extract current replicas and ready count

### 3. Scale
- `kubectl_scale(resource="deployment/{{ deployment }}", replicas="{{ replicas }}", namespace="{{ namespace }}", environment="{{ environment }}")`

### 4. Monitor (if wait)
- `kubectl_rollout_status(resource="deployment/{{ deployment }}", namespace="{{ namespace }}", environment="{{ environment }}")`

### 5. Post-Scale
- `kubectl_get_deployments(namespace="{{ namespace }}", environment="{{ environment }}")`
- `kubectl_get_pods(namespace="{{ namespace }}", environment="{{ environment }}")`
- Count pods for this deployment

### 6. Optional: Verify Environment
- `skill_run("environment_overview", '{"namespace": "{{ namespace }}", "environment": "{{ environment }}"}')`

### 7. Error Recovery
- "unauthorized" → `kube_login(cluster="stage" or "prod")`
- "deployment not found" → `kubectl_get_deployments()` to list available

### 8. Memory
- `memory_session_log("Scaled deployment", "{{ deployment }} {{ from }} → {{ replicas }}")`

## Output

Report: deployment, namespace, before/after replicas, rollout status, pod counts, and rollback command if needed.

