(kubectl) Creación de un PV a partir de un sistema de archivos de SFS existente
Notes and Constraints
The following configuration example applies to clusters of Kubernetes 1.13 or earlier.
Procedimiento
- Inicie sesión en la consola de SFS, cree un sistema de archivos y registre el ID del sistema de archivos, la ruta compartida y la capacidad.
- Utilice kubectl para conectarse al clúster. Para obtener más información, véase Conexión a un clúster con kubectl.
- Cree dos archivos YAML para crear el PV y el PVC. Suponga que los nombres de archivo son pv-sfs-example.yaml y pvc-sfs-example.yaml.
touch pv-sfs-example.yaml pvc-sfs-example.yaml
Versión de clúster de Kubernetes
Descripción
Ejemplo de YAML
1.11 ≤ la versión de K8s < 1.13
Clústeres de v1.11 a v1.13
Versión de K8s = 1.9
Clústeres de v1.9
Clústeres desde v1.11 a v1.13
- Ejemplo de archivo YAML para el PV:
apiVersion: v1 kind: PersistentVolume metadata: name: pv-sfs-example annotations: pv.kubernetes.io/provisioned-by: flexvolume-huawei.com/fuxinfs spec: accessModes: - ReadWriteMany capacity: storage: 10Gi claimRef: apiVersion: v1 kind: PersistentVolumeClaim name: pvc-sfs-example namespace: default flexVolume: driver: huawei.com/fuxinfs fsType: nfs options: deviceMountPath: <your_deviceMountPath> # Shared storage path of your file. fsType: nfs volumeID: f6976f9e-2493-419b-97ca-d7816008d91c persistentVolumeReclaimPolicy: Delete storageClassName: nfs-rw
Tabla 1 Parámetros de clave Parámetro
Descripción
driver
Controlador de almacenamiento utilizado para montar el volumen. Establezca el controlador en huawei.com/fuxinfs para el sistema de archivos.
deviceMountPath
Ruta de acceso compartida del sistema de archivos.
En la consola de gestión, elija Service List >Storage >Scalable File Service. Puede obtener la ruta compartida del sistema de archivos desde la columna Mount Address, como se muestra en Figura 1.
volumeID
ID del sistema de archivos.
Para obtener el ID, inicie sesión en la consola de CCE, elija Resource Management > Storage, haga clic en el nombre de PVC en la página de ficha SFS y copie el ID de PVC en la página de detalles de PVC.
storage
Tamaño del sistema de archivos.
storageClassName
Modo de lectura/escritura compatible con el sistema de archivos. Actualmente, son compatibles con nfs-rw y nfs-ro.
spec.claimRef.apiVersion
El valor se fija en v1.
spec.claimRef.kind
El valor se fija en PersistentVolumeClaim.
spec.claimRef.name
El valor es el mismo que el nombre del PVC creado en el siguiente paso.
spec.claimRef.namespace
Espacio de nombres del PVC. El valor es el mismo que el espacio de nombres del PVC creado en el siguiente paso.
- Ejemplo de archivo YAML para el PVC:
apiVersion: v1 kind: PersistentVolumeClaim metadata: annotations: volume.beta.kubernetes.io/storage-class: nfs-rw volume.beta.kubernetes.io/storage-provisioner: flexvolume-huawei.com/fuxinfs name: pvc-sfs-example namespace: default spec: accessModes: - ReadWriteMany resources: requests: storage: 10Gi volumeName: pv-sfs-example
Tabla 2 Parámetros de clave Parámetro
Descripción
volume.beta.kubernetes.io/storage-class
Modo de lectura/escritura compatible con el sistema de archivos. nfs-rw y nfs-ro son compatibles. El valor debe ser el mismo que el del PV existente.
volume.beta.kubernetes.io/storage-provisioner
Se debe establecer en flexvolume-huawei.com/fuxinfs.
storage
Capacidad de almacenamiento, en la unidad de Gi. El valor debe ser el mismo que el tamaño de almacenamiento del PV existente.
volumeName
Nombre del PV.
Clústeres de v1.9
- Ejemplo de archivo YAML para el PV:
apiVersion: v1 kind: PersistentVolume metadata: name: pv-sfs-example namespace: default spec: accessModes: - ReadWriteMany capacity: storage: 10Gi flexVolume: driver: huawei.com/fuxinfs fsType: nfs options: deviceMountPath: <your_deviceMountPath> # Shared storage path of your file. fsType: nfs kubernetes.io/namespace: default volumeID: f6976f9e-2493-419b-97ca-d7816008d91c persistentVolumeReclaimPolicy: Delete storageClassName: nfs-rw
Tabla 3 Parámetros de clave Parámetro
Descripción
driver
Controlador de almacenamiento utilizado para montar el volumen. Establezca el controlador en huawei.com/fuxinfs para el sistema de archivos.
deviceMountPath
Ruta de acceso compartida del sistema de archivos.
En la consola de gestión, elija Service List >Storage >Scalable File Service. Puede obtener la ruta compartida del sistema de archivos desde la columna Mount Address, como se muestra en Figura 1.
volumeID
ID del sistema de archivos.
Para obtener el ID, inicie sesión en la consola de CCE, elija Resource Management > Storage, haga clic en el nombre de PVC en la página de ficha SFS y copie el ID de PVC en la página de detalles de PVC.
storage
Tamaño del sistema de archivos.
storageClassName
Modo de lectura/escritura compatible con el sistema de archivos. Actualmente, son compatibles con nfs-rw y nfs-ro.
- Ejemplo de archivo YAML para el PVC:
apiVersion: v1 kind: PersistentVolumeClaim metadata: annotations: volume.beta.kubernetes.io/storage-class: nfs-rw volume.beta.kubernetes.io/storage-provisioner: flexvolume-huawei.com/fuxinfs name: pvc-sfs-example namespace: default spec: accessModes: - ReadWriteMany resources: requests: storage: 10Gi volumeName: pv-sfs-example volumeNamespace: default
Tabla 4 Parámetros de clave Parámetro
Descripción
volume.beta.kubernetes.io/storage-class
Modo de lectura/escritura compatible con el sistema de archivos. nfs-rw y nfs-ro son compatibles. El valor debe ser el mismo que el del PV existente.
volume.beta.kubernetes.io/storage-provisioner
El campo debe estar establecido en flexvolume-huawei.com/fuxinfs.
storage
Capacidad de almacenamiento, en la unidad de Gi. El valor debe ser el mismo que el tamaño de almacenamiento del PV existente.
volumeName
Nombre del PV.
La VPC a la que pertenece el sistema de archivos debe ser la misma que la VPC de la máquina virtual de ECS para la que se planifica la carga de trabajo.
- Ejemplo de archivo YAML para el PV:
- Cree un PV.
kubectl create -f pv-sfs-example.yaml
- Cree un PVC.
kubectl create -f pvc-sfs-example.yaml