nameOverride: "" fullnameOverride: "" tenant: "0" # -- If this chart is used in "Argocd" with "releaseName" field then # -- VMServiceScrapes couldn't select the proper services. # -- For correct working need set value 'argocdReleaseOverride=$ARGOCD_APP_NAME' argocdReleaseOverride: "" # -- victoria-metrics-operator dependency chart configuration. # -- For possible values refer to https://github.com/VictoriaMetrics/helm-charts/tree/master/charts/victoria-metrics-operator#parameters # -- also checkout here possible ENV variables to configure operator behaviour https://docs.victoriametrics.com/operator/vars.html victoria-metrics-operator: enabled: true # -- Tells helm to remove CRD after chart remove cleanupCRD: true cleanupImage: repository: gcr.io/google_containers/hyperkube tag: v1.18.0 pullPolicy: IfNotPresent createCRD: false # we disable crd creation by operator chart as we create them in this chart operator: # -- By default, operator converts prometheus-operator objects. disable_prometheus_converter: true serviceAccount: # -- Specifies whether a service account should be created create: true # -- Annotations to add to the service account annotations: {} # -- The name of the service account to use. # -- If not set and create is true, a name is generated using the fullname template name: "" ## -- Create default rules for monitoring the cluster defaultRules: create: true rules: etcd: true general: true k8s: true kubeApiserver: true kubeApiserverAvailability: true kubeApiserverBurnrate: true kubeApiserverHistogram: true kubeApiserverSlos: true kubelet: true kubePrometheusGeneral: true kubePrometheusNodeRecording: true kubernetesApps: true kubernetesResources: true kubernetesStorage: true kubernetesSystem: true kubeScheduler: true kubeStateMetrics: true network: true node: true vmagent: true vmsingle: true vmhealth: true alertmanager: true # -- Runbook url prefix for default rules runbookUrl: https://runbooks.prometheus-operator.dev/runbooks ## Reduce app namespace alert scope appNamespacesTarget: ".*" # -- Labels for default rules labels: {} # -- Annotations for default rules annotations: {} # -- Additional labels for PrometheusRule alerts additionalRuleLabels: {} ## -- Create default dashboards defaultDashboardsEnabled: true ## -- Create experimental dashboards experimentalDashboardsEnabled: true # Provide custom recording or alerting rules to be deployed into the cluster. additionalVictoriaMetricsMap: # rule-name: # groups: # - name: my_group # rules: # - record: my_record # expr: 100 * my_record externalVM: read: url: "" # bearerTokenSecret: # name: dbaas-read-access-token # key: bearerToken write: # Replace PMM-SERVER-URL with valid URL of PMM Server url: "https:////victoriametrics/api/v1/write" bearerTokenSecret: name: pmm-token-vmoperator key: api_key ############## # -- Configures vmsingle params vmsingle: annotations: {} enabled: false # spec for VMSingle crd # https://docs.victoriametrics.com/operator/api.html#vmsinglespec spec: image: tag: v1.93.4 retentionPeriod: "14" replicaCount: 1 extraArgs: {} storage: accessModes: - ReadWriteOnce resources: requests: storage: 20Gi ingress: enabled: false # For Kubernetes >= 1.18 you should specify the ingress-controller via the field ingressClassName # See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#specifying-the-class-of-an-ingress # ingressClassName: nginx # Values can be templated annotations: {} # kubernetes.io/ingress.class: nginx # kubernetes.io/tls-acme: "true" labels: {} path: / # pathType is only for k8s > 1.19 pathType: Prefix hosts: - vmsingle.domain.com ## Extra paths to prepend to every host configuration. This is useful when working with annotation based services. extraPaths: [] # - path: /* # backend: # serviceName: ssl-redirect # servicePort: use-annotation ## Or for k8s > 1.19 # - path: /* # pathType: Prefix # backend: # service: # name: ssl-redirect # port: # name: service tls: [] # - secretName: vmsingle-ingress-tls # hosts: # - vmsingle.domain.com vmcluster: enabled: false annotations: {} # spec for VMCluster crd # https://docs.victoriametrics.com/operator/api.html#vmclusterspec spec: retentionPeriod: "14" replicationFactor: 2 vmstorage: image: tag: v1.91.3-cluster replicaCount: 2 storageDataPath: "/vm-data" storage: volumeClaimTemplate: spec: resources: requests: storage: 10Gi resources: {} # limits: # cpu: "1" # memory: 1500Mi vmselect: image: tag: v1.91.3-cluster replicaCount: 2 cacheMountPath: "/select-cache" extraArgs: {} storage: volumeClaimTemplate: spec: resources: requests: storage: 2Gi resources: {} # limits: # cpu: "1" # memory: "1000Mi" # requests: # cpu: "0.5" # memory: "500Mi" vminsert: image: tag: v1.91.3-cluster replicaCount: 2 extraArgs: {} resources: {} # limits: # cpu: "1" # memory: 1000Mi # requests: # cpu: "0.5" # memory: "500Mi" ingress: storage: enabled: false # For Kubernetes >= 1.18 you should specify the ingress-controller via the field ingressClassName # See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#specifying-the-class-of-an-ingress # ingressClassName: nginx # Values can be templated annotations: {} # kubernetes.io/ingress.class: nginx # kubernetes.io/tls-acme: "true" labels: {} path: / # pathType is only for k8s > 1.19 pathType: Prefix hosts: - vmstorage.domain.com ## Extra paths to prepend to every host configuration. This is useful when working with annotation based services. extraPaths: [] # - path: /* # backend: # serviceName: ssl-redirect # servicePort: use-annotation ## Or for k8s > 1.19 # - path: /* # pathType: Prefix # backend: # service: # name: ssl-redirect # port: # name: service tls: [] # - secretName: vmstorage-ingress-tls # hosts: # - vmstorage.domain.com select: enabled: false # For Kubernetes >= 1.18 you should specify the ingress-controller via the field ingressClassName # See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#specifying-the-class-of-an-ingress # ingressClassName: nginx # Values can be templated annotations: {} # kubernetes.io/ingress.class: nginx # kubernetes.io/tls-acme: "true" labels: {} path: / # pathType is only for k8s > 1.19 pathType: Prefix hosts: - vmselect.domain.com ## Extra paths to prepend to every host configuration. This is useful when working with annotation based services. extraPaths: [] # - path: /* # backend: # serviceName: ssl-redirect # servicePort: use-annotation ## Or for k8s > 1.19 # - path: /* # pathType: Prefix # backend: # service: # name: ssl-redirect # port: # name: service tls: [] # - secretName: vmselect-ingress-tls # hosts: # - vmselect.domain.com insert: enabled: false # For Kubernetes >= 1.18 you should specify the ingress-controller via the field ingressClassName # See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#specifying-the-class-of-an-ingress # ingressClassName: nginx # Values can be templated annotations: {} # kubernetes.io/ingress.class: nginx # kubernetes.io/tls-acme: "true" labels: {} path: / # pathType is only for k8s > 1.19 pathType: Prefix hosts: - vminsert.domain.com ## Extra paths to prepend to every host configuration. This is useful when working with annotation based services. extraPaths: [] # - path: /* # backend: # serviceName: ssl-redirect # servicePort: use-annotation ## Or for k8s > 1.19 # - path: /* # pathType: Prefix # backend: # service: # name: ssl-redirect # port: # name: service tls: [] # - secretName: vminsert-ingress-tls # hosts: # - vminsert.domain.com alertmanager: enabled: false annotations: {} # spec for VMAlertmanager crd # https://docs.victoriametrics.com/operator/api.html#vmalertmanagerspec spec: selectAllByDefault: true image: tag: v0.25.0 externalURL: "" routePrefix: / # if this one defined, it will be used for alertmanager configuration and config parameter will be ignored # configSecret: "alertmanager-config" config: global: resolve_timeout: 5m slack_api_url: "http://slack:30500/" templates: - "/etc/vm/configs/**/*.tmpl" route: group_by: ["alertgroup", "job"] group_wait: 30s group_interval: 5m repeat_interval: 12h receiver: "slack-monitoring" routes: ################################################### ## Duplicate code_owner routes to teams ## These will send alerts to team channels but continue ## processing through the rest of the tree to handled by on-call - matchers: - code_owner_channel!="" - severity=~"info|warning|critical" group_by: ["code_owner_channel", "alertgroup", "job"] receiver: slack-code-owners ################################################### ## Standard on-call routes - matchers: - severity=~"info|warning|critical" receiver: slack-monitoring continue: true inhibit_rules: - target_matchers: - severity=~"warning|info" source_matchers: - severity=critical equal: - cluster - namespace - alertname - target_matchers: - severity=info source_matchers: - severity=warning equal: - cluster - namespace - alertname - target_matchers: - severity=info source_matchers: - alertname=InfoInhibitor equal: - cluster - namespace receivers: - name: "slack-monitoring" slack_configs: - channel: "#channel" send_resolved: true title: '{{ template "slack.monzo.title" . }}' icon_emoji: '{{ template "slack.monzo.icon_emoji" . }}' color: '{{ template "slack.monzo.color" . }}' text: '{{ template "slack.monzo.text" . }}' actions: - type: button text: "Runbook :green_book:" url: "{{ (index .Alerts 0).Annotations.runbook_url }}" - type: button text: "Query :mag:" url: "{{ (index .Alerts 0).GeneratorURL }}" - type: button text: "Dashboard :grafana:" url: "{{ (index .Alerts 0).Annotations.dashboard }}" - type: button text: "Silence :no_bell:" url: '{{ template "__alert_silence_link" . }}' - type: button text: '{{ template "slack.monzo.link_button_text" . }}' url: "{{ .CommonAnnotations.link_url }}" - name: slack-code-owners slack_configs: - channel: "#{{ .CommonLabels.code_owner_channel }}" send_resolved: true title: '{{ template "slack.monzo.title" . }}' icon_emoji: '{{ template "slack.monzo.icon_emoji" . }}' color: '{{ template "slack.monzo.color" . }}' text: '{{ template "slack.monzo.text" . }}' actions: - type: button text: "Runbook :green_book:" url: "{{ (index .Alerts 0).Annotations.runbook }}" - type: button text: "Query :mag:" url: "{{ (index .Alerts 0).GeneratorURL }}" - type: button text: "Dashboard :grafana:" url: "{{ (index .Alerts 0).Annotations.dashboard }}" - type: button text: "Silence :no_bell:" url: '{{ template "__alert_silence_link" . }}' - type: button text: '{{ template "slack.monzo.link_button_text" . }}' url: "{{ .CommonAnnotations.link_url }}" # better alert templates for slack # source https://gist.github.com/milesbxf/e2744fc90e9c41b47aa47925f8ff6512 monzoTemplate: enabled: true # extra alert templates templateFiles: {} # template_1.tmpl: |- # {{ define "hello" -}} # hello, Victoria! # {{- end }} # template_2.tmpl: "" ingress: enabled: false # For Kubernetes >= 1.18 you should specify the ingress-controller via the field ingressClassName # See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#specifying-the-class-of-an-ingress # ingressClassName: nginx # Values can be templated annotations: {} # kubernetes.io/ingress.class: nginx # kubernetes.io/tls-acme: "true" labels: {} path: / # pathType is only for k8s > 1.19 pathType: Prefix hosts: - alertmanager.domain.com ## Extra paths to prepend to every host configuration. This is useful when working with annotation based services. extraPaths: [] # - path: /* # backend: # serviceName: ssl-redirect # servicePort: use-annotation ## Or for k8s > 1.19 # - path: /* # pathType: Prefix # backend: # service: # name: ssl-redirect # port: # name: service tls: [] # - secretName: alertmanager-ingress-tls # hosts: # - alertmanager.domain.com vmalert: annotations: {} enabled: false # Controls whether VMAlert should use VMAgent or VMInsert as a target for remotewrite remoteWriteVMAgent: false # spec for VMAlert crd # https://docs.victoriametrics.com/operator/api.html#vmalertspec spec: selectAllByDefault: true image: tag: v1.91.3 evaluationInterval: 15s # External labels to add to all generated recording rules and alerts externalLabels: {} # extra vmalert annotation templates templateFiles: {} # template_1.tmpl: |- # {{ define "hello" -}} # hello, Victoria! # {{- end }} # template_2.tmpl: "" ingress: enabled: false # For Kubernetes >= 1.18 you should specify the ingress-controller via the field ingressClassName # See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#specifying-the-class-of-an-ingress # ingressClassName: nginx # Values can be templated annotations: {} # kubernetes.io/ingress.class: nginx # kubernetes.io/tls-acme: "true" labels: {} path: / # pathType is only for k8s > 1.19 pathType: Prefix hosts: - vmalert.domain.com ## Extra paths to prepend to every host configuration. This is useful when working with annotation based services. extraPaths: [] # - path: /* # backend: # serviceName: ssl-redirect # servicePort: use-annotation ## Or for k8s > 1.19 # - path: /* # pathType: Prefix # backend: # service: # name: ssl-redirect # port: # name: service tls: [] # - secretName: vmalert-ingress-tls # hosts: # - vmalert.domain.com vmagent: enabled: true annotations: {} # https://docs.victoriametrics.com/operator/api.html#vmagentremotewritespec # defined spec will be added to the remoteWrite configuration of VMAgent additionalRemoteWrites: [] #- url: http://some-remote-write/api/v1/write # spec for VMAgent crd # https://docs.victoriametrics.com/operator/api.html#vmagentspec spec: selectAllByDefault: true image: tag: v1.91.3 scrapeInterval: 25s externalLabels: k8s_cluster_id: cluster-name extraArgs: promscrape.streamParse: "true" ingress: enabled: false # For Kubernetes >= 1.18 you should specify the ingress-controller via the field ingressClassName # See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#specifying-the-class-of-an-ingress # ingressClassName: nginx # Values can be templated annotations: {} # kubernetes.io/ingress.class: nginx # kubernetes.io/tls-acme: "true" labels: {} path: / # pathType is only for k8s > 1.19 pathType: Prefix hosts: - vmagent.domain.com ## Extra paths to prepend to every host configuration. This is useful when working with annotation based services. extraPaths: [] # - path: /* # backend: # serviceName: ssl-redirect # servicePort: use-annotation ## Or for k8s > 1.19 # - path: /* # pathType: Prefix # backend: # service: # name: ssl-redirect # port: # name: service tls: [] # - secretName: vmagent-ingress-tls # hosts: # - vmagent.domain.com ################################################# ### dependencies ##### ################################################# # Grafana dependency chart configuration. For possible values refer to https://github.com/grafana/helm-charts/tree/main/charts/grafana#configuration grafana: enabled: false ## all values for grafana helm chart can be specified here sidecar: datasources: enabled: true createVMReplicasDatasources: false # JSON options for VM datasources # See https://grafana.com/docs/grafana/latest/administration/provisioning/#json-data jsonData: {} # timeInterval: "1m" dashboards: additionalDashboardLabels: {} additionalDashboardAnnotations: {} enabled: true multicluster: false ## ForceDeployDatasource Create datasource configmap even if grafana deployment has been disabled forceDeployDatasource: false ## Configure additional grafana datasources (passed through tpl) ## ref: http://docs.grafana.org/administration/provisioning/#datasources additionalDataSources: [] # - name: prometheus-sample # access: proxy # basicAuth: true # basicAuthPassword: pass # basicAuthUser: daco # editable: false # jsonData: # tlsSkipVerify: true # orgId: 1 # type: prometheus # url: https://{{ printf "%s-prometheus.svc" .Release.Name }}:9090 # version: 1 dashboardProviders: dashboardproviders.yaml: apiVersion: 1 providers: - name: "default" orgId: 1 folder: "" type: file disableDeletion: false editable: true options: path: /var/lib/grafana/dashboards/default dashboards: default: nodeexporter: gnetId: 1860 revision: 22 datasource: VictoriaMetrics defaultDashboardsEnabled: true defaultDashboardsTimezone: utc ingress: enabled: false # For Kubernetes >= 1.18 you should specify the ingress-controller via the field ingressClassName # See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#specifying-the-class-of-an-ingress # ingressClassName: nginx # Values can be templated annotations: {} # kubernetes.io/ingress.class: nginx # kubernetes.io/tls-acme: "true" labels: {} path: / # pathType is only for k8s > 1.19 pathType: Prefix hosts: - grafana.domain.com ## Extra paths to prepend to every host configuration. This is useful when working with annotation based services. extraPaths: [] # - path: /* # backend: # serviceName: ssl-redirect # servicePort: use-annotation ## Or for k8s > 1.19 # - path: /* # pathType: Prefix # backend: # service: # name: ssl-redirect # port: # name: service tls: [] # - secretName: grafana-ingress-tls # hosts: # - grafana.domain.com vmServiceScrape: # wheter we should create a service scrape resource for grafana enabled: true # spec for VMServiceScrape crd # https://docs.victoriametrics.com/operator/api.html#vmservicescrapespec spec: {} # prometheus-node-exporter dependency chart configuration. For possible values refer to https://github.com/prometheus-community/helm-charts/blob/main/charts/prometheus-node-exporter/values.yaml prometheus-node-exporter: enabled: false ## all values for prometheus-node-exporter helm chart can be specified here podLabels: ## Add the 'node-exporter' label to be used by serviceMonitor to match standard common usage in rules and grafana dashboards ## jobLabel: node-exporter extraArgs: - --collector.filesystem.ignored-mount-points=^/(dev|proc|sys|var/lib/docker/.+|var/lib/kubelet/.+)($|/) - --collector.filesystem.ignored-fs-types=^(autofs|binfmt_misc|bpf|cgroup2?|configfs|debugfs|devpts|devtmpfs|fusectl|hugetlbfs|iso9660|mqueue|nsfs|overlay|proc|procfs|pstore|rpc_pipefs|securityfs|selinuxfs|squashfs|sysfs|tracefs)$ vmServiceScrape: # wheter we should create a service scrape resource for node-exporter enabled: true # spec for VMServiceScrape crd # https://docs.victoriametrics.com/operator/api.html#vmservicescrapespec spec: jobLabel: jobLabel endpoints: - port: metrics metricRelabelConfigs: - action: drop source_labels: [mountpoint] regex: "/var/lib/kubelet/pods.+" # kube-state-metrics dependency chart configuration. For possible values refer to https://github.com/kubernetes/kube-state-metrics/blob/master/charts/kube-state-metrics/values.yaml kube-state-metrics: image: tag: "v2.9.2" enabled: true ## all values for kube-state-metrics helm chart can be specified here ## Customizaing kube-state-metrics installation for scraping Custom resources related to Percona Operators metricLabelsAllowlist: - pods=[app.kubernetes.io/component,app.kubernetes.io/instance,app.kubernetes.io/managed-by,app.kubernetes.io/name,app.kubernetes.io/part-of],persistentvolumeclaims=[app.kubernetes.io/component,app.kubernetes.io/instance,app.kubernetes.io/managed-by,app.kubernetes.io/name,app.kubernetes.io/part-of],jobs=[app.kubernetes.io/component,app.kubernetes.io/instance,app.kubernetes.io/managed-by,app.kubernetes.io/name,app.kubernetes.io/part-of] extraArgs: - --custom-resource-state-config-file=/go/src/k8s.io/kube-state-metrics/config volumeMounts: - mountPath: /go/src/k8s.io/kube-state-metrics/ name: cr-config volumes: - configMap: name: customresource-config-ksm name: cr-config rbac: extraRules: - apiGroups: - apiextensions.k8s.io resources: - customresourcedefinitions verbs: - list - watch - apiGroups: - pxc.percona.com resources: - perconaxtradbclusters - perconaxtradbclusters/status - perconaxtradbclusterbackups - perconaxtradbclusterbackups/status - perconaxtradbclusterrestores - perconaxtradbclusterrestores/status verbs: - list - watch - apiGroups: - psmdb.percona.com resources: - perconaservermongodbs - perconaservermongodbs/status - perconaservermongodbbackups - perconaservermongodbbackups/status - perconaservermongodbrestores - perconaservermongodbrestores/status verbs: - list - watch - apiGroups: - pgv2.percona.com resources: - perconapgbackups/status - perconapgclusters/status - perconapgrestores/status - perconapgclusters - perconapgrestores - perconapgbackups verbs: - list - watch # spec for VMServiceScrape crd # https://docs.victoriametrics.com/operator/api.html#vmservicescrapespec vmServiceScrape: spec: {} #TODO: selector override for kube-state-metrics deployed separatelly ################################################# ### Service Monitors ##### ################################################# ## Component scraping the kubelets kubelet: enabled: true # -- Enable scraping /metrics/cadvisor from kubelet's service cadvisor: true # -- Enable scraping /metrics/probes from kubelet's service probes: true # spec for VMNodeScrape crd # https://docs.victoriametrics.com/operator/api.html#vmnodescrapespec spec: scheme: "https" honorLabels: true interval: "30s" scrapeTimeout: "5s" tlsConfig: insecureSkipVerify: true caFile: "/var/run/secrets/kubernetes.io/serviceaccount/ca.crt" bearerTokenFile: "/var/run/secrets/kubernetes.io/serviceaccount/token" # drop high cardinality label and useless metrics for cadvisor and kubelet metricRelabelConfigs: - action: labeldrop regex: (uid) - action: labeldrop regex: (id|name) - action: labeldrop regex: failure_domain_beta_kubernetes_.* - action: labeldrop regex: beta_kubernetes_io_.* - action: drop source_labels: [__name__] regex: (rest_client_request_duration_seconds_bucket|rest_client_request_duration_seconds_sum|rest_client_request_duration_seconds_count) relabelConfigs: - action: labelmap regex: __meta_kubernetes_node_label_(.+) - sourceLabels: [__metrics_path__] targetLabel: metrics_path - targetLabel: "job" replacement: "kubelet" # -- Component scraping the kube api server kubeApiServer: enabled: true # spec for VMServiceScrape crd # https://docs.victoriametrics.com/operator/api.html#vmservicescrapespec spec: endpoints: - bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token # bearerTokenSecret: # key: "" port: https scheme: https tlsConfig: caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt serverName: kubernetes jobLabel: component namespaceSelector: matchNames: - default selector: matchLabels: component: apiserver provider: kubernetes # -- Component scraping the kube controller manager kubeControllerManager: enabled: true ## If your kube controller manager is not deployed as a pod, specify IPs it can be found on ## endpoints: [] # - 10.141.4.22 # - 10.141.4.23 # - 10.141.4.24 ## If using kubeControllerManager.endpoints only the port and targetPort are used ## service: enabled: true port: 10257 targetPort: 10257 # selector: # component: kube-controller-manager # spec for VMServiceScrape crd # https://docs.victoriametrics.com/operator/api.html#vmservicescrapespec spec: jobLabel: jobLabel endpoints: - bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token # bearerTokenSecret: # key: "" port: http-metrics scheme: https tlsConfig: caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt serverName: kubernetes # -Component scraping kubeDns. Use either this or coreDns kubeDns: enabled: false service: enabled: false dnsmasq: port: 10054 targetPort: 10054 skydns: port: 10055 targetPort: 10055 selector: k8s-app: kube-dns # spec for VMServiceScrape crd # https://docs.victoriametrics.com/operator/api.html#vmservicescrapespec spec: endpoints: - port: http-metrics-dnsmasq bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token - port: http-metrics-skydns bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token # -- Component scraping coreDns. Use either this or kubeDns coreDns: enabled: false service: enabled: true port: 9153 targetPort: 9153 selector: k8s-app: kube-dns # spec for VMServiceScrape crd # https://docs.victoriametrics.com/operator/api.html#vmservicescrapespec spec: endpoints: - port: http-metrics bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token ## Component scraping etcd ## kubeEtcd: enabled: true ## If your etcd is not deployed as a pod, specify IPs it can be found on ## endpoints: [] # - 10.141.4.22 # - 10.141.4.23 # - 10.141.4.24 ## Etcd service. If using kubeEtcd.endpoints only the port and targetPort are used ## service: enabled: true port: 2379 targetPort: 2379 # selector: # component: etcd # spec for VMServiceScrape crd # https://docs.victoriametrics.com/operator/api.html#vmservicescrapespec spec: jobLabel: jobLabel endpoints: - bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token # bearerTokenSecret: # key: "" port: http-metrics scheme: https tlsConfig: caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt ## Component scraping kube scheduler ## kubeScheduler: enabled: true ## If your kube scheduler is not deployed as a pod, specify IPs it can be found on ## endpoints: [] # - 10.141.4.22 # - 10.141.4.23 # - 10.141.4.24 ## If using kubeScheduler.endpoints only the port and targetPort are used ## service: enabled: true port: 10251 targetPort: 10251 # selector: # component: kube-scheduler # spec for VMServiceScrape crd # https://docs.victoriametrics.com/operator/api.html#vmservicescrapespec spec: jobLabel: jobLabel endpoints: - bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token # bearerTokenSecret: # key: "" port: http-metrics scheme: https tlsConfig: caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt ## Component scraping kube proxy ## kubeProxy: enabled: false ## If your kube proxy is not deployed as a pod, specify IPs it can be found on ## endpoints: [] # - 10.141.4.22 # - 10.141.4.23 # - 10.141.4.24 service: enabled: true port: 10249 targetPort: 10249 # selector: # k8s-app: kube-proxy # spec for VMServiceScrape crd # https://docs.victoriametrics.com/operator/api.html#vmservicescrapespec spec: jobLabel: jobLabel endpoints: - bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token # bearerTokenSecret: # key: "" port: http-metrics scheme: https tlsConfig: caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt