Kubernetes 如何初始化动态配置的持久磁盘
我目前正在研究在GCE应用程序中使用动态配置的持久性磁盘:在我的应用程序中,我有1-n个pod,其中每个pod包含一个容器,需要rw访问持久性卷。该卷需要预先填充一些从bucket复制的数据 我困惑的是;如果持久性磁盘是动态分配的,如何确保在将数据装载到pod之前将其复制到持久性磁盘上?数据的复制是不经常的,但有规律的,我唯一可能需要做的事情是,如果一个pod掉了下来,我需要一个新的持久性磁盘和pod来代替它 如何确保永久磁盘在装入我的pod之前已预填充 我目前的想法是将bucket安装到pod上,作为pod启动的一部分,从bucket复制到持久磁盘。这会产生另一个问题,即无法启用写入并将存储桶装载到多个存储舱Kubernetes 如何初始化动态配置的持久磁盘,kubernetes,google-kubernetes-engine,Kubernetes,Google Kubernetes Engine,我目前正在研究在GCE应用程序中使用动态配置的持久性磁盘:在我的应用程序中,我有1-n个pod,其中每个pod包含一个容器,需要rw访问持久性卷。该卷需要预先填充一些从bucket复制的数据 我困惑的是;如果持久性磁盘是动态分配的,如何确保在将数据装载到pod之前将其复制到持久性磁盘上?数据的复制是不经常的,但有规律的,我唯一可能需要做的事情是,如果一个pod掉了下来,我需要一个新的持久性磁盘和pod来代替它 如何确保永久磁盘在装入我的pod之前已预填充 我目前的想法是将bucket安装到pod
注意:我使用的是一个单独的永久性磁盘,因为我需要它作为ssd以提高速度。看起来该拷贝是一个很好的候选拷贝 这样,在每次pod启动时,“init容器”将连接到GCS存储桶并检查数据的状态,如果需要,将数据复制到动态分配的PersistentDisk 完成后,pod的主容器启动,并准备好数据供其使用。通过使用“init容器”,您可以保证:
StatefulSet
结合使用此方法效果很好,可以使用新磁盘初始化新副本,并在主容器映像(代码)更新中保持持久数据