Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Arbeiten mit SMB-CSI-Treibern
Folgen Sie den Verfahren in diesem Abschnitt, um die CSI-Treiber zu installieren, zu konfigurieren oder zu löschen, die für die Verwendung einer SMB-Dateifreigabe auf einem Amazon S3 File Gateway für die Speicherung in Ihrem Kubernetes-Cluster erforderlich sind. Weitere Informationen finden Sie in der Open-Source-Dokumentation zum SMB-CSI-Treiber unter. GitHub https://github.com/kubernetes-csi/csi-driver-smb/blob/master/docs/install-csi-driver-master.md
Anmerkung
Wenn Sie ein PersistentVolume
Objekt oder ein StorageClass
Objekt erstellen, können Sie einen ReclaimPolicy
Parameter angeben, um zu bestimmen, was mit dem externen Speicher passiert, wenn Objekte gelöscht werden. Der SMB-CSI-Treiber unterstützt die Recycle
Optionen Retain
und, unterstützt derzeit jedoch keine Delete
Option.
Installieren Sie die Treiber
So installieren Sie die Kubernetes SMB CSI-Treiber:
-
Führen Sie in einem Befehlszeilenterminal mit Zugriff auf Ihren Kubernetes-Cluster den folgenden Befehl aus:
kubectl
curl -skSL https://raw.githubusercontent.com/kubernetes-csi/csi-driver-smb/master/deploy/install-driver.sh | bash -s master --
-
Warten Sie, bis der vorherige Befehl abgeschlossen ist, und stellen Sie dann mithilfe der folgenden Befehle sicher, dass die CSI-Treiber-Pods ausgeführt werden:
kubectl -n kube-system get pod -o wide --watch -l app=csi-smb-controller
kubectl -n kube-system get pod -o wide --watch -l app=csi-smb-node
Die Ausgabe sollte folgendermaßen oder ähnlich aussehen:
NAME READY STATUS RESTARTS AGE IP NODE csi-smb-controller-56bfddd689-dh5tk 4/4 Running 0 35s 10.240.0.19 k8s-agentpool-22533604-0 csi-smb-controller-56bfddd689-8pgr4 4/4 Running 0 35s 10.240.0.35 k8s-agentpool-22533604-1 csi-smb-node-cvgbs 3/3 Running 0 35s 10.240.0.35 k8s-agentpool-22533604-1 csi-smb-node-dr4s4 3/3 Running 0 35s 10.240.0.4 k8s-agentpool-22533604-0
Erstellen Sie ein SMB-Objekt StorageClass
Um ein neues StorageClass SMB-Objekt für Ihren Kubernetes-Cluster zu erstellen:
-
Erstellen Sie eine Konfigurationsdatei
storageclass.yaml
mit einem Namen, der dem folgenden Beispiel ähnelt. Ersetzen Sie die angezeigten Informationen durch Ihre eigenen bereitstellungsspezifischen Informationen.ExampleValues
--- apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name:
ExampleStorageClassName
provisioner: smb.csi.k8s.io parameters: source: "//gateway-dns-name-or-ip-address/example-share-name
" # if csi.storage.k8s.io/provisioner-secret is provided, will create a sub directory # with PV name under source csi.storage.k8s.io/provisioner-secret-name: "examplesmbcreds
" csi.storage.k8s.io/provisioner-secret-namespace: "examplenamespace
" csi.storage.k8s.io/node-stage-secret-name: "examplesmbcreds
" csi.storage.k8s.io/node-stage-secret-namespace: "examplenamespace
" volumeBindingMode: Immediate reclaimPolicy: Retain mountOptions: - dir_mode=0777 - file_mode=0777 - uid=1001 - gid=1001 -
Führen Sie in einem Befehlszeilenterminal mit Zugriff auf
kubectl
und den folgendenstorageclass.yaml
Befehl aus:kubectl apply -f storageclass.yaml
Anmerkung
Sie können den auch erstellen, StorageClass indem Sie den
.yaml
Konfigurationstext aus dem vorherigen Schritt für die meisten Kubernetes-Verwaltungs- und Containerisierungsplattformen von Drittanbietern bereitstellen. -
Konfigurieren Sie die Pods in Ihrem Kubernetes-Cluster so, dass sie die von Ihnen erstellten Pods verwenden. StorageClass Weitere Informationen finden Sie in der Kubernetes-Online-Dokumentation unter. https://kubernetes.io/docs/concepts/storage/
SMB und Objekte PersistentVolume erstellen PersistentVolumeClaim
Um neue SMB PersistentVolume und PersistentVolumeClaim Objekte zu erstellen:
-
Erstellen Sie zwei Konfigurationsdateien. Eine benannte
persistentvolume.yaml
und eine benanntepersistentvolumeclaim.yaml
. -
Fügen Sie für Inhalte hinzu
persistentvolume.yaml
, die dem folgenden Beispiel ähneln. Ersetzen Sie die angezeigten Informationen durch Ihre eigenen einsatzspezifischen Informationen.ExampleValues
--- apiVersion: v1 kind: PersistentVolume metadata: name:
pv-smb-example-name
namespace:smb-example-namespace
# PersistentVolume and PersistentVolumeClaim must use the same namespace parameter spec: capacity: storage: 100Gi accessModes: - ReadWriteMany persistentVolumeReclaimPolicy: Retain mountOptions: - dir_mode=0777 - file_mode=0777 - vers=3.0 csi: driver: smb.csi.k8s.io readOnly: false volumeHandle:examplehandle
# make sure it's a unique id in the cluster volumeAttributes: source: "//gateway-dns-name-or-ip-address/example-share-name
" nodeStageSecretRef: name:example-smbcreds
namespace:smb-example-namespace
-
Fügen Sie für Inhalte hinzu
persistentvolumeclaim.yaml
, die dem folgenden Beispiel ähneln. Ersetzen Sie die angezeigten Informationen durch Ihre eigenen einsatzspezifischen Informationen.ExampleValues
--- kind: PersistentVolumeClaim apiVersion: v1 metadata: name:
examplename-pvc-smb-static
namespace:smb-example-namespace
# PersistentVolume and PersistentVolumeClaim must use the same namespace parameter spec: accessModes: - ReadWriteMany resources: requests: storage: 10Gi volumeName:pv-smb-example-name
# make sure specfied volumeName matches the name of the PersistentVolume you created storageClassName: "" -
Führen Sie in einem Befehlszeilenterminal mit Zugriff auf
kubectl
und beide von Ihnen erstellten.yaml
Dateien die folgenden Befehle aus:kubectl apply -f persistentvolume.yaml
kubectl apply -f persistentvolumeclaim.yaml
Anmerkung
Sie können die PersistentVolumeClaim Objekte PersistentVolume und auch erstellen, indem Sie den
.yaml
Konfigurationstext aus dem vorherigen Schritt für die meisten Kubernetes-Verwaltungs- und Containerisierungsplattformen von Drittanbietern bereitstellen. -
Konfigurieren Sie die Pods in Ihrem Kubernetes-Cluster so, dass sie die von Ihnen erstellten Pods verwenden. PersistentVolumeClaim Weitere Informationen finden Sie in der Kubernetes-Online-Dokumentation unter. https://kubernetes.io/docs/concepts/storage/
Deinstallieren Sie die Treiber
So deinstallieren Sie die Kubernetes SMB CSI-Treiber:
-
Führen Sie in einem Befehlszeilenterminal mit Zugriff auf Ihren Kubernetes-Cluster den folgenden Befehl aus:
kubectl
curl -skSL https://raw.githubusercontent.com/kubernetes-csi/csi-driver-smb/master/deploy/uninstall-driver.sh | bash -s --