Mohammed Naser | 9ad0d46 | 2023-01-15 20:36:37 -0500 | [diff] [blame] | 1 | # Default values for coredns. |
| 2 | # This is a YAML-formatted file. |
| 3 | # Declare variables to be passed into your templates. |
| 4 | |
| 5 | image: |
| 6 | repository: coredns/coredns |
| 7 | tag: "1.9.3" |
| 8 | pullPolicy: IfNotPresent |
| 9 | ## Optionally specify an array of imagePullSecrets. |
| 10 | ## Secrets must be manually created in the namespace. |
| 11 | ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/ |
| 12 | ## |
| 13 | # pullSecrets: |
| 14 | # - myRegistryKeySecretName |
| 15 | |
| 16 | replicaCount: 1 |
| 17 | |
| 18 | resources: |
| 19 | limits: |
| 20 | cpu: 100m |
| 21 | memory: 128Mi |
| 22 | requests: |
| 23 | cpu: 100m |
| 24 | memory: 128Mi |
| 25 | |
| 26 | ## Create HorizontalPodAutoscaler object. |
| 27 | ## |
| 28 | # autoscaling: |
| 29 | # minReplicas: 1 |
| 30 | # maxReplicas: 10 |
| 31 | # metrics: |
| 32 | # - type: Resource |
| 33 | # resource: |
| 34 | # name: cpu |
| 35 | # targetAverageUtilization: 60 |
| 36 | # - type: Resource |
| 37 | # resource: |
| 38 | # name: memory |
| 39 | # targetAverageUtilization: 60 |
| 40 | |
| 41 | rollingUpdate: |
| 42 | maxUnavailable: 1 |
| 43 | maxSurge: 25% |
| 44 | |
| 45 | # Under heavy load it takes more that standard time to remove Pod endpoint from a cluster. |
| 46 | # This will delay termination of our pod by `preStopSleep`. To make sure kube-proxy has |
| 47 | # enough time to catch up. |
| 48 | # preStopSleep: 5 |
| 49 | terminationGracePeriodSeconds: 30 |
| 50 | |
| 51 | podAnnotations: {} |
| 52 | # cluster-autoscaler.kubernetes.io/safe-to-evict: "false" |
| 53 | |
| 54 | serviceType: "ClusterIP" |
| 55 | |
| 56 | prometheus: |
| 57 | service: |
| 58 | enabled: false |
| 59 | annotations: |
| 60 | prometheus.io/scrape: "true" |
| 61 | prometheus.io/port: "9153" |
| 62 | monitor: |
| 63 | enabled: false |
| 64 | additionalLabels: {} |
| 65 | namespace: "" |
| 66 | interval: "" |
| 67 | |
| 68 | service: |
| 69 | # clusterIP: "" |
| 70 | # loadBalancerIP: "" |
| 71 | # externalIPs: [] |
| 72 | # externalTrafficPolicy: "" |
| 73 | # The name of the Service |
| 74 | # If not set, a name is generated using the fullname template |
| 75 | name: "" |
| 76 | annotations: {} |
| 77 | |
| 78 | serviceAccount: |
| 79 | create: false |
| 80 | # The name of the ServiceAccount to use |
| 81 | # If not set and create is true, a name is generated using the fullname template |
| 82 | name: "" |
| 83 | annotations: {} |
| 84 | |
| 85 | rbac: |
| 86 | # If true, create & use RBAC resources |
| 87 | create: true |
| 88 | # If true, create and use PodSecurityPolicy |
| 89 | pspEnable: false |
| 90 | # The name of the ServiceAccount to use. |
| 91 | # If not set and create is true, a name is generated using the fullname template |
| 92 | # name: |
| 93 | |
| 94 | # isClusterService specifies whether chart should be deployed as cluster-service or normal k8s app. |
| 95 | isClusterService: true |
| 96 | |
| 97 | # Optional priority class to be used for the coredns pods. Used for autoscaler if autoscaler.priorityClassName not set. |
| 98 | priorityClassName: "" |
| 99 | |
| 100 | # Default zone is what Kubernetes recommends: |
| 101 | # https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/#coredns-configmap-options |
| 102 | servers: |
| 103 | - zones: |
| 104 | - zone: . |
| 105 | port: 53 |
| 106 | # If serviceType is nodePort you can specify nodePort here |
| 107 | # nodePort: 30053 |
| 108 | plugins: |
| 109 | - name: errors |
| 110 | # Serves a /health endpoint on :8080, required for livenessProbe |
| 111 | - name: health |
| 112 | configBlock: |- |
| 113 | lameduck 5s |
| 114 | # Serves a /ready endpoint on :8181, required for readinessProbe |
| 115 | - name: ready |
| 116 | # Required to query kubernetes API for data |
| 117 | - name: kubernetes |
| 118 | parameters: cluster.local in-addr.arpa ip6.arpa |
| 119 | configBlock: |- |
| 120 | pods insecure |
| 121 | fallthrough in-addr.arpa ip6.arpa |
| 122 | ttl 30 |
| 123 | # Serves a /metrics endpoint on :9153, required for serviceMonitor |
| 124 | - name: prometheus |
| 125 | parameters: 0.0.0.0:9153 |
| 126 | - name: forward |
| 127 | parameters: . /etc/resolv.conf |
| 128 | - name: cache |
| 129 | parameters: 30 |
| 130 | - name: loop |
| 131 | - name: reload |
| 132 | - name: loadbalance |
| 133 | |
| 134 | # Complete example with all the options: |
| 135 | # - zones: # the `zones` block can be left out entirely, defaults to "." |
| 136 | # - zone: hello.world. # optional, defaults to "." |
| 137 | # scheme: tls:// # optional, defaults to "" (which equals "dns://" in CoreDNS) |
| 138 | # - zone: foo.bar. |
| 139 | # scheme: dns:// |
| 140 | # use_tcp: true # set this parameter to optionally expose the port on tcp as well as udp for the DNS protocol |
| 141 | # # Note that this will not work if you are also exposing tls or grpc on the same server |
| 142 | # port: 12345 # optional, defaults to "" (which equals 53 in CoreDNS) |
| 143 | # plugins: # the plugins to use for this server block |
| 144 | # - name: kubernetes # name of plugin, if used multiple times ensure that the plugin supports it! |
| 145 | # parameters: foo bar # list of parameters after the plugin |
| 146 | # configBlock: |- # if the plugin supports extra block style config, supply it here |
| 147 | # hello world |
| 148 | # foo bar |
| 149 | |
| 150 | # Extra configuration that is applied outside of the default zone block. |
| 151 | # Example to include additional config files, which may come from extraVolumes: |
| 152 | # extraConfig: |
| 153 | # import: |
| 154 | # parameters: /opt/coredns/*.conf |
| 155 | extraConfig: {} |
| 156 | |
| 157 | # To use the livenessProbe, the health plugin needs to be enabled in CoreDNS' server config |
| 158 | livenessProbe: |
| 159 | enabled: true |
| 160 | initialDelaySeconds: 60 |
| 161 | periodSeconds: 10 |
| 162 | timeoutSeconds: 5 |
| 163 | failureThreshold: 5 |
| 164 | successThreshold: 1 |
| 165 | # To use the readinessProbe, the ready plugin needs to be enabled in CoreDNS' server config |
| 166 | readinessProbe: |
| 167 | enabled: true |
| 168 | initialDelaySeconds: 30 |
| 169 | periodSeconds: 10 |
| 170 | timeoutSeconds: 5 |
| 171 | failureThreshold: 5 |
| 172 | successThreshold: 1 |
| 173 | |
| 174 | # expects input structure as per specification https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.11/#affinity-v1-core |
| 175 | # for example: |
| 176 | # affinity: |
| 177 | # nodeAffinity: |
| 178 | # requiredDuringSchedulingIgnoredDuringExecution: |
| 179 | # nodeSelectorTerms: |
| 180 | # - matchExpressions: |
| 181 | # - key: foo.bar.com/role |
| 182 | # operator: In |
| 183 | # values: |
| 184 | # - master |
| 185 | affinity: {} |
| 186 | |
| 187 | # Node labels for pod assignment |
| 188 | # Ref: https://kubernetes.io/docs/user-guide/node-selection/ |
| 189 | nodeSelector: {} |
| 190 | |
| 191 | # expects input structure as per specification https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.11/#toleration-v1-core |
| 192 | # for example: |
| 193 | # tolerations: |
| 194 | # - key: foo.bar.com/role |
| 195 | # operator: Equal |
| 196 | # value: master |
| 197 | # effect: NoSchedule |
| 198 | tolerations: [] |
| 199 | |
| 200 | # https://kubernetes.io/docs/tasks/run-application/configure-pdb/#specifying-a-poddisruptionbudget |
| 201 | podDisruptionBudget: {} |
| 202 | |
| 203 | # configure custom zone files as per https://coredns.io/2017/05/08/custom-dns-entries-for-kubernetes/ |
| 204 | zoneFiles: [] |
| 205 | # - filename: example.db |
| 206 | # domain: example.com |
| 207 | # contents: | |
| 208 | # example.com. IN SOA sns.dns.icann.com. noc.dns.icann.com. 2015082541 7200 3600 1209600 3600 |
| 209 | # example.com. IN NS b.iana-servers.net. |
| 210 | # example.com. IN NS a.iana-servers.net. |
| 211 | # example.com. IN A 192.168.99.102 |
| 212 | # *.example.com. IN A 192.168.99.102 |
| 213 | |
| 214 | # optional array of extra volumes to create |
| 215 | extraVolumes: [] |
| 216 | # - name: some-volume-name |
| 217 | # emptyDir: {} |
| 218 | # optional array of mount points for extraVolumes |
| 219 | extraVolumeMounts: [] |
| 220 | # - name: some-volume-name |
| 221 | # mountPath: /etc/wherever |
| 222 | |
| 223 | # optional array of secrets to mount inside coredns container |
| 224 | # possible usecase: need for secure connection with etcd backend |
| 225 | extraSecrets: [] |
| 226 | # - name: etcd-client-certs |
| 227 | # mountPath: /etc/coredns/tls/etcd |
| 228 | # - name: some-fancy-secret |
| 229 | # mountPath: /etc/wherever |
| 230 | |
| 231 | # Custom labels to apply to Deployment, Pod, Configmap, Service, ServiceMonitor. Including autoscaler if enabled. |
| 232 | customLabels: {} |
| 233 | |
| 234 | # Custom annotations to apply to Deployment, Pod, Configmap, Service, ServiceMonitor. Including autoscaler if enabled. |
| 235 | customAnnotations: {} |
| 236 | |
| 237 | ## Alternative configuration for HPA deployment if wanted |
| 238 | # |
| 239 | hpa: |
| 240 | enabled: false |
| 241 | minReplicas: 1 |
| 242 | maxReplicas: 2 |
| 243 | metrics: {} |
| 244 | |
| 245 | ## Configue a cluster-proportional-autoscaler for coredns |
| 246 | # See https://github.com/kubernetes-incubator/cluster-proportional-autoscaler |
| 247 | autoscaler: |
| 248 | # Enabled the cluster-proportional-autoscaler |
| 249 | enabled: false |
| 250 | |
| 251 | # Number of cores in the cluster per coredns replica |
| 252 | coresPerReplica: 256 |
| 253 | # Number of nodes in the cluster per coredns replica |
| 254 | nodesPerReplica: 16 |
| 255 | # Min size of replicaCount |
| 256 | min: 0 |
| 257 | # Max size of replicaCount (default of 0 is no max) |
| 258 | max: 0 |
| 259 | # Whether to include unschedulable nodes in the nodes/cores calculations - this requires version 1.8.0+ of the autoscaler |
| 260 | includeUnschedulableNodes: false |
| 261 | # If true does not allow single points of failure to form |
| 262 | preventSinglePointFailure: true |
| 263 | |
| 264 | ## Optionally specify some extra flags to pass to cluster-proprtional-autoscaler. |
| 265 | ## Useful for e.g. the nodelabels flag. |
| 266 | # customFlags: |
| 267 | # - --nodelabels=topology.kubernetes.io/zone=us-east-1a |
| 268 | |
| 269 | image: |
| 270 | repository: k8s.gcr.io/cpa/cluster-proportional-autoscaler |
| 271 | tag: "1.8.5" |
| 272 | pullPolicy: IfNotPresent |
| 273 | ## Optionally specify an array of imagePullSecrets. |
| 274 | ## Secrets must be manually created in the namespace. |
| 275 | ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/ |
| 276 | ## |
| 277 | # pullSecrets: |
| 278 | # - myRegistryKeySecretName |
| 279 | |
| 280 | # Optional priority class to be used for the autoscaler pods. priorityClassName used if not set. |
| 281 | priorityClassName: "" |
| 282 | |
| 283 | # expects input structure as per specification https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.11/#affinity-v1-core |
| 284 | affinity: {} |
| 285 | |
| 286 | # Node labels for pod assignment |
| 287 | # Ref: https://kubernetes.io/docs/user-guide/node-selection/ |
| 288 | nodeSelector: {} |
| 289 | |
| 290 | # expects input structure as per specification https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.11/#toleration-v1-core |
| 291 | tolerations: [] |
| 292 | |
| 293 | # resources for autoscaler pod |
| 294 | resources: |
| 295 | requests: |
| 296 | cpu: "20m" |
| 297 | memory: "10Mi" |
| 298 | limits: |
| 299 | cpu: "20m" |
| 300 | memory: "10Mi" |
| 301 | |
| 302 | # Options for autoscaler configmap |
| 303 | configmap: |
| 304 | ## Annotations for the coredns-autoscaler configmap |
| 305 | # i.e. strategy.spinnaker.io/versioned: "false" to ensure configmap isn't renamed |
| 306 | annotations: {} |
| 307 | |
| 308 | # Enables the livenessProbe for cluster-proportional-autoscaler - this requires version 1.8.0+ of the autoscaler |
| 309 | livenessProbe: |
| 310 | enabled: true |
| 311 | initialDelaySeconds: 10 |
| 312 | periodSeconds: 5 |
| 313 | timeoutSeconds: 5 |
| 314 | failureThreshold: 3 |
| 315 | successThreshold: 1 |
| 316 | |
| 317 | deployment: |
| 318 | enabled: true |
| 319 | name: "" |
| 320 | ## Annotations for the coredns deployment |
| 321 | annotations: {} |