Image Volumes wurden mit der Kubernetes-Version v1.31 als Alpha-Feature eingeführt und sind nun in der Version v1.33 auf Beta-Status hochgestuft worden. Dies ist Teil von KEP-4639.

Es ist wichtig zu beachten, dass das Feature standardmäßig deaktiviert ist, da noch nicht alle Container-Runtimes vollständige Unterstützung bieten. CRI-O unterstützt das ursprüngliche Feature seit Version v1.31 und wird in v1.33 die Unterstützung für Image Volumes als Beta hinzufügen. containerd hat die Unterstützung für das Alpha-Feature integriert, das Teil der Version v2.1.0 sein wird, und arbeitet an der Beta-Unterstützung im Rahmen von PR #11578.

Was ist neu?

Die größte Neuerung bei der Beta-Gradierung der Image Volumes ist die Unterstützung von subPath und subPathExpr Mounts für Container über spec.containers[*].volumeMounts.[subPath,subPathExpr]. Dies ermöglicht es Endbenutzern, ein bestimmtes Unterverzeichnis eines Image Volumes zu montieren, das nach wie vor als schreibgeschützt (noexec) bereitgestellt wird. Das bedeutet, dass nicht vorhandene Unterverzeichnisse standardmäßig nicht gemountet werden können. Kubernetes wird zudem sicherstellen, dass keine absoluten oder relativen Pfadkomponenten Teil des angegebenen Unterpfades sind. Container-Runtimes sind ebenfalls verpflichtet, diese Anforderungen aus Sicherheitsgründen zu überprüfen. Wenn ein angegebenes Unterverzeichnis in einem Volume nicht existiert, sollten die Runtimes bei der Containererstellung fehlschlagen und dem Benutzer Rückmeldung über bestehende Kubelet-Events geben.

Darüber hinaus sind drei neue Kubelet-Metriken für Image Volumes verfügbar:

  • kubelet_image_volume_requested_total: Zeigt die Anzahl der angeforderten Image Volumes an.
  • kubelet_image_volume_mounted_succeed_total: Zählt die Anzahl der erfolgreichen Mounts von Image Volumes.
  • kubelet_image_volume_mounted_errors_total: Dokumentiert die Anzahl der fehlgeschlagenen Mounts von Image Volumes.

Praktisches Beispiel

Um ein vorhandenes Unterverzeichnis für ein bestimmtes Image Volume zu verwenden, nutzen Sie es einfach als subPath (oder subPathExpr) Wert in den volumeMounts der Container:

apiVersion: v1
kind: Pod
metadata:
  name: image-volume
spec:
  containers:
  - name: shell
    command: ["sleep", "infinity"]
    image: debian
    volumeMounts:
    - name: volume
      mountPath: /volume
      subPath: dir
  volumes:
  - name: volume
    image:
      reference: quay.io/crio/artifact:v2
      pullPolicy: IfNotPresent

Erstellen Sie nun den Pod in Ihrem Cluster:

kubectl apply -f image-volumes-subpath.yaml

Jetzt können Sie sich mit dem Container verbinden:

kubectl attach -it image-volume bash

Und den Inhalt der Datei aus dem dir Unterverzeichnis im Volume überprüfen:

cat /volume/file

Die Ausgabe sollte ähnlich sein:

none 1

Vielen Dank, dass Sie bis zum Ende dieses Blogbeitrags gelesen haben! SIG Node ist stolz darauf, diese Funktion als Teil von Kubernetes v1.33 bereitzustellen.

Als Autor dieses Blogbeitrags möchte ich meinen besonderen Dank an alle beteiligten Personen aussprechen!

Wenn Sie Feedback oder Vorschläge haben, zögern Sie nicht, sich über den Kubernetes Slack (#sig-node) Kanal oder die SIG Node Mailingliste an SIG Node zu wenden.


Quelle: Kubernetes Blog

ayedo Alien Kubernetes Hat

Hosten Sie Ihre Apps bei ayedo

Profitieren Sie von skalierbarem App Hosting in Kubernetes, hochverfügbarem Ingress Loadbalancing und erstklassigem Support durch unser Plattform Team. Mit der ayedo Cloud können Sie sich wieder auf das konzentrieren, was Sie am besten können: Software entwickeln.

Jetzt ausprobieren →

Ähnliche Inhalte

Alle Blogs →



ayedo Redaktion · 06.07.2025 · ⏳ 2 Minuten

Herausforderungen und Lösungen: So meistern Sie Geräteausfälle in Kubernetes-Pods

Kubernetes ist der De-facto-Standard für die Container-Orchestrierung, aber wenn es um den Umgang mit spezialisierter Hardware wie GPUs und anderen Beschleunigern geht, wird es kompliziert. In diesem …

Lesen →

Herausforderungen und Lösungen: So meistern Sie Geräteausfälle in Kubernetes-Pods
Katrin Peter · 03.07.2025 · ⏳ 2 Minuten

Produkt-Update bei Loopback:

Lesen →

Produkt-Update bei Loopback:
Katrin Peter · 03.07.2025 · ⏳ 3 Minuten

Kubernetes als Schlüsseltechnologie für die OZG-Umsetzung im Saarland

Lesen →

Kubernetes als Schlüsseltechnologie für die OZG-Umsetzung im Saarland
ayedo Redaktion · 28.06.2025 · ⏳ 3 Minuten

Kompatibilität von Container-Images: Ein Schlüssel zur Zuverlässigkeit in Cloud-Umgebungen

In Branchen, in denen Systeme äußerst zuverlässig laufen müssen und strenge Leistungsanforderungen bestehen, wie beispielsweise in der Telekommunikation, Hochleistungs- oder KI-Computing, benötigen …

Lesen →

Kompatibilität von Container-Images: Ein Schlüssel zur Zuverlässigkeit in Cloud-Umgebungen
Katrin Peter · 17.06.2025 · ⏳ 3 Minuten

Kubernetes kann Freiheit - wenn man es richtig macht.

Lesen →

Kubernetes kann Freiheit - wenn man es richtig macht.

Interessiert an weiteren Inhalten? Hier gehts zu allen Blogs →


Noch Fragen? Melden Sie sich!

Unsere DevOps-Experten antworten in der Regel innerhalb einer Stunde.

Zu Gen-Z für E-Mail? Einfach mal Discord versuchen. Unter +49 800 000 3706 können Sie unter Angabe Ihrer Kontaktdaten auch einen Rückruf vereinbaren. Bitte beachten Sie, dass es keine Möglichkeit gibt, uns telefonisch direkt zu erreichen. Bitte gar nicht erst versuchen. Sollten Sie dennoch Interesse an synchroner Verfügbarkeit via Telefon haben, empfehlen wir Ihnen unseren Priority Support.