पॉड में अनबाउंड पर्सेन्टिव वूमलक्लाइम हैं


88

जब मैं किसी कारण से अपनी तैनाती को आगे बढ़ाता हूं, तो मुझे अपनी पॉड पर त्रुटि हो रही है:

पॉड में अनबाउंड पर्सेन्टिव वूमलक्लाइम हैं

यहाँ नीचे मेरे YAML हैं:

यह स्थानीय रूप से चल रहा है, किसी भी क्लाउड समाधान पर नहीं।

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  annotations:
    kompose.cmd: kompose convert
    kompose.version: 1.16.0 ()
  creationTimestamp: null
  labels:
    io.kompose.service: ckan
  name: ckan
spec:
  replicas: 1
  strategy: {}
  template:
    metadata:
      creationTimestamp: null
      labels:
        io.kompose.service: ckan
    spec:
      containers:
        image: slckan/docker_ckan
        name: ckan
        ports:
        - containerPort: 5000
        resources: {}
        volumeMounts:
            - name: ckan-home
              mountPath: /usr/lib/ckan/
              subPath: ckan
      volumes:
      - name: ckan-home
        persistentVolumeClaim:
          claimName: ckan-pv-home-claim
      restartPolicy: Always
status: {}

kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: ckan-pv-home-claim
  labels:
    io.kompose.service: ckan
spec:
  storageClassName: ckan-home-sc
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 100Mi
  volumeMode: Filesystem
---
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
  name: ckan-home-sc
provisioner: kubernetes.io/no-provisioner
mountOptions:
  - dir_mode=0755
  - file_mode=0755
  - uid=1000
  - gid=1000

जवाबों:


90

आप एक निर्धारित करने की PersistentVolume प्रदान डिस्क स्थान से भस्म किया जाना PersistentVolumeClaim

storageClassकुबेरनेट का उपयोग करते समय "डायनेमिक वॉल्यूम प्रोविजनिंग" को सक्षम करने जा रहा है जो स्थानीय फ़ाइल सिस्टम के साथ काम नहीं कर रहा है।


अपनी समस्या को हल करने के लिए:

  • दावे की बाधाओं को पूरा करने वाला एक PersistentVolume प्रदान करें (एक आकार> = 100Mi)
  • PersistentVolumeClaimstorageClass से -line निकालें
  • StorageClass को अपने क्लस्टर से निकालें

ये टुकड़े एक साथ कैसे खेलते हैं?

परिनियोजन स्थिति-वर्णन के निर्माण के समय यह आमतौर पर ज्ञात होता है कि किस प्रकार के भंडारण की मात्रा (गति, गति ...) की आवश्यकता होगी।
परिनियोजन को बहुमुखी बनाने के लिए आप संग्रहण पर निर्भरता से बचना चाहेंगे। कुबेरनेट्स वॉल्यूम-एब्स्ट्रेक्शन आपको एक मानकीकृत तरीके से भंडारण प्रदान करने और उपभोग करने की अनुमति देता है।

PersistentVolumeClaim एक आवेदन की तैनाती के साथ-साथ एक भंडारण-बाधा प्रदान करने के लिए प्रयोग किया जाता है।

PersistentVolume प्रस्तावों क्लस्टर चौड़ा मात्रा उदाहरणों का सेवन किया जा करने के लिए तैयार ( " bound")। एक PersistentVolume एक दावे के लिए बाध्य होगा । लेकिन चूंकि उस दावे के कई उदाहरण कई नोड्स पर चलाए जा सकते हैं, इसलिए उस वॉल्यूम को कई नोड्स द्वारा एक्सेस किया जा सकता है।

StorageClass के बिना एक PersistentVolume को स्थिर माना जाता है ।

"गतिशील माप प्रोविजनिंग" के साथ साथ एक StorageClass मांग पर प्रावधान PersistentVolumes को क्लस्टर अनुमति देता है। उस काम को करने के लिए, दिए गए स्टोरेज प्रोवाइडर को प्रोविजनिंग का समर्थन करना चाहिए- यह क्लस्टर को एक "नए" पर्सनवैल्यूम की प्रोविजनिंग के लिए अनुरोध करने की अनुमति देता है,जब कोई असंतुष्ट पर्सनवैल्यूम क्लीम पॉप अप करता है।


उदाहरण PersistentVolume

अपने कुबेरनेट्स संस्करण के लिए एपीआई पर एक नज़र डालने के लिए आपको सबसे अच्छी सलाह देने वाली चीज़ों का पता लगाने के लिए , इसलिए निम्न उदाहरण K8S 1.17 के एपीआई-संदर्भ से निर्मित है :

apiVersion: v1
kind: PersistentVolume
metadata:
  name: ckan-pv-home
  labels:
    type: local
spec:
  capacity:
    storage: 100Mi
  hostPath:
    path: "/mnt/data/ckan"

PersistentVolumeSpec हमें अनेक विशेषताएं परिभाषित करने के लिए अनुमति देता है। मैंने एक hostPathवॉल्यूम चुना जो वॉल्यूम के लिए सामग्री के रूप में स्थानीय निर्देशिका को मैप करता है। क्षमता संसाधन अनुसूचक को संसाधन की आवश्यकताओं के संदर्भ में इस वॉल्यूम को पहचानने की अनुमति देती है।


अतिरिक्त संसाधन:


3
आप StorageClass को नहीं हटा सकते हैं, यह स्टोरेज क्लास के नाम के खाली स्ट्रिंग की जगह, StorageClass की तरह पर्याप्त है: ""
mrvol

PersistentVolume को कैसे परिभाषित किया जाना चाहिए?
विक्टर ज़ुआनाज़ी

1
@VictorZuanazzi अच्छा सवाल - ऐसा लगता है कि डॉक्स थोड़े बदले हुए हैं, मैंने एक उदाहरण जोड़ा। एपीआई में खुदाई शुरू में बहुत कठिन है। Fortunatley में अक्सर एपीआई-डॉक्स से गाइड और इसके विपरीत क्रॉस-रेफरेंस होते हैं। मुझे उम्मीद है कि यह आपको आगे बढ़ने में मदद करेगा।
फ्लोरियन न्यूमैन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.