आप सही रास्ते पर हैं...
आपको त्रुटि इसलिए मिलती है क्योंकि आप माउंटेड वॉल्यूम के रूट फ़ोल्डर का उपयोग करना चाहते हैं /
जैसा कि postgresql डेटा dir और postgresql शिकायत करते हैं कि ऐसा करना सबसे अच्छा अभ्यास नहीं है क्योंकि यह खाली नहीं है और इसमें पहले से ही कुछ डेटा शामिल है (अर्थात् lost+found
निर्देशिका)।
अलग खाली सबफ़ोल्डर (/postgres
.) में डेटा डीआईआर का पता लगाना कहीं बेहतर है उदाहरण के लिए) और इसकी फ़ाइल संरचना बनाते समय पोस्टग्रेस्क्ल क्लीन स्लेट दें। आपको मिनीक्यूब पर वही चीज़ नहीं मिली क्योंकि आपने संभवतः होस्ट फ़ोल्डर को माउंट किया था जिसमें कुछ भी नहीं था (खाली था) और इस तरह की शिकायत को ट्रिगर नहीं किया।
ऐसा करने के लिए, आपको प्रारंभ में खाली subPath
की आवश्यकता होगी। आपके वॉल्यूम का (खाली /postgres
उदाहरण के लिए आपके PV पर सबफ़ोल्डर) उपयुक्त माउंट पॉइंट पर माउंट किया गया (/var/lib/posgresql/data
) आपके पॉड में। ध्यान दें कि आप सबपाथ और माउंट पॉइंट एंड फोल्डर को एक ही नाम दे सकते हैं, वे यहाँ एक उदाहरण के रूप में भिन्न हैं जहाँ test-db-volume/postgres
फोल्डर को पॉड पर /var/lib/postgresql/data
पर माउंट किया जाएगा फ़ोल्डर:
...
volumeMounts:
- mountPath: /var/lib/postgresql/data
name: test-db-volume
subPath: postgres
...