# Default values for coredns. # This is a YAML-formatted file. # Declare variables to be passed into your templates. image: repository: coredns/coredns tag: "1.6.9" pullPolicy: IfNotPresent replicaCount: 1 resources: limits: cpu: 100m memory: 128Mi requests: cpu: 100m memory: 128Mi serviceType: "ClusterIP" prometheus: service: enabled: false annotations: prometheus.io/scrape: "true" prometheus.io/port: "9153" monitor: enabled: false additionalLabels: {} namespace: "" service: # clusterIP: "" # loadBalancerIP: "" # externalTrafficPolicy: "" annotations: prometheus.io/scrape: "true" prometheus.io/port: "9153" serviceAccount: create: false # The name of the ServiceAccount to use # If not set and create is true, a name is generated using the fullname template name: rbac: # If true, create & use RBAC resources create: true # If true, create and use PodSecurityPolicy pspEnable: false # The name of the ServiceAccount to use. # If not set and create is true, a name is generated using the fullname template # name: # isClusterService specifies whether chart should be deployed as cluster-service or normal k8s app. isClusterService: true # Optional priority class to be used for the coredns pods. Used for autoscaler if autoscaler.priorityClassName not set. priorityClassName: "" # Default zone is what Kubernetes recommends: # https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/#coredns-configmap-options servers: - zones: - zone: . port: 53 plugins: - name: errors # Serves a /health endpoint on :8080, required for livenessProbe - name: health configBlock: |- lameduck 5s # Serves a /ready endpoint on :8181, required for readinessProbe - name: ready # Required to query kubernetes API for data - name: kubernetes parameters: cluster.local in-addr.arpa ip6.arpa configBlock: |- pods insecure fallthrough in-addr.arpa ip6.arpa ttl 30 # Serves a /metrics endpoint on :9153, required for serviceMonitor - name: prometheus parameters: 0.0.0.0:9153 - name: forward parameters: . /etc/resolv.conf - name: cache parameters: 30 - name: loop - name: reload - name: loadbalance - name: import parameters: "custom/*.override" # Complete example with all the options: # - zones: # the `zones` block can be left out entirely, defaults to "." # - zone: hello.world. # optional, defaults to "." # scheme: tls:// # optional, defaults to "" (which equals "dns://" in CoreDNS) # - zone: foo.bar. # scheme: dns:// # use_tcp: true # set this parameter to optionally expose the port on tcp as well as udp for the DNS protocol # # Note that this will not work if you are also exposing tls or grpc on the same server # port: 12345 # optional, defaults to "" (which equals 53 in CoreDNS) # plugins: # the plugins to use for this server block # - name: kubernetes # name of plugin, if used multiple times ensure that the plugin supports it! # parameters: foo bar # list of parameters after the plugin # configBlock: |- # if the plugin supports extra block style config, supply it here # hello world # foo bar # expects input structure as per specification https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.11/#affinity-v1-core # for example: # affinity: # nodeAffinity: # requiredDuringSchedulingIgnoredDuringExecution: # nodeSelectorTerms: # - matchExpressions: # - key: foo.bar.com/role # operator: In # values: # - master affinity: {} # Node labels for pod assignment # Ref: https://kubernetes.io/docs/user-guide/node-selection/ nodeSelector: {} # expects input structure as per specification https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.11/#toleration-v1-core # for example: # tolerations: # - key: foo.bar.com/role # operator: Equal # value: master # effect: NoSchedule tolerations: [] # https://kubernetes.io/docs/tasks/run-application/configure-pdb/#specifying-a-poddisruptionbudget podDisruptionBudget: {} # configure custom zone files as per https://coredns.io/2017/05/08/custom-dns-entries-for-kubernetes/ zoneFiles: [] # - filename: example.db # domain: example.com # contents: | # example.com. IN SOA sns.dns.icann.com. noc.dns.icann.com. 2015082541 7200 3600 1209600 3600 # example.com. IN NS b.iana-servers.net. # example.com. IN NS a.iana-servers.net. # example.com. IN A 192.168.99.102 # *.example.com. IN A 192.168.99.102 # optional array of extra volumes to create extraVolumes: - name: custom-config-volume configMap: name: coredns-custom # - name: some-volume-name # emptyDir: {} # optional array of mount points for extraVolumes extraVolumeMounts: - name: custom-config-volume mountPath: /etc/coredns/custom # - name: some-volume-name # mountPath: /etc/wherever # optional array of secrets to mount inside coredns container # possible usecase: need for secure connection with etcd backend extraSecrets: [] # - name: etcd-client-certs # mountPath: /etc/coredns/tls/etcd # - name: some-fancy-secret # mountPath: /etc/wherever # Custom labels to apply to Deployment, Pod, Service, ServiceMonitor. Including autoscaler if enabled. customLabels: {} ## Configue a cluster-proportional-autoscaler for coredns # See https://github.com/kubernetes-incubator/cluster-proportional-autoscaler autoscaler: # Enabled the cluster-proportional-autoscaler enabled: false # Number of cores in the cluster per coredns replica coresPerReplica: 256 # Number of nodes in the cluster per coredns replica nodesPerReplica: 16 # Min size of replicaCount min: 0 # Max size of replicaCount (default of 0 is no max) max: 0 # Whether to include unschedulable nodes in the nodes/cores calculations - this requires version 1.8.0+ of the autoscaler includeUnschedulableNodes: false # If true does not allow single points of failure to form preventSinglePointFailure: true image: repository: k8s.gcr.io/cluster-proportional-autoscaler-amd64 tag: "1.8.0" pullPolicy: IfNotPresent # Optional priority class to be used for the autoscaler pods. priorityClassName used if not set. priorityClassName: "" # expects input structure as per specification https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.11/#affinity-v1-core affinity: {} # Node labels for pod assignment # Ref: https://kubernetes.io/docs/user-guide/node-selection/ nodeSelector: {} # expects input structure as per specification https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.11/#toleration-v1-core tolerations: [] # resources for autoscaler pod resources: requests: cpu: "20m" memory: "10Mi" limits: cpu: "20m" memory: "10Mi" # Options for autoscaler configmap configmap: ## Annotations for the coredns-autoscaler configmap # i.e. strategy.spinnaker.io/versioned: "false" to ensure configmap isn't renamed annotations: {}