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 }}