CoreDNS
CoreDNS è il server DNS dei cluster Kubernetes Hikube. Garantisce la risoluzione dei nomi dei service e dei pod interni al cluster e l'inoltro delle richieste verso i nomi esterni.
Nella console
CoreDNS fa parte della Advanced Configuration del passaggio Addons: è sempre presente nel cluster e non si può disattivare. È possibile soltanto sovrascriverne la configurazione.
- Alla creazione (passaggio Addons) oppure da Edit > Extensions & Addons, espanda il blocco CoreDNS della sezione Advanced Configuration.
- Inserisca i suoi valori in Helm Configuration (YAML) — optional.
- Confermi con Next e poi Create cluster (creazione) oppure Save (modifica).
Svuotare il campo, o cancellare una riga della sovrascrittura, da Edit non rimuove un valore già applicato al cluster. Contatti il supporto per tornare ai valori predefiniti.
Nella pagina di dettaglio del cluster, la riga DNS della sezione Network indica CoreDNS quando viene applicata una configurazione CoreDNS.
Sovrascrivere la configurazione
Il valore YAML viene trasmesso al chart Helm di CoreDNS, sotto la chiave coredns. Ad esempio, per impostare il numero di repliche e le risorse:
coredns:
replicaCount: 2
resources:
limits:
cpu: 500m
memory: 256Mi
requests:
cpu: 100m
memory: 128Mi
Le opzioni disponibili (plugin, zone, cache, forward…) sono descritte nel chart Helm di CoreDNS.
Utilizzo nel cluster
# Pod CoreDNS
kubectl get pods -A | grep coredns
# Testare la risoluzione da un pod
kubectl run dns-test --rm -it --image=busybox --restart=Never -- nslookup kubernetes.default
Buone pratiche
- Mantenga almeno 2 repliche per garantire l'alta disponibilità del DNS.
- Monitori la memoria: il consumo di CoreDNS aumenta con il numero di service e di richieste.
- Non modifichi manualmente il
ConfigMapdi CoreDNS nel cluster: utilizzi la sovrascrittura nella console, altrimenti le sue modifiche verranno sovrascritte.