diff --git a/addons/monitoring-standalone/addon.yaml b/addons/monitoring-standalone/addon.yaml index 9eb044d1111bf..f5ce000ded8ee 100644 --- a/addons/monitoring-standalone/addon.yaml +++ b/addons/monitoring-standalone/addon.yaml @@ -20,3 +20,8 @@ spec: k8s-addon: monitoring-standalone.addons.k8s.io manifest: v1.6.0.yaml kubernetesVersion: ">=1.6.0" +- version: 1.11.0 + selector: + k8s-addon: monitoring-standalone.addons.k8s.io + manifest: v1.11.0.yaml + kubernetesVersion: ">=1.11.0" diff --git a/addons/monitoring-standalone/v1.11.0.yaml b/addons/monitoring-standalone/v1.11.0.yaml new file mode 100644 index 0000000000000..1a80dc27f71cc --- /dev/null +++ b/addons/monitoring-standalone/v1.11.0.yaml @@ -0,0 +1,160 @@ +apiVersion: extensions/v1beta1 +kind: Deployment +metadata: + name: heapster + namespace: kube-system + labels: + k8s-addon: monitoring-standalone.addons.k8s.io + k8s-app: heapster + kubernetes.io/cluster-service: "true" + addonmanager.kubernetes.io/mode: Reconcile + version: v1.9.0 +spec: + replicas: 1 + selector: + matchLabels: + k8s-app: heapster + version: v1.9.0 + template: + metadata: + labels: + k8s-app: heapster + version: v1.9.0 + annotations: + scheduler.alpha.kubernetes.io/critical-pod: '' + spec: + serviceAccountName: heapster + containers: + - image: k8s.gcr.io/heapster-amd64:v1.5.3 + name: heapster + livenessProbe: + httpGet: + path: /healthz + port: 8082 + scheme: HTTP + initialDelaySeconds: 180 + timeoutSeconds: 5 + resources: + # keep request = limit to keep this container in guaranteed class + limits: + cpu: 100m + memory: 300Mi + requests: + cpu: 100m + memory: 300Mi + command: + - /heapster + - --source=kubernetes.summary_api:'' + - image: k8s.gcr.io/addon-resizer:1.8.3 + name: heapster-nanny + resources: + limits: + cpu: 50m + memory: 100Mi + requests: + cpu: 50m + memory: 100Mi + env: + - name: MY_POD_NAME + valueFrom: + fieldRef: + fieldPath: metadata.name + - name: MY_POD_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + command: + - /pod_nanny + - --cpu=80m + - --extra-cpu=0.5m + - --memory=140Mi + - --extra-memory=4Mi + - --deployment=heapster + - --container=heapster + - --poll-period=300000 + tolerations: + - key: "CriticalAddonsOnly" + operator: "Exists" +--- +apiVersion: v1 +kind: Service +metadata: + name: heapster + namespace: kube-system + labels: + k8s-addon: monitoring-standalone.addons.k8s.io + kubernetes.io/name: "Heapster" + kubernetes.io/cluster-service: "true" +spec: + ports: + - port: 80 + targetPort: 8082 + selector: + k8s-app: heapster +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + name: heapster + namespace: kube-system + labels: + k8s-addon: monitoring-standalone.addons.k8s.io +--- +apiVersion: rbac.authorization.k8s.io/v1beta1 +kind: ClusterRoleBinding +metadata: + name: heapster + labels: + k8s-addon: monitoring-standalone.addons.k8s.io + kubernetes.io/cluster-service: "true" + addonmanager.kubernetes.io/mode: Reconcile +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: system:heapster +subjects: +- kind: ServiceAccount + name: heapster + namespace: kube-system +--- +# Heapster's pod_nanny monitors the heapster deployment & its pod(s), and scales +# the resources of the deployment if necessary. +apiVersion: rbac.authorization.k8s.io/v1beta1 +kind: Role +metadata: + name: system:pod-nanny + namespace: kube-system + labels: + kubernetes.io/cluster-service: "true" + addonmanager.kubernetes.io/mode: Reconcile +rules: +- apiGroups: + - "" + resources: + - pods + verbs: + - get +- apiGroups: + - "extensions" + resources: + - deployments + verbs: + - get + - update +--- +apiVersion: rbac.authorization.k8s.io/v1beta1 +kind: RoleBinding +metadata: + name: heapster-binding + namespace: kube-system + labels: + kubernetes.io/cluster-service: "true" + addonmanager.kubernetes.io/mode: Reconcile +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: system:pod-nanny +subjects: +- kind: ServiceAccount + name: heapster + namespace: kube-system diff --git a/docs/addons.md b/docs/addons.md index 5a16ac053ddc2..c72dfafca60e4 100644 --- a/docs/addons.md +++ b/docs/addons.md @@ -57,8 +57,9 @@ Monitoring supports the horizontal pod autoscaler. Install using: ``` -kubectl create -f https://raw.githubusercontent.com/kubernetes/kops/master/addons/monitoring-standalone/v1.7.0.yaml +kubectl create -f https://raw.githubusercontent.com/kubernetes/kops/master/addons/monitoring-standalone/v1.11.0.yaml ``` +Please note that [heapster is deprecated](https://github.com/kubernetes/heapster/blob/master/docs/deprecation.md). Consider using [metrics-server](https://github.com/kubernetes-incubator/metrics-server] and a third party metrics pipeline to gather Prometheus-format metrics instead. ### Monitoring with Prometheus Operator + kube-prometheus