CCE allows you to use an existing SGS volume to create a StatefulSet (by using a PVC).
You have created a CCE cluster and installed the CSI plug-in (everest) in the cluster.
The following configuration example applies to clusters of Kubernetes 1.15 or later.
touch sfs-statefulset-example.yaml
vi sfs-statefulset-example.yaml
Configuration example:
apiVersion: apps/v1 kind: StatefulSet metadata: name: sfs-statefulset-example namespace: default spec: 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
Parent Parameter |
Parameter |
Description |
---|---|---|
spec |
replicas |
Number of pods. |
metadata |
name |
Name of the new workload. |
spec.template.spec.containers |
image |
Image used by the workload. |
spec.template.spec.containers.volumeMounts |
mountPath |
Mount path of a container. |
spec |
serviceName |
Service corresponding to the workload. For details about how to create a Service, see Creating a StatefulSet. |
spec.template.spec.volumes.persistentVolumeClaim |
claimName |
Name of an existing PVC. |
Example of mounting an SFS volume to a StatefulSet (PVC template-based, dedicated volume):
apiVersion: apps/v1 kind: StatefulSet metadata: name: sfs-statefulset-example namespace: default spec: 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 and spec.template.spec.volumes.name must be consistent because they have a mapping relationship.
kubectl create -f sfs-statefulset-example.yaml