diff --git a/kubernetes/deployment.yml b/kubernetes/deployment.yml deleted file mode 100644 index 01b7fa9167..0000000000 --- a/kubernetes/deployment.yml +++ /dev/null @@ -1,17 +0,0 @@ -apiVersion: extensions/v1beta1 -kind: Deployment -metadata: - name: kube-state-metrics-deployment -spec: - replicas: 1 - template: - metadata: - labels: - k8s-app: kube-state-metrics - version: "v0.4.1" - spec: - containers: - - name: kube-state-metrics - image: gcr.io/google_containers/kube-state-metrics:v0.4.1 - ports: - - containerPort: 8080 diff --git a/kubernetes/kube-state-metrics-cluster-role-binding.yaml b/kubernetes/kube-state-metrics-cluster-role-binding.yaml new file mode 100644 index 0000000000..3853625b9c --- /dev/null +++ b/kubernetes/kube-state-metrics-cluster-role-binding.yaml @@ -0,0 +1,13 @@ +apiVersion: rbac.authorization.k8s.io/v1alpha1 +kind: ClusterRoleBinding +metadata: + name: kube-state-metrics +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: kube-state-metrics +subjects: +- kind: ServiceAccount + name: kube-state-metrics + namespace: kube-system + diff --git a/kubernetes/clusterrole.yaml b/kubernetes/kube-state-metrics-cluster-role.yaml similarity index 91% rename from kubernetes/clusterrole.yaml rename to kubernetes/kube-state-metrics-cluster-role.yaml index fdbd41db05..68b2720644 100644 --- a/kubernetes/clusterrole.yaml +++ b/kubernetes/kube-state-metrics-cluster-role.yaml @@ -8,6 +8,7 @@ rules: - nodes - pods - resourcequotas + - replicationcontrollers verbs: ["list", "watch"] - apiGroups: ["extensions"] resources: @@ -15,3 +16,4 @@ rules: - deployments - replicasets verbs: ["list", "watch"] + diff --git a/kubernetes/kube-state-metrics-deployment.yaml b/kubernetes/kube-state-metrics-deployment.yaml new file mode 100644 index 0000000000..fd1c83b042 --- /dev/null +++ b/kubernetes/kube-state-metrics-deployment.yaml @@ -0,0 +1,33 @@ +apiVersion: extensions/v1beta1 +kind: Deployment +metadata: + name: kube-state-metrics + namespace: kube-system +spec: + replicas: 2 + template: + metadata: + labels: + k8s-app: kube-state-metrics + spec: + serviceAccountName: kube-state-metrics + containers: + - name: kube-state-metrics + image: gcr.io/google_containers/kube-state-metrics:v0.4.1 + ports: + - name: http-metrics + containerPort: 8080 + readinessProbe: + httpGet: + path: /healthz + port: 8080 + initialDelaySeconds: 5 + timeoutSeconds: 5 + resources: + requests: + memory: 30Mi + cpu: 100m + limits: + memory: 50Mi + cpu: 200m + diff --git a/kubernetes/kube-state-metrics-service-account.yaml b/kubernetes/kube-state-metrics-service-account.yaml new file mode 100644 index 0000000000..ab22e8d97c --- /dev/null +++ b/kubernetes/kube-state-metrics-service-account.yaml @@ -0,0 +1,6 @@ +apiVersion: v1 +kind: ServiceAccount +metadata: + name: kube-state-metrics + namespace: kube-system + diff --git a/kubernetes/service.yaml b/kubernetes/kube-state-metrics-service.yaml similarity index 83% rename from kubernetes/service.yaml rename to kubernetes/kube-state-metrics-service.yaml index f983380b91..f930197728 100644 --- a/kubernetes/service.yaml +++ b/kubernetes/kube-state-metrics-service.yaml @@ -1,15 +1,18 @@ apiVersion: v1 kind: Service metadata: - annotations: - prometheus.io/scrape: 'true' name: kube-state-metrics + namespace: kube-system labels: k8s-app: kube-state-metrics + annotations: + prometheus.io/scrape: 'true' spec: ports: - name: http-metrics port: 8080 + targetPort: http-metrics protocol: TCP selector: k8s-app: kube-state-metrics +