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.