mirror of https://git.rancher.io/rke2-charts
259 lines
7.7 KiB
YAML
Executable File
259 lines
7.7 KiB
YAML
Executable File
# Default values for coredns.
|
|
# This is a YAML-formatted file.
|
|
# Declare variables to be passed into your templates.
|
|
|
|
image:
|
|
repository: rancher/hardened-coredns
|
|
tag: "v1.7.1"
|
|
pullPolicy: IfNotPresent
|
|
|
|
replicaCount: 1
|
|
|
|
resources:
|
|
limits:
|
|
cpu: 100m
|
|
memory: 128Mi
|
|
requests:
|
|
cpu: 100m
|
|
memory: 128Mi
|
|
|
|
## Create HorizontalPodAutoscaler object.
|
|
##
|
|
# autoscaling:
|
|
# minReplicas: 1
|
|
# maxReplicas: 10
|
|
# metrics:
|
|
# - type: Resource
|
|
# resource:
|
|
# name: cpu
|
|
# targetAverageUtilization: 60
|
|
# - type: Resource
|
|
# resource:
|
|
# name: memory
|
|
# targetAverageUtilization: 60
|
|
|
|
rollingUpdate:
|
|
maxUnavailable: 1
|
|
maxSurge: 25%
|
|
|
|
# Under heavy load it takes more that standard time to remove Pod endpoint from a cluster.
|
|
# This will delay termination of our pod by `preStopSleep`. To make sure kube-proxy has
|
|
# enough time to catch up.
|
|
# preStopSleep: 5
|
|
terminationGracePeriodSeconds: 30
|
|
|
|
podAnnotations: {}
|
|
# cluster-autoscaler.kubernetes.io/safe-to-evict: "false"
|
|
|
|
serviceType: "ClusterIP"
|
|
|
|
prometheus:
|
|
service:
|
|
enabled: false
|
|
annotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/port: "9153"
|
|
monitor:
|
|
enabled: false
|
|
additionalLabels: {}
|
|
namespace: ""
|
|
|
|
service:
|
|
# clusterIP: ""
|
|
# loadBalancerIP: ""
|
|
# externalIPs: []
|
|
# externalTrafficPolicy: ""
|
|
annotations: {}
|
|
|
|
serviceAccount:
|
|
create: true
|
|
# The name of the ServiceAccount to use
|
|
# If not set and create is true, a name is generated using the fullname template
|
|
name: coredns
|
|
|
|
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
|
|
|
|
# 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: some-volume-name
|
|
# emptyDir: {}
|
|
# optional array of mount points for extraVolumes
|
|
extraVolumeMounts: []
|
|
# - 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: {}
|
|
|
|
## Alternative configuration for HPA deployment if wanted
|
|
#
|
|
hpa:
|
|
enabled: false
|
|
minReplicas: 1
|
|
maxReplicas: 2
|
|
metrics: {}
|
|
|
|
## 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: {}
|
|
k8sApp : "kube-dns"
|
|
|
|
global:
|
|
systemDefaultRegistry: "" |