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名称

 

 

posted on 2022-10-19 14:17  属于我的梦,明明还在  阅读(61)  评论(0)    收藏  举报