我从这里了解了Eclipse Che的总体架构。 https://www.eclipse.org/che/docs/che-7/che-architecture.html#high-level-che-architecture_che-architectural-elements
但是,在容器崩溃/集群机器崩溃的情况下,没有关于如何持久化容器工作空间的信息。是由kubernetes还是Container工作区控制器处理的。
答案 0 :(得分:2)
如果您将工作空间配置为持久性(并且可以选择使它们成为短暂的,在这种情况下,则没有持久性存储),则会为该工作空间进行“持久性批量声明”,并且可以使用PVC在工作区中每个容器中,作为共享卷。通过Che(或通过任何其他方法)写入共享卷的任何文件将由存储后端保留-这就是Kubernetes构造。
在Kubernetes中,定义了“ StorageClass”来说明如何处理持久卷声明(例如,为卷分配新的Ceph块设备),或者集群管理员已经预先创建了持久卷(例如,例如NFS份额)(如果有),可以将其与声明匹配。
有一个重要的Che config选项会影响此操作-可以将Che配置为在每个工作区使用PVC(非常浪费,如果您的源代码和构建文件仅几兆字节,并且您已经分配了一个1G或2G卷),或在所有工作空间中使用一个大型PVC(更多的安全问题,但对于大多数部署,这将是方便的选择)。您可以在“ Che服务器如何使用PVC和PV进行存储”部分中找到有关此配置的信息:https://www.eclipse.org/che/docs/che-6/kubernetes-admin-guide.html