Come posso configurare un server d’inoltro condizionale con CoreDNS nel mio cluster Amazon EKS?

2 minuti di lettura
0

Voglio configurare un server d’inoltro condizionale con CoreDNS nel mio cluster Amazon Elastic Kubernetes Service (Amazon EKS).

Breve descrizione

È possibile utilizzare CoreDNS per configurare l'inoltro condizionale delle query DNS inviate ai domini risolti da un server DNS personalizzato. Per ulteriori informazioni, consulta Personalizzazione del servizio DNS sul sito web di Kubernetes.

Importante: Applica le modifiche indicate nella seguente risoluzione solo sul componente CoreDNS autogestito. Per modificare la configurazione del componente aggiuntivo CoreDNS in Amazon EKS, determina le impostazioni gestite da Amazon EKS controllando la configurazione del componente aggiuntivo Amazon EKS. Controlla la configurazione del componente aggiuntivo prima di apportare qualsiasi modifica, poiché la modifica di un campo gestito da Amazon EKS impedisce ad Amazon EKS di gestire il componente aggiuntivo. Ciò potrebbe comportare la sovrascrittura delle modifiche durante l’aggiornamento di un componente aggiuntivo.

Risoluzione

1.    Modifica ConfigMap di CoreDNS e aggiungi la configurazione del server d'inoltro condizionale:

$ kubectl -n kube-system edit configmap coredns

Uscita:

apiVersion: v1
kind: ConfigMap
metadata:
  annotations:
  labels:
    eks.amazonaws.com/component: coredns
    k8s-app: kube-dns
  name: coredns
  namespace: kube-system
data:
  Corefile: |
    .:53 {
        errors
        health
        kubernetes cluster.local in-addr.arpa ip6.arpa {
          pods insecure
          fallthrough in-addr.arpa ip6.arpa
        }
        prometheus :9153
        forward . /etc/resolv.conf
        cache 30
        loop
        reload
        loadbalance
    }
    domain-name:53 {
        errors
        cache 30
        forward . custom-dns-server
        reload
    }

Nota: Sostituisci domain-name con il nome di dominio. Sostituisci custom-dns-server con l'indirizzo IP del server DNS personalizzato.

2.    Verifica che la risoluzione dei nomi di dominio funzioni:

$ kubectl run busybox --restart=Never --image=busybox:1.28 -- sleep 3600
$ kubectl exec busybox -- nslookup domain-name

Nota: Sostituisci domain-name con il nome di dominio.


AWS UFFICIALE
AWS UFFICIALEAggiornata 2 anni fa