--- /dev/null
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ template "kube-state-metrics.fullname" . }}
+ namespace: {{ template "kube-state-metrics.namespace" . }}
+ labels:
+ app.kubernetes.io/name: {{ template "kube-state-metrics.name" . }}
+ helm.sh/chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
+ app.kubernetes.io/instance: "{{ .Release.Name }}"
+ app.kubernetes.io/managed-by: "{{ .Release.Service }}"
+{{- if .Values.customLabels }}
+{{ toYaml .Values.customLabels | indent 4 }}
+{{- end }}
+ annotations:
+ {{- if .Values.prometheusScrape }}
+ prometheus.io/scrape: '{{ .Values.prometheusScrape }}'
+ {{- end }}
+ {{- if .Values.service.annotations }}
+ {{- toYaml .Values.service.annotations | nindent 4 }}
+ {{- end }}
+spec:
+ type: "{{ .Values.service.type }}"
+ ports:
+ - name: "http"
+ protocol: TCP
+ port: {{ .Values.service.port }}
+ {{- if .Values.service.nodePort }}
+ nodePort: {{ .Values.service.nodePort }}
+ {{- end }}
+ targetPort: 8080
+{{- if .Values.service.loadBalancerIP }}
+ loadBalancerIP: "{{ .Values.service.loadBalancerIP }}"
+{{- end }}
+ selector:
+ app.kubernetes.io/name: {{ template "kube-state-metrics.name" . }}
+ app.kubernetes.io/instance: {{ .Release.Name }}