¿Qué es el DNS distribuido?

Fondo

Las tareas se mueven con frecuencia en DC / OS, los recursos deben resolverse dinámicamente mediante un protocolo de aplicación y se hace referencia a ellos por nombre. Esto significa que DNS es una parte integral de DC / OS. En lugar de implementar un cliente ZooKeeper o Mesos en cada proyecto, hemos elegido DNS como la lengua franca para el descubrimiento entre todos nuestros componentes en DC / OS.

Esto se implementa utilizando Mesos-DNS, que se ejecuta en cada uno de los maestros DC / OS. En los sistemas cliente, colocamos cada uno de los maestros en /etc/resolv.conf . Si un maestro deja de funcionar, las consultas DNS a ese maestro expirarán. El proxy DNS distribuido resuelve este problema enviando consultas DNS dobles a múltiples maestros y devolviendo el primer resultado.

Para aliviar aún más el riesgo, el Proxy DNS Distribuido enruta las consultas a los nodos que determina que son más óptimos para hacer una consulta. Específicamente, si un dominio termina en mesos , enviará consultas a los maestros de Mesos. Si no termina en mesos , enviará la consulta a 2 de los nodos configurados aguas arriba.

Implementación

El Proxy DNS distribuido en sí mismo es muy simple. Tiene lógica de despacho dual y aloja un dominio spartan que solo tiene un registro: ready.spartan . El propósito de este registro es investigar la disponibilidad del Proxy DNS Distribuido. Muchos servicios, incluido ICMP, hacen ping a esta dirección antes de comenzar.

El proxy DNS distribuido obtiene su información del expositor. Por esta razón, es crítico que el Expositor esté configurado correctamente en los maestros. Alternativamente, si el clúster se configura utilizando maestros estáticos, los cargará desde el archivo de configuración estática.

ZooKeeper

El proxy DNS distribuido también permite una alta disponibilidad de ZooKeepers. Siempre puede usar las direcciones zk-1.zk zk-2.zk , zk-3.zk zk-4.zk , zk-4.zk , zk-4.zk , zk-5.zk . Si hay menos de 5 ZooKeepers, el Proxy DNS Distribuido apuntará múltiples registros en un solo ZooKeeper.

Perro guardián

Dado que DNS es un subsistema tan especializado y sensible, hemos elegido protegerlo con un perro guardián. Hay un servicio instalado en cada nodo que se ejecuta cada 5 minutos y comprueba si puede consultar ready.spartan . Para evitar efectos armónicos, duerme durante 1 minuto después de su hora de inicio inicial para evitar correr espartano. Puede monitorear el estado del sistema del watchdog como DNS Dispatcher Watchdog en el panel de estado del sistema.

Además de este perro guardián, también ejecutamos genresolv, que verifica si el Proxy DNS Distribuido está vivo o no para generar el resolv.conf. Si cree que el Proxy DNS distribuido no está activo, reescribe el resolv.conf con los resolvers ascendentes que ha configurado en su clúster DC / OS.

Interfaz de proxy DNS distribuido

El proxy DNS distribuido crea su propia interfaz de red. Esta interfaz es en realidad un dispositivo ficticio llamado spartan . Este dispositivo aloja 3 IP, 198.51.100.1/32 , 198.51.100.2/32 , 198.51.100.3/32 . Puede supervisar el estado del sistema del Proxy DNS como el componente del Despachador DNS en el panel de estado del sistema.

Cada dominio tiene un servidor de nombres de dominio que maneja sus solicitudes, y hay una persona o equipo de TI que mantiene los registros en la base de datos de ese servidor DNS. Ninguna otra base de datos en el mundo recibe tantas solicitudes como los servidores DNS, y manejan todas esas consultas mientras procesan actualizaciones de datos de millones de personas todos los días. Esa es una de las partes más maravillosas de DNS, circula completamente por todo el mundo en millones de máquinas, administrada por millones de personas, y sin embargo, se comporta como una base de datos única e integrada.

Más información visita en el siguiente enlace.

DNS distribuido

Para obtener la última actualización, visite la página de Facebook y el canal de YouTube