Personnaliser CoreDNS sur un cluster Managed Kubernetes OVHcloud
Découvrez comment personnaliser CoreDNS sur un cluster Managed Kubernetes OVHcloud
Objectif
Le service Managed Kubernetes OVHcloud vous fournit des clusters Kubernetes sans les contraintes liées à leur installation ou à leur exploitation.
Les clusters Managed Kubernetes OVHcloud utilisent CoreDNS comme serveur DNS pour la découverte de services (Service Discovery).
Chez OVHcloud, nous sommes à l'écoute de nos utilisateurs et améliorons nos produits et services en conséquence ; c'est pourquoi nous vous donnons la possibilité de personnaliser la configuration de CoreDNS, grâce au mécanisme d'extension dans une ConfigMap spéciale qui n'est pas modifiée lors d'un redéploiement.
Prérequis
- Un cluster Managed Kubernetes OVHcloud
En pratique
Afficher la configuration par défaut de CoreDNS
Dans un cluster Managed Kubernetes OVHcloud, le DNS est géré par CoreDNS.
Consultez la ConfigMap pour voir la configuration par défaut.
Le résultat devrait ressembler à ceci :
Lorsque le control plane Kubernetes est redéployé, ou lors de la mise à niveau du cluster vers le dernier patch, cette configuration CoreDNS par défaut est restaurée à sa valeur par défaut.
Pour comprendre la signification de cette configuration CoreDNS, consultez la documentation officielle de CoreDNS et la documentation des plugins CoreDNS.
Personnaliser la configuration de CoreDNS
Modifier la configuration par défaut de CoreDNS peut entraîner des erreurs si cela n'est pas fait correctement.
Si vous souhaitez modifier et personnaliser la configuration de CoreDNS, vous pouvez le faire en modifiant la ConfigMap coredns-custom, qui ne sera jamais altérée par les services OVHcloud :
Vous pouvez ajouter une nouvelle configuration dans les blocs data.example.include et data.example.server.
Modifiez la ConfigMap coredns-custom avec la commande suivante :
Par exemple, si vous souhaitez utiliser un nameserver personnalisé qui redirigera vers votre DNS privé toutes les résolutions FQDN pour *.myprivatedomain.com :
Vérifiez les logs pour vous assurer que la personnalisation a bien été appliquée :
Limitations connues
-
Une résolution DNS entièrement privée n'est pas possible ; seul un domaine privé peut être résolu. Cela signifie que les FQDN publics sont résolus par le DNS public OVHcloud. Par exemple, lors de la résolution de
kubernetes.iodepuis un pod, CoreDNS résout d'abord vers.:53, qui est le nameserver par défaut, puis résout le/etc/resolv.confdu nœud worker sous-jacent. Il résout ensuite le DNS public OVHcloud (qui est configuré par le Managed Kubernetes OVHcloud). -
Lors de la mise à niveau des nœuds du cluster (ou lorsqu'un nœud redémarre), le pod CoreDNS peut être redémarré et adopter la nouvelle configuration. C'est pour cette raison que vous devez personnaliser la configuration via la ConfigMap
coredns-custom. -
CoreDNS est configuré pour recharger sa configuration (la ConfigMap dans ce cas) toutes les 30 secondes.
-
Les nouveaux clusters Kubernetes disposeront du nouveau déploiement CoreDNS et des nouvelles ConfigMaps, tandis que les anciens devront mettre à jour leur control plane vers le dernier patch.
Aller plus loin
Pour avoir une vue d'ensemble du service Managed Kubernetes OVHcloud, vous pouvez consulter la page Managed Kubernetes OVHcloud.
Pour en savoir plus sur l'utilisation pratique de votre cluster Kubernetes, nous vous invitons à consulter nos tutoriels.
-
Si vous avez besoin d'une formation ou d'une assistance technique pour la mise en oeuvre de nos solutions, contactez votre commercial ou cliquez sur ce lien pour obtenir un devis et demander une analyse personnalisée de votre projet à nos experts de l’équipe Professional Services.
-
Échangez avec notre communauté d'utilisateurs.