为什么deployment创建的pod共享一个存储,statefulset创建的pod每个都有单独的存储

我们知道,deployment创建的pod共享一个存储,StatefulSet创建的pod每个都有单独的存储,这是因为,deployment适用于部署无状态的应用,在deployment的定义中,pvc是放置在pod模板里面的,如下:

  template:
     metadata:
       labels:
         app: nginx-pvc
     spec:
         containers:
         - image: nginx:1.7.9
           name: nginx-container
           ports:
           - name: http 
             containerPort: 80
           volumeMounts:
           - name: pvc-volume
             mountPath: /var/log/nginx
         volumes: 									#这里直接引用pvc
         - name: pvc-volume
           persistentVolumeClaim:
             claimName: pvc-nfs
             readOnly: false

所以,创建的pod都共享一个存储。

StatefulSet创建的pod每个都有单独的存储,这是因为,StatefulSet适用于部署无状态的应用,在StatefulSet的定义中,pvc是放置与pod模板同级别的,如下:

spec:
  selector:                                       #标签选择器,要与下面pod模板定义的pod标签保持一致
    matchLabels:
      app: redis-sts
  replicas: 6                                     #副本数为6个,redis集群模式最少要为6个节点,构成3主3从
  serviceName: redis-svc                          #指定使用service为上面我们创建的无头service的名称
  template:                     
    metadata:
      labels:                                     #pod的标签,上面的无头service的标签选择器和sts标签选择器都要与这个相同
        app: redis-sts
    spec:
      containers:
      - name: redis                               #容器名称 
        ports:                                    #定义容器端口
...................................
  volumeClaimTemplates:                           #定义创建pvc的模板
    - metadata:
        name: "redis-data"                        #模板名称
      spec:
        resources:                                #资源请求
          requests:
            storage: 100M                         #需要100M的存储空间
        accessModes:                            
        - ReadWriteOnce                           #访问模式为RWO
        storageClassName: "nfs-storageclass"      #指定使用的存储类,实现动态分配pv

所以,StatefulSet创建的pod每个都有单独的存储。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值