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-11-28 GMT+08:00

(kubectl) Criação de um PV a partir de um bucket do OBS existente

Cenário

O CCE permite que você use um bucket do OBS existente para criar um PV (PersistentVolume). Você pode criar uma PVC (PersistentVolumeClaim) e ligá-la ao PV.

Observações e restrições

O exemplo de configuração a seguir se aplica a clusters do Kubernetes 1.13 ou anterior.

Procedimento

  1. Faça logon no console do OBS, crie um bucket do OBS e registre o nome do bucket e a classe de armazenamento.
  2. Use o kubectl para se conectar ao cluster. Para mais detalhes, consulte Conexão a um cluster usando o kubectl.
  3. Crie dois arquivos YAML para criar o PV e a PVC. Suponha que os nomes dos arquivos sejam pv-obs-example.yaml e pvc-obs-example.yaml.

    touch pv-obs-example.yaml pvc-obs-example.yaml

    Versão do cluster do Kubernetes

    Descrição

    Exemplo de YAML

    1.11 ≤ K8s versão< 1.13

    Clusters da v1.11 a v1.13

    Exemplo de YAML

    K8s versão = 1.9

    Clusters da v1.9

    Exemplo de YAML

    Clusters da v1.11 a v1.13

    • Exemplo de arquivo YAML para o 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
      Tabela 1 Parâmetros principais

      Parâmetro

      Descrição

      driver

      Driver de armazenamento usado para montar o volume. Defina o driver para huawei.com/fuxiobs para o volume do OBS.

      storage_class

      Classe de armazenamento, incluindo STANDARD (bucket padrão) e STANDARD_IA (bucket de acesso infrequente).

      region

      Região onde o cluster está localizado.

      volumeID

      Nome do bucket do OBS.

      Para obter o ID, entre no console do CCE, escolha Resource Management > Storage, clique no nome da PVC na página de guia OBS e copie o ID da PVC na página da guia PV Details.

      storage

      Capacidade de armazenamento, em Gi. O valor é fixado em 1Gi.

      storageClassName

      Classe de armazenamento suportada pelo OBS, incluindo obs-standard (bucket padrão) e obs-standard-ia (bucket de acesso infrequente).

      spec.claimRef.apiVersion

      O valor é fixado em v1.

      spec.claimRef.kind

      O valor é fixado em PersistentVolumeClaim.

      spec.claimRef.name

      O valor é o mesmo que o nome da PVC criada na próxima etapa.

      spec.claimRef.namespace

      O valor é o mesmo que o namespace da PVC criada na próxima etapa.

    • Exemplo de arquivo YAML para a 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
      Tabela 2 Parâmetros principais

      Parâmetro

      Descrição

      volume.beta.kubernetes.io/storage-class

      Classe de armazenamento suportada pelo OBS, incluindo obs-standard e obs-standard-ia.

      volume.beta.kubernetes.io/storage-provisioner

      Deve ser definido como flexvolume-huawei.com/fuxiobs.

      volumeName

      Nome do PV.

      storage

      Capacidade de armazenamento, em Gi. O valor é fixado em 1Gi.

    Clusters da v1.9

    • Exemplo de arquivo YAML para o 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
      Tabela 3 Parâmetros principais

      Parâmetro

      Descrição

      driver

      Driver de armazenamento usado para montar o volume. Defina o driver para huawei.com/fuxiobs para o volume do OBS.

      storage_class

      Classe de armazenamento, incluindo STANDARD (bucket padrão) e STANDARD_IA (bucket de acesso infrequente).

      region

      Região onde o cluster está localizado.

      volumeID

      Nome do bucket do OBS.

      Para obter o ID, entre no console do CCE, escolha Resource Management > Storage, clique no nome da PVC na página de guia OBS e copie o ID da PVC na página da guia PV Details.

      storage

      Capacidade de armazenamento, em Gi. O valor é fixado em 1Gi.

      storageClassName

      Classe de armazenamento suportada pelo OBS, incluindo obs-standard (bucket padrão) e obs-standard-ia (bucket de acesso infrequente).

    • Exemplo de arquivo YAML para a 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
      Tabela 4 Parâmetros principais

      Parâmetro

      Descrição

      volume.beta.kubernetes.io/storage-class

      Classe de armazenamento suportada pelo OBS, incluindo obs-standard e obs-standard-ia.

      volume.beta.kubernetes.io/storage-provisioner

      Deve ser definido como flexvolume-huawei.com/fuxiobs.

      volumeName

      Nome do PV.

      storage

      Capacidade de armazenamento, em Gi. O valor é fixado em 1Gi.

  4. Crie um PV.

    kubectl create -f pv-obs-example.yaml

  5. Crie uma PVC.

    kubectl create -f pvc-obs-example.yaml