Configuración de las opciones de montaje de volumen de SFS
Esta sección describe cómo configurar las opciones de montaje de volumen de SFS. Puede configurar las opciones de montaje en un PV y vincularlo a un PVC. Alternativamente, configure las opciones de montaje en un StorageClass y use el StorageClass para crear un PVC. De esta manera, los PV se pueden crear dinámicamente y heredar opciones de montaje configuradas en el StorageClass de forma predeterminada.
Requisitos previos
La versión del complemento más antiguo debe ser 1.2.8 o posterior. El complemento identifica las opciones de montaje y las transfiere a los recursos de almacenamiento subyacentes, que determinan si las opciones especificadas son válidas.
Restricciones
Las opciones de montaje no se pueden configurar para los contenedores seguros.
Opciones de montaje de volumen de SFS
El complemento más antiguo de CCE ajusta las opciones descritas en Tabla 1 para el montaje de volúmenes de SFS.
Parámetro |
Descripción |
---|---|
vers=3 |
Versión del sistema de archivos. Actualmente, solo se admite NFSv3. Valor: 3 |
nolock |
Si se deben bloquear los archivos en el servidor mediante el protocolo NLM. Si se selecciona nolock, el bloqueo es válido para aplicaciones en un host. Para aplicaciones en otro host, el bloqueo no es válido. |
timeo=600 |
Tiempo de espera antes de que el cliente NFS retransmita una solicitud. La unidad es de 0.1 segundos. Valor recomendado: 600 |
hard/soft |
Modo de montaje.
El valor predeterminado es hard. |
Puede configurar otras opciones de montaje si es necesario. Para obtener más información, consulte Montaje de un sistema de archivos NFS en ECS (Linux).
Configuración de opciones de montaje en un PV
Puede utilizar el campo mountOptions para establecer las opciones de montaje en un PV. Las opciones que puede configurar en mountOptions se enumeran en Opciones de montaje de volumen de SFS.
- Utilice kubectl para conectarse al clúster. Para obtener más información, véase Conexión a un clúster con kubectl.
- Establezca las opciones de montaje en un PV. Por ejemplo:
apiVersion: v1 kind: PersistentVolume metadata: annotations: pv.kubernetes.io/provisioned-by: everest-csi-provisioner everest.io/reclaim-policy: retain-volume-only # (Optional) The PV is deleted while the underlying volume is retained. name: pv-sfs spec: accessModes: - ReadWriteMany # Access mode. The value must be ReadWriteMany for SFS. capacity: storage: 1Gi # SFS volume capacity. csi: driver: disk.csi.everest.io # Dependent storage driver for the mounting. fsType: nfs volumeHandle: <your_volume_id> # ID of the SFS Capacity-Oriented volume. volumeAttributes: everest.io/share-export-location: <your_location> # Shared path of the SFS volume. storage.kubernetes.io/csiProvisionerIdentity: everest-csi-provisioner persistentVolumeReclaimPolicy: Retain # Reclaim policy. storageClassName: csi-nas # Storage class name. mountOptions: # Mount options. - vers=3 - nolock - timeo=600 - hard
- Después de crear un PV, puede crear un PVC y vincularlo al PV y, a continuación, montar el PV en el contenedor en la carga de trabajo. Para obtener más información, véase Uso de un sistema de archivos de SFS existente con un PV estático.
- Compruebe si las opciones de montaje tienen efecto.
En este ejemplo, el PVC se monta en la carga de trabajo que utiliza la imagen nginx:latest. Puede ejecutar el comando mount -l para comprobar si las opciones de montaje tienen efecto.
- Vea el pod en el que se ha montado el volumen de SFS. En este ejemplo, el nombre de la carga de trabajo es web-sfs.
kubectl get pod | grep web-sfs
Salida del comando:
web-sfs-*** 1/1 Running 0 23m
- Ejecute el siguiente comando para comprobar las opciones de montaje (web-sfs-*** es un pod de ejemplo):
kubectl exec -it web-sfs-*** -- mount -l | grep nfs
Si la información de montaje en la salida del comando es consistente con las opciones de montaje configuradas, las opciones de montaje se establecen correctamente.
<Your shared path> on /data type nfs (rw,relatime,vers=3,rsize=1048576,wsize=1048576,namlen=255,hard,nolock,noresvport,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=**.**.**.**,mountvers=3,mountport=2050,mountproto=tcp,local_lock=all,addr=**.**.**.**)
- Vea el pod en el que se ha montado el volumen de SFS. En este ejemplo, el nombre de la carga de trabajo es web-sfs.
Configuración de las opciones de montaje en un StorageClass
Puede utilizar el campo mountOptions para establecer las opciones de montaje en un StorageClass. Las opciones que puede configurar en mountOptions se enumeran en Opciones de montaje de volumen de SFS.
- Utilice kubectl para conectarse al clúster. Para obtener más información, véase Conexión a un clúster con kubectl.
- Cree un StorageClass personalizado. Por ejemplo:
apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: csi-sfs-mount-option provisioner: everest-csi-provisioner parameters: csi.storage.k8s.io/csi-driver-name: nas.csi.everest.io csi.storage.k8s.io/fstype: nfs everest.io/share-access-to: <your_vpc_id> # VPC ID of the cluster. reclaimPolicy: Delete volumeBindingMode: Immediate mountOptions: # Mount options. - vers=3 - nolock - timeo=600 - hard
- Una vez configurado el StorageClass, puede usarlo para crear un PVC. De forma predeterminada, los PV creados dinámicamente heredan las opciones de montaje establecidas en el StorageClass. Para obtener más información, véase Uso de un sistema de archivos SFS a través de un PV dinámico.
- Compruebe si las opciones de montaje tienen efecto.
En este ejemplo, el PVC se monta en la carga de trabajo que utiliza la imagen nginx:latest. Puede ejecutar el comando mount -l para comprobar si las opciones de montaje tienen efecto.
- Vea el pod en el que se ha montado el volumen de SFS. En este ejemplo, el nombre de la carga de trabajo es web-sfs.
kubectl get pod | grep web-sfs
Salida del comando:
web-sfs-*** 1/1 Running 0 23m
- Ejecute el siguiente comando para comprobar las opciones de montaje (web-sfs-*** es un pod de ejemplo):
kubectl exec -it web-sfs-*** -- mount -l | grep nfs
Si la información de montaje en la salida del comando es consistente con las opciones de montaje configuradas, las opciones de montaje se establecen correctamente.
<Your shared path> on /data type nfs (rw,relatime,vers=3,rsize=1048576,wsize=1048576,namlen=255,hard,nolock,noresvport,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=**.**.**.**,mountvers=3,mountport=2050,mountproto=tcp,local_lock=all,addr=**.**.**.**)
- Vea el pod en el que se ha montado el volumen de SFS. En este ejemplo, el nombre de la carga de trabajo es web-sfs.