【问题标题】:Move resources/volumes across contexts in Kubernetes clusters在 Kubernetes 集群中跨上下文移动资源/卷
【发布时间】:2020-07-03 08:55:52
【问题描述】:

我有一个 kubernetss 集群,我从上下文“dev1.k8s.local”开始,它有一个带有 EBS -PV(持久卷)的有状态集 现在我们计划开始另一个上下文“dev2.k8s.local” 有没有办法可以将 dev1 上下文 EBS 卷移动到上下文“dev2.k8s.local”

i am using K8S 1.10 & KOPS 1.10 Version

【问题讨论】:

    标签: kubernetes kubernetes-pod kops persistent-volumes persistent-volume-claims


    【解决方案1】:

    上下文只是 Kubernetes 配置的表示,通常是 ~/.kube/config。该文件中可以包含multiple configurations,可以手动管理或使用kubectl context 进行管理。

    当您使用 Kops 在 AWS 上预置第二个 Kubernetes 集群时,会重新创建全新的资源,这些资源没有关于其他集群的参考框架。为原始集群中的 PV 创建的 EBS 卷不能简单地使用配置文件中的上下文条目在集群之间传输。这不是它的设计工作方式。

    除了设计问题之外,还涉及一个严重的技术障碍。 EBS 卷为ReadWriteOnce。这意味着它们一次只能连接到一个 pod。存在此约束的原因是因为 EBS 连接是块存储,它被视为连接到运行您的 pod 的底层工作节点的物理块设备。该物理块设备在其他集群的工作程序节点上不存在。所以不可能简单地将指针移过去。

    完成此操作的最佳方法是通过磁盘备份和复制。你如何处理这取决于你的团队。一种方法是安装两个 EBS 卷并手动复制数据。您还可以拍摄快照并将数据还原到另一个卷。

    【讨论】:

      猜你喜欢
      • 2021-01-23
      • 2021-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多