Skip to content

Commit 118f8ad

Browse files
authoredDec 13, 2021
Use port numbers instead of names in prometheus annotations. (cortexproject#288)
Prometheus scrape configs often use the `prometheus.io/port` annotation to configure targets per pod: ``` - source_labels: [__address__, __meta_kubernetes_pod_annotation_prometheus_io_port] action: replace regex: ([^:]+)(?::\d+)?;(\d+) replacement: $1:$2 target_label: __address__ ``` This rule only matches when the `prometheus.io/port` annotation is a port number, and it's not clear to me how the scrape config could be modified to work with port names. To make the chart compatible with standard prometheus scrape configs, this patch changes the default port annotation from port names to port numbers. Signed-off-by: Josh Carp <jm.carp@gmail.com>
1 parent 62183e2 commit 118f8ad

File tree

3 files changed

+23
-24
lines changed

3 files changed

+23
-24
lines changed
 

‎CHANGELOG.md

+1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# Changelog
22

33
## master / unreleased
4+
* [CHANGE] Use port number for prometheus port annotations. #288
45
* [CHANGE] Disable ingester startup probes by default. #286
56
* [FEATURE] Optionally manage cortex config as configmap. #280
67
* [ENHANCEMENT] Upgrade to Cortex v1.11.0 #272

‎README.md

+11-11
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ Kubernetes: `^1.19.0-0`
119119
| alertmanager.&ZeroWidthSpace;persistentVolume.&ZeroWidthSpace;size | string | `"2Gi"` | Alertmanager data Persistent Volume size |
120120
| alertmanager.&ZeroWidthSpace;persistentVolume.&ZeroWidthSpace;storageClass | string | `nil` | Alertmanager data Persistent Volume Storage Class If defined, storageClassName: <storageClass> If set to "-", storageClassName: "", which disables dynamic provisioning If undefined (the default) or set to null, no storageClassName spec is set, choosing the default provisioner. |
121121
| alertmanager.&ZeroWidthSpace;persistentVolume.&ZeroWidthSpace;subPath | string | `""` | Subdirectory of Alertmanager data Persistent Volume to mount Useful if the volume's root directory is not empty |
122-
| alertmanager.&ZeroWidthSpace;podAnnotations | object | `{"prometheus.io/port":"http-metrics","prometheus.io/scrape":"true"}` | Pod Annotations |
122+
| alertmanager.&ZeroWidthSpace;podAnnotations | object | `{"prometheus.io/port":"8080","prometheus.io/scrape":"true"}` | Pod Annotations |
123123
| alertmanager.&ZeroWidthSpace;podDisruptionBudget | object | `{"maxUnavailable":1}` | If not set then a PodDisruptionBudget will not be created |
124124
| alertmanager.&ZeroWidthSpace;podLabels | object | `{}` | Pod Labels |
125125
| alertmanager.&ZeroWidthSpace;readinessProbe.&ZeroWidthSpace;httpGet.&ZeroWidthSpace;path | string | `"/ready"` | |
@@ -174,7 +174,7 @@ Kubernetes: `^1.19.0-0`
174174
| compactor.&ZeroWidthSpace;persistentVolume.&ZeroWidthSpace;size | string | `"2Gi"` | |
175175
| compactor.&ZeroWidthSpace;persistentVolume.&ZeroWidthSpace;storageClass | string | `nil` | compactor data Persistent Volume Storage Class If defined, storageClassName: <storageClass> If set to "-", storageClassName: "", which disables dynamic provisioning If undefined (the default) or set to null, no storageClassName spec is set, choosing the default provisioner. |
176176
| compactor.&ZeroWidthSpace;persistentVolume.&ZeroWidthSpace;subPath | string | `""` | Subdirectory of compactor data Persistent Volume to mount Useful if the volume's root directory is not empty |
177-
| compactor.&ZeroWidthSpace;podAnnotations | object | `{"prometheus.io/port":"http-metrics","prometheus.io/scrape":"true"}` | Pod Annotations |
177+
| compactor.&ZeroWidthSpace;podAnnotations | object | `{"prometheus.io/port":"8080","prometheus.io/scrape":"true"}` | Pod Annotations |
178178
| compactor.&ZeroWidthSpace;podDisruptionBudget.&ZeroWidthSpace;maxUnavailable | int | `1` | |
179179
| compactor.&ZeroWidthSpace;podLabels | object | `{}` | Pod Labels |
180180
| compactor.&ZeroWidthSpace;readinessProbe.&ZeroWidthSpace;httpGet.&ZeroWidthSpace;path | string | `"/ready"` | |
@@ -263,7 +263,7 @@ Kubernetes: `^1.19.0-0`
263263
| configs.&ZeroWidthSpace;livenessProbe.&ZeroWidthSpace;httpGet.&ZeroWidthSpace;port | string | `"http-metrics"` | |
264264
| configs.&ZeroWidthSpace;nodeSelector | object | `{}` | |
265265
| configs.&ZeroWidthSpace;persistentVolume.&ZeroWidthSpace;subPath | string | `nil` | |
266-
| configs.&ZeroWidthSpace;podAnnotations | object | `{"prometheus.io/port":"http-metrics","prometheus.io/scrape":"true"}` | Pod Annotations |
266+
| configs.&ZeroWidthSpace;podAnnotations | object | `{"prometheus.io/port":"8080","prometheus.io/scrape":"true"}` | Pod Annotations |
267267
| configs.&ZeroWidthSpace;podDisruptionBudget.&ZeroWidthSpace;maxUnavailable | int | `1` | |
268268
| configs.&ZeroWidthSpace;podLabels | object | `{}` | Pod Labels |
269269
| configs.&ZeroWidthSpace;readinessProbe.&ZeroWidthSpace;httpGet.&ZeroWidthSpace;path | string | `"/ready"` | |
@@ -318,7 +318,7 @@ Kubernetes: `^1.19.0-0`
318318
| distributor.&ZeroWidthSpace;livenessProbe.&ZeroWidthSpace;httpGet.&ZeroWidthSpace;port | string | `"http-metrics"` | |
319319
| distributor.&ZeroWidthSpace;nodeSelector | object | `{}` | |
320320
| distributor.&ZeroWidthSpace;persistentVolume.&ZeroWidthSpace;subPath | string | `nil` | |
321-
| distributor.&ZeroWidthSpace;podAnnotations | object | `{"prometheus.io/port":"http-metrics","prometheus.io/scrape":"true"}` | Pod Annotations |
321+
| distributor.&ZeroWidthSpace;podAnnotations | object | `{"prometheus.io/port":"8080","prometheus.io/scrape":"true"}` | Pod Annotations |
322322
| distributor.&ZeroWidthSpace;podDisruptionBudget.&ZeroWidthSpace;maxUnavailable | int | `1` | |
323323
| distributor.&ZeroWidthSpace;podLabels | object | `{}` | Pod Labels |
324324
| distributor.&ZeroWidthSpace;readinessProbe.&ZeroWidthSpace;httpGet.&ZeroWidthSpace;path | string | `"/ready"` | |
@@ -379,7 +379,7 @@ Kubernetes: `^1.19.0-0`
379379
| ingester.&ZeroWidthSpace;persistentVolume.&ZeroWidthSpace;size | string | `"2Gi"` | Ingester data Persistent Volume size |
380380
| ingester.&ZeroWidthSpace;persistentVolume.&ZeroWidthSpace;storageClass | string | `nil` | Ingester data Persistent Volume Storage Class If defined, storageClassName: <storageClass> If set to "-", storageClassName: "", which disables dynamic provisioning If undefined (the default) or set to null, no storageClassName spec is set, choosing the default provisioner. |
381381
| ingester.&ZeroWidthSpace;persistentVolume.&ZeroWidthSpace;subPath | string | `""` | Subdirectory of Ingester data Persistent Volume to mount Useful if the volume's root directory is not empty |
382-
| ingester.&ZeroWidthSpace;podAnnotations | object | `{"prometheus.io/port":"http-metrics","prometheus.io/scrape":"true"}` | Pod Annotations |
382+
| ingester.&ZeroWidthSpace;podAnnotations | object | `{"prometheus.io/port":"8080","prometheus.io/scrape":"true"}` | Pod Annotations |
383383
| ingester.&ZeroWidthSpace;podDisruptionBudget.&ZeroWidthSpace;maxUnavailable | int | `1` | |
384384
| ingester.&ZeroWidthSpace;podLabels | object | `{}` | Pod Labels |
385385
| ingester.&ZeroWidthSpace;readinessProbe.&ZeroWidthSpace;httpGet.&ZeroWidthSpace;path | string | `"/ready"` | |
@@ -490,7 +490,7 @@ Kubernetes: `^1.19.0-0`
490490
| nginx.&ZeroWidthSpace;livenessProbe.&ZeroWidthSpace;httpGet.&ZeroWidthSpace;port | string | `"http-metrics"` | |
491491
| nginx.&ZeroWidthSpace;nodeSelector | object | `{}` | |
492492
| nginx.&ZeroWidthSpace;persistentVolume.&ZeroWidthSpace;subPath | string | `nil` | |
493-
| nginx.&ZeroWidthSpace;podAnnotations | object | `{"prometheus.io/port":"http-metrics","prometheus.io/scrape":""}` | Pod Annotations |
493+
| nginx.&ZeroWidthSpace;podAnnotations | object | `{}` | Pod Annotations |
494494
| nginx.&ZeroWidthSpace;podDisruptionBudget.&ZeroWidthSpace;maxUnavailable | int | `1` | |
495495
| nginx.&ZeroWidthSpace;podLabels | object | `{}` | Pod Labels |
496496
| nginx.&ZeroWidthSpace;readinessProbe.&ZeroWidthSpace;httpGet.&ZeroWidthSpace;path | string | `"/healthz"` | |
@@ -536,7 +536,7 @@ Kubernetes: `^1.19.0-0`
536536
| querier.&ZeroWidthSpace;livenessProbe.&ZeroWidthSpace;httpGet.&ZeroWidthSpace;port | string | `"http-metrics"` | |
537537
| querier.&ZeroWidthSpace;nodeSelector | object | `{}` | |
538538
| querier.&ZeroWidthSpace;persistentVolume.&ZeroWidthSpace;subPath | string | `nil` | |
539-
| querier.&ZeroWidthSpace;podAnnotations | object | `{"prometheus.io/port":"http-metrics","prometheus.io/scrape":"true"}` | Pod Annotations |
539+
| querier.&ZeroWidthSpace;podAnnotations | object | `{"prometheus.io/port":"8080","prometheus.io/scrape":"true"}` | Pod Annotations |
540540
| querier.&ZeroWidthSpace;podDisruptionBudget.&ZeroWidthSpace;maxUnavailable | int | `1` | |
541541
| querier.&ZeroWidthSpace;podLabels | object | `{}` | Pod Labels |
542542
| querier.&ZeroWidthSpace;readinessProbe.&ZeroWidthSpace;httpGet.&ZeroWidthSpace;path | string | `"/ready"` | |
@@ -580,7 +580,7 @@ Kubernetes: `^1.19.0-0`
580580
| query_frontend.&ZeroWidthSpace;livenessProbe.&ZeroWidthSpace;httpGet.&ZeroWidthSpace;port | string | `"http-metrics"` | |
581581
| query_frontend.&ZeroWidthSpace;nodeSelector | object | `{}` | |
582582
| query_frontend.&ZeroWidthSpace;persistentVolume.&ZeroWidthSpace;subPath | string | `nil` | |
583-
| query_frontend.&ZeroWidthSpace;podAnnotations | object | `{"prometheus.io/port":"http-metrics","prometheus.io/scrape":"true"}` | Pod Annotations |
583+
| query_frontend.&ZeroWidthSpace;podAnnotations | object | `{"prometheus.io/port":"8080","prometheus.io/scrape":"true"}` | Pod Annotations |
584584
| query_frontend.&ZeroWidthSpace;podDisruptionBudget.&ZeroWidthSpace;maxUnavailable | int | `1` | |
585585
| query_frontend.&ZeroWidthSpace;podLabels | object | `{}` | Pod Labels |
586586
| query_frontend.&ZeroWidthSpace;readinessProbe.&ZeroWidthSpace;httpGet.&ZeroWidthSpace;path | string | `"/ready"` | |
@@ -621,7 +621,7 @@ Kubernetes: `^1.19.0-0`
621621
| ruler.&ZeroWidthSpace;livenessProbe.&ZeroWidthSpace;httpGet.&ZeroWidthSpace;port | string | `"http-metrics"` | |
622622
| ruler.&ZeroWidthSpace;nodeSelector | object | `{}` | |
623623
| ruler.&ZeroWidthSpace;persistentVolume.&ZeroWidthSpace;subPath | string | `nil` | |
624-
| ruler.&ZeroWidthSpace;podAnnotations | object | `{"prometheus.io/port":"http-metrics","prometheus.io/scrape":"true"}` | Pod Annotations |
624+
| ruler.&ZeroWidthSpace;podAnnotations | object | `{"prometheus.io/port":"8080","prometheus.io/scrape":"true"}` | Pod Annotations |
625625
| ruler.&ZeroWidthSpace;podDisruptionBudget.&ZeroWidthSpace;maxUnavailable | int | `1` | |
626626
| ruler.&ZeroWidthSpace;podLabels | object | `{}` | Pod Labels |
627627
| ruler.&ZeroWidthSpace;readinessProbe.&ZeroWidthSpace;httpGet.&ZeroWidthSpace;path | string | `"/ready"` | |
@@ -684,7 +684,7 @@ Kubernetes: `^1.19.0-0`
684684
| store_gateway.&ZeroWidthSpace;persistentVolume.&ZeroWidthSpace;size | string | `"2Gi"` | Store-gateway data Persistent Volume size |
685685
| store_gateway.&ZeroWidthSpace;persistentVolume.&ZeroWidthSpace;storageClass | string | `nil` | Store-gateway data Persistent Volume Storage Class If defined, storageClassName: <storageClass> If set to "-", storageClassName: "", which disables dynamic provisioning If undefined (the default) or set to null, no storageClassName spec is set, choosing the default provisioner. |
686686
| store_gateway.&ZeroWidthSpace;persistentVolume.&ZeroWidthSpace;subPath | string | `""` | Subdirectory of Store-gateway data Persistent Volume to mount Useful if the volume's root directory is not empty |
687-
| store_gateway.&ZeroWidthSpace;podAnnotations | object | `{"prometheus.io/port":"http-metrics","prometheus.io/scrape":"true"}` | Pod Annotations |
687+
| store_gateway.&ZeroWidthSpace;podAnnotations | object | `{"prometheus.io/port":"8080","prometheus.io/scrape":"true"}` | Pod Annotations |
688688
| store_gateway.&ZeroWidthSpace;podDisruptionBudget.&ZeroWidthSpace;maxUnavailable | int | `1` | |
689689
| store_gateway.&ZeroWidthSpace;podLabels | object | `{}` | Pod Labels |
690690
| store_gateway.&ZeroWidthSpace;readinessProbe.&ZeroWidthSpace;httpGet.&ZeroWidthSpace;path | string | `"/ready"` | |
@@ -724,7 +724,7 @@ Kubernetes: `^1.19.0-0`
724724
| table_manager.&ZeroWidthSpace;livenessProbe.&ZeroWidthSpace;httpGet.&ZeroWidthSpace;port | string | `"http-metrics"` | |
725725
| table_manager.&ZeroWidthSpace;nodeSelector | object | `{}` | |
726726
| table_manager.&ZeroWidthSpace;persistentVolume.&ZeroWidthSpace;subPath | string | `nil` | |
727-
| table_manager.&ZeroWidthSpace;podAnnotations | object | `{"prometheus.io/port":"http-metrics","prometheus.io/scrape":"true"}` | Pod Annotations |
727+
| table_manager.&ZeroWidthSpace;podAnnotations | object | `{"prometheus.io/port":"8080","prometheus.io/scrape":"true"}` | Pod Annotations |
728728
| table_manager.&ZeroWidthSpace;podDisruptionBudget.&ZeroWidthSpace;maxUnavailable | int | `1` | |
729729
| table_manager.&ZeroWidthSpace;podLabels | object | `{}` | Pod Labels |
730730
| table_manager.&ZeroWidthSpace;readinessProbe.&ZeroWidthSpace;httpGet.&ZeroWidthSpace;path | string | `"/ready"` | |

‎values.yaml

+11-13
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,7 @@ alertmanager:
201201
# -- Pod Annotations
202202
podAnnotations:
203203
prometheus.io/scrape: 'true'
204-
prometheus.io/port: 'http-metrics'
204+
prometheus.io/port: '8080'
205205

206206
nodeSelector: {}
207207
affinity: {}
@@ -345,7 +345,7 @@ distributor:
345345
# -- Pod Annotations
346346
podAnnotations:
347347
prometheus.io/scrape: 'true'
348-
prometheus.io/port: 'http-metrics'
348+
prometheus.io/port: '8080'
349349

350350
nodeSelector: {}
351351
affinity:
@@ -453,7 +453,7 @@ ingester:
453453
# -- Pod Annotations
454454
podAnnotations:
455455
prometheus.io/scrape: 'true'
456-
prometheus.io/port: 'http-metrics'
456+
prometheus.io/port: '8080'
457457

458458
nodeSelector: {}
459459
affinity:
@@ -605,7 +605,7 @@ ruler:
605605
# -- Pod Annotations
606606
podAnnotations:
607607
prometheus.io/scrape: 'true'
608-
prometheus.io/port: 'http-metrics'
608+
prometheus.io/port: '8080'
609609

610610
nodeSelector: {}
611611
affinity: {}
@@ -723,7 +723,7 @@ querier:
723723
# -- Pod Annotations
724724
podAnnotations:
725725
prometheus.io/scrape: 'true'
726-
prometheus.io/port: 'http-metrics'
726+
prometheus.io/port: '8080'
727727

728728
nodeSelector: {}
729729
affinity:
@@ -825,7 +825,7 @@ query_frontend:
825825
# -- Pod Annotations
826826
podAnnotations:
827827
prometheus.io/scrape: 'true'
828-
prometheus.io/port: 'http-metrics'
828+
prometheus.io/port: '8080'
829829

830830
nodeSelector: {}
831831
affinity:
@@ -915,7 +915,7 @@ table_manager:
915915
# -- Pod Annotations
916916
podAnnotations:
917917
prometheus.io/scrape: 'true'
918-
prometheus.io/port: 'http-metrics'
918+
prometheus.io/port: '8080'
919919

920920
nodeSelector: {}
921921
affinity: {}
@@ -994,7 +994,7 @@ configs:
994994
# -- Pod Annotations
995995
podAnnotations:
996996
prometheus.io/scrape: 'true'
997-
prometheus.io/port: 'http-metrics'
997+
prometheus.io/port: '8080'
998998

999999
nodeSelector: {}
10001000
affinity: {}
@@ -1105,9 +1105,7 @@ nginx:
11051105
podLabels: {}
11061106

11071107
# -- Pod Annotations
1108-
podAnnotations:
1109-
prometheus.io/scrape: ''
1110-
prometheus.io/port: 'http-metrics'
1108+
podAnnotations: {}
11111109

11121110
nodeSelector: {}
11131111
affinity: {}
@@ -1195,7 +1193,7 @@ store_gateway:
11951193
# -- Pod Annotations
11961194
podAnnotations:
11971195
prometheus.io/scrape: 'true'
1198-
prometheus.io/port: 'http-metrics'
1196+
prometheus.io/port: '8080'
11991197

12001198
nodeSelector: {}
12011199
affinity:
@@ -1313,7 +1311,7 @@ compactor:
13131311
# -- Pod Annotations
13141312
podAnnotations:
13151313
prometheus.io/scrape: 'true'
1316-
prometheus.io/port: 'http-metrics'
1314+
prometheus.io/port: '8080'
13171315

13181316
nodeSelector: {}
13191317
affinity:

0 commit comments

Comments
 (0)
Please sign in to comment.