Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Uso de controladores CSI SMB
Siga los procedimientos indicados en esta sección para instalar, configurar o eliminar los controladores CSI que son necesarios para usar un recurso compartido de archivos SMB en una puerta de enlace de archivo de Amazon S3 para su almacenamiento en su clúster de Kubernetes. Para obtener más información, consulte la documentación de código abierto sobre el controlador SMB CSI en. GitHub https://github.com/kubernetes-csi/csi-driver-smb/blob/master/docs/install-csi-driver-master.md
nota
Cuando se crea un objeto PersistentVolume o un objeto StorageClass, es posible especificar un parámetro ReclaimPolicy para determinar qué ocurre con el almacenamiento externo cuando se eliminan los objetos. El controlador CSI SMB admite las opciones Retain y Recycle, pero actualmente no admite la opción Delete.
Instalar controladores
Para instalar controladores CSI SMB de Kubernetes:
-
Desde un terminal de línea de comandos con acceso a
kubectlpara el clúster de Kubernetes, ejecute el siguiente comando:curl -skSL https://raw.githubusercontent.com/kubernetes-csi/csi-driver-smb/master/deploy/install-driver.sh | bash -s master --
-
Espere a que finalice el comando anterior y, a continuación, utilice los siguientes comandos para asegurarse de que los pods del controlador CSI se estén ejecutando:
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
El resultado debería tener un aspecto similar al siguiente:
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
Cree un objeto SMB StorageClass
Para crear un nuevo StorageClass objeto SMB para tu clúster de Kubernetes:
-
Cree un archivo de configuración denominado
storageclass.yamlcon un contenido similar al del siguiente ejemplo. Sustituya la que se muestra por su propia información específica de la implementación.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 -
Desde un terminal de línea de comandos con acceso a
kubectlystorageclass.yaml, ejecute el siguiente comando:kubectl apply -f storageclass.yaml
nota
También puedes crearlo StorageClass proporcionando el texto de
.yamlconfiguración del paso anterior a la mayoría de las plataformas de administración y contenedorización de Kubernetes de terceros. -
Configura los pods de tu clúster de Kubernetes para que usen los nuevos que has creado. StorageClass Para obtener más información, consulte la documentación en línea de Kubernetes en https://kubernetes.io/docs/concepts/storage/
.
Crea SMB y objetos PersistentVolume PersistentVolumeClaim
Para crear nuevos PersistentVolumeClaim objetos PersistentVolume y SMB:
-
Crear dos archivos de configuración. Uno denominado
persistentvolume.yamly otro denominadopersistentvolumeclaim.yaml. -
Para
persistentvolume.yaml, agregue contenido similar al del siguiente ejemplo. Sustituya la que se muestra por su propia información específica de la implementación.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 -
Para
persistentvolumeclaim.yaml, agregue contenido similar al del siguiente ejemplo. Sustituya la información específica de la implementación por la que se muestra.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: "" -
Desde un terminal de línea de comandos con acceso a
kubectly los dos archivos.yamlque ha creado, ejecute los siguientes comandos:kubectl apply -f persistentvolume.yaml
kubectl apply -f persistentvolumeclaim.yaml
nota
También puede crear los PersistentVolumeClaim objetos PersistentVolume y proporcionando el texto de
.yamlconfiguración del paso anterior a la mayoría de las plataformas de administración y contenedorización de Kubernetes de terceros. -
Configura los pods de tu clúster de Kubernetes para que usen los nuevos que has creado. PersistentVolumeClaim Para obtener más información, consulte la documentación en línea de Kubernetes en https://kubernetes.io/docs/concepts/storage/
.
Desinstalar controladores
Para desinstalar controladores CSI SMB de Kubernetes:
-
Desde un terminal de línea de comandos con acceso a
kubectlpara el clúster de Kubernetes, ejecute el siguiente comando:curl -skSL https://raw.githubusercontent.com/kubernetes-csi/csi-driver-smb/master/deploy/uninstall-driver.sh | bash -s --