From 31fb04fa98e34773e18bd32d5aa4dfc554a9b83e Mon Sep 17 00:00:00 2001 From: Marek Siarkowicz Date: Thu, 21 Nov 2019 19:08:55 +0100 Subject: [PATCH] Remove cluster-monitoring Heapster is deprecated and no longer supported --- cluster/addons/cluster-monitoring/OWNERS | 9 - cluster/addons/cluster-monitoring/README.md | 21 --- .../google/heapster-controller.yaml | 159 ----------------- .../google/heapster-service.yaml | 15 -- .../heapster-controller-combined.yaml | 160 ------------------ .../cluster-monitoring/heapster-rbac.yaml | 60 ------- .../influxdb/grafana-service.yaml | 19 --- .../influxdb/heapster-controller.yaml | 159 ----------------- .../influxdb/heapster-service.yaml | 15 -- .../influxdb/influxdb-grafana-controller.yaml | 84 --------- .../influxdb/influxdb-service.yaml | 19 --- .../stackdriver/heapster-controller.yaml | 126 -------------- .../stackdriver/heapster-service.yaml | 15 -- .../standalone/heapster-controller.yaml | 104 ------------ .../standalone/heapster-service.yaml | 15 -- cluster/gce/config-default.sh | 9 - cluster/gce/config-test.sh | 9 - cluster/gce/gci/configure-helper.sh | 58 +------ cluster/gce/util.sh | 1 - hack/ginkgo-e2e.sh | 1 - test/e2e/framework/test_context.go | 3 - test/kubemark/gce/util.sh | 1 - 22 files changed, 1 insertion(+), 1061 deletions(-) delete mode 100644 cluster/addons/cluster-monitoring/OWNERS delete mode 100644 cluster/addons/cluster-monitoring/README.md delete mode 100644 cluster/addons/cluster-monitoring/google/heapster-controller.yaml delete mode 100644 cluster/addons/cluster-monitoring/google/heapster-service.yaml delete mode 100644 cluster/addons/cluster-monitoring/googleinfluxdb/heapster-controller-combined.yaml delete mode 100644 cluster/addons/cluster-monitoring/heapster-rbac.yaml delete mode 100644 cluster/addons/cluster-monitoring/influxdb/grafana-service.yaml delete mode 100644 cluster/addons/cluster-monitoring/influxdb/heapster-controller.yaml delete mode 100644 cluster/addons/cluster-monitoring/influxdb/heapster-service.yaml delete mode 100644 cluster/addons/cluster-monitoring/influxdb/influxdb-grafana-controller.yaml delete mode 100644 cluster/addons/cluster-monitoring/influxdb/influxdb-service.yaml delete mode 100644 cluster/addons/cluster-monitoring/stackdriver/heapster-controller.yaml delete mode 100644 cluster/addons/cluster-monitoring/stackdriver/heapster-service.yaml delete mode 100644 cluster/addons/cluster-monitoring/standalone/heapster-controller.yaml delete mode 100644 cluster/addons/cluster-monitoring/standalone/heapster-service.yaml diff --git a/cluster/addons/cluster-monitoring/OWNERS b/cluster/addons/cluster-monitoring/OWNERS deleted file mode 100644 index cafc46b4595..00000000000 --- a/cluster/addons/cluster-monitoring/OWNERS +++ /dev/null @@ -1,9 +0,0 @@ -# See the OWNERS docs at https://go.k8s.io/owners - -approvers: -- kawych -- sig-instrumentation-approvers -reviewers: -- sig-instrumentation-reviewers -labels: -- sig/instrumentation \ No newline at end of file diff --git a/cluster/addons/cluster-monitoring/README.md b/cluster/addons/cluster-monitoring/README.md deleted file mode 100644 index 6642d9108de..00000000000 --- a/cluster/addons/cluster-monitoring/README.md +++ /dev/null @@ -1,21 +0,0 @@ -# Kubernetes Monitoring - -[Heapster](https://github.com/kubernetes/heapster) enables monitoring and performance analysis in Kubernetes Clusters. -Heapster collects signals from kubelets and the api server, processes them, and exports them via REST APIs or to a configurable timeseries storage backend. - -More details can be found in [Monitoring user guide](http://kubernetes.io/docs/user-guide/monitoring/). - -## Troubleshooting - -Heapster supports up to 30 pods per cluster node. In clusters where there are more running pods, Heapster may be throttled or fail with OOM error. Starting with Kubernetes 1.9.2, Heapster resource requirements may be overwritten manually. [Learn more about Addon Resizer configuration](https://github.com/kubernetes/autoscaler/tree/master/addon-resizer#addon-resizer-configuration) - -### Important notices - -Decreasing resource requirements for cluster addons may cause system instability. The effects may include (but are not limited to): - - Metrics not being exported - - Horizontal Pod Autoscaler not working - - `kubectl top` not working - -Overwritten configuration persists through cluster updates, therefore may cause all effects above after a cluster update. - -[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/cluster/addons/cluster-monitoring/README.md?pixel)]() diff --git a/cluster/addons/cluster-monitoring/google/heapster-controller.yaml b/cluster/addons/cluster-monitoring/google/heapster-controller.yaml deleted file mode 100644 index 8300ac3b91c..00000000000 --- a/cluster/addons/cluster-monitoring/google/heapster-controller.yaml +++ /dev/null @@ -1,159 +0,0 @@ -apiVersion: v1 -kind: ServiceAccount -metadata: - name: heapster - namespace: kube-system - labels: - addonmanager.kubernetes.io/mode: Reconcile ---- -apiVersion: v1 -kind: ConfigMap -metadata: - name: heapster-config - namespace: kube-system - labels: - addonmanager.kubernetes.io/mode: EnsureExists -data: - NannyConfiguration: |- - apiVersion: nannyconfig/v1alpha1 - kind: NannyConfiguration ---- -apiVersion: v1 -kind: ConfigMap -metadata: - name: eventer-config - namespace: kube-system - labels: - addonmanager.kubernetes.io/mode: EnsureExists -data: - NannyConfiguration: |- - apiVersion: nannyconfig/v1alpha1 - kind: NannyConfiguration ---- -apiVersion: apps/v1 -kind: Deployment -metadata: - name: heapster-v1.6.0-beta.1 - namespace: kube-system - labels: - k8s-app: heapster - addonmanager.kubernetes.io/mode: Reconcile - version: v1.6.0-beta.1 -spec: - replicas: 1 - selector: - matchLabels: - k8s-app: heapster - version: v1.6.0-beta.1 - template: - metadata: - labels: - k8s-app: heapster - version: v1.6.0-beta.1 - annotations: - seccomp.security.alpha.kubernetes.io/pod: 'docker/default' - spec: - priorityClassName: system-cluster-critical - securityContext: - supplementalGroups: [ 65534 ] - fsGroup: 65534 - containers: - - image: k8s.gcr.io/heapster-amd64:v1.6.0-beta.1 - name: heapster - livenessProbe: - httpGet: - path: /healthz - port: 8082 - scheme: HTTP - initialDelaySeconds: 180 - timeoutSeconds: 5 - command: - - /heapster - - --source=kubernetes.summary_api:'' - - --sink=gcm - - image: k8s.gcr.io/heapster-amd64:v1.6.0-beta.1 - name: eventer - command: - - /eventer - - --source=kubernetes:'' - - --sink=gcl - - image: k8s.gcr.io/addon-resizer:1.8.7 - name: heapster-nanny - resources: - limits: - cpu: 50m - memory: {{ nanny_memory }} - requests: - cpu: 50m - memory: {{ nanny_memory }} - volumeMounts: - - name: heapster-config-volume - mountPath: /etc/config - env: - - name: MY_POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - - name: MY_POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - command: - - /pod_nanny - - --config-dir=/etc/config - - --cpu={{ base_metrics_cpu }} - - --extra-cpu={{ metrics_cpu_per_node }}m - - --memory={{ base_metrics_memory }} - - --extra-memory={{metrics_memory_per_node}}Mi - - --threshold=5 - - --deployment=heapster-v1.6.0-beta.1 - - --container=heapster - - --poll-period=300000 - - --estimator=exponential - # Specifies the smallest cluster (defined in number of nodes) - # resources will be scaled to. - - --minClusterSize={{ heapster_min_cluster_size }} - - image: k8s.gcr.io/addon-resizer:1.8.7 - name: eventer-nanny - resources: - limits: - cpu: 50m - memory: {{ nanny_memory }} - requests: - cpu: 50m - memory: {{ nanny_memory }} - env: - - name: MY_POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - - name: MY_POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - volumeMounts: - - name: eventer-config-volume - mountPath: /etc/config - command: - - /pod_nanny - - --config-dir=/etc/config - - --cpu=100m - - --extra-cpu=0m - - --memory={{base_eventer_memory}} - - --extra-memory={{eventer_memory_per_node}}Ki - - --threshold=5 - - --deployment=heapster-v1.6.0-beta.1 - - --container=eventer - - --poll-period=300000 - - --estimator=exponential - volumes: - - name: heapster-config-volume - configMap: - name: heapster-config - - name: eventer-config-volume - configMap: - name: eventer-config - serviceAccountName: heapster - tolerations: - - key: "CriticalAddonsOnly" - operator: "Exists" diff --git a/cluster/addons/cluster-monitoring/google/heapster-service.yaml b/cluster/addons/cluster-monitoring/google/heapster-service.yaml deleted file mode 100644 index 972bfe6d64d..00000000000 --- a/cluster/addons/cluster-monitoring/google/heapster-service.yaml +++ /dev/null @@ -1,15 +0,0 @@ -kind: Service -apiVersion: v1 -metadata: - name: heapster - namespace: kube-system - labels: - kubernetes.io/cluster-service: "true" - addonmanager.kubernetes.io/mode: Reconcile - kubernetes.io/name: "Heapster" -spec: - ports: - - port: 80 - targetPort: 8082 - selector: - k8s-app: heapster diff --git a/cluster/addons/cluster-monitoring/googleinfluxdb/heapster-controller-combined.yaml b/cluster/addons/cluster-monitoring/googleinfluxdb/heapster-controller-combined.yaml deleted file mode 100644 index dda8e001a7e..00000000000 --- a/cluster/addons/cluster-monitoring/googleinfluxdb/heapster-controller-combined.yaml +++ /dev/null @@ -1,160 +0,0 @@ -apiVersion: v1 -kind: ServiceAccount -metadata: - name: heapster - namespace: kube-system - labels: - addonmanager.kubernetes.io/mode: Reconcile ---- -apiVersion: v1 -kind: ConfigMap -metadata: - name: heapster-config - namespace: kube-system - labels: - addonmanager.kubernetes.io/mode: EnsureExists -data: - NannyConfiguration: |- - apiVersion: nannyconfig/v1alpha1 - kind: NannyConfiguration ---- -apiVersion: v1 -kind: ConfigMap -metadata: - name: eventer-config - namespace: kube-system - labels: - addonmanager.kubernetes.io/mode: EnsureExists -data: - NannyConfiguration: |- - apiVersion: nannyconfig/v1alpha1 - kind: NannyConfiguration ---- -apiVersion: apps/v1 -kind: Deployment -metadata: - name: heapster-v1.6.0-beta.1 - namespace: kube-system - labels: - k8s-app: heapster - addonmanager.kubernetes.io/mode: Reconcile - version: v1.6.0-beta.1 -spec: - replicas: 1 - selector: - matchLabels: - k8s-app: heapster - version: v1.6.0-beta.1 - template: - metadata: - labels: - k8s-app: heapster - version: v1.6.0-beta.1 - annotations: - seccomp.security.alpha.kubernetes.io/pod: 'docker/default' - spec: - priorityClassName: system-cluster-critical - securityContext: - supplementalGroups: [ 65534 ] - fsGroup: 65534 - containers: - - image: k8s.gcr.io/heapster-amd64:v1.6.0-beta.1 - name: heapster - livenessProbe: - httpGet: - path: /healthz - port: 8082 - scheme: HTTP - initialDelaySeconds: 180 - timeoutSeconds: 5 - command: - - /heapster - - --source=kubernetes.summary_api:'' - - --sink=influxdb:http://monitoring-influxdb:8086 - - --sink=gcm:?metrics=autoscaling - - image: k8s.gcr.io/heapster-amd64:v1.6.0-beta.1 - name: eventer - command: - - /eventer - - --source=kubernetes:'' - - --sink=gcl - - image: k8s.gcr.io/addon-resizer:1.8.7 - name: heapster-nanny - resources: - limits: - cpu: 50m - memory: {{ nanny_memory }} - requests: - cpu: 50m - memory: {{ nanny_memory }} - volumeMounts: - - name: heapster-config-volume - mountPath: /etc/config - env: - - name: MY_POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - - name: MY_POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - command: - - /pod_nanny - - --config-dir=/etc/config - - --cpu={{ base_metrics_cpu }} - - --extra-cpu={{ metrics_cpu_per_node }}m - - --memory={{ base_metrics_memory }} - - --extra-memory={{ metrics_memory_per_node }}Mi - - --threshold=5 - - --deployment=heapster-v1.6.0-beta.1 - - --container=heapster - - --poll-period=300000 - - --estimator=exponential - # Specifies the smallest cluster (defined in number of nodes) - # resources will be scaled to. - - --minClusterSize={{ heapster_min_cluster_size }} - - image: k8s.gcr.io/addon-resizer:1.8.7 - name: eventer-nanny - resources: - limits: - cpu: 50m - memory: {{ nanny_memory }} - requests: - cpu: 50m - memory: {{ nanny_memory }} - volumeMounts: - - name: eventer-config-volume - mountPath: /etc/config - env: - - name: MY_POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - - name: MY_POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - command: - - /pod_nanny - - --config-dir=/etc/config - - --cpu=100m - - --extra-cpu=0m - - --memory={{ base_eventer_memory }} - - --extra-memory={{ eventer_memory_per_node }}Ki - - --threshold=5 - - --deployment=heapster-v1.6.0-beta.1 - - --container=eventer - - --poll-period=300000 - - --estimator=exponential - volumes: - - name: heapster-config-volume - configMap: - name: heapster-config - - name: eventer-config-volume - configMap: - name: eventer-config - serviceAccountName: heapster - tolerations: - - key: "CriticalAddonsOnly" - operator: "Exists" diff --git a/cluster/addons/cluster-monitoring/heapster-rbac.yaml b/cluster/addons/cluster-monitoring/heapster-rbac.yaml deleted file mode 100644 index ce7ba4b244e..00000000000 --- a/cluster/addons/cluster-monitoring/heapster-rbac.yaml +++ /dev/null @@ -1,60 +0,0 @@ -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: heapster-binding - labels: - 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/v1 -kind: Role -metadata: - name: system:pod-nanny - namespace: kube-system - labels: - addonmanager.kubernetes.io/mode: Reconcile -rules: -- apiGroups: - - "" - resources: - - pods - - nodes - verbs: - - get - - list - - watch -- apiGroups: - - "apps" - resources: - - deployments - verbs: - - get - - update - - list - - watch ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: RoleBinding -metadata: - name: heapster-binding - namespace: kube-system - labels: - 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/cluster/addons/cluster-monitoring/influxdb/grafana-service.yaml b/cluster/addons/cluster-monitoring/influxdb/grafana-service.yaml deleted file mode 100644 index 3b60da6b9ff..00000000000 --- a/cluster/addons/cluster-monitoring/influxdb/grafana-service.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: monitoring-grafana - namespace: kube-system - labels: - kubernetes.io/cluster-service: "true" - addonmanager.kubernetes.io/mode: Reconcile - kubernetes.io/name: "Grafana" -spec: - # On production clusters, consider setting up auth for grafana, and - # exposing Grafana either using a LoadBalancer or a public IP. - # type: LoadBalancer - ports: - - port: 80 - protocol: TCP - targetPort: ui - selector: - k8s-app: influxGrafana diff --git a/cluster/addons/cluster-monitoring/influxdb/heapster-controller.yaml b/cluster/addons/cluster-monitoring/influxdb/heapster-controller.yaml deleted file mode 100644 index efd67318935..00000000000 --- a/cluster/addons/cluster-monitoring/influxdb/heapster-controller.yaml +++ /dev/null @@ -1,159 +0,0 @@ -apiVersion: v1 -kind: ServiceAccount -metadata: - name: heapster - namespace: kube-system - labels: - addonmanager.kubernetes.io/mode: Reconcile ---- -apiVersion: v1 -kind: ConfigMap -metadata: - name: heapster-config - namespace: kube-system - labels: - addonmanager.kubernetes.io/mode: EnsureExists -data: - NannyConfiguration: |- - apiVersion: nannyconfig/v1alpha1 - kind: NannyConfiguration ---- -apiVersion: v1 -kind: ConfigMap -metadata: - name: eventer-config - namespace: kube-system - labels: - addonmanager.kubernetes.io/mode: EnsureExists -data: - NannyConfiguration: |- - apiVersion: nannyconfig/v1alpha1 - kind: NannyConfiguration ---- -apiVersion: apps/v1 -kind: Deployment -metadata: - name: heapster-v1.6.0-beta.1 - namespace: kube-system - labels: - k8s-app: heapster - addonmanager.kubernetes.io/mode: Reconcile - version: v1.6.0-beta.1 -spec: - replicas: 1 - selector: - matchLabels: - k8s-app: heapster - version: v1.6.0-beta.1 - template: - metadata: - labels: - k8s-app: heapster - version: v1.6.0-beta.1 - annotations: - seccomp.security.alpha.kubernetes.io/pod: 'docker/default' - spec: - priorityClassName: system-cluster-critical - securityContext: - supplementalGroups: [ 65534 ] - fsGroup: 65534 - containers: - - image: k8s.gcr.io/heapster-amd64:v1.6.0-beta.1 - name: heapster - livenessProbe: - httpGet: - path: /healthz - port: 8082 - scheme: HTTP - initialDelaySeconds: 180 - timeoutSeconds: 5 - command: - - /heapster - - --source=kubernetes.summary_api:'' - - --sink=influxdb:http://monitoring-influxdb:8086 - - image: k8s.gcr.io/heapster-amd64:v1.6.0-beta.1 - name: eventer - command: - - /eventer - - --source=kubernetes:'' - - --sink=influxdb:http://monitoring-influxdb:8086 - - image: k8s.gcr.io/addon-resizer:1.8.7 - name: heapster-nanny - resources: - limits: - cpu: 50m - memory: {{ nanny_memory }} - requests: - cpu: 50m - memory: {{ nanny_memory }} - env: - - name: MY_POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - - name: MY_POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - volumeMounts: - - name: heapster-config-volume - mountPath: /etc/config - command: - - /pod_nanny - - --config-dir=/etc/config - - --cpu={{ base_metrics_cpu }} - - --extra-cpu={{ metrics_cpu_per_node }}m - - --memory={{ base_metrics_memory }} - - --extra-memory={{ metrics_memory_per_node }}Mi - - --threshold=5 - - --deployment=heapster-v1.6.0-beta.1 - - --container=heapster - - --poll-period=300000 - - --estimator=exponential - # Specifies the smallest cluster (defined in number of nodes) - # resources will be scaled to. - - --minClusterSize={{ heapster_min_cluster_size }} - - image: k8s.gcr.io/addon-resizer:1.8.7 - name: eventer-nanny - resources: - limits: - cpu: 50m - memory: {{ nanny_memory }} - requests: - cpu: 50m - memory: {{ nanny_memory }} - env: - - name: MY_POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - - name: MY_POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - volumeMounts: - - name: eventer-config-volume - mountPath: /etc/config - command: - - /pod_nanny - - --config-dir=/etc/config - - --cpu=100m - - --extra-cpu=0m - - --memory={{ base_eventer_memory }} - - --extra-memory={{ eventer_memory_per_node }}Ki - - --threshold=5 - - --deployment=heapster-v1.6.0-beta.1 - - --container=eventer - - --poll-period=300000 - - --estimator=exponential - volumes: - - name: heapster-config-volume - configMap: - name: heapster-config - - name: eventer-config-volume - configMap: - name: eventer-config - serviceAccountName: heapster - tolerations: - - key: "CriticalAddonsOnly" - operator: "Exists" diff --git a/cluster/addons/cluster-monitoring/influxdb/heapster-service.yaml b/cluster/addons/cluster-monitoring/influxdb/heapster-service.yaml deleted file mode 100644 index 972bfe6d64d..00000000000 --- a/cluster/addons/cluster-monitoring/influxdb/heapster-service.yaml +++ /dev/null @@ -1,15 +0,0 @@ -kind: Service -apiVersion: v1 -metadata: - name: heapster - namespace: kube-system - labels: - kubernetes.io/cluster-service: "true" - addonmanager.kubernetes.io/mode: Reconcile - kubernetes.io/name: "Heapster" -spec: - ports: - - port: 80 - targetPort: 8082 - selector: - k8s-app: heapster diff --git a/cluster/addons/cluster-monitoring/influxdb/influxdb-grafana-controller.yaml b/cluster/addons/cluster-monitoring/influxdb/influxdb-grafana-controller.yaml deleted file mode 100644 index 769683b9c30..00000000000 --- a/cluster/addons/cluster-monitoring/influxdb/influxdb-grafana-controller.yaml +++ /dev/null @@ -1,84 +0,0 @@ -kind: Deployment -apiVersion: apps/v1 -metadata: - name: monitoring-influxdb-grafana-v4 - namespace: kube-system - labels: - k8s-app: influxGrafana - version: v4 - addonmanager.kubernetes.io/mode: Reconcile -spec: - replicas: 1 - selector: - matchLabels: - k8s-app: influxGrafana - version: v4 - template: - metadata: - labels: - k8s-app: influxGrafana - version: v4 - annotations: - seccomp.security.alpha.kubernetes.io/pod: 'docker/default' - spec: - priorityClassName: system-cluster-critical - tolerations: - - key: node-role.kubernetes.io/master - effect: NoSchedule - - key: "CriticalAddonsOnly" - operator: "Exists" - containers: - - name: influxdb - image: k8s.gcr.io/heapster-influxdb-amd64:v1.3.3 - resources: - limits: - cpu: 100m - memory: 500Mi - requests: - cpu: 100m - memory: 500Mi - ports: - - name: http - containerPort: 8083 - - name: api - containerPort: 8086 - volumeMounts: - - name: influxdb-persistent-storage - mountPath: /data - - name: grafana - image: k8s.gcr.io/heapster-grafana-amd64:v4.4.3 - resources: - # keep request = limit to keep this container in guaranteed class - limits: - cpu: 100m - memory: 100Mi - requests: - cpu: 100m - memory: 100Mi - env: - # This variable is required to setup templates in Grafana. - - name: INFLUXDB_SERVICE_URL - value: http://monitoring-influxdb:8086 - # The following env variables are required to make Grafana accessible via - # the kubernetes api-server proxy. On production clusters, we recommend - # removing these env variables, setup auth for grafana, and expose the grafana - # service using a LoadBalancer or a public IP. - - name: GF_AUTH_BASIC_ENABLED - value: "false" - - name: GF_AUTH_ANONYMOUS_ENABLED - value: "true" - - name: GF_AUTH_ANONYMOUS_ORG_ROLE - value: Admin - - name: GF_SERVER_ROOT_URL - value: /api/v1/namespaces/kube-system/services/monitoring-grafana/proxy/ - ports: - - name: ui - containerPort: 3000 - volumeMounts: - - name: grafana-persistent-storage - mountPath: /var - volumes: - - name: influxdb-persistent-storage - emptyDir: {} - - name: grafana-persistent-storage - emptyDir: {} diff --git a/cluster/addons/cluster-monitoring/influxdb/influxdb-service.yaml b/cluster/addons/cluster-monitoring/influxdb/influxdb-service.yaml deleted file mode 100644 index 85110d95560..00000000000 --- a/cluster/addons/cluster-monitoring/influxdb/influxdb-service.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: monitoring-influxdb - namespace: kube-system - labels: - kubernetes.io/cluster-service: "true" - addonmanager.kubernetes.io/mode: Reconcile - kubernetes.io/name: "InfluxDB" -spec: - ports: - - name: http - port: 8083 - targetPort: 8083 - - name: api - port: 8086 - targetPort: 8086 - selector: - k8s-app: influxGrafana diff --git a/cluster/addons/cluster-monitoring/stackdriver/heapster-controller.yaml b/cluster/addons/cluster-monitoring/stackdriver/heapster-controller.yaml deleted file mode 100644 index 388fa5d4851..00000000000 --- a/cluster/addons/cluster-monitoring/stackdriver/heapster-controller.yaml +++ /dev/null @@ -1,126 +0,0 @@ -apiVersion: v1 -kind: ServiceAccount -metadata: - name: heapster - namespace: kube-system - labels: - addonmanager.kubernetes.io/mode: Reconcile ---- -apiVersion: v1 -kind: ConfigMap -metadata: - name: heapster-config - namespace: kube-system - labels: - addonmanager.kubernetes.io/mode: EnsureExists -data: - NannyConfiguration: |- - apiVersion: nannyconfig/v1alpha1 - kind: NannyConfiguration ---- -apiVersion: apps/v1 -kind: Deployment -metadata: - name: heapster-v1.6.0-beta.1 - namespace: kube-system - labels: - k8s-app: heapster - addonmanager.kubernetes.io/mode: Reconcile - version: v1.6.0-beta.1 -spec: - replicas: 1 - selector: - matchLabels: - k8s-app: heapster - version: v1.6.0-beta.1 - template: - metadata: - labels: - k8s-app: heapster - version: v1.6.0-beta.1 - annotations: - seccomp.security.alpha.kubernetes.io/pod: 'docker/default' - spec: - priorityClassName: system-cluster-critical - securityContext: - supplementalGroups: [ 65534 ] - fsGroup: 65534 - containers: - - image: k8s.gcr.io/heapster-amd64:v1.6.0-beta.1 - name: heapster - livenessProbe: - httpGet: - path: /healthz - port: 8082 - scheme: HTTP - initialDelaySeconds: 180 - timeoutSeconds: 5 - command: - # On GCP, container.googleapis.com/instance_id node annotation is used to provide instance_id label for Stackdriver - - /heapster - - --source=kubernetes.summary_api:?host_id_annotation=container.googleapis.com/instance_id - - --sink=stackdriver:?cluster_name={{ cluster_name }}&use_old_resources={{ use_old_resources }}&use_new_resources={{ use_new_resources }}&min_interval_sec=100&batch_export_timeout_sec=110&cluster_location={{ cluster_location }} - # BEGIN_PROMETHEUS_TO_SD - - name: prom-to-sd - image: k8s.gcr.io/prometheus-to-sd:v0.5.0 - command: - - /monitor - - --source=heapster:http://localhost:8082?whitelisted=stackdriver_requests_count,stackdriver_timeseries_count - - --stackdriver-prefix={{ prometheus_to_sd_prefix }}/addons - - --api-override={{ prometheus_to_sd_endpoint }} - - --pod-id=$(POD_NAME) - - --namespace-id=$(POD_NAMESPACE) - env: - - name: POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - - name: POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - # END_PROMETHEUS_TO_SD - - image: k8s.gcr.io/addon-resizer:1.8.7 - name: heapster-nanny - resources: - limits: - cpu: 50m - memory: {{ nanny_memory }} - requests: - cpu: 50m - memory: {{ nanny_memory }} - volumeMounts: - - name: heapster-config-volume - mountPath: /etc/config - env: - - name: MY_POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - - name: MY_POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - command: - - /pod_nanny - - --config-dir=/etc/config - - --cpu={{ base_metrics_cpu }} - - --extra-cpu={{ metrics_cpu_per_node }}m - - --memory={{ base_metrics_memory }} - - --extra-memory={{metrics_memory_per_node}}Mi - - --threshold=5 - - --deployment=heapster-v1.6.0-beta.1 - - --container=heapster - - --poll-period=300000 - - --estimator=exponential - # Specifies the smallest cluster (defined in number of nodes) - # resources will be scaled to. - - --minClusterSize={{ heapster_min_cluster_size }} - volumes: - - name: heapster-config-volume - configMap: - name: heapster-config - serviceAccountName: heapster - tolerations: - - key: "CriticalAddonsOnly" - operator: "Exists" diff --git a/cluster/addons/cluster-monitoring/stackdriver/heapster-service.yaml b/cluster/addons/cluster-monitoring/stackdriver/heapster-service.yaml deleted file mode 100644 index 972bfe6d64d..00000000000 --- a/cluster/addons/cluster-monitoring/stackdriver/heapster-service.yaml +++ /dev/null @@ -1,15 +0,0 @@ -kind: Service -apiVersion: v1 -metadata: - name: heapster - namespace: kube-system - labels: - kubernetes.io/cluster-service: "true" - addonmanager.kubernetes.io/mode: Reconcile - kubernetes.io/name: "Heapster" -spec: - ports: - - port: 80 - targetPort: 8082 - selector: - k8s-app: heapster diff --git a/cluster/addons/cluster-monitoring/standalone/heapster-controller.yaml b/cluster/addons/cluster-monitoring/standalone/heapster-controller.yaml deleted file mode 100644 index aee470684d9..00000000000 --- a/cluster/addons/cluster-monitoring/standalone/heapster-controller.yaml +++ /dev/null @@ -1,104 +0,0 @@ -apiVersion: v1 -kind: ServiceAccount -metadata: - name: heapster - namespace: kube-system - labels: - addonmanager.kubernetes.io/mode: Reconcile ---- -apiVersion: v1 -kind: ConfigMap -metadata: - name: heapster-config - namespace: kube-system - labels: - addonmanager.kubernetes.io/mode: EnsureExists -data: - NannyConfiguration: |- - apiVersion: nannyconfig/v1alpha1 - kind: NannyConfiguration ---- -apiVersion: apps/v1 -kind: Deployment -metadata: - name: heapster-v1.6.0-beta.1 - namespace: kube-system - labels: - k8s-app: heapster - addonmanager.kubernetes.io/mode: Reconcile - version: v1.6.0-beta.1 -spec: - replicas: 1 - selector: - matchLabels: - k8s-app: heapster - version: v1.6.0-beta.1 - template: - metadata: - labels: - k8s-app: heapster - version: v1.6.0-beta.1 - annotations: - seccomp.security.alpha.kubernetes.io/pod: 'docker/default' - spec: - priorityClassName: system-cluster-critical - securityContext: - supplementalGroups: [ 65534 ] - fsGroup: 65534 - containers: - - image: k8s.gcr.io/heapster-amd64:v1.6.0-beta.1 - name: heapster - livenessProbe: - httpGet: - path: /healthz - port: 8082 - scheme: HTTP - initialDelaySeconds: 180 - timeoutSeconds: 5 - command: - - /heapster - - --source=kubernetes.summary_api:'' - - image: k8s.gcr.io/addon-resizer:1.8.7 - name: heapster-nanny - resources: - limits: - cpu: 50m - memory: {{ nanny_memory }} - requests: - cpu: 50m - memory: {{ nanny_memory }} - env: - - name: MY_POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - - name: MY_POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - volumeMounts: - - name: heapster-config-volume - mountPath: /etc/config - command: - - /pod_nanny - - --config-dir=/etc/config - - --cpu={{ base_metrics_cpu }} - - --extra-cpu={{ metrics_cpu_per_node }}m - - --memory={{ base_metrics_memory }} - - --extra-memory={{ metrics_memory_per_node }}Mi - - --threshold=5 - - --deployment=heapster-v1.6.0-beta.1 - - --container=heapster - - --poll-period=300000 - - --estimator=exponential - # Specifies the smallest cluster (defined in number of nodes) - # resources will be scaled to. - - --minClusterSize={{ heapster_min_cluster_size }} - volumes: - - name: heapster-config-volume - configMap: - name: heapster-config - serviceAccountName: heapster - tolerations: - - key: "CriticalAddonsOnly" - operator: "Exists" diff --git a/cluster/addons/cluster-monitoring/standalone/heapster-service.yaml b/cluster/addons/cluster-monitoring/standalone/heapster-service.yaml deleted file mode 100644 index 972bfe6d64d..00000000000 --- a/cluster/addons/cluster-monitoring/standalone/heapster-service.yaml +++ /dev/null @@ -1,15 +0,0 @@ -kind: Service -apiVersion: v1 -metadata: - name: heapster - namespace: kube-system - labels: - kubernetes.io/cluster-service: "true" - addonmanager.kubernetes.io/mode: Reconcile - kubernetes.io/name: "Heapster" -spec: - ports: - - port: 80 - targetPort: 8082 - selector: - k8s-app: heapster diff --git a/cluster/gce/config-default.sh b/cluster/gce/config-default.sh index 17cae504fc4..9ad04fc1f61 100755 --- a/cluster/gce/config-default.sh +++ b/cluster/gce/config-default.sh @@ -149,15 +149,6 @@ ENABLE_DOCKER_REGISTRY_CACHE=true # glbc - CE L7 Load Balancer Controller ENABLE_L7_LOADBALANCING="${KUBE_ENABLE_L7_LOADBALANCING:-glbc}" -# Optional: Cluster monitoring to setup as part of the cluster bring up: -# none - No cluster monitoring setup -# influxdb - Heapster, InfluxDB, and Grafana -# google - Heapster, Google Cloud Monitoring, and Google Cloud Logging -# stackdriver - Heapster, Google Cloud Monitoring (schema container), and Google Cloud Logging -# googleinfluxdb - Enable influxdb and google (except GCM) -# standalone - Heapster only. Metrics available via Heapster REST API. -ENABLE_CLUSTER_MONITORING="${KUBE_ENABLE_CLUSTER_MONITORING:-standalone}" - # Optional: Enable Metrics Server. Metrics Server should be enable everywhere, # since it's a critical component, but in the first release we need a way to disable # this in case of stability issues. diff --git a/cluster/gce/config-test.sh b/cluster/gce/config-test.sh index 319185a8cd8..a099c6cfc69 100755 --- a/cluster/gce/config-test.sh +++ b/cluster/gce/config-test.sh @@ -161,15 +161,6 @@ ENABLE_DOCKER_REGISTRY_CACHE=true # glbc - CE L7 Load Balancer Controller ENABLE_L7_LOADBALANCING="${KUBE_ENABLE_L7_LOADBALANCING:-glbc}" -# Optional: Cluster monitoring to setup as part of the cluster bring up: -# none - No cluster monitoring setup -# influxdb - Heapster, InfluxDB, and Grafana -# google - Heapster, Google Cloud Monitoring, and Google Cloud Logging -# stackdriver - Heapster, Google Cloud Monitoring (schema container), and Google Cloud Logging -# googleinfluxdb - Enable influxdb and google (except GCM) -# standalone - Heapster only. Metrics available via Heapster REST API. -ENABLE_CLUSTER_MONITORING="${KUBE_ENABLE_CLUSTER_MONITORING:-standalone}" - # Optional: Enable Metrics Server. Metrics Server should be enable everywhere, # since it's a critical component, but in the first release we need a way to disable # this in case of stability issues. diff --git a/cluster/gce/gci/configure-helper.sh b/cluster/gce/gci/configure-helper.sh index 5521fa37f54..595d9d57a4e 100644 --- a/cluster/gce/gci/configure-helper.sh +++ b/cluster/gce/gci/configure-helper.sh @@ -2324,63 +2324,7 @@ EOF prepare-kube-proxy-manifest-variables "$src_dir/kube-proxy/kube-proxy-ds.yaml" setup-addon-manifests "addons" "kube-proxy" fi - # Setup cluster monitoring using heapster - if [[ "${ENABLE_CLUSTER_MONITORING:-}" == "influxdb" ]] || \ - [[ "${ENABLE_CLUSTER_MONITORING:-}" == "google" ]] || \ - [[ "${ENABLE_CLUSTER_MONITORING:-}" == "stackdriver" ]] || \ - [[ "${ENABLE_CLUSTER_MONITORING:-}" == "standalone" ]] || \ - [[ "${ENABLE_CLUSTER_MONITORING:-}" == "googleinfluxdb" ]]; then - local -r file_dir="cluster-monitoring/${ENABLE_CLUSTER_MONITORING}" - setup-addon-manifests "addons" "cluster-monitoring" - setup-addon-manifests "addons" "${file_dir}" - # Replace the salt configurations with variable values. - base_metrics_memory="${HEAPSTER_GCP_BASE_MEMORY:-140Mi}" - base_eventer_memory="190Mi" - base_metrics_cpu="${HEAPSTER_GCP_BASE_CPU:-80m}" - nanny_memory="90Mi" - local heapster_min_cluster_size="16" - local metrics_memory_per_node="${HEAPSTER_GCP_MEMORY_PER_NODE:-4}" - local -r metrics_cpu_per_node="${HEAPSTER_GCP_CPU_PER_NODE:-0.5}" - local -r eventer_memory_per_node="500" - local -r nanny_memory_per_node="200" - if [[ "${ENABLE_SYSTEM_ADDON_RESOURCE_OPTIMIZATIONS:-}" == "true" ]]; then - base_metrics_memory="${HEAPSTER_GCP_BASE_MEMORY:-100Mi}" - base_metrics_cpu="${HEAPSTER_GCP_BASE_CPU:-10m}" - metrics_memory_per_node="${HEAPSTER_GCP_MEMORY_PER_NODE:-4}" - heapster_min_cluster_size="5" - fi - if [[ -n "${NUM_NODES:-}" && "${NUM_NODES}" -ge 1 ]]; then - num_kube_nodes="$((${NUM_NODES}+1))" - nanny_memory="$((${num_kube_nodes} * ${nanny_memory_per_node} + 90 * 1024))Ki" - fi - controller_yaml="${dst_dir}/${file_dir}" - if [[ "${ENABLE_CLUSTER_MONITORING:-}" == "googleinfluxdb" ]]; then - controller_yaml="${controller_yaml}/heapster-controller-combined.yaml" - else - controller_yaml="${controller_yaml}/heapster-controller.yaml" - fi - - sed -i -e "s@{{ cluster_name }}@${CLUSTER_NAME}@g" "${controller_yaml}" - sed -i -e "s@{{ cluster_location }}@${ZONE}@g" "${controller_yaml}" - sed -i -e "s@{{ *base_metrics_memory *}}@${base_metrics_memory}@g" "${controller_yaml}" - sed -i -e "s@{{ *base_metrics_cpu *}}@${base_metrics_cpu}@g" "${controller_yaml}" - sed -i -e "s@{{ *base_eventer_memory *}}@${base_eventer_memory}@g" "${controller_yaml}" - sed -i -e "s@{{ *metrics_memory_per_node *}}@${metrics_memory_per_node}@g" "${controller_yaml}" - sed -i -e "s@{{ *eventer_memory_per_node *}}@${eventer_memory_per_node}@g" "${controller_yaml}" - sed -i -e "s@{{ *nanny_memory *}}@${nanny_memory}@g" "${controller_yaml}" - sed -i -e "s@{{ *metrics_cpu_per_node *}}@${metrics_cpu_per_node}@g" "${controller_yaml}" - sed -i -e "s@{{ *heapster_min_cluster_size *}}@${heapster_min_cluster_size}@g" "${controller_yaml}" - update-prometheus-to-sd-parameters ${controller_yaml} - - if [[ "${ENABLE_CLUSTER_MONITORING:-}" == "stackdriver" ]]; then - use_old_resources="${HEAPSTER_USE_OLD_STACKDRIVER_RESOURCES:-true}" - use_new_resources="${HEAPSTER_USE_NEW_STACKDRIVER_RESOURCES:-false}" - sed -i -e "s@{{ use_old_resources }}@${use_old_resources}@g" "${controller_yaml}" - sed -i -e "s@{{ use_new_resources }}@${use_new_resources}@g" "${controller_yaml}" - fi - fi - if [[ "${ENABLE_CLUSTER_MONITORING:-}" == "stackdriver" ]] || - ([[ "${ENABLE_CLUSTER_LOGGING:-}" == "true" ]] && + if ([[ "${ENABLE_CLUSTER_LOGGING:-}" == "true" ]] && [[ "${LOGGING_DESTINATION:-}" == "gcp" ]]); then if [[ "${ENABLE_METADATA_AGENT:-}" == "stackdriver" ]]; then metadata_agent_cpu_request="${METADATA_AGENT_CPU_REQUEST:-40m}" diff --git a/cluster/gce/util.sh b/cluster/gce/util.sh index 49c2e6f9ec9..29cbc5ea8be 100755 --- a/cluster/gce/util.sh +++ b/cluster/gce/util.sh @@ -1127,7 +1127,6 @@ NETWORK_PROJECT_ID: $(yaml-quote ${NETWORK_PROJECT}) SERVICE_CLUSTER_IP_RANGE: $(yaml-quote ${SERVICE_CLUSTER_IP_RANGE}) KUBERNETES_MASTER_NAME: $(yaml-quote ${KUBERNETES_MASTER_NAME}) ALLOCATE_NODE_CIDRS: $(yaml-quote ${ALLOCATE_NODE_CIDRS:-false}) -ENABLE_CLUSTER_MONITORING: $(yaml-quote ${ENABLE_CLUSTER_MONITORING:-none}) ENABLE_METRICS_SERVER: $(yaml-quote ${ENABLE_METRICS_SERVER:-false}) ENABLE_METADATA_AGENT: $(yaml-quote ${ENABLE_METADATA_AGENT:-none}) METADATA_AGENT_CPU_REQUEST: $(yaml-quote ${METADATA_AGENT_CPU_REQUEST:-}) diff --git a/hack/ginkgo-e2e.sh b/hack/ginkgo-e2e.sh index 927c1fd1882..f3c21a9c194 100755 --- a/hack/ginkgo-e2e.sh +++ b/hack/ginkgo-e2e.sh @@ -166,7 +166,6 @@ export PATH --network="${KUBE_GCE_NETWORK:-${KUBE_GKE_NETWORK:-e2e}}" \ --node-tag="${NODE_TAG:-}" \ --master-tag="${MASTER_TAG:-}" \ - --cluster-monitoring-mode="${KUBE_ENABLE_CLUSTER_MONITORING:-standalone}" \ --dns-domain="${KUBE_DNS_DOMAIN:-cluster.local}" \ --ginkgo.slowSpecThreshold="${GINKGO_SLOW_SPEC_THRESHOLD:-300}" \ ${KUBE_CONTAINER_RUNTIME:+"--container-runtime=${KUBE_CONTAINER_RUNTIME}"} \ diff --git a/test/e2e/framework/test_context.go b/test/e2e/framework/test_context.go index bb113c18209..dedd1576111 100644 --- a/test/e2e/framework/test_context.go +++ b/test/e2e/framework/test_context.go @@ -149,8 +149,6 @@ type TestContextType struct { FeatureGates map[string]bool // Node e2e specific test context NodeTestContextType - // Monitoring solution that is used in current cluster. - ClusterMonitoringMode string // Indicates what path the kubernetes-anywhere is installed on KubernetesAnywherePath string @@ -315,7 +313,6 @@ func RegisterClusterFlags(flags *flag.FlagSet) { flags.StringVar(&TestContext.Prefix, "prefix", "e2e", "A prefix to be added to cloud resources created during testing.") flags.StringVar(&TestContext.MasterOSDistro, "master-os-distro", "debian", "The OS distribution of cluster master (debian, ubuntu, gci, coreos, or custom).") flags.StringVar(&TestContext.NodeOSDistro, "node-os-distro", "debian", "The OS distribution of cluster VM instances (debian, ubuntu, gci, coreos, or custom).") - flags.StringVar(&TestContext.ClusterMonitoringMode, "cluster-monitoring-mode", "standalone", "The monitoring solution that is used in the cluster.") flags.StringVar(&TestContext.ClusterDNSDomain, "dns-domain", "cluster.local", "The DNS Domain of the cluster.") // TODO: Flags per provider? Rename gce-project/gce-zone? diff --git a/test/kubemark/gce/util.sh b/test/kubemark/gce/util.sh index f62f523b0f7..356a07d1f45 100644 --- a/test/kubemark/gce/util.sh +++ b/test/kubemark/gce/util.sh @@ -54,7 +54,6 @@ function create-kubemark-master { export KUBE_ENABLE_CLUSTER_DNS=false export KUBE_ENABLE_NODE_LOGGING=false export KUBE_ENABLE_METRICS_SERVER=false - export KUBE_ENABLE_CLUSTER_MONITORING="none" export KUBE_ENABLE_L7_LOADBALANCING="none" # Unset env variables set by kubetest for 'root cluster'. We need recompute them