Quiero configurar un reenviador condicional con CoreDNS en mi clúster de Amazon Elastic Kubernetes Service (Amazon EKS).
Descripción corta
Puede usar CoreDNS para configurar el reenvío condicional de las consultas DNS enviadas a los dominios resueltas por un servidor DNS personalizado. Para obtener más información, consulte Personalización del servicio DNS en el sitio web de Kubernetes.
**Importante:**Aplique las modificaciones de la siguiente resolución únicamente a los CoreDNS auto gestionados. Para realizar cambios de configuración en el complemento Amazon EKS de CoreDNS, determine la configuración del complemento Amazon EKS comprobando la configuración del complemento Amazon EKS. Compruebe la configuración del complemento antes de realizar cualquier cambio, ya que la modificación de un campo administrado por Amazon EKS impide que Amazon EKS administre el complemento. Esto podría provocar que los cambios se sobrescriban cuando se actualice un complemento.
Resolución
- Modifique el mapa de configuración de CoreDNS y añada la configuración del expedidor condicional:
$ kubectl -n kube-system edit configmap coredns
Salida:
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:Reemplace elnombre de dominio por su nombre de dominio. Sustituya custom-dns-server por la dirección IP de su servidor DNS personalizado.
2.Compruebe que la resolución de nombres de dominio funcione:
$ kubectl run busybox --restart=Never --image=busybox:1.28 -- sleep 3600
$ kubectl exec busybox -- nslookup domain-name
Nota:Reemplace elnombre de dominio por su nombre de dominio.