(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
- Use o kubectl para se conectar ao cluster. Para mais detalhes, consulte Conexão a um cluster usando o kubectl.
- 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.
- 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.