如何将临时卷转换为持久卷声明



目前,我的一些pod正在使用临时卷(那些由Docker在容器级别创建的卷)。我希望某种形式的持久数据存储在主机上的特定目录中(如Docker中的绑定挂载),以便我的pod可以重新启动而不会丢失数据。持续数量索赔似乎是实现这一目标的最佳方式。我应该如何将现有的pod转换为使用从现有临时卷复制数据的pvc ?

  1. 在主机上创建保存数据的目录。如。mkdir /local_data
  2. 将数据复制到本地目录。如。kubectl cp <namespace>/<pod>:/path/in/the/container /local_data
  3. 检查并再次检查/local_data中所有数据是否完好无损
  4. 创建一个新的pod,规格如下。

例子:

kind: Pod
...
spec:
...
nodeName: <name>  # <-- if you have multiple nodes this ensure your pod always run on the host that hold the data
containers:
- name: ...
...
volumeMounts:
- name: local_data
mountPath: /path/in/the/container
...
volumes:
- name: local_data
hostPath: /local_data
type: Directory

应用并检查您的pod是否按预期运行

相关内容

  • 没有找到相关文章

最新更新