Dieses Dokument wurde mithilfe automatisierter maschineller Übersetzungstechnologie übersetzt. Wir bemühen uns um korrekte Übersetzungen, übernehmen jedoch keine Gewähr für die Vollständigkeit, Richtigkeit oder Zuverlässigkeit der übersetzten Inhalte. Im Falle von Abweichungen ist die englische Originalversion maßgebend und stellt den verbindlichen Text dar.

NTP-Konfiguration mit SUSE® Rancher Prime: OS Manager

Übersicht

Der standardmäßige OS-Kanal, der mit SUSE® Rancher Prime: OS Manager geliefert wird, bietet NTP-Unterstützung über systemd-timesyncd.

Diese Seite behandelt die Konfiguration von systemd-timesyncd mit den bereitgestellten SLE Micro-Images, die mit einigen standardmäßigen (Fallback-NTP-Servern) vorinstalliert sind: ([0-3].suse.pool.ntp.org).

Der einfachste Weg, einen bestimmten NTP-Server zu konfigurieren, besteht darin, eine Konfigurationsdatei im /etc/systemd/timesyncd.conf.d-Verzeichnis abzulegen. Das Verzeichnis und die Konfigurationsdatei sollten für den systemd-timesync-Benutzer zugänglich sein.

Einen statischen NTP-Server konfigurieren

Die NTP-Konfiguration kann über einen cloud-config-Snippet bereitgestellt werden, der zur MachineRegistration-Konfiguration hinzugefügt wird.

Wir müssen:

  • sicherstellen, dass das timesyncd.conf.d-Verzeichnis vom systemd-timesync-Benutzer gelesen werden kann

  • die benutzerdefinierte Konfigurationsdatei im timesyncd.conf.d-Verzeichnis schreiben

  • den systemd-timesyncd-Dienst neu starten, um die neue Konfiguration zu verwenden

Als Beispiel sehen wir uns an, wie man ntp.ripe.net als primären NTP-Server konfiguriert (Zeilen 6-14):

config:
  cloud-config:
    users:
      - name: root
        passwd: root
    write_files:
      - content: |
          [Time]
          NTP=ntp.ripe.net
        path: /etc/systemd/timesyncd.conf.d/custom-ntp.conf
        permissions: 644
    runcmd:
      - chmod 755 /etc/systemd/timesyncd.conf.d
      - systemctl restart systemd-timesyncd
  elemental:
    install:
      device: /dev/vda
      reboot: true
machineInventoryLabels:
  element: fire

NTP über DHCP konfigurieren

Um den NTP-Server über die NTP-DHCP-Option aus dem Netzwerk zu erhalten, benötigen wir ein NetworkManager-Dispatcher-Skript, um den systemd-timesync-Dienst bei Bedarf dynamisch neu zu konfigurieren.

Wir müssen sowohl:
* das Dispatcher-Skript bereitstellen, das die systemd-timesyncd-Konfigurationsdateien erstellt und löscht
* den NetworkManager-Dispatcher-Dienst aktivieren

Siehe Zeilen 6-34 im folgenden Beispiel der MachineRegistration-Konfiguration:

config:
  cloud-config:
    users:
      - name: root
        passwd: root
    write_files:
      - content: |
          #! /usr/bin/bash

          [ -n "$CONNECTION_UUID" ] || exit

          INTERFACE=$1
          ACTION=$2

          case $ACTION in
              up | dhcp4-change | dhcp6-change)
                  [ -n "$DHCP4_NTP_SERVERS" ] || exit
                  mkdir -p /etc/systemd/timesyncd.conf.d/
                  cat<<EOF > /etc/systemd/timesyncd.conf.d/$CONNECTION_UUID.conf
          [Time]
          NTP=$DHCP4_NTP_SERVERS
          RootDistanceMaxSec=15
          EOF
                  systemctl restart systemd-timesyncd
                  ;;
              down)
                  rm -f /etc/systemd/timesyncd.conf.d/$CONNECTION_UUID.conf
                  systemctl restart systemd-timesyncd
                  ;;
          esac
        path: /etc/NetworkManager/dispatcher.d/10-update-timesyncd
        permissions: 700
    runcmd:
      - systemctl enable NetworkManager-dispatcher
  elemental:
    install:
      device: /dev/vda
      reboot: true
machineInventoryLabels:
  element: fire