pod 重启后 emptyDir 卷不为空?

emptyDir volume not empty after pod restart?

我们正在尝试 运行 minikube (1.18.1) Kubernetes (1.16.15) 集群中的 PostgreSQL,以便在每次 pod 重新部署时重置数据库。

在我们的部署模板中,我们有:

containers:
- name: mock-db  
  image: postgres:13
  imagePullPolicy: "IfNotPresent"
  ports:
    - name: postgres
      containerPort: 5432
  volumeMounts:
    - mountPath: /docker-entrypoint-initdb.d
      name: postgresql-init
    - mountPath: /var/lib/postgresql/data
      name: postgresql-data
volumes:
- name: postgresql-init
  configMap:
    name: "mock-db-init-scripts"
    optional: false
- name: postgresql-data
  emptyDir:
    medium: Memory

基于 docs,这应该可以正常工作:

When a Pod is removed from a node for any reason, the data in the emptyDir is deleted permanently.

但是,在 helm uninstall 和随后的 helm upgrade --install 之后,我在容器日志中得到了这个:

PostgreSQL Database directory appears to contain a database; Skipping initialization

很明显,该卷没有被清除。为什么?我需要更改配置吗?

这是我错过的:

  • 初始化脚本失败并且
  • 容器立即重启。

音量完全没有问题。