Automagischer Registry URL-Rewrite im OpenShift Cluster

In gewissen Umgebungen sind die externen Registries z.B. von Red Hat nicht direkt erreichbar. Es sind aber Pull-through Registries für diese intern verfügbar. Um uns das Leben zu vereinfachen, haben wir auf den Nodes im Cluster via MachineConfig einen automatischen URL-Rewrite konfiguriert.

Die Konfiguration

Um den URl-Rewrite zu konfigurieren, musst du auf den Nodes ein Config-File im TOML Format im Ordner /etc/containers/registries.conf.d/ mit folgendem Inhalt ablegen:

[[registries]]
  prefix="registry.redhat.io"
  location="int-pull-through-registry:9443"

[[registries]]
  prefix="registry.access.redhat.com"
  location="int-pull-through-registry:9444"

[[registries]]
  prefix="registry.connect.redhat.com"
  location="int-pull-through-registry:9445"

(Einschub: ich weiss zuwenig über dieses TOML Format. schaut irgendwie komisch aus, funktioniert aber)

OpenShift 4 verwendet die selben Libaries wie podman. Somit funktioniert die Konfiguration auch wenn du podman aufrufst und ist auch auf Fedora oder CentOS/RHEL 8 möglich.

Beispiel:

podman run --rm -ti registry.access.redhat.com/ubi8/ubi /bin/bash

Podman wird im Hintegrund dann int-pull-through-registry:9444/ubi8/ubi:latest abrufen.

Zum lokale Testen kannst du dir auch eine Registry erfinden, die dann auf eine existierende zeigt:

[[registries]]
  prefix="meine-nicht-exsitierende-registry"
  location="docker.io"

Verteilen im Cluster mit MachineConfig

Die Konfiguration kannst du im Cluster via MachineConfig Resource verteilen. Beispiele findest du in der OpenShift 4 Dokumentation: Using MachineConfig objects to configure nodes -> Configuring container image registry settings.

Auch gut zu wissen: jede Anpassung an einem MachineConfig Resource löst die Rekonfiguration der Nodes aus, was auch einen Reboot beinhaltet.

Beliebte Posts aus diesem Blog