k3k: agent-less k3s in Kubernetes
Zusammenfassung in drei Punkten Controlplane on demand: Mit k3k lässt sich eine vollwertige …
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.
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.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: IfNotPresentErstellen Sie nun den Pod in Ihrem Cluster:
kubectl apply -f image-volumes-subpath.yamlJetzt können Sie sich mit dem Container verbinden:
kubectl attach -it image-volume bashUnd den Inhalt der Datei aus dem dir Unterverzeichnis im Volume überprüfen:
cat /volume/fileDie 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
Zusammenfassung in drei Punkten Controlplane on demand: Mit k3k lässt sich eine vollwertige …
Kubernetes hat sich in den letzten Jahren vom Experimentierfeld zum De-facto-Standard für …
Ein Offenbarungseid – und das im wahrsten Sinne des Wortes Lange haben wir es vermutet, lange wurde …