Auf dieser Seite wird beschrieben, wie Sie eine externe NTP-Wiedergabe für eine Google Distributed Cloud (GDC) Air Gap-Appliance konfigurieren.
Diese Schritte sind nur erforderlich, wenn Sie das Gerät nach dem Trennen der Verbindung mit einer externen Zeitquelle synchronisieren möchten.
Hinweise
Führen Sie die folgenden Schritte aus, um die Appliance mit einem externen NTP-Server zu synchronisieren:
Prüfen Sie vor dem Start, ob nur ein NTP-Relay vorhanden ist. Führen Sie zur Überprüfung den folgenden Befehl auf dem Bootstrapper-Computer aus:
kubectl get ntprelay -A
Die Ausgabe sieht so aus:
NAMESPACE NAME AGE gpc-system bi-ntp-relay 4d21h
NTP-Relay konfigurieren
Verbinden Sie den Bootstrapper mit dem Appliance-Gerät und ermitteln Sie die IP-Adresse der verbundenen Schnittstelle:
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> ...
Bearbeiten Sie die benutzerdefinierte Ressource
ntprelay
, indem Sie die Bootstrapper-Management-IP als Upstream-IP angeben.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
Die Ausgabe sieht so aus: In diesem Beispiel wird die IP-Adresse für
upstreamServers
geändert: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
NTP-Synchronisierung prüfen:
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
Die Ausgabe sieht so aus:
.-- 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
Prüfen Sie, ob sich die
chronyc
in den NTP-Pods auf die neu hinzugefügte IP-Adresse bezieht.kubectl exec -it -n ntp-system ntp2-84ddf7cd99-96vqn -- sh
Die Ausgabe sieht so aus:
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