7,540
edits
Changes
→Volumes
=Volumes=
A volume a konténer számára egy kívülről felcsatolt fájl vagy mappa. A volume a POD születésekor jön létre, és a POD megszűnésével törlődik. A Kubernetes számtalan volume típust támogat: https://kubernetes.io/docs/concepts/storage/volumes/
A volume-ok pod szinten kell definiálni, és a definíciónak két része van. A POD .spec.volumes szekciójában kell definiálni a volume forrását (pl hostPath típus esetén a hostVM-en a source mappa/fájl/socket helyét), és a POD .spec.containers.volumeMounts szekciójában kell megadni a konténer számára a mount pontot.
A Kubernetes számtalan volume típust támogat, többek között:
* hostPath
* secret
* nfs
* awsElasticBlockStore
* azureDisk / azureFile
stb
'''Forrás definíciója:''' <br>
A volumes listában fel kell sorolni minden egyes volume-ont. A volume definíciója a névvel kezdődik (ezzel fogunk rá hivatkozni a mount pont megadásánál). Ezt követi a típus megadása.
<pre>
spec:
...
volumes:
- name: myFileMount
hostPath:
path: /hostVM/somefile
type: File
</pre>
spec:
containers:
- name: dockerxxx image: docker:17 ...11 command: ["sleep"] args: ["100000"]
volumeMounts:
- mountPath: /varhome/runmydirectory name: myFileMount</pre> {{note|A volume definiálása valamelyest eltér a dockerswarm megközelítéstől, bár a volume .sock.. . Docker stack fájlban is két részre osztható a volume definíciója. A stack fájlban globálisan definiálhatjuk a volume típusát és forrását, majd a swarm service definícióban adhatjuk meg a mount pontont, pont mint Kubernetes-ben. }} source types: * File* FileOrCreate* Directory* DirectoryOrCreate* Socket* CharDevice* BlockDevice <pre>apiVersion: v1kind: PersistentVolumemetadata: name: docker-socketnfsspec: volumescapacity: storage: 1Mi accessModes: - nameReadWriteMany nfs: docker-socket hostPathserver:nfs-server.default.svc.cluster.local path: "/var/run/docker.sock type: Socket"
</pre>