The proposal for Prometheus CI project can be found here & a detailed summary can be found here
-
Assume Prow is already running on a GKE cluster.
Instructions on how to deploy a prow-cluster can be found here.
The benchmark plugin added to prow can be found here -
When Prombench is triggered using
/benchmark pr
or/benchmark release [version_number(ex:2.3.0-rc.1)|Default:latest]
, the following environment variables are set in the Prowjob start-benchmark:- ZONE : zone of the prow cluster
- CLUSTER_NAME : Name of the prow cluster
- PR_NUMBER : Number of the PR where this comment was written
- PROMETHEUS_1_NAME
- PROMETHEUS_1_IMAGE
- PROMETHEUS_2_NAME
- PROMETHEUS_2_IMAGE
-
In case of
/benchmark pr
, initially a docker image is made for the PR. -
2 new nodepools are created in the prow cluster ::
prometheus-<PR_NUMBER>
andnodes-<PR_NUMBER>
-
Prombench is deployed on these nodepools in a new namespace
prombench-<PR_NUMBER>
(Only one Prombench instance can run on a PR) -
When
/benchmark cancel
is triggered, the nodepools and namespace are deleted