接收来自pod的错误:
initdb:目录“ / var / lib / postgresql / data”存在但不为空它可能包含一个丢失的+找到的目录,可能是因为它是一个安装点。不建议将挂载点直接用作数据目录。在安装点下创建一个子目录。
为什么广告连播无法使用此路径?我已经在minikube上尝试过相同的测试。我没遇到任何问题。
那么,如何在Kubernete中使用Aws EBS正确安装postgresql卷,该方法允许重新创建的Pod可以重用存储在EBS中的初始数据库?
那么使用AWS EBS正确安装postgresql卷的方法是什么
您在正确的道路上...
您得到的错误是因为您要使用装入卷的根文件夹/
作为postgresql数据目录,而postgresql抱怨这样做不是最佳实践,因为它不为空并且内部已经包含一些数据(即lost+found
目录)。
最好将数据目录放在单独的空子文件夹中(/postgres
例如),并在创建文件结构时为PostgreSQL提供干净的位置。您在minicube上没有得到相同的东西,因为您最有可能装载的主机文件夹内部没有任何内容(为空)并且没有引发此类投诉。
为此,首先需要将卷的空子路径(/postgres
例如,PV上的空子文件夹)安装到/var/lib/posgresql/data
吊舱中的相应安装点()。请注意,您可以将subPath和安装点结束文件夹命名为相同的名称,这里它们是不同的,例如,test-db-volume/postgres
将文件夹安装到Pod到/var/lib/postgresql/data
文件夹的示例:
...
volumeMounts:
- mountPath: /var/lib/postgresql/data
name: test-db-volume
subPath: postgres
...
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句