nfs配置

kubernetes 存储卷与数据持久化

为君一笑 提交于 2019-11-25 20:31:06
一 总述 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

Kubernetes数据持久化方案

偶尔善良 提交于 2019-11-25 20:11:58
在开始介绍k8s持久化存储前,我们有必要了解一下k8s的emptydir和hostpath、configmap以及secret的机制和用途。 1、Emptydir EmptyDir是一个空目录,他的生命周期和所属的 Pod 是完全一致的,EmptyDir主要作用可以在同一 Pod 内的不同容器之间共享工作过程中产生的文件。如果Pod配置了emptyDir类型Volume, Pod 被分配到Node上时候,会创建emptyDir,只要Pod运行在Node上,emptyDir都会存在(容器挂掉不会导致emptyDir丢失数据),但是如果Pod从Node上被删除(Pod被删除,或者Pod发生迁移),emptyDir也会被删除,并且永久丢失。 # cat emptydir.yaml apiVersion: v1 kind: Pod metadata: name: busybox spec: containers: - name : busybox image: registry.fjhb.cn/busybox imagePullPolicy: IfNotPresent command: - sleep - "3600" volumeMounts: - mountPath: /busybox-data name: data volumes: - name: data emptyDir: {}