Úložisko v Kubernetes
Aplikácie využívajú disky z rôznych príčin:
Stav aplikácie musí byť oddelený od procesu
Kubernetes "nevie" o diskovom priestore
https://docs.microsoft.com/en-us/azure/aks/concepts-storage
Kuberntes "obalí" úložisko do svojho objektu.
Prístup k zložke je:
https://kubernetes.io/docs/concepts/storage/persistent-volumes/#raw-block-volume-support,
Statické mapovanie.
PersistentVolume
vytvorí administrátor (kubectl apply
).Dynamické mapovanie.
PersistentVolumeClaim
.Afinita: Zväzok bude naviazaný na konkrétny uzol.
Potrebujeme:
Objekt ktorý patrí k aplikácii, vytvárame ho spolu s Deployment
alebo StatefulSet
PersistentVolume
Prístup k lokálnemu alebo distribuovanému súborovému systému
+------------+ Binding +--------------+
| Persistent |<--------| Persistent |
| Volume | | Volume Claim |
+------------+ +--------------+
Hardware Container
(podobné ako Deployment
)
Deklarujeme POD
y ktoré aplikácia potrebuje
Deklarujeme nároky aplikácie na zväzky
StatefulSet
je závislý na PersistentVolume
.
POD
pomocou ReplicaSet
PersistentVolume
pomocou PersistentVolumeClaim
Storage
+------------------+
| PersistentVolume | LoadBalancer
+------------------+
^ P.V.Claim ^
| |
+--------------+ Port +-----------+
| POD Template |------>| Service |
| ReplicaSet | +-----------+
| StatefulSet |
+--------------+
node
Najhoršia úloha je "uvoľniť" 2 TB disk plný rôznych dát