chore: listen on only 9090 for /metrics and /live

Previously, 9091 and 9090 both led to the same web server, meaning both
/metrics and /live were reachable and fully functional through both.
This commit changes that so that only port 9090 is used for both.

Closes #381.
This commit is contained in:
d3adb5
2023-02-05 13:29:41 -08:00
parent 9463cd5fc2
commit 2f8999e3cb
7 changed files with 12 additions and 21 deletions

View File

@@ -128,8 +128,6 @@ spec:
ports:
- name: http
containerPort: 9091
- name: metrics
containerPort: 9090
livenessProbe:
httpGet:
@@ -142,7 +140,7 @@ spec:
readinessProbe:
httpGet:
path: /metrics
port: metrics
port: http
timeoutSeconds: {{ .Values.reloader.deployment.readinessProbe.timeoutSeconds | default "5" }}
failureThreshold: {{ .Values.reloader.deployment.readinessProbe.failureThreshold | default "5" }}
periodSeconds: {{ .Values.reloader.deployment.readinessProbe.periodSeconds | default "10" }}

View File

@@ -43,8 +43,6 @@ spec:
ports:
- name: http
containerPort: 9091
- name: metrics
containerPort: 9090
livenessProbe:
httpGet:
@@ -57,7 +55,7 @@ spec:
readinessProbe:
httpGet:
path: /metrics
port: metrics
port: http
timeoutSeconds: 5
failureThreshold: 5
periodSeconds: 10

View File

@@ -139,8 +139,6 @@ spec:
ports:
- name: http
containerPort: 9091
- name: metrics
containerPort: 9090
livenessProbe:
httpGet:
@@ -153,7 +151,7 @@ spec:
readinessProbe:
httpGet:
path: /metrics
port: metrics
port: http
timeoutSeconds: 5
failureThreshold: 5
periodSeconds: 10

View File

@@ -4,6 +4,7 @@ import (
"context"
"errors"
"fmt"
"net/http"
"os"
"strings"
@@ -177,7 +178,8 @@ func startReloader(cmd *cobra.Command, args []string) {
go leadership.RunLeaderElection(lock, ctx, cancel, podName, controllers)
}
logrus.Fatal(leadership.Healthz())
leadership.SetupLivenessEndpoint()
logrus.Fatal(http.ListenAndServe(constants.DefaultHttpListenAddr, nil))
}
func getIgnoredNamespacesList(cmd *cobra.Command) (util.List, error) {

View File

@@ -1,6 +1,9 @@
package constants
const (
// DefaultHttpListenAddr is the default listening address for global http server
DefaultHttpListenAddr = ":9090"
// ConfigmapEnvVarPostfix is a postfix for configmap envVar
ConfigmapEnvVarPostfix = "CONFIGMAP"
// SecretEnvVarPostfix is a postfix for secret envVar

View File

@@ -15,8 +15,6 @@ import (
coordinationv1 "k8s.io/client-go/kubernetes/typed/coordination/v1"
)
const healthPort string = ":9091"
var (
// Used for liveness probe
m sync.Mutex
@@ -88,12 +86,11 @@ func stopControllers(stopChannels []chan struct{}) {
}
}
// Healthz serves the liveness probe endpoint. If leadership election is
// Healthz sets up the liveness probe endpoint. If leadership election is
// enabled and a replica stops leading the liveness probe will fail and the
// kubelet will restart the container.
func Healthz() error {
func SetupLivenessEndpoint() {
http.HandleFunc("/live", healthz)
return http.ListenAndServe(healthPort, nil)
}
func healthz(w http.ResponseWriter, req *http.Request) {

View File

@@ -3,7 +3,6 @@ package metrics
import (
"github.com/prometheus/client_golang/prometheus"
"github.com/prometheus/client_golang/prometheus/promhttp"
"github.com/sirupsen/logrus"
"net/http"
)
@@ -33,11 +32,7 @@ func NewCollectors() Collectors {
func SetupPrometheusEndpoint() Collectors {
collectors := NewCollectors()
prometheus.MustRegister(collectors.Reloaded)
go func() {
http.Handle("/metrics", promhttp.Handler())
logrus.Fatal(http.ListenAndServe(":9090", nil))
}()
http.Handle("/metrics", promhttp.Handler())
return collectors
}