Wo werden die Konfigurationen für CoreDNS in Kubernetes gespeichert?

Wo werden die Konfigurationen für CoreDNS in Kubernetes gespeichert?

Ich habe mich kürzlich mit CoreDNS auf einem Cluster beschäftigt, auf dem es mit kubeadm installiert wurde. Ich sehe, dass ich standardmäßig 2 Replikate bereitgestellt habe, aber was ist, wenn ich mehr möchte? Ich weiß, dass ich skalieren kann, aber das ist ein zusätzlicher Schritt, den ich lieber nicht machen möchte. Ich möchte, dass alle neu erstellten Cluster 3 CoreDNS für HA haben (da ich 3 Master haben werde). Aber ich kann keine Informationen darüber finden, wo die Manifeste gespeichert sind, die kubeadm verwendet.

Ich möchte auch Anti-Affinitätsregeln für die Pods festlegen.

Möglicherweise möchte ich auch die CoreDNS-Konfigurationskarte konfigurieren.

Wo werden die Konfigurationen gespeichert, die kubeadm zur Installation und Konfiguration von CoreDNS verwendet?

Antwort1

Die Konfigurationen für CoreDNS sind fest in der Datei manifest.go codiert.https://github.com/kubernetes/kubernetes/blob/master/cmd/kubeadm/app/phases/addons/dns/manifests.go#L59

Wenn Sie Anpassungen wünschen, können Sie daher den Kubeadm-Zweig forken und Ihren eigenen erstellen.

Antwort2

Auf diese Weise können Sie die Konfiguration von CoreDNS überprüfen.

kubectl describe configmap coredns  -n=kube-system 

Ausgabe:

Name:         coredns
Namespace:    kube-system
Labels:       <none>
Annotations:  <none>

Data
====
Corefile:
----
.:53 {
    errors
    health {
       lameduck 5s
    }
    ready
    kubernetes cluster.local in-addr.arpa ip6.arpa {
       pods insecure
       fallthrough in-addr.arpa ip6.arpa
       ttl 30
    }
    prometheus :9153
    forward . /etc/resolv.conf {
       max_concurrent 1000
    }
    cache 30
    loop
    reload
    loadbalance
}


BinaryData
====

Events:  <none>

Wie wirkt sich diese ConfigMap aus?

  1. Das CoreDNS ist in einer Bereitstellung mit 2 Replikaten definiert.
  2. Die Konfigurationskarte wird als Volume im Container bereitgestellt.

Hier ist die Definition dieser Bereitstellung.

kubectl describe deployment coredns -n=kube-system

Bildbeschreibung hier eingeben

Referenz

verwandte Informationen