kubernetes 存储卷与数据持久化
一 总述 1 存储卷概念 POD 自身具有生命周期,因此其内部运行的容器及相关数据无法完成持久化,docker支持配置容器使用存储卷将数据持久存储于自身文件系统之外的存储系统,其可以是节点文件系统或网络文件系统。相应的Kubernetes 提供的存储卷属于POD资源级别,共享与POD内的所有容器,可用于在勇气的文件系统之外存储应用程序的相关数据,甚至还可独立于POD生命周期之外实现数据持久化 存储卷: 定义在POD资源之上,可被其内部的所有容器挂载的共享目录,它关联至某外部的存储设备之上的存储空间,从而独立于容器自身的文件系统,而数据是否具有持久能力则取决于存储卷自身能否支持持久化 2 存储卷类型 1 节点级别的存储卷 empty: 其生命周期和POD资源相同 hostPath:其虽然可实现持久化存储,但若POD被调度至其他节点,则该节点的存储资源需要被迁移到指定节点,否则将无法持久化 2 网络级别存储卷 NFS ceph GlusterFS ... 其可实现数据的持久化存储 3 特殊存储卷 secret: 用于向POD传递某些敏感信息,如密码、私钥、证书等。 configmap:用于向POD中注入非敏感数据,如配置文件,其可实现容器配置文件集中化定义和管理 3 存储卷使用方式 1 直接在POD中进行指定和配置 POD中定义的存储有两部分组成: 1 pods.spec