(kubectl) Creación de un PV a partir de un bucket de OBS existente
Escenario
CCE le permite usar un bucket de OBS existente para crear un PersistentVolume (PV). Puede crear un PersistentVolumeClaim (PVC) y vincularlo al PV.
Notes and Constraints
The following configuration example applies to clusters of Kubernetes 1.13 or earlier.
Procedimiento
- Inicie sesión en la consola de OBS, cree un bucket de OBS y registre el nombre del bucket y la clase de almacenamiento.
- 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-obs-example.yaml y pvc-obs-example.yaml.
touch pv-obs-example.yaml pvc-obs-example.yaml
Versión de clúster de Kubernetes
Descripción
Ejemplo de YAML
1.11 ≤ 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 hasta v1.13
- Ejemplo de archivo YAML para el PV:
apiVersion: v1 kind: PersistentVolume metadata: name: pv-obs-example annotations: pv.kubernetes.io/provisioned-by: flexvolume-huawei.com/fuxiobs spec: accessModes: - ReadWriteMany capacity: storage: 1Gi claimRef: apiVersion: v1 kind: PersistentVolumeClaim name: pvc-obs-example namespace: default flexVolume: driver: huawei.com/fuxiobs fsType: obs options: fsType: obs region: ap-southeast-1 storage_class: STANDARD volumeID: test-obs persistentVolumeReclaimPolicy: Delete storageClassName: obs-standard
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/fuxiobs para el volumen de OBS.
storage_class
Clase de almacenamiento, incluidos STANDARD (bucket estándar) y STANDARD_IA (bucket de acceso poco frecuente).
region
La región donde se encuentra el clúster.
volumeID
Nombre del bucket de OBS.
Para obtener el nombre, inicie sesión en la consola de CCE, elija Resource Management > Storage, haga clic en el nombre de PVC en la página de fichas OBS y copie el nombre de PV en la página de fichas PV Details.
storage
Capacidad de almacenamiento, en Gi. El valor se fija en 1Gi.
storageClassName
Clase de almacenamiento compatible con OBS, incluidos obs-standard (bucket estándar) y obs-standard-ia (bucket de acceso poco frecuente).
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
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: obs-standard volume.beta.kubernetes.io/storage-provisioner: flexvolume-huawei.com/fuxiobs name: pvc-obs-example namespace: default spec: accessModes: - ReadWriteMany resources: requests: storage: 1Gi volumeName: pv-obs-example
Tabla 2 Parámetros de clave Parámetro
Descripción
volume.beta.kubernetes.io/storage-class
Clase de almacenamiento compatible con OBS, incluidos obs-standard y obs-standard-ia.
volume.beta.kubernetes.io/storage-provisioner
Se debe establecer en flexvolume-huawei.com/fuxiobs.
volumeName
Nombre del PV.
storage
Capacidad de almacenamiento, en Gi. El valor se fija en 1Gi.
Clústeres de v1.9
- Ejemplo de archivo YAML para el PV:
apiVersion: v1 kind: PersistentVolume metadata: name: pv-obs-example namespace: default spec: accessModes: - ReadWriteMany capacity: storage: 1Gi flexVolume: driver: huawei.com/fuxiobs fsType: obs options: fsType: obs kubernetes.io/namespace: default region: ap-southeast-1 storage_class: STANDARD volumeID: test-obs persistentVolumeReclaimPolicy: Delete storageClassName: obs-standard
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/fuxiobs para el volumen de OBS.
storage_class
Clase de almacenamiento, incluidos STANDARD (bucket estándar) y STANDARD_IA (bucket de acceso poco frecuente).
region
La región donde se encuentra el clúster.
volumeID
Nombre del bucket de OBS.
Para obtener el nombre, inicie sesión en la consola de CCE, elija Resource Management > Storage, haga clic en el nombre de PVC en la página de fichas OBS y copie el nombre de PV en la página de fichas PV Details.
storage
Capacidad de almacenamiento, en Gi. El valor se fija en 1Gi.
storageClassName
Clase de almacenamiento compatible con OBS, incluidos obs-standard (bucket estándar) y obs-standard-ia (bucket de acceso poco frecuente).
- Ejemplo de archivo YAML para el PVC:
apiVersion: v1 kind: PersistentVolumeClaim metadata: annotations: volume.beta.kubernetes.io/storage-class: obs-standard volume.beta.kubernetes.io/storage-provisioner: flexvolume-huawei.com/fuxiobs name: pvc-obs-example namespace: default spec: accessModes: - ReadWriteMany resources: requests: storage: 1Gi volumeName: pv-obs-example volumeNamespace: default
Tabla 4 Parámetros de clave Parámetro
Descripción
volume.beta.kubernetes.io/storage-class
Clase de almacenamiento compatible con OBS, incluidos obs-standard y obs-standard-ia.
volume.beta.kubernetes.io/storage-provisioner
Se debe establecer en flexvolume-huawei.com/fuxiobs.
volumeName
Nombre del PV.
storage
Capacidad de almacenamiento, en Gi. El valor se fija en 1Gi.
- Ejemplo de archivo YAML para el PV:
- Cree un PV.
kubectl create -f pv-obs-example.yaml
- Cree un PVC.
kubectl create -f pvc-obs-example.yaml