Architect
The idle arm64 nodes
To cut costs, two of the three workers are now arm64 machines (ops/capacity.md). On paper, the cluster easily holds the six API replicas Black Friday needs. Yet the API only ever runs on worker-1. At 0:30 the CI scales shop_api to 6: make sure all six replicas run, without overloading any node.
Your terminal is on manager-1, an x86_64 machine like worker-1; worker-2 and worker-3 are arm64. The CI builds and releases the API as RUNBOOK.md says. The test calls http://<cluster>/search every minute for two hours; at 0:30, docker service scale shop_api=6. At the end, the replicas running the API image are counted, as are the containers killed for lack of memory.
What your server must hold
- stack.missingReplicas = 0
- containers.oomKills = 0
- Availability ≥ 99 %