siderolabs / talos

Talos Linux is a modern Linux distribution built for Kubernetes.
https://www.talos.dev
Mozilla Public License 2.0
6.84k stars 550 forks source link

Use time.cloudflare.com instead of pool.ntp.org by default #8396

Closed maxpain closed 8 months ago

maxpain commented 8 months ago

Feature Request

Use time.cloudflare.com instead of pool.ntp.org by default

Description

Talos already uses 1.1.1.1 as a DNS resolver, so why not use time.cloudflare.com as an NTP server? I tried to set an IPv6-only cluster using Talos and saw a lot of errors because pool.ntp.org lacks AAAA records and IPv6 connectivity.

time.cloudflare.com fully supports IPv6 and has much less latency due to anycast network design and one of the most extensive CDN networks in the world. At the same time, pool.ntp.org uses ineffective DNS steering for geo load balancing with fewer PoPs.

ping time.cloudflare.com
PING time.cloudflare.com (162.159.200.1): 56 data bytes
64 bytes from 162.159.200.1: icmp_seq=0 ttl=57 time=12.688 ms
64 bytes from 162.159.200.1: icmp_seq=1 ttl=57 time=9.029 ms
64 bytes from 162.159.200.1: icmp_seq=2 ttl=57 time=11.556 ms
64 bytes from 162.159.200.1: icmp_seq=3 ttl=57 time=8.648 ms
64 bytes from 162.159.200.1: icmp_seq=4 ttl=57 time=11.756 ms

ping pool.ntp.org
PING pool.ntp.org (104.234.70.173): 56 data bytes
64 bytes from 104.234.70.173: icmp_seq=0 ttl=48 time=161.840 ms
64 bytes from 104.234.70.173: icmp_seq=1 ttl=48 time=164.574 ms
64 bytes from 104.234.70.173: icmp_seq=2 ttl=48 time=162.110 ms
64 bytes from 104.234.70.173: icmp_seq=3 ttl=48 time=164.962 ms
64 bytes from 104.234.70.173: icmp_seq=4 ttl=48 time=164.688 ms

I tried to set time.cloudflare.com using dracut-style kernel args: ip=:::::::1.1.1.1:[2606:4700:4700::1111]:time.cloudflare.com But it is not possible to use a domain name, only the IPv4/IPv6 address:

image
smira commented 8 months ago

you can set a timeserver via the machine config, it's way easier :)

pool.ntp.org supports IPv6, but only at specific subdomains

maxpain commented 8 months ago

you can set a timeserver via the machine config, it's way easier :)

Of course, but we're speaking of out-of-box user experience for Talos users

smira commented 8 months ago

It's a difficult choice to make, much less to my personal preference, but a wide range of other considerations.

We will look into that, thank you