任务

Edit This Page

Storage Object in Use Protection

Kubernetes 可以对被 Pod 持续使用的永久卷声明(PVCs)和绑定到 PVC 的永久卷(PVs)进行保护,以避免它们被用户不小心删除掉。

准备开始

在下面列出的 Kubernetes 版本中,激活了在用存储对象的保护特性:

FEATURE STATE: Kubernetes v1.10 beta
该功能目前处于 beta 状态,意味着:

  • 版本名称包含 beta (例如 v2beta3)。
  • 代码经过了充分测试,启用该功能被认为是安全的。默认情况下被启用。
  • 对整体功能的支持在未来不会被移除,尽管细节上可能会做更改。
  • 在后续的 beta 或稳定版本中,对象的模式、语义可能以不兼容的方式发生变化。当这种情况发生时,我们将提供迁移到下一个版本的说明。这可能需要删除、编辑和重建 API 对象,编辑过程可能需要一些思考。这可能导致依赖该功能的应用程序停机一段时间。
  • 建议仅在非业务关键场景使用该功能,因为在后续版本中可能会发生不兼容的更改。如果您有多个可以独立升级的集群,那么您可能可以放松这个限制。
  • 请尝试使用我们的 beta 版功能,并给出反馈!在它们退出 beta 测试阶段之后,我们将很难去做更多的更改。
FEATURE STATE: Kubernetes v1.11 稳定
该功能是“稳定的”,意味着:

  • 版本名是 vX,其中 X 是整数。
  • 该功能将出现在多个后续释出的软件稳定版中。

<!–

Storage Object in Use Protection feature used for PVC Protection

The example below uses a GCE PD StorageClass, however, similar steps can be performed for any volume type.

Create a StorageClass for convenient storage provisioning: –>

在用存储对象的保护功能用于 PVC 的保护

下面的例子中使用了 GCE PD StorageClass, 但是类似的步骤可以在任意的卷类型上执行。

创建 StorageClass 以便提供存储:

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: slow
provisioner: kubernetes.io/gce-pd
parameters:
  type: pd-standard

下面列出了验证场景。

场景1: PVC 没有被 Pod 使用

场景 2: PVC 被 Pod 使用

场景 3: Pod 开始使用正在停止状态(Terminating)的 PVC

使用在用存储对象保护的功能来保护 PV

下面的示例使用了 HostPath PV。

下面列出了验证场景。

场景 1: PV 没有绑定到 PVC

场景 2: PV 绑定了 PVC。


reviewers: - msau42 - jsafrane

title: 保护使用的存储对象

content_template: templates/task

反馈