Hyppää sisältöön

Significant changes to Puhti & Mahti authentication coming in April! Read about the SSH key and multi-factor authentication requirements.

Lyhytaikainen tallennustila

Kun paikallista lyhytaikaista (väliaikaista) tallennustilaa tarvitaan, tulee käyttää emptyDir:ia. Se on solmulle paikallista, Rahdissa tämä on RAID-1 SSD-tallennustilaa. Sitä voidaan jakaa useiden konttien kesken samassa Podissa, ja se on Rahdin nopein käytettävissä oleva tiedostojärjestelmä, mutta se menetetään, kun Podi tapetaan tai käynnistetään uudelleen. Se määritetään suoraan Podin määritelmässä:

podWithEmptydDir.yaml:

apiVersion: v1
kind: Pod
metadata:
  name: my-app
  labels:
    app: my-application
spec:
  volumes:
  - name: volume-a
    emptyDir: {}
  containers:
  - name: container-a
    image: centos:7
    volumeMounts:
    - mountPath: /outputdata
      name: volume-a
  - name: container-b
    image: centos:7
    volumeMounts:
    - mountPath: /interm
      name: volume-a

emptyDir

Muistin käyttäminen tallennusalustana

emptyDir voidaan tehdä vielä nopeammaksi käyttämällä muistia tallennusalustana, ts. käyttämällä tmpfs:ää. Tämän lähestymistavan kaksi haittaa verrattuna tavanomaiseen emptyDir:iin on, että (1) muisti on jaettu kaikkien Podin prosessien kanssa, joten suurin mahdollinen koko on sama kuin Podin muistiraja, ja (2) jos emptyDir (yhdessä Podin prosessien kanssa) käyttää kaiken saatavilla olevan muistin, Podi tapetaan. Tämä voidaan luoda lisäämällä medium: Memory emptyDir-kohdan alle. On suositeltavaa asetettaa sizeLimit pienemmäksi kuin Podin muistiraja.

  • podWithEmptyDirMemory.yaml
apiVersion: v1
kind: Pod
metadata:
  name: test-pd
spec:
  containers:
  - image: busybox:stable
    name: test-container
    command: ['sh', '-c', 'while true; do sleep 50; done']
    volumeMounts:
    - mountPath: /cache
      name: cache-volume
    resources:
      limits:
        memory: 2Gi
  volumes:
  - name: cache-volume
    emptyDir:
      sizeLimit: 500Mi
      medium: Memory