En esta página se describe cómo configurar una repetición de NTP externa para el dispositivo aislado de Google Distributed Cloud (GDC).
Estos pasos solo son necesarios si quieres sincronizar el dispositivo con una hora externa después de haberlo desconectado.
Antes de empezar
Para sincronizar el dispositivo con un NTP externo, sigue estos pasos:
Antes de empezar, asegúrate de que solo haya un repetidor NTP. Para verificarlo, ejecuta el siguiente comando en la máquina de arranque:
kubectl get ntprelay -A
La salida tiene el siguiente aspecto:
NAMESPACE NAME AGE gpc-system bi-ntp-relay 4d21h
Configurar el relay NTP
Conecta el bootstrapper al dispositivo del electrodoméstico y determina la dirección IP de la interfaz conectada:
ifconfig mgmt: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 198.18.0.30 netmask 255.255.255.224 broadcast 198.18.0.31 inet6 fe80::20c:29ff:fea8:fc35 prefixlen 64 scopeid 0x20<link> ...
Edita el
ntprelay
CR incluyendo la IP de gestión del bootstrapper como IP upstream.kubectl edit ntprelay bi-ntp-relay -n gpc-system ntprelay.system.private.gdc.goog/bi-ntp-relay edited kubectl get ntprelay bi-ntp-relay -n gpc-system -oyaml
La salida tiene el siguiente aspecto. En este ejemplo, se cambia la dirección IP de
upstreamServers
:apiVersion: system.private.gdc.goog/v1alpha1 kind: NTPRelay metadata: creationTimestamp: "2025-05-16T08:44:21Z" generation: 2 name: bi-ntp-relay namespace: gpc-system resourceVersion: "10871409" uid: 6cde8e65-791c-4bc6-9a8b-d5c9bf103f8b spec: upstreamServers: - 192.0.2.030
Verifica la sincronización NTP:
kubectl get pods -l app.kubernetes.io/name=ntp -n ntp-system -o name | xargs -I {} kubectl exec {} -n ntp-system -- chronyc sources -v; echo
La salida tiene este aspecto:
.-- Source mode '^' = server, '=' = peer, '#' = local clock. / .- Source state '*' = current best, '+' = combined, '-' = not combined, | / 'x' = may be in error, '~' = too variable, '?' = unusable. || .- xxxx [ yyyy ] +/- zzzz || Reachability register (octal) -. | xxxx = adjusted offset, || Log2(Polling interval) --. | | yyyy = measured offset, || \ | | zzzz = estimated error. || | | \ MS Name/IP address Stratum Poll Reach LastRx Last sample =============================================================================== ^* 192.0.2.026 1 6 17 43 +286ns[ +36us] +/- 1160us =? 192.0.2.029 0 6 0 - +0ns[ +0ns] +/- 0ns =? 192.0.2.051 0 6 0 - +0ns[ +0ns] +/- 0ns =? 192.0.2.059 0 6 0 - +0ns[ +0ns] +/- 0ns .-- Source mode '^' = server, '=' = peer, '#' = local clock. / .- Source state '*' = current best, '+' = combined, '-' = not combined, | / 'x' = may be in error, '~' = too variable, '?' = unusable. || .- xxxx [ yyyy ] +/- zzzz || Reachability register (octal) -. | xxxx = adjusted offset, || Log2(Polling interval) --. | | yyyy = measured offset, || \ | | zzzz = estimated error. || | | \ MS Name/IP address Stratum Poll Reach LastRx Last sample =============================================================================== ^* 192.0.2.026 1 6 37 2 +2ns[ +90us] +/- 84us =? 192.0.2.029 2 6 1 8 +368us[ +449us] +/- 3761us =? 192.0.2.051 0 6 1 - +0ns[ +0ns] +/- 0ns =? 192.0.2.059 2 6 1 8 +663us[ +744us] +/- 11ms .-- Source mode '^' = server, '=' = peer, '#' = local clock. / .- Source state '*' = current best, '+' = combined, '-' = not combined, | / 'x' = may be in error, '~' = too variable, '?' = unusable. || .- xxxx [ yyyy ] +/- zzzz || Reachability register (octal) -. | xxxx = adjusted offset, || Log2(Polling interval) --. | | yyyy = measured offset, || \ | | zzzz = estimated error. || | | \ MS Name/IP address Stratum Poll Reach LastRx Last sample =============================================================================== ^* 192.0.2.026 1 6 37 29 -6ns[ -759us] +/- 92us =? 192.0.2.029 2 6 1 36 +334us[ -346us] +/- 3775us =? 192.0.2.051 2 6 1 35 -125us[ -813us] +/- 5839us =? 192.0.2.059 0 6 1 - +0ns[ +0ns] +/- 0ns
Comprueba si el
chronyc
de los pods de la NTP hace referencia a la IP recién añadida.kubectl exec -it -n ntp-system ntp2-84ddf7cd99-96vqn -- sh
La salida tiene el siguiente aspecto:
Defaulted container "ntp-image" out of: ntp-image, ntp-node-exporter # chronyc tracking Reference ID : C612001E (198.18.0.30) Stratum : 2 Ref time (UTC) : Wed May 21 07:28:38 2025 System time : 0.000000005 seconds slow of NTP time Last offset : +0.000025645 seconds RMS offset : 0.000082131 seconds Frequency : 15.671 ppm slow Residual freq : +0.024 ppm Skew : 0.628 ppm Root delay : 0.000164273 seconds Root dispersion : 0.000180630 seconds Update interval : 64.8 seconds Leap status : Normal # exit