Reviewed-by: gtema <artem.goncharov@gmail.com> Co-authored-by: Dong, Qiu Jian <qiujiandong1@huawei.com> Co-committed-by: Dong, Qiu Jian <qiujiandong1@huawei.com>
7.8 KiB
(kubectl) Creating a StatefulSet Mounted with an SFS Volume
Scenario
CCE allows you to use an existing SFS volume to create a StatefulSet through a PersistentVolumeClaim (PVC).
Prerequisites
You have created a CCE cluster and installed the FlexVolume plug-in (storage-driver) in the cluster.
Notes and Constraints
The following configuration example applies to clusters of Kubernetes 1.13 or earlier.
Procedure
- Create an SFS volume by referring to Creating an SFS Volume and record the volume name.
- Use kubectl to connect to the cluster. For details, see Connecting to a Cluster Using kubectl.
- Create a YAML file for creating the workload. Assume that the file name is sfs-statefulset-example.yaml.
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
Table 1 Key parameters 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.
- Create the StatefulSet.
kubectl create -f sfs-statefulset-example .yaml