--- # Copyright 2016 The Kubernetes Authors. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. apiVersion: apps/v1 kind: Deployment metadata: name: dns-autoscaler namespace: kube-system labels: k8s-app: dns-autoscaler addonmanager.kubernetes.io/mode: Reconcile spec: selector: matchLabels: k8s-app: dns-autoscaler template: metadata: labels: k8s-app: dns-autoscaler annotations: spec: nodeSelector: kubernetes.io/os: linux priorityClassName: system-cluster-critical securityContext: seccompProfile: type: RuntimeDefault supplementalGroups: [ 65534 ] fsGroup: 65534 nodeSelector: kubernetes.io/os: linux tolerations: - effect: NoSchedule key: node-role.kubernetes.io/control-plane affinity: podAntiAffinity: requiredDuringSchedulingIgnoredDuringExecution: - topologyKey: "kubernetes.io/hostname" labelSelector: matchLabels: k8s-app: dns-autoscaler nodeAffinity: preferredDuringSchedulingIgnoredDuringExecution: - weight: 100 preference: matchExpressions: - key: node-role.kubernetes.io/control-plane operator: In values: - "" containers: - name: autoscaler image: "registry.k8s.io/cpa/cluster-proportional-autoscaler:v1.8.8" resources: requests: cpu: 20m memory: 10Mi readinessProbe: httpGet: path: /healthz port: 8080 scheme: HTTP command: - /cluster-proportional-autoscaler - --namespace=kube-system - --default-params={"linear":{"preventSinglePointFailure":true,"coresPerReplica":256,"nodesPerReplica":16,"min":2}} - --logtostderr=true - --v=2 - --configmap=dns-autoscaler - --target=Deployment/coredns serviceAccountName: dns-autoscaler