Activez la mise en cache DNS au niveau du noyau pour les pods ECI afin de réduire la latence DNS, sans modifier dnsConfig.
Prérequis
Avant de commencer, assurez-vous de disposer des éléments suivants :
Vous avez créé un cluster ACK Serverless.
Le module complémentaire de nœud virtuel ACK version v2.10.0-rc.10 ou ultérieure est installé. Consultez la rubrique Gérer les composants système.
Fonctionnement de BlazingDNS
Lorsqu'un pod sur un ECI envoie une requête DNS, BlazingDNS vérifie son cache au niveau du noyau avant de transférer la requête au serveur DNS amont. Les réponses mises en cache sont renvoyées immédiatement.
La mise en cache s'exécutant au niveau du noyau, aucune modification de dnsConfig ni des paramètres du serveur DNS n'est nécessaire.
Après l'installation, les requêtes DNS provenant des ECIs sont automatiquement mises en cache :
Limitations
BlazingDNS est disponible uniquement dans les clusters ACK Serverless et accélère la résolution DNS uniquement pour les pods ECI. Autres limitations :
Prend en charge uniquement les requêtes DNS pour les enregistrements A, AAAA et CNAME.
Prend en charge uniquement les requêtes DNS basées sur UDP.
Prend en charge les réponses DNS d'une taille maximale de 256 octets.
L'accélération du cache DNS s'applique uniquement aux pods créés après l'installation de BlazingDNS. Les pods existants ne sont pas concernés.
Installer BlazingDNS
Connectez-vous à la console ACK. Dans le volet de navigation de gauche, cliquez sur Clusters.
Sur la page Clusters, cliquez sur le nom du cluster. Dans le volet de navigation de gauche, choisissez Operations > Add-ons.
Sur la page Add-ons, cliquez sur l'onglet Networking. Localisez la carte BlazingDNS, puis cliquez sur Install et suivez les instructions affichées à l'écran.
Après l'installation :
Une ConfigMap nommée
blazing-dnsest créée dans le namespacekube-system. Ne modifiez ni ne supprimez cette ConfigMap.L'accélération du cache DNS s'applique automatiquement aux nouveaux pods sur les ECIs.
Vérifier que BlazingDNS est actif
Vérifiez l'annotation k8s.aliyun.com/dns-cache-enable sur le pod. La valeur true confirme que l'accélération du cache DNS est active.
Mettre à niveau BlazingDNS
Sur la page Add-ons, cliquez sur l'onglet Networking. Localisez la carte BlazingDNS, puis cliquez sur Upgrade et suivez les instructions affichées à l'écran.
Désinstaller BlazingDNS
Avant de désinstaller BlazingDNS, désactivez-le pour tous les pods en cours d'exécution.
Étape 1 : Identifier les pods avec BlazingDNS activé
Listez les pods avec BlazingDNS activé :
kubectl get pod -o=jsonpath='{.items[?(@.metadata.annotations.k8s\.aliyun\.com/dns-cache-enable=="true")].metadata.name}' -A
Si jq est installé, affichez le namespace pour chaque pod :
kubectl get pod -o=jsonpath='{.items[?(@.metadata.annotations.k8s\.aliyun\.com/dns-cache-enable=="true")]}' | jq -rc ".metadata.namespace,.metadata.name"
Étape 2 : Désactiver BlazingDNS pour les pods concernés
Si les commandes ci-dessus renvoient des résultats, désactivez BlazingDNS avant de poursuivre :
Connectez-vous à la console ACK. Dans le volet de navigation de gauche, cliquez sur Clusters.
Sur la page Clusters, cliquez sur le nom du cluster. Dans le volet de navigation de gauche, choisissez Configurations > ConfigMaps.
Sur la page ConfigMap, sélectionnez le namespace
kube-system. Dans la colonne Actions de la ConfigMapblazing-dns, cliquez sur Edit. Définissezconfigsurenabled: false.Supprimez et recréez les pods concernés, puis réexécutez la commande de l'étape 1 jusqu'à ce qu'aucun pod ne soit renvoyé.
Étape 3 : Désinstaller le module complémentaire
Sur la page Add-ons, cliquez sur l'onglet Networking. Localisez la carte BlazingDNS, puis cliquez sur Uninstall et suivez les instructions affichées à l'écran.