StatefulSet详解
kubectl explain sts.spec :主要字段解释
replicas :副本数
selector:那个pod是由自己管理的
serviceName:必须关联到一个无头服务商
template:定义pod模板(其中定义关联那个存储卷)
volumeClaimTemplates :生成PVC
创建pv,pvc
apiVersion: v1 kind: PersistentVolume metadata: name: mypv1 spec: capacity: storage: 1Gi accessModes: - ReadWriteOnce persistentVolumeReclaimPolicy: Recycle storageClassName: nfs nfs: path: /nfsdata server: 10.20.30.78 #首先创建一个PV卷,使用nfs 挂载目录为/nfsdata ,创建的pv名为mypv1,storageclassname为nfs --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: mypvc1 spec: accessModes: - ReadWriteOnce resources: requests: storage: 1Gi storageClassName: nfs #创建一个PVC,名为mypvc1 ,给读写权限,大小为1G,storageclassname为nfs,根据storageclassname 会自动挂载与之对应的pv卷
创建pod
apiVersion: apps/v1 kind: StatefulSet metadata: name: web spec: selector: matchLabels: app: nginx #必须匹配 .spec.template.metadata.labels serviceName: "nginx" #声明它属于哪个Headless Service. replicas: 3 #副本数 template: metadata: labels: app: nginx # 必须配置 .spec.selector.matchLabels spec: terminationGracePeriodSeconds: 10 containers: - name: nginx image: nginx ports: - containerPort: 80 name: web volumeMounts: - name: nginx-pvc #挂载名称 mountPath: /usr/share/nginx/html #挂载到容器中的路径 volumes: - name: nginx-pvc persistentVolumeClaim: claimName: mypvc1 #使用的PVC名称

浙公网安备 33010602011771号