Spegel
Zweck
Spegel verbessert die Verfügbarkeit und Effizienz von Container-Images innerhalb eines Kubernetes Clusters.
Bereits heruntergeladene Images können zwischen Nodes verteilt werden, wodurch wiederholte Downloads aus externen Registries reduziert werden.
Ziele
-
Reduzierung externer Registry-Zugriffe
-
Schnellere Pod-Starts
-
Geringerer Internet-Traffic
-
Höhere Verfügbarkeit bei Registry-Ausfällen
-
Bessere Nutzung lokaler Cluster-Ressourcen
Architektur
Node A
|
+-- Container Image
|
v
Spegel
|
+------ Node B
|
+------ Node C
Spegel nutzt Peer-to-Peer-Kommunikation zwischen den Cluster-Nodes.
Containerd kann Images von anderen Cluster-Nodes beziehen, ohne diese erneut aus einer externen Registry herunterladen zu müssen.
Deployment Modell
Spegel wird ausschließlich im Cluster home-tamay-cloud betrieben.
Der Cluster besteht aus drei Nodes und profitiert dadurch von der verteilten Bereitstellung von Container-Images.
Single-Node Cluster profitieren nicht von Spegel und verwenden die ursprünglichen Container Registries.
Integration
Spegel integriert sich direkt in Containerd.
Containerd
|
v
Spegel
|
+--> Peer Nodes
|
+--> Container Registry
Containerd versucht zunächst, Images innerhalb des Clusters zu finden.
Erst wenn kein Peer das gewünschte Image bereitstellt, wird die ursprüngliche Registry kontaktiert.
Observability
Für Spegel werden Monitoring-Komponenten bereitgestellt.
Aktiviert sind:
-
ServiceMonitor
-
Grafana Dashboard
Dadurch wird die Nutzung von Spegel innerhalb des Clusters sichtbar.
Vorteile
-
Weniger externe Downloads
-
Schnellere Rollouts
-
Geringere Abhängigkeit von Registries
-
Bessere Bandbreitennutzung
-
Besonders sinnvoll für Multi-Node Cluster
Einschränkungen
-
Kein Nutzen für Single-Node Cluster
-
Nur für Container Images
-
Ersetzt keine Container Registry
-
Images müssen bereits auf mindestens einem Node vorhanden sein