From f87d80757d4b70e39f7518f1d906375c2658d0a1 Mon Sep 17 00:00:00 2001 From: Dalton Hubble Date: Wed, 13 Mar 2019 23:46:04 -0700 Subject: [PATCH] Remove heapster manifests from addons * Heapster addon powers `kubectl top` * In early Kubernetes, people legitimately used and expected `kubectl top` to work, so the optional addon was provided * Today the standards are different. Many better monitoring tools exist, that are also less coupled to Kubernetes `kubectl top` reliance on a non-core extensions means its not in-scope for minimal Kubernetes clusters * Finally, its just not that useful anymore and Heapster manifests have no need for Typhoon-specific modification so there's little value in maintaining them here * Look to prior releases if you still wish to apply heapster --- CHANGES.md | 4 ++ addons/heapster/cluster-role-binding.yaml | 12 ----- addons/heapster/cluster-role.yaml | 30 ----------- addons/heapster/deployment.yaml | 62 ----------------------- addons/heapster/role-binding.yaml | 13 ----- addons/heapster/role.yaml | 19 ------- addons/heapster/service-account.yaml | 5 -- addons/heapster/service.yaml | 12 ----- docs/addons/heapster.md | 19 ------- docs/addons/overview.md | 1 - mkdocs.yml | 1 - 11 files changed, 4 insertions(+), 174 deletions(-) delete mode 100644 addons/heapster/cluster-role-binding.yaml delete mode 100644 addons/heapster/cluster-role.yaml delete mode 100644 addons/heapster/deployment.yaml delete mode 100644 addons/heapster/role-binding.yaml delete mode 100644 addons/heapster/role.yaml delete mode 100644 addons/heapster/service-account.yaml delete mode 100644 addons/heapster/service.yaml delete mode 100644 docs/addons/heapster.md diff --git a/CHANGES.md b/CHANGES.md index a27bfe099..feb62697b 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -22,6 +22,10 @@ Notable changes between versions. * Update Prometheus from v2.7.1 to [v2.8.0](https://github.com/prometheus/prometheus/releases/tag/v2.8.0) * Update Grafana from v6.0.0 to v6.0.1 +* Remove heapster manifests from addons ([#427](https://github.com/poseidon/typhoon/pull/427)) + * Heapster addon powers `kubectl top` (in early Kubernetes, running the addon was expected). Today,there are many better options in the monitoring space. + * `kubectl top`'s reliance on a non-core extension/addon means its not in-scope for minimal Kubernetes clusters + * Look to prior releases if you still wish to apply heapster ## v1.13.4 diff --git a/addons/heapster/cluster-role-binding.yaml b/addons/heapster/cluster-role-binding.yaml deleted file mode 100644 index 6a36f0809..000000000 --- a/addons/heapster/cluster-role-binding.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: heapster -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: heapster -subjects: -- kind: ServiceAccount - name: heapster - namespace: kube-system diff --git a/addons/heapster/cluster-role.yaml b/addons/heapster/cluster-role.yaml deleted file mode 100644 index 7f4ac13f7..000000000 --- a/addons/heapster/cluster-role.yaml +++ /dev/null @@ -1,30 +0,0 @@ -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: heapster -rules: -- apiGroups: - - "" - resources: - - events - - namespaces - - nodes - - pods - verbs: - - get - - list - - watch -- apiGroups: - - extensions - resources: - - deployments - verbs: - - get - - list - - watch -- apiGroups: - - "" - resources: - - nodes/stats - verbs: - - get diff --git a/addons/heapster/deployment.yaml b/addons/heapster/deployment.yaml deleted file mode 100644 index 3e1424d30..000000000 --- a/addons/heapster/deployment.yaml +++ /dev/null @@ -1,62 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: heapster - namespace: kube-system -spec: - replicas: 1 - selector: - matchLabels: - name: heapster - phase: prod - template: - metadata: - labels: - name: heapster - phase: prod - annotations: - seccomp.security.alpha.kubernetes.io/pod: 'docker/default' - spec: - serviceAccountName: heapster - containers: - - name: heapster - image: k8s.gcr.io/heapster-amd64:v1.5.4 - command: - - /heapster - - --source=kubernetes.summary_api:''?useServiceAccount=true&kubeletHttps=true&kubeletPort=10250&insecure=true - livenessProbe: - httpGet: - path: /healthz - port: 8082 - scheme: HTTP - initialDelaySeconds: 180 - timeoutSeconds: 5 - - name: heapster-nanny - image: k8s.gcr.io/addon-resizer:1.7 - command: - - /pod_nanny - - --cpu=80m - - --extra-cpu=0.5m - - --memory=140Mi - - --extra-memory=4Mi - - --threshold=5 - - --deployment=heapster - - --container=heapster - - --poll-period=300000 - - --estimator=exponential - env: - - name: MY_POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - - name: MY_POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - resources: - limits: - cpu: 50m - memory: 90Mi - requests: - cpu: 50m - memory: 90Mi diff --git a/addons/heapster/role-binding.yaml b/addons/heapster/role-binding.yaml deleted file mode 100644 index c83567292..000000000 --- a/addons/heapster/role-binding.yaml +++ /dev/null @@ -1,13 +0,0 @@ -apiVersion: rbac.authorization.k8s.io/v1 -kind: RoleBinding -metadata: - name: heapster - namespace: kube-system -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: Role - name: system:pod-nanny -subjects: -- kind: ServiceAccount - name: heapster - namespace: kube-system diff --git a/addons/heapster/role.yaml b/addons/heapster/role.yaml deleted file mode 100644 index 5c1296723..000000000 --- a/addons/heapster/role.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: rbac.authorization.k8s.io/v1 -kind: Role -metadata: - name: system:pod-nanny - namespace: kube-system -rules: -- apiGroups: - - "" - resources: - - pods - verbs: - - get -- apiGroups: - - "extensions" - resources: - - deployments - verbs: - - get - - update diff --git a/addons/heapster/service-account.yaml b/addons/heapster/service-account.yaml deleted file mode 100644 index c91d5b6bd..000000000 --- a/addons/heapster/service-account.yaml +++ /dev/null @@ -1,5 +0,0 @@ -apiVersion: v1 -kind: ServiceAccount -metadata: - name: heapster - namespace: kube-system diff --git a/addons/heapster/service.yaml b/addons/heapster/service.yaml deleted file mode 100644 index cff31adb2..000000000 --- a/addons/heapster/service.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: heapster - namespace: kube-system -spec: - type: ClusterIP - selector: - name: heapster - ports: - - port: 80 - targetPort: 8082 diff --git a/docs/addons/heapster.md b/docs/addons/heapster.md deleted file mode 100644 index e10135446..000000000 --- a/docs/addons/heapster.md +++ /dev/null @@ -1,19 +0,0 @@ -# Heapster - -[Heapster](https://kubernetes.io/docs/user-guide/monitoring/) collects data from apiservers and kubelets and exposes it through a REST API. This API powers the `kubectl top` command. - -## Create - -```sh -kubectl apply -f addons/heapster -R -``` - -## Usage - -Allow heapster to run for a few minutes, then check CPU and memory usage. - -```sh -kubectl top node -kubectl top pod -``` - diff --git a/docs/addons/overview.md b/docs/addons/overview.md index 9c57b1499..c56fbd54d 100644 --- a/docs/addons/overview.md +++ b/docs/addons/overview.md @@ -4,7 +4,6 @@ Every Typhoon cluster is verified to work well with several post-install addons. * [CLUO](cluo.md) (Container Linux only) * Nginx [Ingress Controller](ingress.md) -* [Heapster](heapster.md) * [Prometheus](prometheus.md) * [Grafana](grafana.md) diff --git a/mkdocs.yml b/mkdocs.yml index ca655d5b2..dc6be25fb 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -77,7 +77,6 @@ nav: - 'Addons': - 'Overview': 'addons/overview.md' - 'CLUO': 'addons/cluo.md' - - 'Heapster': 'addons/heapster.md' - 'Nginx Ingress': 'addons/ingress.md' - 'Prometheus': 'addons/prometheus.md' - 'Grafana': 'addons/grafana.md'