惜风不起、唯有努力!
k8s几种常用的存储方式

k8s几种常用的存储方式

PS: 我主要讲常用几种存储方式,分别是pv/pvc,emptyDir与hostPath, nfs原生直接挂载。更多存储方式请查看k8s官网。

1、pv和pvc方式,也是最常用的存储方式

//yaml中使用

            volumeMounts:
            - name: logs-volume
              mountPath: /data/xxx/logs   #mount_dir
      volumes:
        - name: logs-volume
          persistentVolumeClaim:
            claimName: xxxx-pvc   #pvc_name

2、hostPath / emptyDir(节点存储卷)

emptyDir与hostPath属于节点级别的卷类型,emptyDir的生命周期与Pod资源相同,而使用了hostPath卷的Pod一旦被重新调度至其他节点,那么它将无法在使用此前的数据。如果要持久化数据还得用nfs网络存储,ceph分布式存储等

//yaml中使用 = hostPath

        volumeMounts:
        - name: nginx-time
          mountPath: /etc/localtime
      volumes:
      - name: nginx-time
        hostPath:
          path: /etc/localtime

//yaml中使用 = emptyDir

        volumeMounts:
        - name: nginx-acc-log
          mountPath: /var/log/nginx
      volumes:
      - name: nginx-acc-log
        emptyDir: {}

3、nfs直接挂载,k8s是原生支持nfs直接挂载的。

// yaml中使用

        volumeMounts:
        - name: jenkins-home
          mountPath: /var/jenkins_home
      volumes:
      - name: jenkins-home
        nfs:
          server: 192.168.136.144          #nfs服务主机IP或主机名
          path: /data/nfs_vl/jenkins       #挂载的目录
          readOnly: false                  #是否以只读方式挂载

发表回复

您的电子邮箱地址不会被公开。