Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Actualización más reciente 2023-08-14 GMT+08:00

Creación de un PersistentVolume

Función

Esta API se utiliza para crear un PersistentVolume asociado con el almacenamiento en la nube (por ejemplo, EVS, SFS y OBS). Esta API ha sido obsoleta. Utilice la API de PV de Kubernetes correspondiente en su lugar.

El formato del URL de gestión de almacenamiento es https://{clusterid}.Endpoint/uri. En el URL, {clusterid} indica un ID del clúster y uri indica la ruta de acceso al recurso, es decir, la ruta de acceso a la API. Si se utiliza https://Endpoint/uri, el parámetro X-Cluster-ID debe especificarse en el encabezado de solicitud.

URI

POST /api/v1/cloudpersistentvolumes

Solicitud

Tabla 1 Descripción del parámetro de encabezado de solicitud

Parámetro

Obligatorio

Tipo

Descripción

Content-Type

String

Tipo de cuerpo del mensaje (formato).

Valores posibles:

  • application/json;charset=utf-8
  • application/json

X-Auth-Token

String

Las solicitudes para invocar a una API pueden autenticarse usando un token o AK/SK. Si se utiliza la autenticación basada en token, este parámetro es obligatorio y se debe establecer en un token de usuario. Para obtener más información sobre cómo obtener un token de usuario, consulte Autenticación.

Longitud máxima: 16,384 caracteres

X-Cluster-ID

No

String

ID del clúster. Este parámetro es obligatorio cuando se utiliza el formato de URL https://Endpoint/uri. Para obtener más información sobre cómo obtener el valor, consulte Cómo obtener parámetros en el URI de la API.

Tabla 2 Parámetros del cuerpo de solicitud

Parámetro

Obligatorio

Tipo

Descripción

apiVersion

String

Versión de la API. El valor se fija a v1.

Valor predeterminado: v1

kind

String

Tipo de la API. El valor se fija a PersistentVolume.

Valor predeterminado: PersistentVolume

metadata

Objeto de PersistentVolumeMetadata

Información de metadatos de PersistentVolume.

spec

Objeto de PersistentVolumeSpec

Especificaciones de PersistentVolume.

status

No

Objeto de PersistentVolumeStatus

Información de estado de PersistentVolume.

Tabla 3 PersistentVolumeMetadata

Parámetro

Obligatorio

Tipo

Descripción

name

String

Nombre del PV. Escriba de 1 a 253 caracteres que comiencen y terminen con una letra o un dígito. Solo se permiten letras minúsculas, dígitos, guiones (-) y puntos (.). Los nombres de PV deben ser únicos en un espacio de nombres.

labels

No

Map<String,String>

Etiquetas de PV, en formato de pares de clave y valor.

  • Key: Introduzca de 1 a 63 caracteres comenzando con una letra o un dígito. Solo se permiten letras, dígitos, guiones (-), guiones bajos (_) y puntos (.). Un subdominio de DNS puede tener un prefijo a una clave y contener un máximo de 253 caracteres. Ejemplo de subdominio de DNS: example.com/my-key
  • Value: El valor puede dejarse en blanco o de 1 a 63 caracteres, comenzando con una letra o un dígito. Solo letras, dígitos, guiones (-), guiones bajos (_) y puntos (.) están permitidos en la string de caracteres.

Etiqueta de ejemplo: "foo": "bar"

Tabla 4 PersistentVolumeSpec

Parámetro

Obligatorio

Tipo

Descripción

flexVolume

FlexVolume object

Complemento de FlexVolume de almacenamiento de Kubernetes.

persistentVolumeReclaimPolicy

No

String

Política de recuperación de PV. Valores posibles:

  • Retain: La política Retener reclamación permite la reclamación manual del recurso. Cuando se elimina el PVC, el PV todavía existe y el volumen se considera "released".
  • Recycle: La política de recuperación de reciclaje realiza una limpieza básica (rm -rf / thevolume / *) en el volumen y la vuelve a estar disponible para una nueva reclamación.
  • Delete: Para los complementos de volumen que admiten la política de eliminación de reclamos, la eliminación quita tanto el objeto PV de Kubernetes, como el activo de almacenamiento asociado en la infraestructura externa. Los volúmenes aprovisionados dinámicamente heredan la política de recuperación de su StorageClass, que por defecto es Delete.

accessModes

Matriz de strings

Modo de acceso del PersistentVolume.

  • ReadWriteOnce: El volumen puede ser montado como lectura-escritura por un solo nodo.
    NOTA:

    Esta función solo se admite cuando la versión del clúster es v1.13.10 y la versión del controlador de almacenamiento es 1.0.19.

  • ReadOnlyMany: Muchos nodos pueden montar el volumen como de solo lectura.
  • ReadWriteMany: El volumen puede ser montado como lectura-escritura por muchos nodos.
Tabla 5 FlexVolume

Parámetro

Obligatorio

Tipo

Descripción

driver

String

Nombre del complemento de almacenamiento de FlexVolume. Establezca este parámetro en función del tipo de volumen de almacenamiento.

  • huawei.com/fuxivol (EVS)
  • huawei.com/fuxinfs (SFS)
  • huawei.com/fuxiobs (OBS)
  • huawei.com/fuxiefs (SFS Turbo)

fsType

String

Tipo del sistema de archivos. Establezca este parámetro en función del tipo de volumen de almacenamiento.

options

Objeto de Options

Elementos de configuración de FlexVolume.

Tabla 6 Options

Parámetro

Obligatorio

Tipo

Descripción

fsType

String

Tipo del sistema de archivos. Establezca este parámetro en función del tipo de volumen de almacenamiento.

  • ext4 (EVS)
  • nfs (SFS)
  • obs (OBS)
  • efs (SFS Turbo)

region

String

Región donde se encuentra el almacenamiento en la nube.

volumeID

String

UUID del almacenamiento en la nube. Si el almacenamiento en la nube es un bucket de OBS, establezca este parámetro en el nombre del bucket.

storageType

String

Tipo de volumen de almacenamiento en la nube.

  • bs (EVS)
  • nfs (SFS)
  • obs (OBS)
  • efs (SFS Turbo)
Tabla 7 PersistentVolumeStatus

Parámetro

Obligatorio

Tipo

Descripción

accessModes

No

Matriz de strings

Modo de acceso del PersistentVolume.

phase

No

String

Estado de PV. Valores posibles:

  • Available: El volumen no está ligado a ningún PVC.
  • Bound: El PV se ha unido a un PVC.
  • Released: Se ha eliminado el PVC vinculado al PV, pero el PV no se ha vuelto a poner a disposición para una nueva reclamación en el clúster.
  • Failed: Se ha producido un error en la recuperación automática del volumen.

Respuesta

Código de estado: 201

Tabla 8 Parámetros del cuerpo de respuesta

Parámetro

Tipo

Descripción

apiVersion

String

Versión de la API. El valor se fija a v1.

Valor predeterminado: v1

kind

String

Tipo de la API. El valor se fija a PersistentVolume.

Valor predeterminado: PersistentVolume

metadata

Objeto de PersistentVolumeMetadata

Información de metadatos de PersistentVolume.

spec

Objeto de PersistentVolumeSpec

Especificaciones de PersistentVolume.

status

Objeto de PersistentVolumeStatus

Información de estado de PersistentVolume.

Tabla 9 PersistentVolumeMetadata

Parámetro

Tipo

Descripción

name

String

Nombre del PV. Escriba de 1 a 253 caracteres que comiencen y terminen con una letra o un dígito. Solo se permiten letras minúsculas, dígitos, guiones (-) y puntos (.). Los nombres de PV deben ser únicos en un espacio de nombres.

labels

Map<String,String>

Etiquetas de PV, en formato de pares de clave y valor.

  • Key: Introduzca de 1 a 63 caracteres comenzando con una letra o un dígito. Solo se permiten letras, dígitos, guiones (-), guiones bajos (_) y puntos (.). Un subdominio de DNS puede tener un prefijo a una clave y contener un máximo de 253 caracteres. Ejemplo de subdominio de DNS: example.com/my-key
  • Value: El valor puede dejarse en blanco o de 1 a 63 caracteres, comenzando con una letra o un dígito. Solo letras, dígitos, guiones (-), guiones bajos (_) y puntos (.) están permitidos en la string de caracteres.

Etiqueta de ejemplo: "foo": "bar"

Tabla 10 PersistentVolumeSpec

Parámetro

Tipo

Descripción

flexVolume

Objeto de FlexVolume

Complemento de FlexVolume de almacenamiento de Kubernetes.

persistentVolumeReclaimPolicy

String

Política de recuperación de PV. Valores posibles:

  • Retain: La política Retener reclamación permite la reclamación manual del recurso. Cuando se elimina el PVC, el PV todavía existe y el volumen se considera "released".
  • Recycle: La política de recuperación de reciclaje realiza una limpieza básica (rm -rf / thevolume / *) en el volumen y la vuelve a estar disponible para una nueva reclamación.
  • Delete: Para los complementos de volumen que admiten la política de eliminación de reclamos, la eliminación quita tanto el objeto PV de Kubernetes, como el activo de almacenamiento asociado en la infraestructura externa. Los volúmenes aprovisionados dinámicamente heredan la política de recuperación de su StorageClass, que por defecto es Delete.

accessModes

Matriz de strings

Modo de acceso del PersistentVolume.

  • ReadWriteOnce: El volumen puede ser montado como lectura-escritura por un solo nodo.
    NOTA:

    Esta función solo se admite cuando la versión del clúster es v1.13.10 y la versión del controlador de almacenamiento es 1.0.19.

  • ReadOnlyMany: Muchos nodos pueden montar el volumen como de solo lectura.
  • ReadWriteMany: El volumen puede ser montado como lectura-escritura por muchos nodos.
Tabla 11 FlexVolume

Parámetro

Tipo

Descripción

driver

String

Nombre del complemento de almacenamiento de FlexVolume. Establezca este parámetro en función del tipo de volumen de almacenamiento.

  • huawei.com/fuxivol (EVS)
  • huawei.com/fuxinfs (SFS)
  • huawei.com/fuxiobs (OBS)
  • huawei.com/fuxiefs (SFS Turbo)

fsType

String

Tipo del sistema de archivos. Establezca este parámetro en función del tipo de volumen de almacenamiento.

options

Objeto de Options

Elementos de configuración de FlexVolume.

Tabla 12 Options

Parámetro

Tipo

Descripción

fsType

String

Tipo del sistema de archivos. Establezca este parámetro en función del tipo de volumen de almacenamiento.

  • ext4 (EVS)
  • nfs (SFS)
  • obs (OBS)
  • efs (SFS Turbo)

region

String

Región donde se encuentra el almacenamiento en la nube.

volumeID

String

UUID del almacenamiento en la nube. Si el almacenamiento en la nube es un bucket de OBS, establezca este parámetro en el nombre del bucket.

storageType

String

Tipo de volumen de almacenamiento en la nube.

  • bs (EVS)
  • nfs (SFS)
  • obs (OBS)
  • efs (SFS Turbo)
Tabla 13 PersistentVolumeStatus

Parámetro

Tipo

Descripción

accessModes

Matriz de strings

Modo de acceso del PersistentVolume.

phase

String

Estado de PV. Valores posibles:

  • Available: El volumen no está ligado a ningún PVC.
  • Bound: El PV se ha unido a un PVC.
  • Released: Se ha eliminado el PVC vinculado al PV, pero el PV no se ha vuelto a poner a disposición para una nueva reclamación en el clúster.
  • Failed: Se ha producido un error en la recuperación automática del volumen.

Ejemplo de solicitud

  • Especificar un ID de volumen de EVS y crear un PersistentVolume:
    {
      "apiVersion" : "v1",
      "kind" : "PersistentVolume",
      "metadata" : {
        "labels" : {
          "name" : "pv-test"
        },
        "name" : "pv-test"
      },
      "spec" : {
        "accessModes" : [ "ReadWriteMany" ],
        "flexVolume" : {
          "driver" : "huawei.com/fuxivol",
          "fsType" : "ext4",
          "options" : {
            "fsType" : "ext4",
            "kubernetes.io/namespace" : "default",
            "region" : "southchina",
            "volumeID" : "76e01b29-08b9-11e8-9ca5-1051722006ec",
            "storageType" : "bs"
          }
        },
        "persistentVolumeReclaimPolicy" : "Delete"
      }
    }
  • {
      "apiVersion" : "v1",
      "kind" : "PersistentVolume",
      "metadata" : {
        "labels" : {
          "name" : "pv-test"
        },
        "name" : "pv-test"
      },
      "spec" : {
        "accessModes" : [ "ReadWriteMany" ],
        "flexVolume" : {
          "driver" : "huawei.com/fuxivol",
          "fsType" : "ext4",
          "options" : {
            "fsType" : "ext4",
            "region" : "southchina",
            "volumeID" : "76e01b29-08b9-11e8-9ca5-1051722006ec",
            "storageType" : "bs"
          }
        },
        "persistentVolumeReclaimPolicy" : "Delete"
      }
    }

Ejemplo de la respuesta

Código de estado: 201

El trabajo para crear un PersistentVolume se entrega con éxito.

{
  "kind" : "PersistentVolume",
  "apiVersion" : "v1",
  "metadata" : {
    "name" : "pv-test",
    "namespace" : "default",
    "selfLink" : "/api/v1/namespaces/default/persistentvolumes/pv-test",
    "uid" : "e174188f-ff21-11e7-855b-fa163eaf5675",
    "resourceVersion" : "174229",
    "creationTimestamp" : "2018-01-22T03:11:03Z",
    "labels" : {
      "name" : "pv-test"
    },
    "enable" : true
  },
  "spec" : {
    "capacity" : {
      "storage" : "1Gi"
    },
    "accessModes" : [ "ReadWriteMany" ],
    "flexVolume" : {
      "driver" : "huawei.com/fuxivol",
      "fsType" : "ext4",
      "options" : {
        "fsType" : "ext4",
        "kubernetes.io/namespace" : "default",
        "volumeID" : "0781b22f-4d89-4e9c-b026-80e545cea16c"
      }
    },
    "persistentVolumeReclaimPolicy" : "Delete"
  },
  "status" : {
    "phase" : "Pending"
  }
}

Código de estado

Código de estado

Descripción

201

El trabajo para crear un PersistentVolume se entrega con éxito.

Códigos de error

Para obtener más información, véase Códigos de error.