From 24e7974199d9a3e06b846106670a1b9bb7c0f3b4 Mon Sep 17 00:00:00 2001 From: moelsayed Date: Thu, 30 Nov 2017 00:51:57 +0200 Subject: [PATCH] add kube-dns auto-scalling --- addons/kubedns.go | 33 ++++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/addons/kubedns.go b/addons/kubedns.go index 6e53ccb5..5a3b9363 100644 --- a/addons/kubedns.go +++ b/addons/kubedns.go @@ -1,7 +1,38 @@ package addons func GetKubeDNSManifest(clusterDNSServer, clusterDomain string) string { - return ` + return `--- +apiVersion: apps/v1beta1 +kind: Deployment +metadata: + name: kube-dns-autoscaler + namespace: kube-system + labels: + k8s-app: kube-dns-autoscaler +spec: + template: + metadata: + labels: + k8s-app: kube-dns-autoscaler + spec: + containers: + - name: autoscaler + image: gcr.io/google_containers/cluster-proportional-autoscaler-amd64:1.0.0 + resources: + requests: + cpu: "20m" + memory: "10Mi" + command: + - /cluster-proportional-autoscaler + - --namespace=kube-system + - --configmap=kube-dns-autoscaler + - --target=Deployment/kube-dns + # When cluster is using large nodes(with more cores), "coresPerReplica" should dominate. + # If using small nodes, "nodesPerReplica" should dominate. + - --default-params={"linear":{"coresPerReplica":128,"nodesPerReplica":4,"min":1}} + - --logtostderr=true + - --v=2 + --- apiVersion: v1 kind: ServiceAccount