云容器引擎 CCE-部署带文件存储卷SFS的有状态工作负载:操作步骤

时间:2023-11-01 16:25:55

操作步骤

  1. 参照存储卷声明PVC中操作创建文件存储卷,记录文件存储卷名称。
  2. 请参见通过kubectl连接集群,使用kubectl连接集群。
  3. 新建一个YAML文件,用于创建工作负载。假设文件名为sfs-statefulset-example.yaml

    touch sfs-statefulset-example.yaml

    vi sfs-statefulset-example.yaml

    配置示例:

    apiVersion: apps/v1kind: StatefulSetmetadata:  name: sfs-statefulset-example  namespace: defaultspec:  replicas: 1  selector:    matchLabels:      app: sfs-statefulset-example  template:    metadata:      labels:        app: sfs-statefulset-example    spec:      volumes:       - name: pvc-sfs-example         persistentVolumeClaim:          claimName: pvc-sfs-example           containers:      - name: container-0        image: 'nginx:latest'        volumeMounts:          - name: pvc-sfs-example            mountPath: /tmp      restartPolicy: Always      imagePullSecrets:      - name: default-secret   serviceName: sfs-statefulset-example-headless  updateStrategy:    type: RollingUpdate
    表1 关键参数说明

    前置路径

    参数

    描述

    spec

    replicas

    实例数。

    metadata

    name

    新建工作负载的名称。

    spec.template.spec.containers

    image

    新建工作负载使用的镜像。

    spec.template.spec.containers.volumeMounts

    mountPath

    容器内挂载路径。

    spec

    serviceName

    工作负载对应的服务,服务创建过程请参见创建有状态负载(StatefulSet)

    spec.template.spec.volumes.persistentVolumeClaim

    claimName

    已有PVC名称。

    在有状态工作负载中基于PVCTemplate独占式使用文件存储:

    yaml配置示例如下:
    apiVersion: apps/v1kind: StatefulSetmetadata:  name: sfs-statefulset-example  namespace: defaultspec:  replicas: 1  selector:    matchLabels:      app: sfs-statefulset-example  template:    metadata:      labels:        app: sfs-statefulset-example    spec:      containers:        - name: container-0          image: 'nginx:latest'          volumeMounts:            - name: pvc-sfs-auto-example              mountPath: /tmp      restartPolicy: Always      imagePullSecrets:        - name: default-secret  volumeClaimTemplates:    - metadata:        name: pvc-sfs-auto-example        namespace: default      spec:        accessModes:          - ReadWriteMany        resources:          requests:            storage: 10Gi        storageClassName: csi-nas  serviceName: sfs-statefulset-example-headless  updateStrategy:    type: RollingUpdate

    spec.template.spec.containers.volumeMounts.name和spec.template.spec.volumes.name有映射关系,必须保持一致。

  4. 创建有状态工作负载。

    kubectl create -f sfs-statefulset-example.yaml

support.huaweicloud.com/usermanual-cce/cce_01_0262.html