<p>Prometheus-operator seems to generate <code>promethues-operated</code> service which just points to Prometheus instance at port 9090.</p>
<p>What does this service do? We define other services to point at our Prometheus cluster.</p>
<p>What would be repercussions on removing <code>prometheus-operated</code> service?</p>

Steve
<p>Based on the documentation, <code>prometheus-operated</code> is a governing service for statefulsets, in other words it's Prometheus's service endpoint which is used for its functioning.</p>
<p>Below are some references:</p>
<blockquote>
<p>What you are referring to is the governing service that point to the
synthesized Prometheus statefulsets. In the case of a second
Prometheus in the same namespace the same governing service will be
referenced, which in turn will add the IPs of all pods of the separate
Prometheus instances to the same governing service.</p>
</blockquote>
<p>Taken from <a href="https://github.com/prometheus-operator/prometheus-operator/issues/3805" rel="nofollow noreferrer">Rename Prometheus Operator Service #3805</a></p>
<p>Also another reference to the same idea:</p>
<blockquote>
<p>The Prometheus Operator reconciles services called prometheus-operated
and alertmanager-operated, which are used as governing Services for
the StatefulSets. To perform this reconciliation</p>
</blockquote>
<p>Taken from <a href="https://github.com/prometheus-operator/prometheus-operator/blob/1b13e573c7ad533010407544f88dc4a78320b134/Documentation/rbac.md" rel="nofollow noreferrer">Prometheus operator/Documentation/readme</a></p>
<p>One more commit that confirms that <code>prometheus-operated</code> is a governing service:</p>
<blockquote>
<p>pkg/prometheus: add Thanos service port to governing service
Currently, for service discovery of Prometheus instances a separate
headless service must be deployed.</p>
<p>This adds the Thanos grpc port to the existing Prometheus statefulset
governing service if a Thanos sidecar is given in the Prometheus
custom resource specification.</p>
<p>This way no additional service has to be deployed.</p>
</blockquote>
<p>Taken from <a href="https://github.com/prometheus-operator/prometheus-operator/pull/2754/commits/86d42de53ca2c2ea0d32264818d9750f409979da" rel="nofollow noreferrer">pkg/prometheus: add Thanos service port to governing service #2754</a></p>
<hr />
<blockquote>
<p>What would be repercussions on removing prometheus-operated service.</p>
</blockquote>
<p>It's quite old answer, but since this is a part of Prometheus and Prometheus components will fail if the service is removed:</p>
<blockquote>
<p>The prometheus-operated service is an implementation detail of the
Prometheus Operator, it should not be touched, especially as all
Prometheus instances will be registered in this service</p>
</blockquote>
<p>Taken from <a href="https://github.com/prometheus-operator/prometheus-operator/issues/522#issuecomment-319016693" rel="nofollow noreferrer">kube-prometheus chart creates 3 different services pointing to the same pods #522</a></p>
<hr />
<p><a href="https://github.com/prometheus-operator/prometheus-operator/blob/master/pkg/prometheus/statefulset.go#L267-L313" rel="nofollow noreferrer">Code where this service is created</a></p>
<p>Taking into consideration that:</p>
<pre><code>const (
    governingServiceName            = &quot;prometheus-operated&quot;
    ...
)
</code></pre>
