Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Atualizado em 2024-09-10 GMT+08:00

Criação de uma PVC (a ser descartada)

Função

Essa API é usada para criar uma PVC (PersistentVolumeClaim) em um namespace especificado. Uma PVC é uma solicitação de PV (PersistentVolume). O PV carrega detalhes de armazenamento em nuvem real, como discos EVS, sistemas de arquivos do SFS e buckets do OBS. Esta API será preterida. Em vez disso, use a API da PVC do Kubernetes correspondente.

O URL para gerenciamento de armazenamento está no formato 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 no cabeçalho da solicitação deve ser especificado.

URI

POST /api/v1/namespaces/{namespace}/cloudpersistentvolumeclaims

Tabela 1 Parâmetros de caminho

Parâmetro

Obrigatório

Tipo

Descrição

namespace

Sim

Não

Namespace onde a PVC está localizada.

Restrições:

  • Namespace personalizado. Você deve criar um namespace no cluster antes de usá-lo.

  • O namespace fornecido pelo sistema é namespace default.

  • Os namespaces kube-system e kube-public não podem ser usados.

Parâmetros de solicitação

Tabela 2 Parâmetros de cabeçalho de solicitação

Parâmetro

Obrigatório

Tipo

Descrição

Content-Type

Sim

String

Tipo de corpo da mensagem (formato).

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, consulte Obtenção de um token de usuário.

X-Cluster-ID

Não

String

ID do cluster. Este campo é 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.

Tabela 3 Parâmetros do corpo da solicitação

Parâmetro

Obrigatório

Tipo

Descrição

apiVersion

Sim

String

Versão da API. O valor é fixado em v1.

kind

Sim

String

Tipo de API. O valor é fixado em PersistentVolumeClaim.

metadata

Sim

PersistentVolumeClaimMetadata object

Metadados de objeto de cluster, que é uma coleção de atributos.

spec

Sim

PersistentVolumeClaimSpec object

Descrição detalhada do objeto de cluster. O CCE cria ou atualiza objetos definindo ou atualizando spec.

status

Não

PersistentVolumeClaimStatus object

Estado da PVC. A solicitação para criar uma PVC não precisa carregar esse parâmetro.

Tabela 4 PersistentVolumeClaimMetadata

Parâmetro

Obrigatório

Tipo

Descrição

name

Sim

String

Nome da PVC. 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 da PVC devem ser exclusivas em um namespace.

labels

Não

String

Rótulos da PVC, no formato de pares chave-valor.

  • Key: digite 1 a 63 caracteres começando com uma letra ou dígito. Apenas letras, dígitos, hifens (-), sublinhados (_) e pontos (.) são permitidos. Um subdomínio do DNS pode ser prefixo para uma chave e conter um máximo de 253 caracteres. Exemplo de subdomínio do DNS: example.com/my-key

  • Value: o valor pode ser deixado em branco ou conter de 1 a 63 caracteres que começam com uma letra ou dígito. Somente letras, dígitos, hifens (-), sublinhados (_) e pontos (.) são permitidos na cadeia de caracteres.

Tabela 5 PersistentVolumeClaimSpec

Parâmetro

Obrigatório

Tipo

Descrição

volumeID

Sim

String

ID de um volume de armazenamento existente.

  • Se um volume do SFS, EVS ou SFS Turbo for usado, defina esse parâmetro como o ID do volume.

  • Se um bucket do OBS for usado, defina esse parâmetro como o nome do bucket do OBS.

storageType

Sim

String

Classe de armazenamento em nuvem. Este parâmetro é usado em conjunto com volumeID. Ou seja, volumeID e storageType devem ser configurados ao mesmo tempo.

  • bs: EVS

  • nfs: SFS

  • obs: OBS

  • efs: SFS Turbo

accessModes

Sim

Array of strings

Modo de acesso do volume. Somente o primeiro valor em todas as opções selecionadas é válido.

  • ReadWriteOnce: o volume pode ser montado como leitura-escrita por um único nó.

    NOTA:

    Esta função é suportada apenas quando a versão do cluster é v1.13.10 e a versão do controlador de armazenamento é 1.0.19.

  • ReadOnlyMany (padrão): o volume pode ser montado como read-only por muitos nós.

  • ReadWriteMany: o volume pode ser montado como read-write por muitos nós.

storageClassName

Não

String

Nome da classe de armazenamento da PVC.

volumeName

Não

String

Nome do PV vinculado à PVC.

resources

Não

ResourceRequirements object

Pedidos de recursos e limites.

volumeMode

Não

String

Tipo de PV especificado pela PVC.

Tabela 6 ResourceRequirements

Parâmetro

Obrigatório

Tipo

Descrição

limits

Não

Map<String,String>

Limite de recursos. Este parâmetro é inválido durante a criação.

requests

Não

Map<String,String>

Solicitações de recursos. Este parâmetro é inválido durante a criação.

Tabela 7 PersistentVolumeClaimStatus

Parâmetro

Obrigatório

Tipo

Descrição

accessModes

Não

Array of strings

Modo de acesso do PV.

capacity

Não

String

Recursos reais e capacidade do PV.

phase

Não

String

Situação atual da PVC.

Parâmetros de resposta

Código de status: 201

Tabela 8 Parâmetros do corpo de resposta

Parâmetro

Tipo

Descrição

apiVersion

String

Versão da API. O valor é fixado em v1.

kind

String

Tipo de API. O valor é fixado em PersistentVolumeClaim.

metadata

PersistentVolumeClaimMetadata object

Metadados de objeto de cluster, que é uma coleção de atributos.

spec

PersistentVolumeClaimSpec object

Descrição detalhada do objeto de cluster. O CCE cria ou atualiza objetos definindo ou atualizando spec.

status

PersistentVolumeClaimStatus object

Estado da PVC. A solicitação para criar uma PVC não precisa carregar esse parâmetro.

Tabela 9 PersistentVolumeClaimMetadata

Parâmetro

Tipo

Descrição

name

String

Nome da PVC. 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 da PVC devem ser exclusivas em um namespace.

labels

String

Rótulos da PVC, no formato de pares chave-valor.

  • Key: digite 1 a 63 caracteres começando com uma letra ou dígito. Apenas letras, dígitos, hifens (-), sublinhados (_) e pontos (.) são permitidos. Um subdomínio do DNS pode ser prefixo para uma chave e conter um máximo de 253 caracteres. Exemplo de subdomínio do DNS: example.com/my-key

  • Value: o valor pode ser deixado em branco ou conter de 1 a 63 caracteres que começam com uma letra ou dígito. Somente letras, dígitos, hifens (-), sublinhados (_) e pontos (.) são permitidos na cadeia de caracteres.

Tabela 10 PersistentVolumeClaimSpec

Parâmetro

Tipo

Descrição

volumeID

String

ID de um volume de armazenamento existente.

  • Se um volume do SFS, EVS ou SFS Turbo for usado, defina esse parâmetro como o ID do volume.

  • Se um bucket do OBS for usado, defina esse parâmetro como o nome do bucket do OBS.

storageType

String

Classe de armazenamento em nuvem. Este parâmetro é usado em conjunto com volumeID. Ou seja, volumeID e storageType devem ser configurados ao mesmo tempo.

  • bs: EVS

  • nfs: SFS

  • obs: OBS

  • efs: SFS Turbo

accessModes

Array of strings

Modo de acesso do volume. Somente o primeiro valor em todas as opções selecionadas é válido.

  • ReadWriteOnce: o volume pode ser montado como leitura-escrita por um único nó.

    NOTA:

    Esta função é suportada apenas quando a versão do cluster é v1.13.10 e a versão do controlador de armazenamento é 1.0.19.

  • ReadOnlyMany (padrão): o volume pode ser montado como read-only por muitos nós.

  • ReadWriteMany: o volume pode ser montado como read-write por muitos nós.

storageClassName

String

Nome da classe de armazenamento da PVC.

volumeName

String

Nome do PV vinculado à PVC.

resources

ResourceRequirements object

Pedidos de recursos e limites.

volumeMode

String

Tipo de PV especificado pela PVC.

Tabela 11 ResourceRequirements

Parâmetro

Tipo

Descrição

limits

Map<String,String>

Limite de recursos. Este parâmetro é inválido durante a criação.

requests

Map<String,String>

Solicitação de recursos. Este parâmetro é inválido durante a criação.

Tabela 12 PersistentVolumeClaimStatus

Parâmetro

Tipo

Descrição

accessModes

Array of strings

Modo de acesso do PV.

capacity

String

Recursos reais e capacidade do PV.

phase

String

Situação atual da PVC.

Exemplo de solicitações

Especificando um ID de volume do EVS e criando uma PVC

POST /api/v1/namespaces/default/cloudpersistentvolumeclaims

{
  "apiVersion" : "v1",
  "kind" : "PersistentVolumeClaim",
  "metadata" : {
    "name" : "csms-dev-create",
    "namespace" : "default"
  },
  "spec" : {
    "volumeID" : "86b29e16-23db-11e7-9c83-fa163ec08232",
    "storageType" : "bs",
    "accessModes" : [ "ReadWriteMany" ]
  }
}

Exemplo de respostas

Código de status: 201

A tarefa para criar uma PVC é entregue com sucesso.

{
  "kind" : "PersistentVolumeClaim",
  "apiVersion" : "v1",
  "metadata" : {
    "name" : " csms-dev-create ",
    "namespace" : "default",
    "selfLink" : "/api/v1/namespaces/default/persistentvolumeclaims/db-mysql-0",
    "uid" : "86b29e16-23db-11e7-9c83-fa163ec08232",
    "resourceVersion" : "1793115",
    "creationTimestamp" : "2017-04-18T02:05:42Z"
  },
  "spec" : {
    "volumeName" : "csms-dev-create ",
    "accessModes" : [ "ReadWriteMany" ],
    "resources" : {
      "requests" : {
        "storage" : "1Gi"
      }
    }
  },
  "status" : {
    "phase" : "Pending",
    "accessModes" : [ "ReadWriteMany" ]
  }
}

Códigos de status

Código de status

Descrição

201

A tarefa para criar uma PVC é entregue com sucesso.

Códigos de erro

Consulte Códigos de erro.