volcano.sh/volcano@v1.9.0/installer/helm/chart/volcano/templates/kubestatemetrics.yaml (about) 1 {{- if .Values.custom.metrics_enable }} 2 apiVersion: rbac.authorization.k8s.io/v1 3 kind: ClusterRoleBinding 4 metadata: 5 labels: 6 app.kubernetes.io/name: kube-state-metrics 7 name: kube-state-metrics 8 roleRef: 9 apiGroup: rbac.authorization.k8s.io 10 kind: ClusterRole 11 name: kube-state-metrics 12 subjects: 13 - kind: ServiceAccount 14 name: kube-state-metrics 15 namespace: {{ .Release.Namespace }} 16 --- 17 apiVersion: rbac.authorization.k8s.io/v1 18 kind: ClusterRole 19 metadata: 20 labels: 21 app.kubernetes.io/name: kube-state-metrics 22 name: kube-state-metrics 23 rules: 24 - apiGroups: 25 - "" 26 resources: 27 - configmaps 28 - secrets 29 - nodes 30 - pods 31 - services 32 - resourcequotas 33 - replicationcontrollers 34 - limitranges 35 - persistentvolumeclaims 36 - persistentvolumes 37 - namespaces 38 - endpoints 39 verbs: 40 - list 41 - watch 42 - apiGroups: 43 - extensions 44 resources: 45 - daemonsets 46 - deployments 47 - replicasets 48 - ingresses 49 verbs: 50 - list 51 - watch 52 - apiGroups: 53 - apps 54 resources: 55 - statefulsets 56 - daemonsets 57 - deployments 58 - replicasets 59 verbs: 60 - list 61 - watch 62 - apiGroups: 63 - batch 64 resources: 65 - cronjobs 66 - jobs 67 verbs: 68 - list 69 - watch 70 - apiGroups: 71 - autoscaling 72 resources: 73 - horizontalpodautoscalers 74 verbs: 75 - list 76 - watch 77 - apiGroups: 78 - authentication.k8s.io 79 resources: 80 - tokenreviews 81 verbs: 82 - create 83 - apiGroups: 84 - authorization.k8s.io 85 resources: 86 - subjectaccessreviews 87 verbs: 88 - create 89 - apiGroups: 90 - policy 91 resources: 92 - poddisruptionbudgets 93 verbs: 94 - list 95 - watch 96 - apiGroups: 97 - certificates.k8s.io 98 resources: 99 - certificatesigningrequests 100 verbs: 101 - list 102 - watch 103 - apiGroups: 104 - storage.k8s.io 105 resources: 106 - storageclasses 107 - volumeattachments 108 verbs: 109 - list 110 - watch 111 - apiGroups: 112 - admissionregistration.k8s.io 113 resources: 114 - mutatingwebhookconfigurations 115 - validatingwebhookconfigurations 116 verbs: 117 - list 118 - watch 119 - apiGroups: 120 - networking.k8s.io 121 resources: 122 - networkpolicies 123 verbs: 124 - list 125 - watch 126 --- 127 apiVersion: v1 128 kind: ServiceAccount 129 metadata: 130 labels: 131 app.kubernetes.io/name: kube-state-metrics 132 name: kube-state-metrics 133 namespace: {{ .Release.Namespace }} 134 --- 135 apiVersion: apps/v1 136 kind: Deployment 137 metadata: 138 name: kube-state-metrics 139 namespace: {{ .Release.Namespace }} 140 labels: 141 k8s-app: kube-state-metrics 142 spec: 143 progressDeadlineSeconds: 600 144 replicas: 1 145 selector: 146 matchLabels: 147 k8s-app: kube-state-metrics 148 strategy: 149 rollingUpdate: 150 maxSurge: 25% 151 maxUnavailable: 25% 152 type: RollingUpdate 153 template: 154 metadata: 155 labels: 156 k8s-app: kube-state-metrics 157 spec: 158 containers: 159 - image: quay.io/coreos/kube-state-metrics:v1.9.7 160 imagePullPolicy: {{ .Values.basic.image_pull_policy }} 161 name: kube-state-metrics 162 ports: 163 - name: http-metrics 164 containerPort: 8080 165 readinessProbe: 166 httpGet: 167 path: /healthz 168 port: 8080 169 initialDelaySeconds: 5 170 timeoutSeconds: 5 171 dnsPolicy: ClusterFirst 172 {{ if .Values.custom.metrics_enable }} 173 nodeSelector: 174 node.kubernetes.io/instance-type: controlpanel 175 {{ end }} 176 serviceAccountName: kube-state-metrics 177 --- 178 apiVersion: v1 179 kind: Service 180 metadata: 181 labels: 182 app.kubernetes.io/name: kube-state-metrics 183 name: kube-state-metrics 184 namespace: {{ .Release.Namespace }} 185 annotations: 186 prometheus.io/path: /metrics 187 prometheus.io/port: "8080" 188 prometheus.io/scrape: "true" 189 spec: 190 ports: 191 - name: http-metrics 192 port: 8080 193 targetPort: http-metrics 194 - name: telemetry 195 port: 8081 196 targetPort: telemetry 197 selector: 198 k8s-app: kube-state-metrics 199 {{- end }}