(kubectl) Criação de um PV a partir de um sistema de arquivos do SFS existente
Observações e restrições
O exemplo de configuração a seguir se aplica a clusters do Kubernetes 1.13 ou anterior.
Procedimento
- Faça logon no console do SFS, crie um sistema de arquivos e registre o ID do sistema de arquivos, o caminho compartilhado e a capacidade.
- Use o kubectl para se conectar ao cluster. Para mais detalhes, consulte Conexão a um cluster usando o kubectl.
- Crie dois arquivos YAML para criar o PV e a PVC. Suponha que os nomes dos arquivos sejam pv-sfs-example.yaml e pvc-sfs-example.yaml.
touch pv-sfs-example.yaml pvc-sfs-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
K8s versão = 1.9
Clusters da v1.9
Clusters da v1.11 a v1.13
- Exemplo de arquivo YAML para o PV:
apiVersion: v1 kind: PersistentVolume metadata: name: pv-sfs-example annotations: pv.kubernetes.io/provisioned-by: flexvolume-huawei.com/fuxinfs spec: accessModes: - ReadWriteMany capacity: storage: 10Gi claimRef: apiVersion: v1 kind: PersistentVolumeClaim name: pvc-sfs-example namespace: default flexVolume: driver: huawei.com/fuxinfs fsType: nfs options: deviceMountPath: <your_deviceMountPath> # Shared storage path of your file. fsType: nfs volumeID: f6976f9e-2493-419b-97ca-d7816008d91c persistentVolumeReclaimPolicy: Delete storageClassName: nfs-rw
Tabela 1 Parâmetros principais Parâmetro
Descrição
driver
Driver de armazenamento usado para montar o volume. Defina o driver para huawei.com/fuxinfs para o sistema de arquivos.
deviceMountPath
Caminho compartilhado do sistema de arquivos.
No console de gerenciamento, escolha Service List > Storage > Scalable File Service. Você pode obter o caminho compartilhado do sistema de arquivos na coluna Mount Address, conforme mostrado na Figura 1.
volumeID
ID do sistema de arquivos.
Para obter o ID, entre no console do CCE, escolha Resource Management > Storage, clique no nome da PVC na página de guia SFS e copie o ID da PVC na página de detalhes da PVC.
storage
Tamanho do sistema de arquivos.
storageClassName
Modo de leitura/gravação suportado pelo sistema de arquivos. Atualmente, nfs-rw e onfs-ro são suportados.
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 criado na próxima etapa.
spec.claimRef.namespace
Namespace da PVC. O valor é o mesmo que o namespace da PVC criado na próxima etapa.
- Exemplo de arquivo YAML para a PVC:
apiVersion: v1 kind: PersistentVolumeClaim metadata: annotations: volume.beta.kubernetes.io/storage-class: nfs-rw volume.beta.kubernetes.io/storage-provisioner: flexvolume-huawei.com/fuxinfs name: pvc-sfs-example namespace: default spec: accessModes: - ReadWriteMany resources: requests: storage: 10Gi volumeName: pv-sfs-example
Tabela 2 Parâmetros principais Parâmetro
Descrição
volume.beta.kubernetes.io/storage-class
Modo de leitura/gravação suportado pelo sistema de arquivos. nfs-rw e nfs-ro são suportados. O valor deve ser o mesmo do PV existente.
volume.beta.kubernetes.io/storage-provisioner
Deve ser definido como flexvolume-huawei.com/fuxinfs.
storage
Capacidade de armazenamento, na unidade de Gi. O valor deve ser o mesmo que o tamanho de armazenamento do PV existente.
volumeName
Nome do PV.
Clusters da v1.9
- Exemplo de arquivo YAML para o PV:
apiVersion: v1 kind: PersistentVolume metadata: name: pv-sfs-example namespace: default spec: accessModes: - ReadWriteMany capacity: storage: 10Gi flexVolume: driver: huawei.com/fuxinfs fsType: nfs options: deviceMountPath: <your_deviceMountPath> # Shared storage path of your file. fsType: nfs kubernetes.io/namespace: default volumeID: f6976f9e-2493-419b-97ca-d7816008d91c persistentVolumeReclaimPolicy: Delete storageClassName: nfs-rw
Tabela 3 Parâmetros principais Parâmetro
Descrição
driver
Driver de armazenamento usado para montar o volume. Defina o driver para huawei.com/fuxinfs para o sistema de arquivos.
deviceMountPath
Caminho compartilhado do sistema de arquivos.
No console de gerenciamento, escolha Service List > Storage > Scalable File Service. Você pode obter o caminho compartilhado do sistema de arquivos na coluna Mount Address, conforme mostrado na Figura 1.
volumeID
ID do sistema de arquivos.
Para obter o ID, entre no console do CCE, escolha Resource Management > Storage, clique no nome da PVC na página de guia SFS e copie o ID da PVC na página de detalhes da PVC.
storage
Tamanho do sistema de arquivos.
storageClassName
Modo de leitura/gravação suportado pelo sistema de arquivos. Atualmente, nfs-rw e onfs-ro são suportados.
- Exemplo de arquivo YAML para a PVC:
apiVersion: v1 kind: PersistentVolumeClaim metadata: annotations: volume.beta.kubernetes.io/storage-class: nfs-rw volume.beta.kubernetes.io/storage-provisioner: flexvolume-huawei.com/fuxinfs name: pvc-sfs-example namespace: default spec: accessModes: - ReadWriteMany resources: requests: storage: 10Gi volumeName: pv-sfs-example volumeNamespace: default
Tabela 4 Parâmetros principais Parâmetro
Descrição
volume.beta.kubernetes.io/storage-class
Modo de leitura/gravação suportado pelo sistema de arquivos. nfs-rw e nfs-ro são suportados. O valor deve ser o mesmo do PV existente.
volume.beta.kubernetes.io/storage-provisioner
O campo deve ser definido como flexvolume-huawei.com/fuxinfs.
storage
Capacidade de armazenamento, na unidade de Gi. O valor deve ser o mesmo que o tamanho de armazenamento do PV existente.
volumeName
Nome do PV.
A VPC à qual o sistema de arquivos pertence deve ser a mesma VPC da VM do ECS para a qual a carga de trabalho está planejada.
- Exemplo de arquivo YAML para o PV:
- Crie um PV.
kubectl create -f pv-sfs-example.yaml
- Crie uma PVC.
kubectl create -f pvc-sfs-example.yaml