From adb30393d1ae64da33de5f4418daa73b26d7a658 Mon Sep 17 00:00:00 2001 From: David Muckle Date: Wed, 21 Feb 2018 10:50:58 -0500 Subject: [PATCH] Add metrics-server as an addon --- cmd/minikube/cmd/config/config.go | 6 +++++ .../metrics-server/metrics-apiservice.yaml | 16 ++++++++++++ .../metrics-server-deployment.yaml | 26 +++++++++++++++++++ .../metrics-server-service.yaml | 17 ++++++++++++ pkg/minikube/assets/addons.go | 17 ++++++++++++ 5 files changed, 82 insertions(+) create mode 100644 deploy/addons/metrics-server/metrics-apiservice.yaml create mode 100644 deploy/addons/metrics-server/metrics-server-deployment.yaml create mode 100644 deploy/addons/metrics-server/metrics-server-service.yaml diff --git a/cmd/minikube/cmd/config/config.go b/cmd/minikube/cmd/config/config.go index d7d0828905..e874778948 100644 --- a/cmd/minikube/cmd/config/config.go +++ b/cmd/minikube/cmd/config/config.go @@ -202,6 +202,12 @@ var settings = []Setting{ validations: []setFn{IsValidAddon}, callbacks: []setFn{EnableOrDisableAddon}, }, + { + name: "metrics-server", + set: SetBool, + validations: []setFn{IsValidAddon}, + callbacks: []setFn{EnableOrDisableAddon}, + }, { name: "hyperv-virtual-switch", set: SetString, diff --git a/deploy/addons/metrics-server/metrics-apiservice.yaml b/deploy/addons/metrics-server/metrics-apiservice.yaml new file mode 100644 index 0000000000..a644200fa5 --- /dev/null +++ b/deploy/addons/metrics-server/metrics-apiservice.yaml @@ -0,0 +1,16 @@ +apiVersion: apiregistration.k8s.io/v1beta1 +kind: APIService +metadata: + name: v1beta1.metrics.k8s.io + labels: + kubernetes.io/minikube-addons: metrics-server + addonmanager.kubernetes.io/mode: Reconcile +spec: + service: + name: metrics-server + namespace: kube-system + group: metrics.k8s.io + version: v1beta1 + insecureSkipTLSVerify: true + groupPriorityMinimum: 100 + versionPriority: 100 diff --git a/deploy/addons/metrics-server/metrics-server-deployment.yaml b/deploy/addons/metrics-server/metrics-server-deployment.yaml new file mode 100644 index 0000000000..d65fa88cc1 --- /dev/null +++ b/deploy/addons/metrics-server/metrics-server-deployment.yaml @@ -0,0 +1,26 @@ +apiVersion: extensions/v1beta1 +kind: Deployment +metadata: + name: metrics-server + namespace: kube-system + labels: + k8s-app: metrics-server + kubernetes.io/minikube-addons: metrics-server + addonmanager.kubernetes.io/mode: Reconcile +spec: + selector: + matchLabels: + k8s-app: metrics-server + template: + metadata: + name: metrics-server + labels: + k8s-app: metrics-server + spec: + containers: + - name: metrics-server + image: gcr.io/google_containers/metrics-server-amd64:v0.2.1 + imagePullPolicy: Always + command: + - /metrics-server + - --source=kubernetes.summary_api:'' diff --git a/deploy/addons/metrics-server/metrics-server-service.yaml b/deploy/addons/metrics-server/metrics-server-service.yaml new file mode 100644 index 0000000000..e3766c9e8d --- /dev/null +++ b/deploy/addons/metrics-server/metrics-server-service.yaml @@ -0,0 +1,17 @@ +apiVersion: v1 +kind: Service +metadata: + name: metrics-server + namespace: kube-system + labels: + kubernetes.io/name: "Metrics-server" + kubernetes.io/minikube-addons: metrics-server + kubernetes.io/minikube-addons-endpoint: metrics-server + addonmanager.kubernetes.io/mode: Reconcile +spec: + selector: + k8s-app: metrics-server + ports: + - port: 443 + protocol: TCP + targetPort: 443 diff --git a/pkg/minikube/assets/addons.go b/pkg/minikube/assets/addons.go index abc7850307..b1c7800eca 100644 --- a/pkg/minikube/assets/addons.go +++ b/pkg/minikube/assets/addons.go @@ -214,6 +214,23 @@ var Addons = map[string]*Addon{ "ingress-svc.yaml", "0640"), }, false, "ingress"), + "metrics-server": NewAddon([]*BinDataAsset{ + NewBinDataAsset( + "deploy/addons/metrics-server/metrics-apiservice.yaml", + constants.AddonsPath, + "metrics-apiservice.yaml", + "0640"), + NewBinDataAsset( + "deploy/addons/metrics-server/metrics-server-deployment.yaml", + constants.AddonsPath, + "metrics-server-deployment.yaml", + "0640"), + NewBinDataAsset( + "deploy/addons/metrics-server/metrics-server-service.yaml", + constants.AddonsPath, + "metrics-server-service.yaml", + "0640"), + }, false, "metrics-server"), "registry": NewAddon([]*BinDataAsset{ NewBinDataAsset( "deploy/addons/registry/registry-rc.yaml",