Mengonfigurasi server NTP eksternal

Halaman ini menjelaskan cara mengonfigurasi server NTP eksternal untuk perlengkapan air-gapped Google Distributed Cloud (GDC).

Langkah-langkah ini hanya diperlukan jika Anda ingin menyinkronkan appliance dengan sumber waktu eksternal.

Sebelum memulai

Untuk menyinkronkan appliance dengan server NTP eksternal, konfigurasi perangkat dan instal perangkat lunak.

Mengonfigurasi relai NTP

  1. Tentukan alamat IP yang harus digunakan oleh perangkat air-gapped GDC untuk mengakses server NTP Anda. Anda mungkin harus menyesuaikan aturan firewall untuk mengizinkan traffic.

  2. Dengan menggunakan kubeconfig root, edit CR ntprelay di cluster management plane dan tambahkan bagian upstreamServers.

    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
    

    YAML yang dihasilkan memiliki bagian .spec yang diperbarui dan menyertakan IP, seperti yang ditunjukkan pada contoh berikut:

    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
    
  3. Verifikasi waktu di setiap node:

    Tunggu tiga menit agar ada waktu untuk sinkronisasi, lalu jalankan perintah berikut di cluster bidang kontrol menggunakan kubeconfig root:

    kubectl get pods -l app.kubernetes.io/name=ntp -n ntp-system -o name | xargs -P 0 -I {} kubectl exec {} -n ntp-system -- date; echo
    

    Output menampilkan waktu untuk setiap node, yang cocok dengan waktu server NTP Anda. Outputnya akan terlihat mirip seperti berikut:

    Defaulted container "ntp-image" out of: ntp-image, ntp-node-exporter
    Defaulted container "ntp-image" out of: ntp-image, ntp-node-exporter
    Defaulted container "ntp-image" out of: ntp-image, ntp-node-exporter
    Thu Nov  6 19:39:34 UTC 2025
    Thu Nov  6 19:39:34 UTC 2025
    Thu Nov  6 19:39:34 UTC 2025
    

Men-debug masalah konektivitas

Jika waktu tidak cocok, jalankan perintah berikut di cluster control plane menggunakan kubeconfig root untuk men-debug konektivitas ke server NTP:

kubectl get pods -l app.kubernetes.io/name=ntp -n ntp-system -o name | xargs -I {} kubectl exec {} -n ntp-system -- sh -c "chronyc sources -v; echo; chronyc ntpdata"; echo

Output koneksi yang berfungsi dengan baik akan terlihat seperti berikut. IP server eksternal dimulai dengan ^*. Dalam data untuk sumber (seperti Remote address : 192.0.2.026), TX adalah jumlah paket yang dikirim, dan RX adalah jumlah yang diterima. Jika RX adalah 0, hal ini menunjukkan masalah konektivitas. Periksa firewall Anda untuk melihat apakah permintaan NTP berhasil dikirim:

  .-- 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

Remote address  : 192.0.2.026 (ACC03AF1)
Remote port     : 123
Local address   : 192.0.2.029 (0AA800D5)
Leap status     : Normal
Version         : 4
Mode            : Symmetric passive
Stratum         : 2
Poll interval   : 10 (1024 seconds)
Precision       : -25 (0.000000030 seconds)
Root delay      : 0.000381 seconds
Root dispersion : 0.000397 seconds
Reference ID    : ACC03BDF ()
Reference time  : Thu Nov 06 19:36:31 2025
Offset          : -0.000002443 seconds
Peer delay      : 0.000202604 seconds
Peer dispersion : 0.000000053 seconds
Response time   : 0.000097758 seconds
Jitter asymmetry: -0.37
NTP tests       : 111 111 1111
Interleaved     : No
Authenticated   : No
TX timestamping : Daemon
RX timestamping : Kernel
Total TX        : 67
Total RX        : 67
Total valid RX  : 67
Total good RX   : 67