【问题标题】:Moving Statefulsets with PV between K8s clusters在 K8s 集群之间移动带有 PV 的 Statefulset
【发布时间】:2019-05-27 05:30:15
【问题描述】:
我希望从旧的 GKE 集群迁移到新的 Alias IP,但是我需要将我的 statefulset 及其 PersistentVolumeClaims 迁移到新的 GKE 集群。我似乎无法在任何地方找到一个好的答案,说明它是可能的,但我想它应该只要它在同一个区域内。新旧 k8s 集群仍然在同一个 GCP 项目和同一个区域中。
我已经搜索过,但找不到答案,我无法弄清楚如何在不创建新 PV 的情况下重新创建 statefulset。
【问题讨论】:
标签:
kubernetes
cloud
cluster-computing
google-kubernetes-engine
【解决方案1】:
您可能想查看Volume Snapshots and volume snapshot content 方向。
类似于 API 资源 PersistentVolume 和
PersistentVolumeClaim 用于为用户和
管理员、VolumeSnapshotContent 和 VolumeSnapshot API 资源
用于为用户和管理员创建卷快照。
VolumeSnapshotContent 是从
由管理员配置的集群。它是一个
集群中的资源就像 PersistentVolume 是一个集群
资源。
VolumeSnapshot 是用户对卷快照的请求。它
类似于 PersistentVolumeClaim。
卷快照内容示例:
apiVersion: snapshot.storage.k8s.io/v1alpha1 kind: VolumeSnapshotContent metadata: name: new-snapshot-content-test spec: snapshotClassName: csi-hostpath-snapclass source:
name: pvc-test
kind: PersistentVolumeClaim volumeSnapshotSource:
csiVolumeSnapshotSource:
creationTime: 1535478900692119403
driver: csi-hostpath
restoreSize: 10Gi
snapshotHandle: 7bdd0de3-aaeb-11e8-9aae-0242ac110002
VolumeSnapshot 示例:
apiVersion: snapshot.storage.k8s.io/v1alpha1
kind: VolumeSnapshot
metadata:
name: new-snapshot-test
spec:
snapshotClassName: csi-hostpath-snapclass
source:
name: pvc-test
kind: PersistentVolumeClaim
Volume Snapshot Alpha for Kubernetes 在 v1.12 中引入。此功能允许创建/删除卷快照,以及使用 Kubernetes API 从本机快照创建新卷的能力。