mirror of
https://github.com/kubernetes-sigs/kubespray.git
synced 2026-05-19 23:07:47 -02:30
kube-vip: optional Prometheus metrics (default port 2112) (#13229)
Add kube_vip_metrics_enabled and kube_vip_metrics_port; wire prometheus_server and container port in the static pod manifest. Default metrics port to 2112 to match kube-vip upstream. Document and sample inventory updated.
This commit is contained in:
@@ -86,3 +86,12 @@ kube_vip_leaseduration: 30
|
|||||||
kube_vip_renewdeadline: 20
|
kube_vip_renewdeadline: 20
|
||||||
kube_vip_retryperiod: 4
|
kube_vip_retryperiod: 4
|
||||||
```
|
```
|
||||||
|
|
||||||
|
To expose [Prometheus metrics](https://kube-vip.io/docs/installation/flags/#environment-variables) from the kube-vip static pod, set `kube_vip_metrics_enabled`. `kube_vip_metrics_port` is an integer; the manifest sets `prometheus_server` to `:PORT` because kube-vip passes that value to Go's HTTP listen address (see [`servePrometheusHTTPServer` in kube-vip](https://github.com/kube-vip/kube-vip/blob/main/cmd/kube-vip.go)). The manifest `ports` entry uses the same number for tooling that reads the pod spec.
|
||||||
|
|
||||||
|
Kubespray defaults `kube_vip_metrics_port` to `2112`, matching upstream kube-vip's `--prometheusHTTPServer` default. Override it if your scrape config expects another port.
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
kube_vip_metrics_enabled: true
|
||||||
|
# kube_vip_metrics_port: 2112
|
||||||
|
```
|
||||||
|
|||||||
@@ -201,6 +201,8 @@ kube_vip_enabled: false
|
|||||||
# kube_vip_lb_fwdmethod: local
|
# kube_vip_lb_fwdmethod: local
|
||||||
# kube_vip_bgp_sourceip:
|
# kube_vip_bgp_sourceip:
|
||||||
# kube_vip_bgp_sourceif:
|
# kube_vip_bgp_sourceif:
|
||||||
|
# kube_vip_metrics_enabled: false
|
||||||
|
# kube_vip_metrics_port: 2112
|
||||||
|
|
||||||
# Node Feature Discovery
|
# Node Feature Discovery
|
||||||
node_feature_discovery_enabled: false
|
node_feature_discovery_enabled: false
|
||||||
|
|||||||
@@ -88,6 +88,9 @@ kube_vip_retryperiod: 1
|
|||||||
kube_vip_enable_node_labeling: false
|
kube_vip_enable_node_labeling: false
|
||||||
kube_vip_bgp_sourceip:
|
kube_vip_bgp_sourceip:
|
||||||
kube_vip_bgp_sourceif:
|
kube_vip_bgp_sourceif:
|
||||||
|
kube_vip_metrics_enabled: false
|
||||||
|
# TCP port for kube-vip Prometheus metrics; manifest sets prometheus_server to :PORT (same as kube-vip upstream default, see cmd/kube-vip.go).
|
||||||
|
kube_vip_metrics_port: 2112
|
||||||
|
|
||||||
# Requests for load balancer app
|
# Requests for load balancer app
|
||||||
loadbalancer_apiserver_memory_requests: 32M
|
loadbalancer_apiserver_memory_requests: 32M
|
||||||
|
|||||||
@@ -109,11 +109,21 @@ spec:
|
|||||||
{% if kube_vip_lb_fwdmethod %}
|
{% if kube_vip_lb_fwdmethod %}
|
||||||
- name: lb_fwdmethod
|
- name: lb_fwdmethod
|
||||||
value: {{ kube_vip_lb_fwdmethod | string | to_json }}
|
value: {{ kube_vip_lb_fwdmethod | string | to_json }}
|
||||||
|
{% endif %}
|
||||||
|
{% if kube_vip_metrics_enabled %}
|
||||||
|
- name: prometheus_server
|
||||||
|
value: {{ (':' ~ (kube_vip_metrics_port | string)) | to_json }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
image: {{ kube_vip_image_repo }}:{{ kube_vip_image_tag }}
|
image: {{ kube_vip_image_repo }}:{{ kube_vip_image_tag }}
|
||||||
imagePullPolicy: {{ k8s_image_pull_policy }}
|
imagePullPolicy: {{ k8s_image_pull_policy }}
|
||||||
name: kube-vip
|
name: kube-vip
|
||||||
resources: {}
|
resources: {}
|
||||||
|
{% if kube_vip_metrics_enabled %}
|
||||||
|
ports:
|
||||||
|
- name: metrics
|
||||||
|
containerPort: {{ kube_vip_metrics_port }}
|
||||||
|
protocol: TCP
|
||||||
|
{% endif %}
|
||||||
{% if kube_vip_lb_fwdmethod == "masquerade" %}
|
{% if kube_vip_lb_fwdmethod == "masquerade" %}
|
||||||
securityContext:
|
securityContext:
|
||||||
privileged: true
|
privileged: true
|
||||||
|
|||||||
Reference in New Issue
Block a user