@@ -282,27 +282,33 @@ spec:
282282 DNSDeploymentTemplate = []byte (`apiVersion: extensions/v1beta1
283283kind: Deployment
284284metadata:
285- name: kube-dns-v17.1
285+ name: kube-dns-v19
286286 namespace: kube-system
287287 labels:
288288 k8s-app: kube-dns
289- version: v17.1
289+ version: v19
290290 kubernetes.io/cluster-service: "true"
291291spec:
292292 replicas: 1
293293 template:
294294 metadata:
295295 labels:
296296 k8s-app: kube-dns
297- version: v17.1
297+ version: v19
298298 kubernetes.io/cluster-service: "true"
299+ annotations:
300+ scheduler.alpha.kubernetes.io/critical-pod: ''
301+ scheduler.alpha.kubernetes.io/tolerations: '[{"key":"CriticalAddonsOnly", "operator":"Exists"}]'
299302 spec:
300303 containers:
301304 - name: kubedns
302- image: gcr.io/google_containers/kubedns-amd64:1.5
305+ image: gcr.io/google_containers/kubedns-amd64:1.7
303306 resources:
307+ # TODO: Set memory limits when we've profiled the container for large
308+ # clusters, then set request = limit to keep this container in
309+ # guaranteed class. Currently, this container falls into the
310+ # "burstable" category so the kubelet doesn't backoff from restarting it.
304311 limits:
305- cpu: 100m
306312 memory: 170Mi
307313 requests:
308314 cpu: 100m
@@ -321,11 +327,14 @@ spec:
321327 path: /readiness
322328 port: 8081
323329 scheme: HTTP
330+ # we poll on pod startup for the Kubernetes master service and
331+ # only setup the /readiness HTTP server once that's available.
324332 initialDelaySeconds: 30
325333 timeoutSeconds: 5
326334 args:
327- - --domain=cluster.local.
328- - --dns-port=10053
335+ # command = "/kube-dns"
336+ - --domain=cluster.local.
337+ - --dns-port=10053
329338 ports:
330339 - containerPort: 10053
331340 name: dns-local
@@ -350,19 +359,22 @@ spec:
350359 image: gcr.io/google_containers/exechealthz-amd64:1.1
351360 resources:
352361 limits:
353- cpu: 10m
354362 memory: 50Mi
355363 requests:
356364 cpu: 10m
365+ # Note that this container shouldn't really need 50Mi of memory. The
366+ # limits are set higher than expected pending investigation on #29688.
367+ # The extra memory was stolen from the kubedns container to keep the
368+ # net memory requested by the pod constant.
357369 memory: 50Mi
358370 args:
359- - -cmd=nslookup kubernetes.default.svc.cluster.local 127.0.0.1 >/dev/null
371+ - -cmd=nslookup kubernetes.default.svc.cluster.local 127.0.0.1 >/dev/null && nslookup kubernetes.default.svc.cluster.local 127.0.0.1:10053 >/dev/null
360372 - -port=8080
361373 - -quiet
362374 ports:
363375 - containerPort: 8080
364376 protocol: TCP
365- dnsPolicy: Default
377+ dnsPolicy: Default # Don't use cluster DNS.
366378` )
367379 DNSSvcTemplate = []byte (`apiVersion: v1
368380kind: Service
0 commit comments