CCE allows you to use an existing SFS volume to create a StatefulSet through a PersistentVolumeClaim (PVC).
You have created a CCE cluster and installed the FlexVolume plug-in (storage-driver) in the cluster.
The following configuration example applies to clusters of Kubernetes 1.13 or earlier.
touch sfs-statefulset-example.yaml
vi sfs-statefulset-example.yaml
Example YAML:
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: sfs-statefulset-example
namespace: default
spec:
replicas: 2
selector:
matchLabels:
app: sfs-statefulset-example
serviceName: qwqq
template:
metadata:
annotations:
metrics.alpha.kubernetes.io/custom-endpoints: '[{"api":"","path":"","port":"","names":""}]'
pod.alpha.kubernetes.io/initialized: "true"
labels:
app: sfs-statefulset-example
spec:
affinity: {}
containers:
- image: nginx:latest
name: container-0
volumeMounts:
- mountPath: /tmp
name: pvc-sfs-example
imagePullSecrets:
- name: default-secret
volumes:
- name: pvc-sfs-example
persistentVolumeClaim:
claimName: cce-sfs-demo
Parent Parameter |
Parameter |
Description |
|---|---|---|
spec |
replicas |
Number of pods. |
metadata |
name |
Name of the created workload. |
spec.template.spec.containers |
image |
Image used by the workload. |
spec.template.spec.containers.volumeMounts |
mountPath |
Mount path in the 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. |
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