Criação de um PersistentVolume
Função
Essa API é usada para criar um PersistentVolume associado ao armazenamento em nuvem (por exemplo, EVS, SFS e OBS). Esta API foi preterida. Em vez disso, use a API PV do Kubernetes correspondente.

O formato do URL de gerenciamento de armazenamento é https://{clusterid}.Endpoint/uri. No URL, {clusterid} indica o ID do cluster e uri indica o caminho do recurso, ou seja, o caminho para acesso à API. Se https://Endpoint/uri for usado, o parâmetro X-Cluster-ID deve ser especificado no cabeçalho da solicitação.
URI
POST /api/v1/cloudpersistentvolumes
Solicitação
Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
Content-Type | Sim | String | Tipo de corpo da mensagem (formato). Valores possíveis:
|
X-Auth-Token | Sim | String | As solicitações para chamar uma API podem ser autenticadas usando um token ou AK/SK. Se a autenticação baseada em token for usada, esse parâmetro é obrigatório e deve ser definido como um token de usuário. Para obter detalhes sobre como obter um token de usuário, consulte Autenticação. Comprimento máximo: 16.384 caracteres |
X-Cluster-ID | Não | String | ID do cluster. Este parâmetro é obrigatório quando o formato de URL https://Endpoint/uri é usado. Para obter detalhes sobre como obter o valor, consulte Como obter parâmetros no URI da API. |
Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
apiVersion | Sim | String | Versão da API. O valor é fixado em v1. Valor padrão: v1 |
kind | Sim | String | Tipo de API. O valor é fixado em PersistentVolume. Valor padrão: PersistentVolume |
metadata | Sim | PersistentVolumeMetadata object | Informações de metadados do PersistentVolume. |
spec | Sim | PersistentVolumeSpec object | Especificações do PersistentVolume. |
status | Não | PersistentVolumeStatus object | Informações de status do PersistentVolume. |
Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
name | Sim | String | Nome do PV. Digite de 1 a 253 caracteres começando e terminando com uma letra ou dígito. Use somente letras minúsculas, dígitos, hifens (-) e pontos finais (.). Nomes do PV devem ser exclusivos em um namespace. |
labels | Não | Map<String,String> | Rótulos do PV, no formato de pares chave-valor.
Exemplo de rótulo: "foo": "bar" |
Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
flexVolume | Sim | FlexVolume object | O plug-in de armazenamento do Kubernetes FlexVolume. |
persistentVolumeReclaimPolicy | Não | String | Política de recuperação do PV. Valores possíveis:
|
accessModes | Sim | Array of strings | Modo de acesso do PersistentVolume.
|
Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
driver | Sim | String | Nome do plug-in de armazenamento do FlexVolume. Defina este parâmetro com base no tipo de volume de armazenamento.
|
fsType | Sim | String | Tipo de sistema de arquivos. Defina este parâmetro com base no tipo de volume de armazenamento.
|
options | Sim | Options object | Itens de configuração do FlexVolume. |
Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
fsType | Sim | String | Tipo de sistema de arquivos. Defina este parâmetro com base no tipo de volume de armazenamento.
|
region | Sim | String | Região onde o armazenamento em nuvem está localizado. |
volumeID | Sim | String | UUID do armazenamento em nuvem. Se o armazenamento em nuvem for um bucket do OBS, defina esse parâmetro como o nome do bucket. |
storageType | Sim | String | Tipo de volume de armazenamento em nuvem.
|
Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
accessModes | Não | Array of strings | Modo de acesso do PersistentVolume. |
phase | Não | String | Status do PV. Valores possíveis:
|
Resposta
Código de status: 201
Parâmetro | Tipo | Descrição |
|---|---|---|
apiVersion | String | Versão da API. O valor é fixado em v1. Valor padrão: v1 |
kind | String | Tipo de API. O valor é fixado em PersistentVolume. Valor padrão: PersistentVolume |
Metadados | PersistentVolumeMetadata object | Informações de metadados do PersistentVolume. |
spec | PersistentVolumeSpec object | Especificações do PersistentVolume. |
status | PersistentVolumeStatus object | Informações de status do PersistentVolume. |
Parâmetro | Tipo | Descrição |
|---|---|---|
name | String | Nome do PV. Digite de 1 a 253 caracteres começando e terminando com uma letra ou dígito. Use somente letras minúsculas, dígitos, hifens (-) e pontos finais (.). Nomes do PV devem ser exclusivos em um namespace. |
labels | Map<String,String> | Rótulos do PV, no formato de pares chave-valor.
Exemplo de rótulo: "foo": "bar" |
Parâmetro | Tipo | Descrição |
|---|---|---|
flexVolume | FlexVolume object | O plug-in de armazenamento do Kubernetes FlexVolume. |
persistentVolumeReclaimPolicy | String | Política de recuperação do PV. Valores possíveis:
|
accessModes | Array of strings | Modo de acesso do PersistentVolume.
|
Parâmetro | Tipo | Descrição |
|---|---|---|
driver | String | Nome do plug-in de armazenamento do FlexVolume. Defina este parâmetro com base no tipo de volume de armazenamento.
|
fsType | String | Tipo de sistema de arquivos. Defina este parâmetro com base no tipo de volume de armazenamento.
|
options | Options object | Itens de configuração do FlexVolume. |
Parâmetro | Tipo | Descrição |
|---|---|---|
fsType | String | Tipo de sistema de arquivos. Defina este parâmetro com base no tipo de volume de armazenamento.
|
region | String | Região onde o armazenamento em nuvem está localizado. |
volumeID | String | UUID do armazenamento em nuvem. Se o armazenamento em nuvem for um bucket do OBS, defina esse parâmetro como o nome do bucket. |
storageType | String | Tipo de volume de armazenamento em nuvem.
|
Parâmetro | Tipo | Descrição |
|---|---|---|
accessModes | Array of strings | Modo de acesso do PersistentVolume. |
phase | String | Status do PV. Valores possíveis:
|
Exemplo de solicitação
- Especificar um ID de volume do EVS e criar um 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" } }
Exemplo de resposta
Código de status: 201
A tarefa para criar um PersistentVolume é entregue com sucesso.
{
"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 status
Código de status | Descrição |
|---|---|
201 | A tarefa para criar um PersistentVolume é entregue com sucesso. |
Códigos de erro
Para mais detalhes, consulte Códigos de erro.

