ΠΠΌΠ° Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π½Π°ΡΠΈΠ½Π° Π·Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° Π΄Π°Π½Π½ΠΈ Π·Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΠ°Π±ΠΎΡΠ΅ΡΠΈ Π½Π° Kubernetes ΠΊΠ»ΡΡΡΠ΅Ρ. ΠΡΠΊΠΎΠΈ ΠΎΡ ΡΡΡ Π²Π΅ΡΠ΅ ΡΠ° ΠΎΡΡΠ°ΡΠ΅Π»ΠΈ, Π΄ΡΡΠ³ΠΈ ΡΠ΅ ΠΏΠΎΡΠ²ΠΈΡ Π° ΡΡΠ²ΡΠ΅ΠΌ Π½Π°ΡΠΊΠΎΡΠΎ. Π ΡΠ°Π·ΠΈ ΡΡΠ°ΡΠΈΡ ΡΠ΅ ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡΡΠ° Π·Π° ΡΡΠΈ ΠΎΠΏΡΠΈΠΈ Π·Π° ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ Π½Π°ΠΉ-Π½ΠΎΠ²Π°ΡΠ° - ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ ΡΡΠ΅Π· ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ.
ΠΠ΅ΡΠΎΠ΄ 1: ΠΠΎΡΠΎΡΠ΅ΡΠ΅ PV Π² ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠ° Π½Π° pod
Π’ΠΈΠΏΠΈΡΠ΅Π½ ΠΌΠ°Π½ΠΈΡΠ΅ΡΡ, ΠΎΠΏΠΈΡΠ²Π°Ρ ΠΏΠΎΠ΄ Π² ΠΊΠ»ΡΡΡΠ΅Ρ Π½Π° Kubernetes:
Π§Π°ΡΡΠΈΡΠ΅ ΠΎΡ ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠ°, ΠΊΠΎΠΈΡΠΎ ΠΎΠΏΠΈΡΠ²Π°Ρ ΠΊΠΎΠΉ ΡΠΎΠΌ Π΅ ΡΠ²ΡΡΠ·Π°Π½ ΠΈ ΠΊΡΠ΄Π΅, ΡΠ° ΠΌΠ°ΡΠΊΠΈΡΠ°Π½ΠΈ Ρ ΡΠ²ΡΡ.
Π ΡΠ°Π·Π΄Π΅Π» volumeMounts ΠΏΠΎΡΠΎΡΠ΅ΡΠ΅ ΡΠΎΡΠΊΠΈΡΠ΅ Π½Π° ΠΌΠΎΠ½ΡΠΈΡΠ°Π½Π΅ (mountPath) - Π² ΠΊΠΎΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Π²ΡΡΡΠ΅ Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° ΡΠ΅ Π±ΡΠ΄Π΅ ΠΌΠΎΠ½ΡΠΈΡΠ°Π½ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΈΡΡ ΡΠΎΠΌ, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΠΈΠΌΠ΅ΡΠΎ Π½Π° ΡΠΎΠΌΠ°.
Π ΡΠ°Π·Π΄Π΅Π» x ΠΈΠ·Π±ΡΠΎΡΠ²Π° Π²ΡΠΈΡΠΊΠΈ ΡΠΎΠΌΠΎΠ²Π΅, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π² ΠΏΠΎΠ΄. ΠΠΎΡΠΎΡΠ΅ΡΠ΅ ΠΈΠΌΠ΅ΡΠΎ Π½Π° Π²ΡΠ΅ΠΊΠΈ ΡΠΎΠΌ, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΡΠΈΠΏΠ° (Π² Π½Π°ΡΠΈΡ ΡΠ»ΡΡΠ°ΠΉ: awsElasticBlockStore) ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ Π½Π° Π²ΡΡΠ·ΠΊΠ°ΡΠ°. ΠΠΎΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ ΡΠ° ΠΈΠ·Π±ΡΠΎΠ΅Π½ΠΈ Π² ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠ° Π·Π°Π²ΠΈΡΠΈ ΠΎΡ ΡΠΈΠΏΠ° ΡΠΎΠΌ.
ΠΠ΄ΠΈΠ½ ΠΈ ΡΡΡ ΠΎΠ±Π΅ΠΌ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΌΠΎΠ½ΡΠΈΡΠ° Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π² ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ Π·Π° ΠΊΠ°ΠΏΡΡΠ»ΠΈ. ΠΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΈΠΌΠ°Ρ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ Π΅Π΄Π½ΠΈ ΠΈ ΡΡΡΠΈ Π΄Π°Π½Π½ΠΈ.
Π’ΠΎΠ·ΠΈ ΠΌΠ΅ΡΠΎΠ΄ Π½Π° ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ Π΅ ΠΈΠ·ΠΎΠ±ΡΠ΅ΡΠ΅Π½ Π² ΡΠ°ΠΌΠΎΡΠΎ Π½Π°ΡΠ°Π»ΠΎ, ΠΊΠΎΠ³Π°ΡΠΎ Kubernetes Π±Π΅ΡΠ΅ ΡΠ°ΠΌΠΎ Π² Π½Π°ΡΠ°Π»Π΅Π½ ΡΡΠ°Π΄ΠΈΠΉ, Π° Π΄Π½Π΅Ρ ΠΌΠ΅ΡΠΎΠ΄ΡΡ Π΅ ΠΎΡΡΠ°ΡΡΠ».
ΠΠΌΠ° Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΏΡΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ ΠΌΡ:
- Π²ΡΠΈΡΠΊΠΈ ΡΠΎΠΌΠΎΠ²Π΅ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π°Ρ ΡΡΠ·Π΄Π°Π΄Π΅Π½ΠΈ ΡΡΡΠ½ΠΎ; Kubernetes Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ Π½ΠΈΡΠΎ Π·Π° Π½Π°Ρ;
- ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ Π·Π° Π΄ΠΎΡΡΡΠΏ Π·Π° Π²ΡΠ΅ΠΊΠΈ ΡΠΎΠΌ ΡΠ° ΡΠ½ΠΈΠΊΠ°Π»Π½ΠΈ ΠΈ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π°Ρ ΠΏΠΎΡΠΎΡΠ΅Π½ΠΈ Π² ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠΈΡΠ΅ Π½Π° Π²ΡΠΈΡΠΊΠΈ ΠΏΠΎΠ΄ΠΎΠ²Π΅, ΠΊΠΎΠΈΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΡΠΎΠΌΠ°;
- Π·Π° Π΄Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π΄Π° ΠΏΡΠ΅ΠΌΠΈΠ½Π΅ΡΠ΅ ΠΎΡ AWS ΠΊΡΠΌ Google Cloud), ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈΡΠ΅ ΠΈ ΡΠΈΠΏΠ° Π½Π° ΠΌΠΎΠ½ΡΠΈΡΠ°Π½ΠΈΡΠ΅ ΡΠΎΠΌΠΎΠ²Π΅ Π²ΡΠ² Π²ΡΠΈΡΠΊΠΈ ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠΈ.
ΠΡΠΈΡΠΊΠΎ ΡΠΎΠ²Π° Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π½Π΅ΡΠ΄ΠΎΠ±Π½ΠΎ, ΡΠ°ΠΊΠ° ΡΠ΅ Π² Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»Π½ΠΎΡΡ ΡΠΎΠ·ΠΈ ΠΌΠ΅ΡΠΎΠ΄ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ ΡΠ°ΠΌΠΎ Π½Π° Π½ΡΠΊΠΎΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΈ ΡΠΈΠΏΠΎΠ²Π΅ ΡΠΎΠΌΠΎΠ²Π΅: configMap, secret, emptyDir, hostPath:
-
configMap ΠΈ secret ΡΠ° ΡΠ΅ΡΠ²ΠΈΠ·Π½ΠΈ ΡΠΎΠΌΠΎΠ²Π΅, ΠΊΠΎΠΈΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ΡΠ΅ ΡΠΎΠΌ Ρ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΎΡ ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠΈΡΠ΅ Π½Π° Kubernetes Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°.
-
emptyDir Π΅ Π²ΡΠ΅ΠΌΠ΅Π½Π΅Π½ ΡΠΎΠΌ, ΡΡΠ·Π΄Π°Π΄Π΅Π½ ΡΠ°ΠΌΠΎ Π·Π° ΠΆΠΈΠ²ΠΎΡΠ° Π½Π° Π³ΡΡΠΏΠ°ΡΠ°. Π£Π΄ΠΎΠ±Π΅Π½ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π·Π° ΡΠ΅ΡΡΠ²Π°Π½Π΅ ΠΈΠ»ΠΈ ΡΡΡ ΡΠ°Π½ΡΠ²Π°Π½Π΅ Π½Π° Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΈ Π΄Π°Π½Π½ΠΈ. ΠΠΎΠ³Π°ΡΠΎ ΠΏΠΎΠ΄ ΡΠ΅ ΠΈΠ·ΡΡΠΈΠ΅, ΡΠΎΠΌΡΡ ΠΏΡΠ°Π·Π΅Π½ΠΠΈΡ ΡΡΡΠΎ ΡΠ΅ ΠΈΠ·ΡΡΠΈΠ²Π° ΠΈ Π²ΡΠΈΡΠΊΠΈ Π΄Π°Π½Π½ΠΈ ΡΠ΅ Π³ΡΠ±ΡΡ.
-
hostPath - ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π²ΠΈ Π΄Π° ΠΌΠΎΠ½ΡΠΈΡΠ°ΡΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Π½Π° Π»ΠΎΠΊΠ°Π»Π½ΠΈΡ Π΄ΠΈΡΠΊ Π½Π° ΡΡΡΠ²ΡΡΠ°, Π½Π° ΠΊΠΎΠΉΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΡΠ°Π±ΠΎΡΠΈ Π²ΡΡΡΠ΅ Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ /etc/kubernetes. Π’ΠΎΠ²Π° Π½Π΅ Π΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½Π° ΡΡΠ½ΠΊΡΠΈΡ, ΡΠ°ΠΊΠ° ΡΠ΅ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈΡΠ΅ Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ Π·Π°Π±ΡΠ°Π½ΡΠ²Π°Ρ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠΎΠΌΠΎΠ²Π΅ ΠΎΡ ΡΠΎΠ·ΠΈ ΡΠΈΠΏ. Π ΠΏΡΠΎΡΠΈΠ²Π΅Π½ ΡΠ»ΡΡΠ°ΠΉ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Π°ΡΠ°ΠΊΡΠ²Π°ΡΠΈΡ ΡΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΌΠΎΠ½ΡΠΈΡΠ° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΡΠ° Π½Π° HTC Kubernetes Π² Π½Π΅ΠΉΠ½ΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΠΈ Π΄Π° ΠΎΡΠΊΡΠ°Π΄Π½Π΅ Π²ΡΠΈΡΠΊΠΈ ΠΊΠ»ΡΡΡΠ΅ΡΠ½ΠΈ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈ. ΠΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΠΎΠ±Π΅ΠΌΠΈΡΠ΅ Π½Π° hostPath ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΡΠ°ΠΌΠΎ ΠΎΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Ρ Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎΡΠΎ Π½Π° ΠΈΠΌΠ΅Π½Π°ΡΠ° Π½Π° kube-system.
ΠΠ΅ΡΠΎΠ΄ 2. Π‘Π²ΡΡΠ·Π²Π°Π½Π΅ ΠΊΡΠΌ SC/PVC/PV ΠΎΠ³Π½ΠΈΡΠ°
ΠΠ»ΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π΅Π½ ΠΌΠ΅ΡΠΎΠ΄ Π½Π° ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ Π΅ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡΡΠ° Π·Π° ΠΊΠ»Π°Ρ ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅, PersistentVolumeClaim, PersistentVolume.
ΠΠ»Π°Ρ Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ Π½Π° Π²ΡΡΠ·ΠΊΠ°ΡΠ° ΠΊΡΠΌ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° Π΄Π°Π½Π½ΠΈ.
PersistentVolumeClaim ΠΎΠΏΠΈΡΠ²Π° ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½ΠΈΡΡΠ° Π·Π° ΡΠΎΠ²Π°, ΠΎΡ ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ Π½ΡΠΆΠ΄Π°Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ.
ΠΠΎΡΡΠΎΡΠ½Π΅Π½ ΠΎΠ±Π΅ΠΌ ΡΡΡ
ΡΠ°Π½ΡΠ²Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ Π·Π° Π΄ΠΎΡΡΡΠΏ ΠΈ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ Π½Π° ΡΠΎΠΌΠ°.
Π‘ΡΡΠ½ΠΎΡΡΡΠ° Π½Π° ΠΈΠ΄Π΅ΡΡΠ°: Π² ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠ° Π½Π° pod ΡΠ΅ ΠΏΠΎΡΠΎΡΠ²Π°Ρ ΠΎΠ±Π΅ΠΌ ΠΎΡ ΡΠΈΠΏ PersistentVolumeClaim ΠΈ ΠΏΠΎΡΠΎΡΠ²Π°Ρ ΠΈΠΌΠ΅ΡΠΎ Π½Π° ΡΠΎΠ·ΠΈ ΠΎΠ±Π΅ΠΊΡ Π² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡΠ° Π½Π° claimName.
ΠΠ°Π½ΠΈΡΠ΅ΡΡΡΡ PersistentVolumeClaim ΠΎΠΏΠΈΡΠ²Π° ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½ΠΈΡΡΠ° Π·Π° ΠΎΠ±Π΅ΠΌΠ° Π΄Π°Π½Π½ΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΠΈΠ·ΠΈΡΠΊΠ²Π°. ΠΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ:
- ΡΠ°Π·ΠΌΠ΅Ρ Π½Π° Π΄ΠΈΡΠΊΠ°;
- ΠΌΠ΅ΡΠΎΠ΄ Π·Π° Π΄ΠΎΡΡΡΠΏ: ReadWriteOnce ΠΈΠ»ΠΈ ReadWriteMany;
- Π²ΡΡΠ·ΠΊΠ° ΠΊΡΠΌ Storage class - Π² ΠΊΠΎΡ ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΈΡΠΊΠ°ΠΌΠ΅ Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ΠΌ ΡΠΎΠΌΠ°.
ΠΠ°Π½ΠΈΡΠ΅ΡΡΡΡ Π½Π° ΠΊΠ»Π°ΡΠ° Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π° ΡΠΈΠΏΠ° ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ Π½Π° Π²ΡΡΠ·ΠΊΠ°ΡΠ° ΠΊΡΠΌ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅. Cubelet ΡΠ΅ Π½ΡΠΆΠ΄Π°Π΅ ΠΎΡ ΡΡΡ , Π·Π° Π΄Π° ΠΌΠΎΠ½ΡΠΈΡΠ° ΠΎΠ±Π΅ΠΌΠ° Π½Π° ΡΠ²ΠΎΡ Π²ΡΠ·Π΅Π».
ΠΠ°Π½ΠΈΡΠ΅ΡΡΠΈΡΠ΅ Π½Π° PersistentVolume ΠΏΠΎΠΊΠ°Π·Π²Π°Ρ ΠΊΠ»Π°ΡΠ° Storage ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ Π·Π° Π΄ΠΎΡΡΡΠΏ Π·Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ΅Π½ ΡΠΎΠΌ (ΠΠ Π½Π° ΡΠΎΠΌ, ΠΏΡΡ ΠΈ Ρ.Π½.).
ΠΠΎΠ³Π°ΡΠΎ ΡΡΠ·Π΄Π°Π²Π° PVC, Kubernetes ΡΠ°Π·Π³Π»Π΅ΠΆΠ΄Π° ΠΎΠ±Π΅ΠΌΠ° Ρ ΠΊΠ°ΠΊΡΠ² ΡΠ°Π·ΠΌΠ΅Ρ ΠΈ ΠΊΠ°ΠΊΡΠ² ΠΊΠ»Π°Ρ Π½Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΡΠ΅ ΠΈΠ·ΠΈΡΠΊΠ²Π° ΠΈ ΠΈΠ·Π±ΠΈΡΠ° Π±Π΅Π·ΠΏΠ»Π°ΡΠ΅Π½ PersistentVolume.
ΠΠΊΠΎ ΡΠ°ΠΊΠΈΠ²Π° PV Π½Π΅ ΡΠ° Π½Π°Π»ΠΈΡΠ½ΠΈ, Kubernetes ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΡΠ°ΡΡΠΈΡΠ° ΡΠΏΠ΅ΡΠΈΠ°Π»Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° - Provisioner (ΠΈΠΌΠ΅ΡΠΎ ΠΉ Π΅ ΠΏΠΎΡΠΎΡΠ΅Π½ΠΎ Π² ΠΊΠ»Π°ΡΠ° Storage). Π’Π°Π·ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° ΡΠ΅ ΡΠ²ΡΡΠ·Π²Π° ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅, ΡΡΠ·Π΄Π°Π²Π° ΠΎΠ±Π΅ΠΌ Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈΡ ΡΠ°Π·ΠΌΠ΅Ρ, ΠΏΠΎΠ»ΡΡΠ°Π²Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΈ ΡΡΠ·Π΄Π°Π²Π° ΠΌΠ°Π½ΠΈΡΠ΅ΡΡ Π½Π° PersistentVolume Π² ΠΊΠ»ΡΡΡΠ΅ΡΠ° Kubernetes, ΠΊΠΎΠΉΡΠΎ Π΅ ΡΠ²ΡΡΠ·Π°Π½ Ρ PersistentVolumeClaim.
Π¦ΡΠ»ΠΎΡΠΎ ΡΠΎΠ²Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΠΈ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΏΡΠ΅ΠΌΠ°Ρ Π½Π΅ΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΡΠΎΠ²Π° Ρ ΠΊΠΎΡ ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΠΎΡ Π½ΠΈΠ²ΠΎ ΠΌΠ°Π½ΠΈΡΠ΅ΡΡ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π΄ΠΎ Π½ΠΈΠ²ΠΎ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΈΡ.
ΠΡΠΈΡΠΊΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ Π·Π° ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ ΠΊΡΠΌ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΡΠ΅ Π½Π°ΠΌΠΈΡΠ°Ρ Π² ΠΊΠ»Π°Ρ Storage, Π·Π° ΠΊΠΎΠΉΡΠΎ ΠΎΡΠ³ΠΎΠ²Π°ΡΡΡ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈΡΠ΅ Π½Π° ΠΊΠ»ΡΡΡΠ΅ΡΠ°. ΠΡΠΈΡΠΊΠΎ, ΠΊΠΎΠ΅ΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅, ΠΊΠΎΠ³Π°ΡΠΎ ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π°ΡΠ΅ ΠΎΡ AWS ΠΊΡΠΌ Google Cloud, Π΅ Π΄Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ ΠΈΠΌΠ΅ΡΠΎ Π½Π° ΠΊΠ»Π°ΡΠ° Storage Π½Π° PVC Π² ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠΈΡΠ΅ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ. ΠΠΎΡΡΠΎΡΠ½Π½ΠΈΡΡ ΡΠΎΠΌ Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΡΠ΅ Π±ΡΠ΄Π΅ ΡΡΠ·Π΄Π°Π΄Π΅Π½ Π² ΠΊΠ»ΡΡΡΠ΅ΡΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ° Provisioner.
ΠΠ΅ΡΠΎΠ΄ 3: ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ
Π¦Π΅Π»ΠΈΡΡ ΠΊΠΎΠ΄, ΠΊΠΎΠΉΡΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²Π° Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅, Π΅ ΡΠ°ΡΡ ΠΎΡ ΡΠ΄ΡΠΎΡΠΎ Π½Π° Kubernetes. ΠΡΡΠΊΠ°Π½Π΅ΡΠΎ Π½Π° ΠΊΠΎΡΠ΅ΠΊΡΠΈΠΈ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ ΠΈΠ»ΠΈ Π½ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ Π΅ ΡΠ²ΡΡΠ·Π°Π½ΠΎ Ρ Π½ΠΎΠ²ΠΈΡΠ΅ Π²Π΅ΡΡΠΈΠΈ; ΠΊΠΎΠ΄ΡΡ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π΅ ΠΏΡΠΎΠΌΠ΅Π½Π΅Π½ Π·Π° Π²ΡΠΈΡΠΊΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½ΠΈ Π²Π΅ΡΡΠΈΠΈ Π½Π° Kubernetes. ΠΡΠΈΡΠΊΠΎ ΡΠΎΠ²Π° Π΅ ΡΡΡΠ΄Π½ΠΎ Π·Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° ΠΈ Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° Π½ΠΎΠ²ΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΠΈ.
ΠΠ° Π΄Π° ΡΠ΅ΡΠ°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ ΠΎΡ Cloud Foundry, Kubernetes, Mesos ΠΈ Docker ΡΡΠ·Π΄Π°Π΄ΠΎΡ Π° Container Storage Interface (CSI) - ΠΏΡΠΎΡΡ ΡΠ½ΠΈΡΠΈΡΠΈΡΠ°Π½ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, ΠΊΠΎΠΉΡΠΎ ΠΎΠΏΠΈΡΠ²Π° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ΡΠΎ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ ΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»Π΅Π½ Π΄ΡΠ°ΠΉΠ²Π΅Ρ (CSI Driver), ΠΊΠΎΠΉΡΠΎ ΡΠ°Π±ΠΎΡΠΈ ΡΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅Π½ ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅. Π¦Π΅Π»ΠΈΡΡ ΠΊΠΎΠ΄ Π·Π° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠΈΡΠ΅ Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π±Π΅ΡΠ΅ ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ΅Π½ ΠΎΡ ΡΠ΄ΡΠΎΡΠΎ Π½Π° Kubernetes Π² ΠΎΡΠ΄Π΅Π»Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°.
ΠΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ CSI Driver ΡΠ΅ ΡΡΡΡΠΎΠΈ ΠΎΡ Π΄Π²Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°: Node Plugin ΠΈ Controller plugin.
Node Plugin ΡΠ°Π±ΠΎΡΠΈ Π½Π° Π²ΡΠ΅ΠΊΠΈ Π²ΡΠ·Π΅Π» ΠΈ ΠΎΡΠ³ΠΎΠ²Π°ΡΡ Π·Π° ΠΌΠΎΠ½ΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΠΎΠΌΠΎΠ²Π΅ ΠΈ ΠΈΠ·Π²ΡΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π²ΡΡΡ Ρ ΡΡΡ . ΠΡΠΈΡΡΠ°Π²ΠΊΠ°ΡΠ° Controller Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²Π° ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅: ΡΡΠ·Π΄Π°Π²Π° ΠΈΠ»ΠΈ ΠΈΠ·ΡΡΠΈΠ²Π° ΡΠΎΠΌΠΎΠ²Π΅, ΠΏΡΠΈΡΠ²ΠΎΡΠ²Π° ΠΏΡΠ°Π²Π° Π·Π° Π΄ΠΎΡΡΡΠΏ ΠΈ Ρ.Π½.
ΠΠ°ΡΠ΅Π³Π° ΡΡΠ°ΡΠΈΡΠ΅ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ ΠΎΡΡΠ°Π²Π°Ρ Π² ΡΠ΄ΡΠΎΡΠΎ Π½Π° Kubernetes, Π½ΠΎ Π²Π΅ΡΠ΅ Π½Π΅ ΡΠ΅ ΠΏΡΠ΅ΠΏΠΎΡΡΡΠ²Π° Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΈ ΡΠ΅ ΠΏΡΠ΅ΠΏΠΎΡΡΡΠ²Π° Π²ΡΠ΅ΠΊΠΈ Π΄Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ° CSI Driver ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΎ Π·Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°, Ρ ΠΊΠΎΡΡΠΎ ΡΠ΅ ΡΠ°Π±ΠΎΡΠΈ.
ΠΠ½ΠΎΠ²Π°ΡΠΈΡΡΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·ΠΏΠ»Π°ΡΠΈ ΠΎΠ½Π΅Π·ΠΈ, ΠΊΠΎΠΈΡΠΎ Π²Π΅ΡΠ΅ ΡΠ° ΡΠ²ΠΈΠΊΠ½Π°Π»ΠΈ Π΄Π° Π½Π°ΡΡΡΠΎΠΉΠ²Π°Ρ ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Π΄Π°Π½Π½ΠΈ ΡΡΠ΅Π· ΠΊΠ»Π°ΡΠ° Storage, Π½ΠΎ Π²ΡΡΡΠ½ΠΎΡΡ Π½ΠΈΡΠΎ ΡΠΆΠ°ΡΠ½ΠΎ Π½Π΅ ΡΠ΅ Π΅ ΡΠ»ΡΡΠΈΠ»ΠΎ. ΠΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΡΠΈΡΠ΅ Π²ΡΡΡΠ½ΠΎΡΡ Π½ΠΈΡΠΎ Π½Π΅ ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½Ρ - ΡΠ΅ ΡΠ° ΡΠ°Π±ΠΎΡΠΈΠ»ΠΈ ΡΠ°ΠΌΠΎ Ρ ΠΈΠΌΠ΅ΡΠΎ Storage class ΠΈ ΡΠ΅ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ°Ρ Π΄Π° Π³ΠΎ ΠΏΡΠ°Π²ΡΡ. ΠΠ° Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈΡΠ΅ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΡ Π½Π° helm chart ΠΈ Π΅ ΠΏΡΠΎΠΌΠ΅Π½Π΅Π½Π° ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° Π½Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠΈΡΠ΅. ΠΠΊΠΎ ΠΏΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠΈΡΠ΅ Π±ΡΡ Π° Π²ΡΠ²Π΅Π΄Π΅Π½ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ Π² ΠΊΠ»Π°ΡΠ° Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅, ΡΠ΅Π³Π° ΡΠ΅ ΡΡΡΠ±Π²Π° ΠΏΡΡΠ²ΠΎ Π΄Π° Π±ΡΠ΄Π°Ρ Π·Π°Π΄Π°Π΄Π΅Π½ΠΈ Π² Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠ°ΡΠ° Π½Π° ΠΊΠΎΡΠΌΠΈΠ»ΠΎΡΠΎ, Π° ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° Π² ΠΊΠ»Π°ΡΠ° Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅. ΠΠΊΠΎ Π³ΠΎ ΡΠ°Π·Π³Π»Π΅Π΄Π°ΡΠ΅, Π½ΠΈΡΠΎ Π»ΠΎΡΠΎ Π½Π΅ ΡΠ΅ Π΅ ΡΠ»ΡΡΠΈΠ»ΠΎ.
ΠΠ΅ΠΊΠ° Π²Π·Π΅ΠΌΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π° Π΄Π° ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΏΠΎΠ»Π·ΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΡΠ΅, ΠΊΠ°ΡΠΎ ΠΏΡΠ΅ΠΌΠΈΠ½Π΅ΡΠ΅ ΠΊΡΠΌ ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ Π½Π° Ceph ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° CSI Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°.
ΠΠΎΠ³Π°ΡΠΎ ΡΠ°Π±ΠΎΡΠΈΡΠ΅ Ρ Ceph, ΠΏΠ»ΡΠ³ΠΈΠ½ΡΡ CSI ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΠΏΠΎΠ²Π΅ΡΠ΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π·Π° ΡΠ°Π±ΠΎΡΠ° ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅, ΠΎΡΠΊΠΎΠ»ΠΊΠΎΡΠΎ Π²Π³ΡΠ°Π΄Π΅Π½ΠΈΡΠ΅ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ.
- Π‘ΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅Π½ Π΄ΠΈΡΠΊ. ΠΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ RBD Π΄ΠΈΡΠΊΠΎΠ²Π΅ΡΠ΅ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΡΠ°ΠΌΠΎ Π² ΡΠ΅ΠΆΠΈΠΌ RWO, Π½ΠΎ CSI Π·Π° Ceph ΠΈΠΌ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π² ΡΠ΅ΠΆΠΈΠΌ RWX. ΠΡΠΊΠΎΠ»ΠΊΠΎ ΠΏΠΎΠ΄ΠΎΠ²Π΅ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π²ΡΠ·Π»ΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΌΠΎΠ½ΡΠΈΡΠ°Ρ Π΅Π΄ΠΈΠ½ ΠΈ ΡΡΡ RDB Π΄ΠΈΡΠΊ Π½Π° ΡΠ²ΠΎΠΈΡΠ΅ Π²ΡΠ·Π»ΠΈ ΠΈ Π΄Π° ΡΠ°Π±ΠΎΡΡΡ Ρ ΡΡΡ ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΎ. Π§Π΅ΡΡΠ½ΠΎ ΠΊΠ°Π·Π°Π½ΠΎ, Π½Π΅ Π²ΡΠΈΡΠΊΠΎ Π΅ ΡΠΎΠ»ΠΊΠΎΠ²Π° ΡΡΠΊΠΎ - ΡΠΎΠ·ΠΈ Π΄ΠΈΡΠΊ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΡΠ²ΡΡΠ·Π°Π½ ΡΠ°ΠΌΠΎ ΠΊΠ°ΡΠΎ Π±Π»ΠΎΠΊΠΎΠ²ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ, ΠΊΠΎΠ΅ΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π²Π°, ΡΠ΅ ΡΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° Π°Π΄Π°ΠΏΡΠΈΡΠ°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ, Π·Π° Π΄Π° ΡΠ°Π±ΠΎΡΠΈ Ρ Π½Π΅Π³ΠΎ Π² ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½ Π΄ΠΎΡΡΡΠΏ.
- Π‘ΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΌΠΎΠΌΠ΅Π½ΡΠ½ΠΈ ΡΠ½ΠΈΠΌΠΊΠΈ. Π ΠΊΠ»ΡΡΡΠ΅Ρ Π½Π° Kubernetes ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ΡΠ΅ ΠΌΠ°Π½ΠΈΡΠ΅ΡΡ Ρ ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½Π΅ Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΌΠΎΠΌΠ΅Π½ΡΠ½Π° ΡΠ½ΠΈΠΌΠΊΠ°. CSI ΠΏΠ»ΡΠ³ΠΈΠ½ΡΡ ΡΠ΅ Π³ΠΎ Π²ΠΈΠ΄ΠΈ ΠΈ ΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΈ ΠΌΠΎΠΌΠ΅Π½ΡΠ½Π° ΡΠ½ΠΈΠΌΠΊΠ° ΠΎΡ Π΄ΠΈΡΠΊΠ°. ΠΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° Π½Π΅Π³ΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎ ΠΊΠΎΠΏΠΈΠ΅ ΠΈΠ»ΠΈ ΠΊΠΎΠΏΠΈΠ΅ Π½Π° PersistentVolume.
- Π£Π²Π΅Π»ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π° Π΄ΠΈΡΠΊΠ° Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΈ PersistentVolume Π² ΠΊΠ»ΡΡΡΠ΅Ρ Π½Π° Kubernetes.
- ΠΠ²ΠΎΡΠΈ. ΠΡΠ°ΠΉΠ²Π΅ΡΠΈΡΠ΅ CephFS, Π²Π³ΡΠ°Π΄Π΅Π½ΠΈ Π² Kubernetes, Π½Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ ΠΊΠ²ΠΎΡΠΈ, Π½ΠΎ Π½ΠΎΠ²ΠΈΡΠ΅ CSI ΠΏΠ»ΡΠ³ΠΈΠ½ΠΈ Ρ Π½Π°ΠΉ-Π½ΠΎΠ²ΠΈΡ Ceph Nautilus ΠΌΠΎΠ³Π°Ρ Π΄Π° Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Ρ ΠΊΠ²ΠΎΡΠΈ Π½Π° CephFS Π΄ΡΠ»ΠΎΠ²Π΅.
- ΠΠ΅ΡΡΠΈΠΊΠ°. CSI ΠΏΠ»ΡΠ³ΠΈΠ½ΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈ Π½Π° Prometheus ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ Π·Π° ΡΠΎΠ²Π° ΠΊΠΎΠΈ ΡΠΎΠΌΠΎΠ²Π΅ ΡΠ° ΡΠ²ΡΡΠ·Π°Π½ΠΈ, ΠΊΠ°ΠΊΠ²ΠΈ ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΠΈ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π°Ρ ΠΈ Ρ.Π½.
- ΠΠΎΠ·Π½Π°Π²Π°Π½Π΅ Π½Π° ΡΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΡΡΠ°. ΠΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π²ΠΈ Π΄Π° ΠΏΠΎΡΠΎΡΠΈΡΠ΅ Π² ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠΈΡΠ΅ ΠΊΠ°ΠΊ ΠΊΠ»ΡΡΡΠ΅ΡΡΡ Π΅ Π³Π΅ΠΎΠ³ΡΠ°ΡΡΠΊΠΈ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΠΈ Π΄Π° ΠΈΠ·Π±ΡΠ³Π²Π°ΡΠ΅ ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅, ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π° Π² ΠΠΌΡΡΠ΅ΡΠ΄Π°ΠΌ, Ρ ΠΏΠΎΠ΄ΠΎΠ²Π΅, ΡΠ°Π±ΠΎΡΠ΅ΡΠΈ Π² ΠΠΎΠ½Π΄ΠΎΠ½.
ΠΠ°ΠΊ Π΄Π° ΡΠ²ΡΡΠΆΠ΅ΡΠ΅ Ceph ΠΊΡΠΌ ΠΊΠ»ΡΡΡΠ΅Ρ Π½Π° Kubernetes ΡΡΠ΅Π· CSI, Π²ΠΈΠΆΡΠ΅
ΠΠ²ΡΠΎΡ Π½Π° ΡΡΠ°ΡΠΈΡΡΠ°: Π‘Π΅ΡΠ³Π΅ΠΉ ΠΠΎΠ½Π΄Π°ΡΠ΅Π², ΠΏΡΠ°ΠΊΡΠΈΠΊΡΠ²Π°Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡ Π² Southbridge, ΡΠ΅ΡΡΠΈΡΠΈΡΠΈΡΠ°Π½ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ Π½Π° Kubernetes, Π΅Π΄ΠΈΠ½ ΠΎΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π½Π° kubespray.
ΠΠ°Π»ΡΠΊ Post Scriptum Π½Π΅ Π·Π° ΡΠ΅ΠΊΠ»Π°ΠΌΠ°, Π° Π·Π° ΠΏΠΎΠ»Π·Π°...
PS Π‘Π΅ΡΠ³Π΅ΠΉ ΠΠΎΠ½Π΄Π°ΡΠ΅Π² Π²ΠΎΠ΄ΠΈ Π΄Π²Π° ΠΈΠ½ΡΠ΅Π½Π·ΠΈΠ²Π½ΠΈ ΠΊΡΡΡΠ°: Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: www.habr.com