Skip to content

Commit bac149f

Browse files
authored
chore(addons): prometheus , mysql-cluster add networkpolicy (#10)
1 parent 54f1781 commit bac149f

14 files changed

Lines changed: 177 additions & 14 deletions

File tree

addons/mysql-cluster/8.0/chart/mysql-cluster/templates/networkpolicy.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ spec:
2525
- ports:
2626
- port: {{ .Values.router.service.portrw }}
2727
- port: {{ .Values.router.service.portro }}
28+
- port: 24901
2829
{{- if and .Values.metrics.enabled }}
2930
- port: {{ .Values.metrics.service.port }}
3031
{{ end }}

addons/mysql-cluster/8.0/chart/mysql-cluster/templates/primary/statefulset.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -298,7 +298,7 @@ spec:
298298
if [[ -f "${MYSQL_ROOT_PASSWORD_FILE:-}" ]]; then
299299
password_aux=$(cat "$MYSQL_ROOT_PASSWORD_FILE")
300300
fi
301-
MYSQLD_EXPORTER_PASSWORD=${password_aux} /bin/mysqld_exporter --mysqld.address=localhost:3306 --mysqld.username=root {{- range .Values.metrics.extraArgs.primary }} {{ . }} {{- end }}
301+
MYSQLD_EXPORTER_PASSWORD=${password_aux} /opt/drycc/mysqld_exporter/bin/mysqld_exporter --mysqld.address=localhost:3306 --mysqld.username=root {{- range .Values.metrics.extraArgs.primary }} {{ . }} {{- end }}
302302
{{- end }}
303303
ports:
304304
- name: metrics

addons/mysql-cluster/8.0/chart/mysql-cluster/values.yaml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -971,7 +971,7 @@ rbac:
971971
networkPolicy:
972972
## @param networkPolicy.enabled Enable creation of NetworkPolicy resources
973973
##
974-
enabled: true
974+
enabled: true
975975
## @param networkPolicy.allowExternal The Policy model to apply.
976976
## When set to false, only pods with the correct
977977
## client label will have network access to the port MySQL is listening
@@ -1023,7 +1023,7 @@ volumePermissions:
10231023
metrics:
10241024
## @param metrics.enabled Start a side-car prometheus exporter
10251025
##
1026-
enabled: true
1026+
enabled: true
10271027
## @param metrics.image.registry Exporter image registry
10281028
## @param metrics.image.repository Exporter image repository
10291029
## @param metrics.image.tag Exporter image tag (immutable tags are recommended)
@@ -1032,9 +1032,9 @@ metrics:
10321032
## @param metrics.image.pullSecrets Specify docker-registry secret names as an array
10331033
##
10341034
image:
1035-
registry: docker.io
1036-
repository: drycc/mysqld-exporter
1037-
tag: 0.14.0-debian-11-r45
1035+
registry: registry.drycc.cc
1036+
repository: drycc-addons/mysqld-exporter
1037+
tag: 0
10381038
digest: ""
10391039
pullPolicy: IfNotPresent
10401040
## Optionally specify an array of imagePullSecrets.

addons/prometheus/2/chart/prometheus/templates/_scrape_config.tpl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ Usage:
1212
kubernetes_sd_configs:
1313
- role: endpoints
1414
namespaces:
15+
own_namespace: true
1516
names:
1617
- {{ include "common.names.namespace" .context }}
1718
metrics_path: /metrics
@@ -83,4 +84,4 @@ relabel_configs:
8384
- __tmp_hash
8485
regex: 0
8586
action: keep
86-
{{- end -}}
87+
{{- end -}}
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
{{- /*
2+
Copyright VMware, Inc.
3+
SPDX-License-Identifier: APACHE-2.0
4+
*/}}
5+
6+
{{- if .Values.networkPolicy.enabled }}
7+
kind: NetworkPolicy
8+
apiVersion: {{ template "common.capabilities.networkPolicy.apiVersion" . }}
9+
metadata:
10+
name: {{ template "common.names.fullname" . }}
11+
namespace: {{ include "common.names.namespace" . | quote }}
12+
labels: {{- include "common.labels.standard" . | nindent 4 }}
13+
{{- if .Values.commonLabels }}
14+
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
15+
{{- end }}
16+
{{- if .Values.commonAnnotations }}
17+
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
18+
{{- end }}
19+
spec:
20+
podSelector:
21+
matchLabels:
22+
{{- include "common.labels.matchLabels" . | nindent 6 }}
23+
ingress:
24+
# Allow inbound connections
25+
- ports:
26+
- port: {{ .Values.alertmanager.service.ports.http }}
27+
- port: {{ .Values.alertmanager.service.ports.cluster }}
28+
- port: {{ .Values.alertmanager.containerPorts.http }}
29+
- port: {{ .Values.alertmanager.containerPorts.cluster }}
30+
- port: {{ .Values.server.containerPorts.http }}
31+
- port: {{ .Values.server.service.ports.http }}
32+
{{- if or .Values.networkPolicy.allowCurrentNamespace .Values.networkPolicy.allowNamespaces }}
33+
from:
34+
{{- if .Values.networkPolicy.allowCurrentNamespace }}
35+
- namespaceSelector:
36+
matchLabels:
37+
kubernetes.io/metadata.name: {{ .Release.Namespace }}
38+
{{- end }}
39+
{{- range $namespace := .Values.networkPolicy.allowNamespaces }}
40+
{{- if $namespace }}
41+
- namespaceSelector:
42+
matchLabels:
43+
kubernetes.io/metadata.name: {{ $namespace }}
44+
{{- end }}
45+
{{- end }}
46+
{{- end }}
47+
{{- end }}

addons/prometheus/2/chart/prometheus/values.yaml

Lines changed: 66 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -360,7 +360,7 @@ alertmanager:
360360
ingress:
361361
## @param alertmanager.ingress.enabled Enable ingress record generation for Alertmanager
362362
##
363-
enabled: false
363+
enabled: true
364364
## @param alertmanager.ingress.pathType Ingress path type
365365
##
366366
pathType: ImplementationSpecific
@@ -628,6 +628,9 @@ server:
628628
{{- if .Values.server.extraScrapeConfigs}}
629629
{{- include "common.tplvalues.render" (dict "value" .Values.server.extraScrapeConfigs "context" $) | nindent 2 }}
630630
{{- end }}
631+
{{- if .Values.server.dsScrapeConfigs}}
632+
{{- include "common.tplvalues.render" (dict "value" .Values.server.dsScrapeConfigs "context" $) | nindent 2 }}
633+
{{- end }}
631634
{{- if or .Values.alertmanager.enabled .Values.server.alertingEndpoints}}
632635
alerting:
633636
alertmanagers:
@@ -649,7 +652,50 @@ server:
649652
## @param server.extraScrapeConfigs Promethus configuration, useful to declare new scrape_configs. This content will be merged with the 'server.configuration' value and stored in the the prometheus.yaml file.
650653
## ref: <https://prometheus.io/docs/prometheus/latest/configuration/configuration/#scrape_config>
651654
##
652-
extraScrapeConfigs: []
655+
extraScrapeConfigs: []
656+
dsScrapeConfigs:
657+
- job_name: 'service-endpoints'
658+
honor_labels: true
659+
kubernetes_sd_configs:
660+
- role: endpoints
661+
namespaces:
662+
own_namespace: true
663+
names:
664+
- default
665+
relabel_configs:
666+
- source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scrape]
667+
action: keep
668+
regex: true
669+
- source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scrape_slow]
670+
action: drop
671+
regex: true
672+
- source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scheme]
673+
action: replace
674+
target_label: __scheme__
675+
regex: (https?)
676+
- source_labels: [__meta_kubernetes_service_annotation_prometheus_io_path]
677+
action: replace
678+
target_label: __metrics_path__
679+
regex: (.+)
680+
- source_labels: [__address__, __meta_kubernetes_service_annotation_prometheus_io_port]
681+
action: replace
682+
target_label: __address__
683+
regex: (.+?)(?::\d+)?;(\d+)
684+
replacement: $1:$2
685+
- action: labelmap
686+
regex: __meta_kubernetes_service_annotation_prometheus_io_param_(.+)
687+
replacement: __param_$1
688+
- action: labelmap
689+
regex: __meta_kubernetes_service_label_(.+)
690+
- source_labels: [__meta_kubernetes_namespace]
691+
action: replace
692+
target_label: namespace
693+
- source_labels: [__meta_kubernetes_service_name]
694+
action: replace
695+
target_label: service
696+
- source_labels: [__meta_kubernetes_pod_node_name]
697+
action: replace
698+
target_label: node
653699
## @param server.replicaCount Number of Prometheus replicas to deploy
654700
##
655701
replicaCount: 1
@@ -824,7 +870,7 @@ server:
824870
## StrategyType
825871
## Can be set to RollingUpdate or Recreate
826872
##
827-
type: RollingUpdate
873+
type: Recreate
828874

829875
## @param server.priorityClassName Prometheus pods' priorityClassName
830876
##
@@ -1225,7 +1271,7 @@ server:
12251271
ingress:
12261272
## @param server.ingress.enabled Enable ingress record generation for Prometheus
12271273
##
1228-
enabled: false
1274+
enabled: true
12291275
## @param server.ingress.pathType Ingress path type
12301276
##
12311277
pathType: ImplementationSpecific
@@ -1460,6 +1506,21 @@ server:
14601506
##
14611507
rules: []
14621508

1509+
## Prometheus Nework Policy configuration
1510+
##
1511+
networkPolicy:
1512+
## @param networkPolicy.enabled Enable creation of NetworkPolicy resources
1513+
##
1514+
enabled: true
1515+
## @param networkPolicy.allowExternal The Policy model to apply.
1516+
## When set to false, only pods with the correct
1517+
## client label will have network access to the port MySQL is listening
1518+
## on. When true, MySQL will accept connections from any source
1519+
## (with the correct destination port).
1520+
##
1521+
allowCurrentNamespace: true
1522+
allowNamespaces:
1523+
- traefik
14631524
## @section Init Container Parameters
14641525
##
14651526

@@ -1507,4 +1568,4 @@ volumePermissions:
15071568
## "auto" is especially useful for OpenShift which has scc with dynamic user ids (and 0 is not allowed)
15081569
##
15091570
containerSecurityContext:
1510-
runAsUser: 0
1571+
runAsUser: 0
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
credential:
2+
{{- if (eq .Values.server.service.type "LoadBalancer") }}
3+
- name: host
4+
valueFrom:
5+
serviceRef:
6+
name: {{ printf "%s" (include "common.names.fullname" .) }}
7+
jsonpath: '{ .status.loadBalancer.ingress[*].ip }'
8+
- name: port
9+
valueFrom:
10+
secretKeyRef:
11+
name: {{ template "common.names.fullname" . }}
12+
jsonpath: '{ .spec.ports.port }'
13+
{{- end }}
14+
15+
alertmanager
16+
17+
{{- if (eq .Values.alertmanager.service.type "LoadBalancer") }}
18+
- name: host
19+
valueFrom:
20+
serviceRef:
21+
name: {{ printf "%s" (include "common.names.fullname" .) }}
22+
jsonpath: '{ .status.loadBalancer.ingress[*].ip }'
23+
- name: port
24+
valueFrom:
25+
secretKeyRef:
26+
name: {{ template "common.names.fullname" . }}
27+
jsonpath: '{ .spec.ports.port }'
28+
{{- end }}

addons/prometheus/2/plans/standard-1-2/create-instance-schema.json renamed to addons/prometheus/2/plans/standard-10/create-instance-schema.json

File renamed without changes.
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)