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 uma Implementação montada com um volume do SFS

Cenário

Depois que um volume do SFS é criado ou importado para o CCE, você pode montá-lo em uma carga de trabalho.

Observações e restrições

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

Procedimento

  1. Use o kubectl para se conectar ao cluster. Para mais detalhes, consulte Conexão a um cluster usando o kubectl.
  2. Execute os comandos a seguir para configurar o arquivo sfs-deployment-example.yaml, que é usado para criar um pod.

    touch sfs-deployment-example.yaml

    vi sfs-deployment-example.yaml

    Exemplo de montagem de um volume do SFS em uma Implementação (volume compartilhado baseado em PVC):
    apiVersion: apps/v1 
    kind: Deployment 
    metadata: 
      name: sfs-deployment-example                                # Workload name
      namespace: default 
    spec: 
      replicas: 1 
      selector: 
        matchLabels: 
          app: sfs-deployment-example 
      template: 
        metadata: 
          labels: 
            app: sfs-deployment-example 
        spec: 
          containers: 
          - image: nginx 
            name: container-0 
            volumeMounts: 
            - mountPath: /tmp                                # Mount path 
              name: pvc-sfs-example 
          imagePullSecrets:
            - name: default-secret
          restartPolicy: Always 
          volumes: 
          - name: pvc-sfs-example 
            persistentVolumeClaim: 
              claimName: pvc-sfs-auto-example                # PVC name
    Tabela 1 Parâmetros principais

    Parâmetro primário

    Parâmetro

    Descrição

    metadata

    name

    Nome do pod a ser criado.

    spec.template.spec.containers.volumeMounts

    mountPath

    Monte o caminho no contêiner. Neste exemplo, o caminho de montagem é /tmp.

    spec.template.spec.volumes.persistentVolumeClaim

    claimName

    Nome de uma PVC existente.

    spec.template.spec.containers.volumeMounts.name e spec.template.spec.volumes.name devem ser consistentes porque eles têm uma relação de mapeamento.

    Exemplo de montagem de um volume do SFS em um StatefulSet dedicado (volume baseado em modelo de PVC):

    Atualmente, os sistemas de arquivos do SFS estão esgotados e não podem ser usados exclusivamente pela definição do modelo de PVC.

    Exemplo de YAML:
    apiVersion: apps/v1
    kind: StatefulSet
    metadata:
      name: deploy-sfs-nfs-rw-in
      namespace: default
      labels:
        appgroup: ''
    spec:
      replicas: 2
      selector:
        matchLabels:
          app: deploy-sfs-nfs-rw-in
      template:
        metadata:
          labels:
            app: deploy-sfs-nfs-rw-in
        spec:
          containers:
            - name: container-0
              image: 'nginx:1.12-alpine-perl'
              volumeMounts:
                - name: bs-nfs-rw-mountoptionpvc
                  mountPath: /aaa
          imagePullSecrets:
            - name: default-secret
      volumeClaimTemplates:
        - metadata:
            name: bs-nfs-rw-mountoptionpvc
            annotations:
              volume.beta.kubernetes.io/storage-class: nfs-rw
              volume.beta.kubernetes.io/storage-provisioner: flexvolume-huawei.com/fuxinfs
          spec:
            accessModes:
              - ReadWriteMany
            resources:
              requests:
                storage: 1Gi
      serviceName: wwww
    Tabela 2 Parâmetros principais

    Parâmetro primário

    Parâmetro

    Descrição

    metadata

    name

    Nome da carga de trabalho criada.

    spec.template.spec.containers

    image

    Imagem da carga de trabalho.

    spec.template.spec.containers.volumeMount

    mountPath

    Monte o caminho no contêiner. Neste exemplo, o caminho de montagem é /tmp.

    spec

    serviceName

    Serviço correspondente à carga de trabalho. Para obter detalhes sobre como criar um Serviço, consulte Criação de um StatefulSet.

    spec.template.spec.containers.volumeMounts.name e spec.volumeClaimTemplates.metadata.name devem ser consistentes porque têm uma relação de mapeamento.

  3. Execute o seguinte comando para criar o pod:

    kubectl create -f sfs-deployment-example.yaml

    Após a conclusão da criação, entre no console do CCE. No painel de navegação, escolha Resource Management > Storage > SFS. Clique no nome da PVC. Na página de detalhes da PVC, você pode exibir a relação de vinculação entre o SFS e a PVC.