Storage Class 是 Kubernetes 中定义不同存储类型的一种方法。它为管理员提供了一种描述他们提供的存储的方式,并允许用户以抽象的方式使用这些存储。...Storage Classes 可以定义特定的存储提供者(如 AWS EBS、Azure Disk、GCE Persistent Disk 等)、预配置的策略(如备份策略、加密)、IO性能、访问模式等。...使用案例 以下是一个如何定义 Storage Class 并使用它来创建 Persistent Volume Claim 的示例。...: true volumeBindingMode: Immediate 在这个示例中,我们定义了一个名为 fast-storage 的 Storage Class,它使用 AWS EBS 作为存储提供者...当这个 PVC 被提交给 Kubernetes API 时,根据 fast-storage Storage Class 的定义,Kubernetes 会自动在 AWS 上创建一个 50Gi 的 gp2
Kubernetes Volume 也支持多种 backend 类型,包括 emptyDir、hostPath、GCE Persistent Disk、AWS Elastic Block Store、NFS...拿前面 AWS EBS 的例子来说,要使用 Volume,Pod 必须事先知道如下信息: 1. 当前 Volume 来自 AWS EBS。 2....需要为 Pod 分配存储资源时,用户可以创建一个 PVC,指明存储资源的容量大小和访问模式(比如只读)等信息,Kubernetes 会查找并提供满足条件的 PV。.../storage/persistent-volumes/#types-of-persistent-volumes 下面我们用 NFS 来看下PersistentVolume 的使用方法。...Delete – 删除 Storage Provider 上的对应存储资源,例如 AWS EBS、GCE PD、Azure Disk、OpenStack Cinder Volume 等。
Kubernetes Volume 也支持多种 backend 类型,包括 emptyDir、hostPath、GCE Persistent Disk、AWS Elastic Block Store、NFS...不过那些需要访问 Kubernetes 或 Docker 内部数据(配置文件和二进制库)的应用则需要使用 hostPath。 看下面是 Volume 的相关部分: ?...外部 Storage Provider 如果 Kubernetes 部署在诸如 AWS、GCE、Azure 等公有云上,可以直接使用云硬盘作为 Volume,下面是 AWS Elastic Block...Store 的例子: 要在 Pod 中使用 ESB volume,必须先在 AWS 中创建,然后通过 volume-id 引用。...拿前面 AWS EBS 的例子来说,要使用 Volume,Pod 必须事先知道如下信息: 当前 Volume 来自 AWS EBS。
Kubernetes Volume 也支持多种 backend 类型,包括 emptyDir、hostPath、GCE Persistent Disk、AWS Elastic Block Store、NFS...不过那些需要访问 Kubernetes 或 Docker 内部数据(配置文件和二进制库)的应用则需要使用 hostPath。...您需要在特权容器中以 root 身份运行进程,或修改主机上的文件权限以便写入 hostPath 卷 apiVersion: v1 kind: Pod metadata: name: test-pd...四、ceph 如果 Kubernetes 部署在诸如 AWS、GCE、Azure 等公有云上,可以直接使用云硬盘作为 Volume,下面是 AWS Elastic Block Store 的例子: 要在...Delete – 删除 Storage Provider 上的对应存储资源,例如 AWS EBS、GCE PD、Azure Disk、OpenStack Cinder Volume 等。
v1.8 中卷扩展功能就已经进入 Alpha 阶段,v1.11 之前需要在 feature gate 中开启 ExpandPersistentVolumes,以及 admission 控制器 PersistentVolumeClaimResize...Kubernetes 1.11 内置了对部分卷插件的扩容支持:AWS-EBS、GCE-PD、Azure Disk、Azure File、Glusterfs、Cinder、Portworx、以及 Ceph...、AWS-EBS、Azure Disk、Cinder 以及 Ceph RBD 这些块存储卷通常需要首先进行文件系统的扩展,然后被扩展的卷的额外空间才能为 Pod 所用。...引用这些卷的 Pod 重启时,Kubernetes 会自动完成这些任务。...目前支持的有 GCE-PD、AWS-EBS、Cinder 以及 Ceph RBD。当激活这个功能后,引用被扩展的卷的 Pod 无需重启。文件系统会随着卷扩展的步骤进行扩展。
重要提示:您必须使用 aws ec2 create-volume 或 AWS API 创建 EBS 卷,才能使用它。...gcePersistentDisk gcePersistentDisk 卷将 Google Compute Engine(GCE)Persistent Disk 挂载到您的容器中。...重要提示:您必须先使用 gcloud 或 GCE API 或 UI 创建一个 PD,然后才能使用它。...使用 gcePersistentDisk 时有一些限制: 运行 Pod 的节点必须是 GCE 虚拟机 那些虚拟机需要在与 PD 一样在 GCE 项目和区域中 PD 的一个特点是它们可以同时被多个用户以只读方式挂载...挂载传播 注意:挂载传播是 Kubernetes 1.8 中的一个 alpha 特性,在将来的版本中可能会重新设计甚至删除。
该过程使Kubernetes开发人员可以获得反馈,发现,并修复问题,迭代设计,并交付高质量的生产级特性。 为什么将in-tree插件迁移到CSI?...通过CSI迁移,可以使用相应的CSI驱动程序替换现有的in-tree存储插件,例如kubernetes.io/gce-pd或kubernetes.io/aws-ebs。...要在Beta中针对现有插件试用CSI迁移,必须使用Kubernetes v1.17或更高版本。...目前,只有GCE PD和AWS EBS在迁移过程中进行了beta测试,但由于它们都依赖于各自CSI驱动程序的手动安装,因此在默认情况下仍处于关闭状态。...请遵循更新的CSI驱动程序用户指南并使用新的CSI api。 如果选择升级集群或继续使用旧版卷API规范,CSI迁移将确保我们继续通过新的CSI驱动程序支持这些环境。
集群管理员需要在API Server中启用DefaultStorageClass的接入控制器。动态供应过程如下图所示: ?...在PVC能够支持的情况下,删除策略会同时删除卷以及AWS EBS/GCE PD或者Cinder卷中的存储内容。...2.5.3 删除 对于支持删除回收策略的存储卷插件,删除即会从Kubernetes中移除PV,也会从相关的外部设施中删除存储资产,例如AWS EBS, GCE PD, Azure Disk或者Cinder...Recycle-基础擦除(“rm-rf /thevolume/*”) Delete-相关的存储资产,例如AWSEBS或GCE PD卷一并删除。...《Persistent Volumes》地址:https://kubernetes.io/docs/concepts/storage/persistent-volumes/ 3.
Kubernetes提供了以下Predicates Policies的定义,你可以在kube-scheduler启动参数中添加--policy-config-file来指定要运用的Policies集合,...Currently supported volumes are: AWS EBS, GCE PD, ISCSI and Ceph RBD....maximum value (by default, 16, which is the maximum GCE allows -- see GCE's documentation)....在这个过程中,会并发的根据每个Priorities Policy分别启动一个goroutine,在每个goroutine中会根据对应的policy实现,遍历所有的预选Nodes,分别进行打分,每个Node...Kubernetes提供了以下Priorities Policies的定义,你可以在kube-scheduler启动参数中添加--policy-config-file来指定要运用的Policies集合,
因此,Kubernetes 支持将 Secret 和 ConfigMap 作为文件或环境变量注入 Pod 之中。更多内容请参考 Secret 文档 中的 “使用 Secret” 部分。...例如,用户可以轻松地向 API Server 请求将 Google Cloud Persistent Disk 挂载到 Pod 的特定路径中: ?...然后容器可以脱离容器或 Pod 的生命周期来将持久数据写入 GCE PD 挂载的路径。...但该方法还是有点小问题的,YAML 文件中直接引用了 Google Cloud Persistent Disk,如果此 Pod 没有部署在 Google Cloud Kubernetes 集群上,则无法启动...,因为无法使用 GCE PD。
Kubernetes 使用Persistent Volume和Persistent Volume Claim 两种API资源来管理存储。...就像节点(Node)是集群中的资源一样,PV也是集群中的资源。它包含存储类型,存储大小和访问模式。它的生命周期独立于Pod,例如当使用它的Pod销毁时对PV没有影响。...可以通过两种方式配置PV:静态或动态。 静态PV:集群管理员创建许多PV,它们包含可供集群用户使用的实际存储的详细信息。...关联的存储资产(如AWS EBS,GCE PD,Azure磁盘或OpenStack Cinder卷)将被删除。NFS不支持delete策略。 目前,只有NFS和HostPath支持回收。...AWS EBS,GCE PD,Azure磁盘和Cinder卷支持删除。
当数据发生变化时,etcd 会快速地通知 Kubernetes 相关组件。...Disk,PD)存放Volume的数据,PD上的内容会永久保存,当Pod被删除时,PD只是被卸载(Unmount),不会被删除,需要先创建一个永久磁盘(PD),才能使用gcePersistentDisk...限制条件: Node需要GCE虚拟机 这些虚拟机需要与PD存在与相同的GCE项目和zone中。...使用亚马逊公有云提供的EBS Volume存储数据,需要先创建一个EBS Volume才能使用 限制条件: Node节点需要AWS EC2实例 AWS EC2实例需要与EBS Volume...的Etcd数据库中,然后提供API以方便Kubernetes相关组件或 客户应用CRUD操作这些数据。
空白存储卷对于需要在多个容器之间共享数据的应用程序是有用的。主机路径存储卷(HostPath): 主机路径存储卷允许将主机文件系统中的文件或目录挂载到容器中。...云提供商集成存储: Kubernetes还提供了与云提供商的存储服务集成的选项,例如AWS EBS和Azure Disk。...这些集成允许在Kubernetes中使用云提供商的持久化存储解决方案,例如在云环境中创建和管理云存储资源,并将其挂载到Pod中。...持久卷(Persistent Volume)的使用持久卷(Persistent Volume,PV)是Kubernetes中一种提供持久化存储的资源。...在Kubernetes中,可以通过以下步骤定义和使用持久卷:创建持久卷的定义文件,指定持久卷的属性、存储后端、访问模式等。创建持久卷对象,将定义文件中的属性应用到Kubernetes集群中。
Kubernetes通过存储卷解决上述的两个问题。 在Docker有存储卷的概念卷,但Docker中存储卷只是磁盘的或另一个容器中的目录,并没有对其生命周期进行管理。...在宿主机上创建的文件或目录,只有root用户具写入的权限。您要么在容器中以root身份运行进程,要么在主机上修改的文件或目录的权限,以便具备写入内容到hostPath的存储卷中。...上的永久磁盘到容器,需要 Kubernetes 运行在 GCE 的 VM 中。...volumes: - name: test-volume # This GCE PD must already exist. gcePersistentDisk: pdName: my-data-disk...fsType: ext4 awsElasticBlockStore awsElasticBlockStore 可以挂载 AWS 上的 EBS 盘到容器,需要 Kubernetes 运行在 AWS
为什么要迁移? 容器存储接口旨在帮助 Kubernetes 取代其现有的树内存储驱动机制──特别是供应商的特定插件。...使用 CSI 驱动可以实现更好的可维护性(驱动作者可以决定自己的发布周期和支持生命周期)、减少出现漏洞的机会(得益于更少的树内代码,出现错误的风险会降低。...CSI 迁移工作使存储后端现有的树内存储插件(如 kubernetes.io/gce-pd 或 kubernetes.io/aws-ebs)能够被相应的 CSI 驱动 所取代。...假设你是 kubernetes.io/gce-pd 用户,在启用 CSI 迁移功能后,你仍然可以使用 kubernetes.io/gce-pd 来配置新卷、挂载现有的 GCE-PD 卷或删除现有卷。...例如,你可能希望在一个 GCE 集群上禁用 EBS 存储插件,因为 EBS 卷是其他供应商的云(AWS)所专有的。
◎ Delete 删除:与PV相连的后端存储完成Volume的删除操作 EBS、GCE PD、Azure Disk、OpenStack Cinder等设备的内部Volume清理)。...mountOptions: - hard - nolock - nfsvers=3 gcePersistentDisk: fsType: ext4 pdName: gce-disk...(3)资源使用 Pod使用Volume定义,将PVC挂载到容器内的某个路径进行使用。Volume的类型为Persistent VolumeClaim,在容器挂载了一个PVC后,就能被持续独占使用。...metadata: name: standard privisioner: kubernetes.io/aws-ebs parameters: type: gp2 关键配置 1、提供者(Privisioner...: kubernetes.io/gce-pd parameters: type: pd-ssd 通过kubectl create命令创建成功后,查看StorageClass列表,可以看到名为gold
比如,Bind Mount 只能让容器与本地宿主机之间建立某个目录的映射,那么如果想要在不同宿主机上的容器共享同一份存储,就必须先把共享存储挂载到每一台宿主机操作系统的某个目录下,然后才能逐个挂载到容器内使用...为什么这么说呢?...比如,我们希望数据存储在 AWS Elastic Block Store 上,就找一个 AWS EBS 的驱动;如果想存储在 Azure File Storage 上,也是找一个对应的 Azure File...自动调用 AWS EBS、GCE PersistentDisk、OpenStack Cinder 这些云存储的删除指令。...存储驱动是 NFS,其他常见的存储驱动还有 AWS EBS、GCE PD、iSCSI、RBD(Ceph Block Device)、GlusterFS、HostPath,等等。
介绍 Kubernetes 1.2增加了在多个故障区域中运行单个集群的支持(GCE称它们为“区域”,AWS称它们为“可用区域”,在这里我们将它们称为“区域”)。...完全集群联盟允许组合运行在不同区域或云提供商(或本地数据中心)中的各个Kubernetes集群。...Kubernetes会自动将复制控制器或服务中的Pod跨单个区域群集中的节点分布(以减少故障的影响)。对于多区域群集,此分布行为将跨区域扩展(以减少区域故障的影响) 。)...卷区域关联性仅适用于PersistentVolume,并且如果直接在Pod规范中指定EBS卷,则将不起作用。 群集不能跨越云或区域(此功能将需要完整的联盟支持)。...在Deployment或Pod规范中指定多个PVC时,需要为特定的单个区域配置StorageClass,或者需要在特定的区域中静态设置PV。
另一种是将ConfigMap做为存储卷挂载至Pod容器内,这样在修改ConfigMap配置信息后,Pod容器中的配置也会随之更新,不过这个过程会有稍微的延迟。...pod中使用持久化存储时,他们首先创建持久化声明(PVC)清单,指定所需要的最低容量要求,和访问模式,然后用户将持久卷声明清单提交给kubernetes API服务器,kubernetes将找到可以匹配的持久卷并将其绑定到持久卷声明...Delete – 删除 Storage Provider 上的对应存储资源,例如 AWS EBS、GCE PD、Azure Disk、OpenStack Cinder Volume 等。...虽然 mypv1 中的数据得到了保留,但其 PV 状态会一直处于 Released,不能被其他 PVC 申请。为了重新使用存储资源,可以删除并重新创建 mypv1。...NFS 的 PV 不支持 Delete,支持 Delete 的 Provider 有 AWS EBS、GCE PD、Azure Disk、OpenStack Cinder Volume 等。
卷快照是卷在某个时间点的副本,快照可用于填充新的Volume(预填充快照数据)或将现有卷恢复到先前状态(由快照表示)。 为什么要将卷快照添加到Kubernetes?...Kubernetes Storage SIG将快照操作确定为许多有状态工作负载的关键功能。例如,数据库管理员可能要在开始数据库操作之前对数据库的卷进行快照。...hostPath引入了压力测试(基于Google Persistent Disk和hostPath CSI驱动)来测试系统的稳定性。...在GCE Persistent Disk CSI Driver已通过了升级的测试时间里从卷快照公测GA。对其他CSI驱动程序的GA级别支持应尽快提供。 如何部署卷快照?...您必须手动或使用更高级别的API /控制器来获取数据一致性之前,必须准备好应用程序(暂停应用程序,冻结文件系统等)。
领取专属 10元无门槛券
手把手带您无忧上云