Skip to content

Commit 59b6a8b

Browse files
authored
Merge pull request #29187 from sanusatyadarshi/patch-1
Added missing ServiceAccount, ClusterRole and ClusterRoleBinding to DNS Horizontal Autoscaler.
2 parents 04a6898 + 0032199 commit 59b6a8b

File tree

1 file changed

+78
-17
lines changed

1 file changed

+78
-17
lines changed
Lines changed: 78 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,94 @@
1+
kind: ServiceAccount
2+
apiVersion: v1
3+
metadata:
4+
name: kube-dns-autoscaler
5+
namespace: kube-system
6+
labels:
7+
addonmanager.kubernetes.io/mode: Reconcile
8+
---
9+
kind: ClusterRole
10+
apiVersion: rbac.authorization.k8s.io/v1
11+
metadata:
12+
name: system:kube-dns-autoscaler
13+
labels:
14+
addonmanager.kubernetes.io/mode: Reconcile
15+
rules:
16+
- apiGroups: [""]
17+
resources: ["nodes"]
18+
verbs: ["list", "watch"]
19+
- apiGroups: [""]
20+
resources: ["replicationcontrollers/scale"]
21+
verbs: ["get", "update"]
22+
- apiGroups: ["apps"]
23+
resources: ["deployments/scale", "replicasets/scale"]
24+
verbs: ["get", "update"]
25+
# Remove the configmaps rule once below issue is fixed:
26+
# kubernetes-incubator/cluster-proportional-autoscaler#16
27+
- apiGroups: [""]
28+
resources: ["configmaps"]
29+
verbs: ["get", "create"]
30+
---
31+
kind: ClusterRoleBinding
32+
apiVersion: rbac.authorization.k8s.io/v1
33+
metadata:
34+
name: system:kube-dns-autoscaler
35+
labels:
36+
addonmanager.kubernetes.io/mode: Reconcile
37+
subjects:
38+
- kind: ServiceAccount
39+
name: kube-dns-autoscaler
40+
namespace: kube-system
41+
roleRef:
42+
kind: ClusterRole
43+
name: system:kube-dns-autoscaler
44+
apiGroup: rbac.authorization.k8s.io
45+
46+
---
147
apiVersion: apps/v1
248
kind: Deployment
349
metadata:
4-
name: dns-autoscaler
50+
name: kube-dns-autoscaler
551
namespace: kube-system
652
labels:
7-
k8s-app: dns-autoscaler
53+
k8s-app: kube-dns-autoscaler
54+
kubernetes.io/cluster-service: "true"
55+
addonmanager.kubernetes.io/mode: Reconcile
856
spec:
957
selector:
1058
matchLabels:
11-
k8s-app: dns-autoscaler
59+
k8s-app: kube-dns-autoscaler
1260
template:
1361
metadata:
1462
labels:
15-
k8s-app: dns-autoscaler
63+
k8s-app: kube-dns-autoscaler
1664
spec:
65+
priorityClassName: system-cluster-critical
66+
securityContext:
67+
seccompProfile:
68+
type: RuntimeDefault
69+
supplementalGroups: [ 65534 ]
70+
fsGroup: 65534
71+
nodeSelector:
72+
kubernetes.io/os: linux
1773
containers:
1874
- name: autoscaler
19-
image: k8s.gcr.io/cluster-proportional-autoscaler-amd64:1.6.0
75+
image: k8s.gcr.io/cpa/cluster-proportional-autoscaler:1.8.4
2076
resources:
21-
requests:
22-
cpu: 20m
23-
memory: 10Mi
77+
requests:
78+
cpu: "20m"
79+
memory: "10Mi"
2480
command:
25-
- /cluster-proportional-autoscaler
26-
- --namespace=kube-system
27-
- --configmap=dns-autoscaler
28-
- --target=<SCALE_TARGET>
29-
# When cluster is using large nodes(with more cores), "coresPerReplica" should dominate.
30-
# If using small nodes, "nodesPerReplica" should dominate.
31-
- --default-params={"linear":{"coresPerReplica":256,"nodesPerReplica":16,"min":1}}
32-
- --logtostderr=true
33-
- --v=2
81+
- /cluster-proportional-autoscaler
82+
- --namespace=kube-system
83+
- --configmap=kube-dns-autoscaler
84+
# Should keep target in sync with cluster/addons/dns/kube-dns.yaml.base
85+
- --target=<SCALE_TARGET>
86+
# When cluster is using large nodes(with more cores), "coresPerReplica" should dominate.
87+
# If using small nodes, "nodesPerReplica" should dominate.
88+
- --default-params={"linear":{"coresPerReplica":256,"nodesPerReplica":16,"preventSinglePointFailure":true,"includeUnschedulableNodes":true}}
89+
- --logtostderr=true
90+
- --v=2
91+
tolerations:
92+
- key: "CriticalAddonsOnly"
93+
operator: "Exists"
94+
serviceAccountName: kube-dns-autoscaler

0 commit comments

Comments
 (0)