目前,我的一些pod正在使用临时卷(那些由Docker在容器级别创建的卷)。我希望某种形式的持久数据存储在主机上的特定目录中(如Docker中的绑定挂载),以便我的pod可以重新启动而不会丢失数据。持续数量索赔似乎是实现这一目标的最佳方式。我应该如何将现有的pod转换为使用从现有临时卷复制数据的pvc ?
- 在主机上创建保存数据的目录。如。
mkdir /local_data
- 将数据复制到本地目录。如。
kubectl cp <namespace>/<pod>:/path/in/the/container /local_data
检查并再次检查 - 创建一个新的pod,规格如下。
/local_data
中所有数据是否完好无损例子:
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是否按预期运行