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 zu SMB-CSI-Treibern 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.
Treiber installieren
So installieren Sie die Kubernetes SMB CSI-Treiber:
-
Führen Sie in einem Befehlszeilenterminal mit Zugriff auf Ihren Kubernetes-Cluster den folgenden Befehl aus:
kubectlcurl -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.yamlmit 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:ExampleStorageClassNameprovisioner: 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
kubectlund den folgendenstorageclass.yamlBefehl aus:kubectl apply -f storageclass.yaml
Anmerkung
Sie können den auch erstellen, StorageClass indem Sie den
.yamlKonfigurationstext 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 SMBs PersistentVolume und PersistentVolumeClaim Objekte zu erstellen:
-
Erstellen Sie zwei Konfigurationsdateien. Eine benannte
persistentvolume.yamlund 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-namenamespace: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-smbcredsnamespace: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-staticnamespace: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
kubectlund beide von Ihnen erstellten.yamlDateien 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
.yamlKonfigurationstext 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:
kubectlcurl -skSL https://raw.githubusercontent.com/kubernetes-csi/csi-driver-smb/master/deploy/uninstall-driver.sh | bash -s --