1.21.4. 将复制镜像转换为可用的持久性卷声明
有时可能需要使用复制的镜像来恢复数据或创建持久性卷声明的新实例。镜像的副本必须转换为持久性卷声明,然后才能使用它。要将复制镜像转换为持久性卷声明,请完成以下步骤:
复制完成后,输入以下命令识别
ReplicationDestination
对象的最新快照:$ kubectl get replicationdestination <destination> -n <destination-ns> --template={{.status.latestImage.name}}
记录下在创建持久性卷声明时的最新快照值。
将
destination
替换为复制目的地的名称。将
destination-ns
替换为您的目的地的命名空间。创建一个类似以下示例的
pvc.yaml
文件:apiVersion: v1 kind: PersistentVolumeClaim metadata: name: <pvc-name> namespace: <destination-ns> spec: accessModes: - ReadWriteOnce dataSource: kind: VolumeSnapshot apiGroup: snapshot.storage.k8s.io name: <snapshot_to_replace> resources: requests: storage: 2Gi
将
pvc-name
替换为您的新持久性卷声明的名称。将
destination-ns
替换为持久性卷声明所在的命名空间。使用您在上一步中找到的
VolumeSnapshot
名称替换snapshot_to_replace
。您可以使用不同值更新
resources.requests.storage
,但当值至少与初始源持久性卷声明大小相同时,最好使用最佳实践。输入以下命令验证您的持久性卷声明是否在环境中运行:
$ kubectl get pvc -n <destination-ns>