ΠΠ΅ΠΊΠ΅ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ΅ ΡΠ°ΠΊΠΎΡΠ΅ ΠΌΠΎΡΠ°ΡΡ Π΄Π° ΡΡΠ²Π°ΡΡ ΠΏΠΎΠ΄Π°ΡΠΊΠ΅, Π°Π»ΠΈ ΠΈΠΌ ΡΠ΅ ΠΏΡΠΈΠ»ΠΈΡΠ½ΠΎ ΠΏΡΠΈΡΠ°ΡΠ½Π° ΡΠΈΡΠ΅Π½ΠΈΡΠ° Π΄Π° ΠΏΠΎΠ΄Π°ΡΠΈ Π½Π΅ΡΠ΅ Π±ΠΈΡΠΈ ΡΠ°ΡΡΠ²Π°Π½ΠΈ Π½Π°ΠΊΠΎΠ½ ΠΏΠΎΠ½ΠΎΠ²Π½ΠΎΠ³ ΠΏΠΎΠΊΡΠ΅ΡΠ°ΡΠ°.
ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠ»ΡΠ³Π΅ ΠΊΠ΅ΡΠΈΡΠ°ΡΠ° ΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π΅ Π ΠΠ-ΠΎΠΌ, Π°Π»ΠΈ ΡΠ°ΠΊΠΎΡΠ΅ ΠΌΠΎΠ³Ρ Π΄Π° ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠΊΠ΅ ΠΊΠΎΡΠΈ ΡΠ΅ ΡΠ΅ΡΠΊΠΎ ΠΊΠΎΡΠΈΡΡΠ΅ Ρ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ ΠΊΠΎΡΠ΅ ΡΠ΅ ΡΠΏΠΎΡΠΈΡΠ΅ ΠΎΠ΄ Π ΠΠ-Π°, ΡΠ° ΠΌΠ°Π»ΠΈΠΌ ΡΡΠΈΡΠ°ΡΠ΅ΠΌ Π½Π° ΡΠΊΡΠΏΠ½Π΅ ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠ΅. ΠΡΡΠ³Π΅ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ΅ ΠΌΠΎΡΠ°ΡΡ Π΄Π° Π±ΡΠ΄Ρ ΡΠ²Π΅ΡΠ½Π΅ Π΄Π° Ρ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ°ΠΌΠ° ΠΌΠΎΠΆΠ΅ ΠΏΠΎΡΡΠΎΡΠ°ΡΠΈ Π½Π΅ΠΊΠΈ ΡΠ½ΠΎΡ ΡΠ°ΠΌΠΎ Π·Π° ΡΠΈΡΠ°ΡΠ΅, ΠΊΠ°ΠΎ ΡΡΠΎ ΡΡ ΠΏΠΎΠ΄Π΅ΡΠ°Π²Π°ΡΠ° ΠΈΠ»ΠΈ ΡΠ°ΡΠ½ΠΈ ΠΊΡΡΡΠ΅Π²ΠΈ.
ΠΡΠ±Π΅ΡΠ½Π΅ΡΠ΅Ρ Π²Π΅Ρ ΠΈΠΌΠ° Π½Π΅ΠΊΠΎΠ»ΠΈΠΊΠΎ ΡΠΈΠΏΠΎΠ²Π°
ΠΡΠ°ΡΠΊΠΎΡΡΠ°ΡΠ°Π½
ΠΠ²ΠΎ ΠΌΠΎΠΆΠ΅ Π±ΠΈΡΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π·Π° Π²ΠΎΠ»ΡΠΌΠ΅Π½Π΅ ΠΊΠΎΡΠΈ ΡΡΠΎΡΠ΅ Π·Π½Π°ΡΠ°ΡΠ½Π΅ ΡΠ΅ΡΡΡΡΠ΅ Ρ ΠΎΡΡΠ° ΠΈΠ»ΠΈ Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ ΠΊΠΎΡΠ΅ ΡΠ΅ Π΄ΠΎΡΡΡΠΏΠ½ΠΎ ΡΠ°ΠΌΠΎ Π½Π° Π½Π΅ΠΊΠΈΠΌ Ρ ΠΎΡΡΠΎΠ²ΠΈΠΌΠ°. ΠΠ°ΡΠΎ ΠΡΠ±Π΅ΡΠ½Π΅ΡΠ΅Ρ 1.19 ΡΠ²ΠΎΠ΄ΠΈ Π΄Π²Π΅ Π½ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΡΠ΅ Π·Π°ΠΏΡΠ΅ΠΌΠΈΠ½Π΅ Π·Π° Π°Π»ΡΠ° ΡΠ΅ΡΡΠΈΡΠ°ΡΠ΅ ΠΊΠΎΡΠ΅ ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΡΠ°Π»Π½ΠΎ ΡΠ»ΠΈΡΠ½Π΅ Π·Π°ΠΏΡΠ΅ΠΌΠΈΠ½Π°ΠΌΠ° ΠΠΌΠΏΡΠΈΠΠΈΡ:
-
Π΅ΡΠ΅ΠΌΠ΅ΡΠ½ΠΈ Π²ΠΎΠ»ΡΠΌΠ΅Π½ΠΈ ΠΎΠΏΡΡΠ΅ Π½Π°ΠΌΠ΅Π½Π΅;
-
Π¦Π‘Π ΠΏΡΠ°ΡΠ΅ΡΠ΅ ΠΊΠ°ΠΏΠ°ΡΠΈΡΠ΅ΡΠ° ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ΡΠ°.
ΠΡΠ΅Π΄Π½ΠΎΡΡΠΈ Π½ΠΎΠ²ΠΎΠ³ ΠΏΡΠΈΡΡΡΠΏΠ°:
-
ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ ΠΌΠΎΠΆΠ΅ Π±ΠΈΡΠΈ Π»ΠΎΠΊΠ°Π»Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ²Π΅Π·Π°Π½ΠΎ ΠΏΡΠ΅ΠΊΠΎ ΠΌΡΠ΅ΠΆΠ΅;
-
Π²ΠΎΠ»ΡΠΌΠ΅Π½ΠΈ ΠΌΠΎΠ³Ρ ΠΈΠΌΠ°ΡΠΈ ΠΎΠ΄ΡΠ΅ΡΠ΅Π½Ρ Π²Π΅Π»ΠΈΡΠΈΠ½Ρ ΠΊΠΎΡΡ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° Π½Π΅ ΠΌΠΎΠΆΠ΅ ΠΏΡΠ΅ΠΌΠ°ΡΠΈΡΠΈ;
-
ΡΠ°Π΄ΠΈ ΡΠ° Π±ΠΈΠ»ΠΎ ΠΊΠΎΡΠΈΠΌ Π¦Π‘Π Π΄ΡΠ°ΡΠ²Π΅ΡΠΈΠΌΠ° ΠΊΠΎΡΠΈ ΠΏΠΎΠ΄ΡΠΆΠ°Π²Π°ΡΡ ΠΎΠ±Π΅Π·Π±Π΅ΡΠΈΠ²Π°ΡΠ΅ ΡΡΠ°Π»Π½ΠΈΡ Π²ΠΎΠ»ΡΠΌΠ΅Π½Π° ΠΈ (Π΄Π° ΠΏΠΎΠ΄ΡΠΆΠ°Π²Π° ΠΏΡΠ°ΡΠ΅ΡΠ΅ ΠΊΠ°ΠΏΠ°ΡΠΈΡΠ΅ΡΠ°) ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°ΡΡ ΠΏΠΎΠ·ΠΈΠ²
GetCapacity
; -
Π²ΠΎΠ»ΡΠΌΠ΅Π½ΠΈ ΠΌΠΎΠ³Ρ ΠΈΠΌΠ°ΡΠΈ Π½Π΅ΠΊΠ΅ ΠΏΠΎΡΠ΅ΡΠ½Π΅ ΠΏΠΎΠ΄Π°ΡΠΊΠ΅ Ρ Π·Π°Π²ΠΈΡΠ½ΠΎΡΡΠΈ ΠΎΠ΄ Π΄ΡΠ°ΡΠ²Π΅ΡΠ° ΠΈ ΠΏΠΎΠ΄Π΅ΡΠ°Π²Π°ΡΠ°;
-
ΡΠ²Π΅ ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½Π΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠ΅ ΡΠ° Π·Π°ΠΏΡΠ΅ΠΌΠΈΠ½ΠΎΠΌ (ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ ΡΠ½ΠΈΠΌΠΊΠ°, ΠΏΡΠΎΠΌΠ΅Π½Π° Π²Π΅Π»ΠΈΡΠΈΠ½Π΅, ΠΈΡΠ΄.) ΡΡ ΠΏΠΎΠ΄ΡΠΆΠ°Π½Π΅;
-
Π²ΠΎΠ»ΡΠΌΠ΅Π½ΠΈ ΡΠ΅ ΠΌΠΎΠ³Ρ ΠΊΠΎΡΠΈΡΡΠΈΡΠΈ ΡΠ° Π±ΠΈΠ»ΠΎ ΠΊΠΎΡΠΈΠΌ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΡΠΊΠΈΠΌ ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΡΠΎΠΌ ΠΊΠΎΡΠΈ ΠΏΡΠΈΡ Π²Π°ΡΠ° ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΡ ΠΌΠΎΠ΄ΡΠ»Π° ΠΈΠ»ΠΈ Π·Π°ΠΏΡΠ΅ΠΌΠΈΠ½Π΅;
-
ΠΡΠ±Π΅ΡΠ½Π΅ΡΠ΅Ρ ΠΏΠ»Π°Π½Π΅Ρ ΡΠ°ΠΌ Π±ΠΈΡΠ° ΠΎΠ΄Π³ΠΎΠ²Π°ΡΠ°ΡΡΡΠ΅ ΡΠ²ΠΎΡΠΎΠ²Π΅, ΡΠ°ΠΊΠΎ Π΄Π° Π²ΠΈΡΠ΅ Π½Π΅ΠΌΠ° ΠΏΠΎΡΡΠ΅Π±Π΅ Π·Π° ΠΎΠ±Π΅Π·Π±Π΅ΡΠΈΠ²Π°ΡΠ΅ΠΌ ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°ΡΠ΅ΠΌ Π΅ΠΊΡΡΠ΅Π½Π·ΠΈΡΠ° ΠΏΠ»Π°Π½Π΅ΡΠ° ΠΈΠ»ΠΈ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΡΠΎΠΌ Π²Π΅Π±-Ρ ΡΠΊΠΎΠ²Π°.
ΠΠΏΡΠΈΡΠ΅ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ΅
ΠΠ±ΠΎΠ³ ΡΠΎΠ³Π° ΡΡ Π΅ΡΠ΅ΠΌΠ΅ΡΠ½Π΅ Π·Π°ΠΏΡΠ΅ΠΌΠΈΠ½Π΅ ΠΎΠΏΡΡΠ΅ Π½Π°ΠΌΠ΅Π½Π΅ ΠΏΠΎΠ³ΠΎΠ΄Π½Π΅ Π·Π° ΡΠ»Π΅Π΄Π΅ΡΠ΅ ΡΠ»ΡΡΠ°ΡΠ΅Π²Π΅ ΡΠΏΠΎΡΡΠ΅Π±Π΅:
Π’ΡΠ°ΡΠ½Π° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ° ΠΊΠ°ΠΎ Π·Π°ΠΌΠ΅Π½Π° Π·Π° Π ΠΠ Π·Π° ΠΌΠ΅ΠΌΡΠ°ΡΡ Π΅Π΄
ΠΠ°ΡΠ½ΠΎΠ²ΠΈΡΠ° ΠΈΠ·Π΄Π°ΡΠ° ΠΌΠ΅ΠΌΡΠ°ΡΡ
Π΅Π΄-Π°
ΠΠΠ Π»ΠΎΠΊΠ°Π»Π½ΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ ΠΊΠ°ΠΎ ΡΠ°Π΄Π½ΠΈ ΠΏΡΠΎΡΡΠΎΡ
ΠΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ΅ ΠΊΠΎΡΠ΅ ΡΠ°Π΄Π΅ ΡΠ° ΠΏΠΎΠ΄Π°ΡΠΈΠΌΠ° ΠΊΠΎΡΠΈ ΡΡ Π²Π΅ΡΠΈ ΠΎΠ΄ Π ΠΠ-Π° ΠΌΠΎΠ³Ρ Π·Π°Ρ
ΡΠ΅Π²Π°ΡΠΈ Π»ΠΎΠΊΠ°Π»Π½Ρ ΠΌΠ΅ΠΌΠΎΡΠΈΡΡ ΡΠ° Π²Π΅Π»ΠΈΡΠΈΠ½ΠΎΠΌ ΠΈΠ»ΠΈ ΠΌΠ΅ΡΡΠΈΠΊΠΎΠΌ ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈ ΠΊΠΎΡΠ΅ Π½Π΅ ΠΌΠΎΠ³Ρ Π΄Π° ΠΎΠ±Π΅Π·Π±Π΅Π΄Π΅ ΠΎΠ±ΠΈΡΠ½ΠΈ ΠΠΌΠΏΡΠΈΠΠΈΡ Π²ΠΎΠ»ΡΠΌΠ΅Π½ΠΈ ΠΈΠ· ΠΡΠ±Π΅ΡΠ½Π΅ΡΠ΅Ρ-Π°. ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π° ΠΎΠ²Ρ ΡΠ²ΡΡ
Ρ ΡΠ΅ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ
ΠΡΠΈΡΡΡΠΏ ΡΠ°ΠΌΠΎ Π·Π° ΡΠΈΡΠ°ΡΠ΅ Π·Π° ΠΊΠΎΠ»ΠΈΡΠΈΠ½Π΅ ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ°
ΠΠ»ΠΎΠΊΠ°ΡΠΈΡΠ° Π²ΠΎΠ»ΡΠΌΠ΅Π½Π° ΠΌΠΎΠΆΠ΅ ΡΠ΅Π·ΡΠ»ΡΠΈΡΠ°ΡΠΈ ΡΡΠ²Π°ΡΠ°ΡΠ΅ΠΌ ΠΏΡΠ½ΠΎΠ³ Π²ΠΎΠ»ΡΠΌΠ΅Π½Π° ΠΊΠ°Π΄Π°:
-
ΡΠ΅ΡΡΠ°ΡΡΠ°ΡΠΈΡΠ°
ΡΠ½ΠΈΠΌΠ°ΠΊ ΡΠ°ΡΠΈΠ½Π΅ Π·Π²ΡΠΊΠ° ; -
ΡΡΠ²Π°ΡΠ°ΡΠ΅
ΡΠ²Π΅ΡΠΊΠ΅ ΠΊΠΎΠΏΠΈΡΠ΅ ;
ΠΠ²ΠΈ Π²ΠΎΠ»ΡΠΌΠ΅Π½ΠΈ ΡΠ΅ ΠΌΠΎΠ³Ρ ΠΌΠΎΠ½ΡΠΈΡΠ°ΡΠΈ Ρ ΡΠ΅ΠΆΠΈΠΌΡ ΡΠ°ΠΌΠΎ Π·Π° ΡΠΈΡΠ°ΡΠ΅.
ΠΠ°ΠΊΠΎ ΠΎΠ²ΠΎ ΡΠ°Π΄ΠΈ
ΠΡΠ΅ΠΌΠ΅ΡΠ½Π΅ ΡΠ²Π΅ΡΠΊΠ΅ ΠΎΠΏΡΡΠ΅ Π½Π°ΠΌΠ΅Π½Π΅
ΠΡΡΡΠ½Π° ΠΊΠ°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠ° Π΅ΡΠ΅ΠΌΠ΅ΡΠ½ΠΈΡ
ΡΠΎΠΌΠΎΠ²Π° ΠΎΠΏΡΡΠ΅ Π½Π°ΠΌΠ΅Π½Π΅ ΡΠ΅ Π½ΠΎΠ²ΠΈ ΠΈΠ·Π²ΠΎΡ Π²ΠΎΠ»ΡΠΌΠ΅Π½Π°, EphemeralVolumeSource
, ΠΊΠΎΡΠΈ ΡΠ°Π΄ΡΠΆΠΈ ΡΠ²Π° ΠΏΠΎΡΠ° Π·Π° ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ Π·Π°Ρ
ΡΠ΅Π²Π° Π·Π° Π·Π°ΠΏΡΠ΅ΠΌΠΈΠ½Ρ (ΠΈΡΡΠΎΡΠΈΡΡΠΊΠΈ Π½Π°Π·Π²Π°Π½ Π·Π°Ρ
ΡΠ΅Π² Π·Π° ΡΠΏΠΎΡΠ½ΠΈ Π²ΠΎΠ»ΡΠΌΠ΅Π½, ΠΠΠ¦). ΠΠΎΠ²ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅Ρ Ρ kube-controller-manager
Π³Π»Π΅Π΄Π° Π½Π° ΠΌΠΎΠ΄ΡΠ»Π΅ ΠΊΠΎΡΠΈ ΡΡΠ²Π°ΡΠ°ΡΡ ΡΠ°ΠΊΠ°Π² ΠΈΠ·Π²ΠΎΡ Π·Π°ΠΏΡΠ΅ΠΌΠΈΠ½Π΅, Π° Π·Π°ΡΠΈΠΌ ΠΊΡΠ΅ΠΈΡΠ° ΠΠΠ¦ Π·Π° ΡΠ΅ ΠΌΠ°Ρ
ΡΠ½Π΅. ΠΠ° Π¦Π‘Π Π΄ΡΠ°ΡΠ²Π΅Ρ, ΠΎΠ²Π°Ρ Π·Π°Ρ
ΡΠ΅Π² ΠΈΠ·Π³Π»Π΅Π΄Π° ΠΈΡΡΠΎ ΠΊΠ°ΠΎ ΠΈ ΠΎΡΡΠ°Π»ΠΈ, ΡΠ°ΠΊΠΎ Π΄Π° ΠΎΠ²Π΄Π΅ Π½ΠΈΡΠ΅ ΠΏΠΎΡΡΠ΅Π±Π½Π° ΠΏΠΎΡΠ΅Π±Π½Π° ΠΏΠΎΠ΄ΡΡΠΊΠ°.
Π‘Π²Π΅ Π΄ΠΎΠΊ ΡΠ°ΠΊΠ²ΠΈ ΠΠΠ¦-ΠΎΠ²ΠΈ ΠΏΠΎΡΡΠΎΡΠ΅, ΠΌΠΎΠ³Ρ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈΡΠΈ ΠΊΠ°ΠΎ ΠΈ ΡΠ²ΠΈ Π΄ΡΡΠ³ΠΈ Π·Π°Ρ ΡΠ΅Π²ΠΈ Π·Π° Π²ΠΎΠ»ΡΠΌΠ΅Π½. ΠΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎ, ΠΎΠ½ΠΈ ΡΠ΅ ΠΌΠΎΠ³Ρ ΡΠ΅ΡΠ΅ΡΠ΅Π½ΡΠΈΡΠ°ΡΠΈ ΠΊΠ°ΠΎ ΠΈΠ·Π²ΠΎΡ ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ° ΠΏΡΠΈΠ»ΠΈΠΊΠΎΠΌ ΠΊΠΎΠΏΠΈΡΠ°ΡΠ° Π²ΠΎΠ»ΡΠΌΠ΅Π½Π° ΠΈΠ»ΠΈ ΠΏΡΠ°Π²ΡΠ΅ΡΠ° ΡΠ½ΠΈΠΌΠΊΠ° ΠΈΠ· Π²ΠΎΠ»ΡΠΌΠ΅Π½Π°. ΠΠΠ¦ ΠΎΠ±ΡΠ΅ΠΊΠ°Ρ ΡΠ°ΠΊΠΎΡΠ΅ ΡΠ°Π΄ΡΠΆΠΈ ΡΡΠ΅Π½ΡΡΠ½ΠΎ ΡΡΠ°ΡΠ΅ Π·Π°ΠΏΡΠ΅ΠΌΠΈΠ½Π΅.
ΠΠΌΠ΅Π½Π° Π°ΡΡΠΎΠΌΠ°ΡΡΠΊΠΈ ΠΊΡΠ΅ΠΈΡΠ°Π½ΠΈΡ ΠΠΠ¦-ΠΎΠ²Π° ΡΡ ΡΠ½Π°ΠΏΡΠ΅Π΄ Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½Π°: ΠΎΠ½ΠΈ ΡΡ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡΠ° Π½Π°Π·ΠΈΠ²Π° ΠΏΠΎΠ΄ ΠΈ Π½Π°Π·ΠΈΠ²Π° Π²ΠΎΠ»ΡΠΌΠ΅Π½Π°, ΠΎΠ΄Π²ΠΎΡΠ΅Π½ΠΈ ΡΡΡΠΈΡΠΎΠΌ. Π£Π½Π°ΠΏΡΠ΅Π΄ Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½Π° ΠΈΠΌΠ΅Π½Π° ΠΎΠ»Π°ΠΊΡΠ°Π²Π°ΡΡ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΡΡ ΡΠ° ΠΠΠ¦-ΠΎΠΌ ΡΠ΅Ρ Π½Π΅ ΠΌΠΎΡΠ°ΡΠ΅ Π΄Π° Π³Π° ΡΡΠ°ΠΆΠΈΡΠ΅ Π°ΠΊΠΎ Π·Π½Π°ΡΠ΅ Π½Π°Π·ΠΈΠ² ΠΏΠΎΠ΄ ΠΈ Π½Π°Π·ΠΈΠ² Π²ΠΎΠ»ΡΠΌΠ΅Π½Π°. ΠΠΎΡΠ° ΡΡΡΠ°Π½Π° ΡΠ΅ Ρ ΡΠΎΠΌΠ΅ ΡΡΠΎ ΡΠ΅ ΠΈΠΌΠ΅ ΠΌΠΎΠΆΠ΄Π° Π²Π΅Ρ Ρ ΡΠΏΠΎΡΡΠ΅Π±ΠΈ, ΡΡΠΎ ΠΡΠ±Π΅ΡΠ½Π΅ΡΠ΅Ρ Π΄Π΅ΡΠ΅ΠΊΡΡΡΠ΅ ΠΈ ΠΊΠ°ΠΎ ΡΠ΅Π·ΡΠ»ΡΠ°Ρ ΡΠΎΠ³Π° ΠΌΠΎΠ΄ΡΠ» Π±Π»ΠΎΠΊΠΈΡΠ° ΠΏΠΎΠΊΡΠ΅ΡΠ°ΡΠ΅.
ΠΠ° Π±ΠΈ ΡΠ΅ ΠΎΡΠΈΠ³ΡΡΠ°Π»ΠΎ Π΄Π° ΡΠ΅ Π²ΠΎΠ»ΡΠΌΠ΅Π½ Π±ΡΠΈΡΠ΅ Π·Π°ΡΠ΅Π΄Π½ΠΎ ΡΠ° ΠΏΠΎΠ΄ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅Ρ ΡΠ°ΡΠ΅ Π·Π°Ρ ΡΠ΅Π² Π²ΠΎΠ»ΡΠΌΠ΅Π½Ρ ΠΊΠΎΡΠΈ ΡΠ΅ ΠΏΠΎΠ΄ Π²Π»Π°ΡΠ½ΠΈΠΊΠΎΠΌ. ΠΠ°Π΄Π° ΡΠ΅ ΠΏΠΎΠ΄ ΠΎΠ±ΡΠΈΡΠ΅, ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠ΅ ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½ΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·Π°ΠΌ Π·Π° ΡΠ°ΠΊΡΠΏΡΠ°ΡΠ΅ ΡΠΌΠ΅ΡΠ°, ΠΊΠΎΡΠΈ Π±ΡΠΈΡΠ΅ ΠΈ Π·Π°Ρ ΡΠ΅Π² ΠΈ Π²ΠΎΠ»ΡΠΌΠ΅Π½.
ΠΠ°Ρ
ΡΠ΅Π²ΠΈ ΡΠ΅ ΡΡΠΊΠ»Π°ΡΡΡΡ ΠΎΠ΄ ΡΡΡΠ°Π½Π΅ Π΄ΡΠ°ΡΠ²Π΅ΡΠ° Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ΡΠ΅ ΠΏΡΡΠ΅ΠΌ Π½ΠΎΡΠΌΠ°Π»Π½ΠΎΠ³ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠ° ΠΊΠ»Π°ΡΠ΅ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ΡΠ°. ΠΠ°ΠΊΠΎ ΡΠ°ΡΠΎΠ²ΠΈ ΡΠ° ΡΡΠ΅Π½ΡΡΠ½ΠΈΠΌ ΠΈ ΠΊΠ°ΡΠ½ΠΈΠΌ Π²Π΅Π·ΠΈΠ²Π°ΡΠ΅ΠΌ (Π°ΠΊΠ° WaitForFirstConsumer
) ΡΡ ΠΏΠΎΠ΄ΡΠΆΠ°Π½ΠΈ, Π·Π° Π΅ΡΠ΅ΠΌΠ΅ΡΠ½Π΅ Π²ΠΎΠ»ΡΠΌΠ΅Π½Π΅ ΠΈΠΌΠ° ΡΠΌΠΈΡΠ»Π° ΠΊΠΎΡΠΈΡΡΠΈΡΠΈ WaitForFirstConsumer
, ΡΠ°Π΄Π° ΠΏΠ»Π°Π½Π΅Ρ ΠΌΠΎΠΆΠ΅ ΡΠ·Π΅ΡΠΈ Ρ ΠΎΠ±Π·ΠΈΡ ΠΈ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ ΡΠ²ΠΎΡΠ° ΠΈ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ° ΠΊΠ°Π΄Π° Π±ΠΈΡΠ° ΡΠ²ΠΎΡ. ΠΠ²Π΄Π΅ ΡΠ΅ ΠΏΠΎΡΠ°Π²ΡΡΡΠ΅ Π½ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΡΠ°.
ΠΡΠ°ΡΠ΅ΡΠ΅ ΠΊΠ°ΠΏΠ°ΡΠΈΡΠ΅ΡΠ° ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ΡΠ°
ΠΠ±ΠΈΡΠ½ΠΎ ΠΏΠ»Π°Π½Π΅Ρ Π½Π΅ΠΌΠ° Π·Π½Π°ΡΠ° ΠΎ ΡΠΎΠΌΠ΅ Π³Π΄Π΅ ΡΠ΅ Π¦Π‘Π Π΄ΡΠ°ΡΠ²Π΅Ρ ΠΊΡΠ΅ΠΈΡΠ°ΡΠΈ Π²ΠΎΠ»ΡΠΌΠ΅Π½. Π’Π°ΠΊΠΎΡΠ΅ Π½Π΅ ΠΏΠΎΡΡΠΎΡΠΈ Π½Π°ΡΠΈΠ½ Π΄Π° ΠΏΠ»Π°Π½Π΅Ρ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠΈΡΠ° Π²ΠΎΠ·Π°ΡΠ° ΠΊΠ°ΠΊΠΎ Π±ΠΈ Π·Π°ΡΡΠ°ΠΆΠΈΠΎ ΠΎΠ²Π΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΠ΅. ΠΡΠ΅ΠΌΠ° ΡΠΎΠΌΠ΅, ΠΏΠ»Π°Π½Π΅Ρ ΠΈΡΠΏΠΈΡΡΡΠ΅ ΡΠ²ΠΎΡΠΎΠ²Π΅ ΡΠ²Π΅ Π΄ΠΎΠΊ Π½Π΅ ΠΏΡΠΎΠ½Π°ΡΠ΅ ΠΎΠ½Π°Ρ Π½Π° ΠΊΠΎΠΌΠ΅ ΡΠ΅ Π²ΠΎΠ»ΡΠΌΠ΅Π½ΠΈΠΌΠ° ΠΌΠΎΠΆΠ΅ ΠΏΡΠΈΡΡΡΠΏΠΈΡΠΈ (ΠΊΠ°ΡΠ½ΠΎ ΠΏΠΎΠ²Π΅Π·ΠΈΠ²Π°ΡΠ΅) ΠΈΠ»ΠΈ ΠΏΡΠ΅ΠΏΡΡΡΠΈ ΠΈΠ·Π±ΠΎΡ Π»ΠΎΠΊΠ°ΡΠΈΡΠ΅ Ρ ΠΏΠΎΡΠΏΡΠ½ΠΎΡΡΠΈ Π΄ΡΠ°ΡΠ²Π΅ΡΡ (ΡΡΠ΅Π½ΡΡΠ½ΠΎ ΠΏΠΎΠ²Π΅Π·ΠΈΠ²Π°ΡΠ΅).
ΠΠΎΠ²ΠΈ CSIStorageCapacity
, ΠΊΠΎΡΠΈ ΡΠ΅ Ρ Π°Π»ΡΠ° ΡΠ°Π·ΠΈ, ΠΎΠΌΠΎΠ³ΡΡΠ°Π²Π° ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ΡΠ΅ ΠΏΠΎΡΡΠ΅Π±Π½ΠΈΡ
ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ° Ρ Π΅ΡΡΠ΄ ΡΠ°ΠΊΠΎ Π΄Π° Π±ΡΠ΄Ρ Π΄ΠΎΡΡΡΠΏΠ½ΠΈ ΠΏΠ»Π°Π½Π΅ΡΡ. ΠΠ° ΡΠ°Π·Π»ΠΈΠΊΡ ΠΎΠ΄ ΠΏΠΎΠ΄ΡΡΠΊΠ΅ Π·Π° Π΅ΡΠ΅ΠΌΠ΅ΡΠ½Π΅ Π²ΠΎΠ»ΡΠΌΠ΅Π½Π΅ ΠΎΠΏΡΡΠ΅ Π½Π°ΠΌΠ΅Π½Π΅, ΠΊΠ°Π΄Π° ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΠ΅ Π΄ΡΠ°ΡΠ²Π΅Ρ, ΠΌΠΎΡΠ°ΡΠ΅ Π΄Π° ΠΎΠΌΠΎΠ³ΡΡΠΈΡΠ΅ ΠΏΡΠ°ΡΠ΅ΡΠ΅ ΠΊΠ°ΠΏΠ°ΡΠΈΡΠ΅ΡΠ° ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ΡΠ°: external-provisioner
ΡΡΠ΅Π±Π° Π΄Π° ΠΎΠ±ΡΠ°Π²ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΠ΅ ΠΎ ΠΊΠ°ΠΏΠ°ΡΠΈΡΠ΅ΡΡ ΠΏΡΠΈΠΌΡΠ΅Π½Π΅ ΠΎΠ΄ Π²ΠΎΠ·Π°ΡΠ° ΠΏΡΡΠ΅ΠΌ Π½ΠΎΡΠΌΠ°Π»Π½ΠΎΠ³ GetCapacity
.
ΠΠΊΠΎ ΠΏΠ»Π°Π½Π΅Ρ ΡΡΠ΅Π±Π° Π΄Π° ΠΈΠ·Π°Π±Π΅ΡΠ΅ ΡΠ²ΠΎΡ Π·Π° ΠΏΠΎΠ΄ ΡΠ° Π½Π΅Π²Π΅Π·Π°Π½ΠΈΠΌ Π²ΠΎΠ»ΡΠΌΠ΅Π½ΠΎΠΌ ΠΊΠΎΡΠΈ ΠΊΠΎΡΠΈΡΡΠΈ ΠΊΠ°ΡΠ½ΠΎ Π²Π΅Π·ΠΈΠ²Π°ΡΠ΅, Π° ΡΠΏΡΠ°Π²ΡΠ°ΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌ ΡΠ΅ ΠΎΠΌΠΎΠ³ΡΡΠΈΠΎ ΠΎΠ²Ρ ΡΡΠ½ΠΊΡΠΈΡΡ ΡΠΎΠΊΠΎΠΌ ΠΏΡΠΈΠΌΠ΅Π½Π΅ ΠΏΠΎΡΡΠ°Π²ΡΠ°ΡΠ΅ΠΌ Π·Π°ΡΡΠ°Π²ΠΈΡΠ΅ CSIDriver.storageCapacity
, ΠΎΠ½Π΄Π° ΡΠ΅ ΡΠ²ΠΎΡΠΎΠ²ΠΈ ΠΊΠΎΡΠΈ Π½Π΅ΠΌΠ°ΡΡ Π΄ΠΎΠ²ΠΎΡΠ½ΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΠ½ΠΎΠ³ ΠΊΠ°ΠΏΠ°ΡΠΈΡΠ΅ΡΠ° Π±ΠΈΡΠΈ Π°ΡΡΠΎΠΌΠ°ΡΡΠΊΠΈ ΠΎΠ΄Π±Π°ΡΠ΅Π½ΠΈ. ΠΠ²ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠ΅ ΠΈ Π·Π° Π΅ΡΠ΅ΠΌΠ΅ΡΠ½Π΅ ΠΈ Π·Π° ΡΡΠ°ΡΠ½Π΅ Π²ΠΎΠ»ΡΠΌΠ΅Π½Π΅ ΠΎΠΏΡΡΠ΅ Π½Π°ΠΌΠ΅Π½Π΅, Π°Π»ΠΈ Π½Π΅ ΠΈ Π·Π° Π¦Π‘Π Π΅ΡΠ΅ΠΌΠ΅ΡΠ½Π΅ Π²ΠΎΠ»ΡΠΌΠ΅Π½Π΅ ΡΠ΅Ρ ΠΡΠ±Π΅ΡΠ½Π΅ΡΠ΅Ρ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡΠΎΡΠΈΡΠ° ΡΠΈΡ
ΠΎΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ΅.
ΠΠ°ΠΎ ΠΈ ΠΎΠ±ΠΈΡΠ½ΠΎ, ΠΎΠ΄ΠΌΠ°Ρ
ΠΏΠΎΠ²Π΅Π·Π°Π½ΠΈ Π²ΠΎΠ»ΡΠΌΠ΅Π½ΠΈ ΡΠ΅ ΠΊΡΠ΅ΠΈΡΠ°ΡΡ ΠΏΡΠ΅ Π·Π°ΠΊΠ°Π·ΠΈΠ²Π°ΡΠ° ΠΏΠΎΠ΄ΠΎΠ²Π°, Π° ΡΠΈΡ
ΠΎΠ²ΠΎ ΠΏΠΎΡΡΠ°Π²ΡΠ°ΡΠ΅ Π±ΠΈΡΠ° ΡΠΏΡΠ°Π²ΡΠ°ΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌ Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ΡΠ΅, ΡΠ°ΠΊΠΎ Π΄Π° ΠΏΡΠΈΠ»ΠΈΠΊΠΎΠΌ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°ΡΠ° external-provisioner
ΠΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π½ΠΎ, ΠΊΠ»Π°ΡΠ΅ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ΡΠ° ΡΠ° ΡΡΠ΅Π½ΡΡΠ½ΠΈΠΌ Π²Π΅Π·ΠΈΠ²Π°ΡΠ΅ΠΌ ΡΠ΅ ΠΏΡΠ΅ΡΠΊΠ°ΡΡ, ΠΏΠΎΡΡΠΎ ΡΠ΅ ΠΎΠ²ΠΈ ΠΏΠΎΠ΄Π°ΡΠΈ ΠΈΠΎΠ½Π°ΠΊΠΎ Π½Π΅ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈΡΠΈ.
ΠΠΎΡΡΠΎ ΡΠ΅ ΠΊΡΠ±Π΅ΡΠ½Π΅ΡΠ΅Ρ ΠΏΠ»Π°Π½Π΅Ρ ΠΏΡΠΈΠΌΠΎΡΠ°Π½ Π΄Π° ΡΠ°Π΄ΠΈ ΡΠ° ΠΏΠΎΡΠ΅Π½ΡΠΈΡΠ°Π»Π½ΠΎ Π·Π°ΡΡΠ°ΡΠ΅Π»ΠΈΠΌ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΠ°ΠΌΠ°, Π½Π΅ ΠΏΠΎΡΡΠΎΡΠΈ Π³Π°ΡΠ°Π½ΡΠΈΡΠ° Π΄Π° ΡΠ΅ ΠΊΠ°ΠΏΠ°ΡΠΈΡΠ΅Ρ Π±ΠΈΡΠΈ Π΄ΠΎΡΡΡΠΏΠ°Π½ Ρ ΡΠ²Π°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°ΡΡ ΠΊΠ°Π΄Π° ΡΠ΅ Π²ΠΎΠ»ΡΠΌΠ΅Π½ ΠΊΡΠ΅ΠΈΡΠ°, Π°Π»ΠΈ ΡΡ ΡΠ°Π½ΡΠ΅ Π΄Π° ΡΠ΅ Π±ΠΈΡΠΈ ΠΊΡΠ΅ΠΈΡΠ°Π½ Π±Π΅Π· ΠΏΠΎΠ½ΠΎΠ²Π½ΠΈΡ ΠΏΠΎΠΊΡΡΠ°ΡΠ° ΠΈΠΏΠ°ΠΊ ΠΏΠΎΠ²Π΅ΡΠ°Π½Π΅.
ΠΠ ΠΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΎΠ±ΠΈΡΠΈ Π΄Π΅ΡΠ°ΡΠ½ΠΈΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΠ΅, ΠΊΠ°ΠΎ ΠΈ Π±Π΅Π·Π±Π΅Π΄Π½ΠΎ βΠ²Π΅ΠΆΠ±Π°ΡΠΈ Π½Π° ΡΡΠ°Π½Π΄Ρ Π·Π° ΠΌΠ°ΡΠΊΠ΅β, Π° Ρ ΡΠ»ΡΡΠ°ΡΡ ΠΏΠΎΡΠΏΡΠ½ΠΎ Π½Π΅ΡΠ°Π·ΡΠΌΡΠΈΠ²Π΅ ΡΠΈΡΡΠ°ΡΠΈΡΠ΅ Π΄ΠΎΠ±ΠΈΡΠΈ ΠΊΠ²Π°Π»ΠΈΡΠΈΠΊΠΎΠ²Π°Π½Ρ ΡΠ΅Ρ
Π½ΠΈΡΠΊΡ ΠΏΠΎΠ΄ΡΡΠΊΡ Π½Π° ΠΈΠ½ΡΠ΅Π½Π·ΠΈΠ²Π½ΠΈΠΌ ΠΊΡΡΡΠ΅Π²ΠΈΠΌΠ° -
Π±Π΅Π·Π±Π΅Π΄Π½ΠΎΡΡ
Π¦Π‘ΠΠ‘ΡΠΎΡΠ°Π³Π΅Π¦Π°ΠΏΠ°ΡΠΈΡΠΈ
Π¦Π‘ΠΠ‘ΡΠΎΡΠ°Π³Π΅Π¦Π°ΠΏΠ°ΡΠΈΡΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΈ ΡΠ΅ Π½Π°Π»Π°Π·Π΅ Ρ ΠΏΡΠΎΡΡΠΎΡΠΈΠΌΠ° ΠΈΠΌΠ΅Π½Π° ΠΊΠ°Π΄Π° ΡΠ΅ ΡΠ²Π°ΠΊΠΈ Π¦Π‘Π Π΄ΡΠ°ΡΠ²Π΅Ρ ΠΏΠΎΡΡΠ°Π²ΡΠ° Ρ ΡΠΎΠΏΡΡΠ²Π΅Π½ΠΎΠΌ ΠΈΠΌΠ΅Π½ΡΠΊΠΎΠΌ ΠΏΡΠΎΡΡΠΎΡΡ, ΠΏΡΠ΅ΠΏΠΎΡΡΡΡΡΠ΅ ΡΠ΅ Π΄Π° ΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈ Π ΠΠΠ¦ ΠΏΡΠ°Π²Π° Π½Π° Π¦Π‘ΠΠ‘ΡΠΎΡΠ°Π³Π΅Π¦Π°ΠΏΠ°ΡΠΈΡΠΈ Ρ ΡΠΎΠΌ ΠΏΡΠΎΡΡΠΎΡΡ ΡΠ΅Ρ ΡΠ΅ ΠΎΡΠΈΠ³Π»Π΅Π΄Π½ΠΎ ΠΎΠ΄Π°ΠΊΠ»Π΅ ΠΏΠΎΠ΄Π°ΡΠΈ Π΄ΠΎΠ»Π°Π·Π΅. ΠΡΠ±Π΅ΡΠ½Π΅ΡΠ΅Ρ ΠΈΠΎΠ½Π°ΠΊΠΎ Π½Π΅ ΠΏΡΠΎΠ²Π΅ΡΠ°Π²Π° ΠΎΠ²ΠΎ, ΠΈ ΠΎΠ±ΠΈΡΠ½ΠΎ ΡΠ΅ Π΄ΡΠ°ΡΠ²Π΅ΡΠΈ ΡΡΠ°Π²ΡΠ°ΡΡ Ρ ΠΈΡΡΠΈ ΠΈΠΌΠ΅Π½ΡΠΊΠΈ ΠΏΡΠΎΡΡΠΎΡ, ΡΠ°ΠΊΠΎ Π΄Π° ΡΠ΅ Π½Π° ΠΊΡΠ°ΡΡ ΠΎΡΠ΅ΠΊΡΡΠ΅ Π΄Π° Π΄ΡΠ°ΡΠ²Π΅ΡΠΈ ΡΠ°Π΄Π΅ ΠΈ Π½Π΅ ΠΎΠ±ΡΠ°Π²ΡΡΡΡ Π½Π΅ΡΠ°ΡΠ½Π΅ ΠΏΠΎΠ΄Π°ΡΠΊΠ΅ (ΠΈ ΡΡ ΡΠ΅ ΠΌΠΎΡΠ° ΠΊΠ°ΡΡΠΈΡΠ° ΠΎΡΠΊΠ°Π·Π°Π»Π°, ΠΏΡΠΈΠ±Π». ΠΏΡΠ΅Π²ΠΎΠ΄ΠΈΠ»Π°Ρ ΠΏΠΎ ΡΠ·ΠΎΡΡ Π½Π° Π±ΡΠ°Π΄Π°ΡΡ ΡΠ°Π»Ρ)
ΠΡΠ΅ΠΌΠ΅ΡΠ½Π΅ ΡΠ²Π΅ΡΠΊΠ΅ ΠΎΠΏΡΡΠ΅ Π½Π°ΠΌΠ΅Π½Π΅
ΠΠΊΠΎ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΈ ΠΈΠΌΠ°ΡΡ ΠΏΡΠ°Π²Π° Π΄Π° ΠΊΡΠ΅ΠΈΡΠ°ΡΡ ΠΏΠΎΠ΄ (Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ ΠΈΠ»ΠΈ ΠΈΠ½Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ), ΠΎΠ½ΠΈ ΡΠ΅ ΡΠ°ΠΊΠΎΡΠ΅ ΠΌΠΎΡΠΈ Π΄Π° ΠΊΡΠ΅ΠΈΡΠ°ΡΡ Π΅ΡΠ΅ΠΌΠ΅ΡΠ½Π΅ Π²ΠΎΠ»ΡΠΌΠ΅Π½Π΅ ΠΎΠΏΡΡΠ΅ Π½Π°ΠΌΠ΅Π½Π΅ ΡΠ°ΠΊ ΠΈ Π°ΠΊΠΎ Π½Π΅ΠΌΠ°ΡΡ ΠΏΡΠ°Π²Π° Π΄Π° ΠΊΡΠ΅ΠΈΡΠ°ΡΡ Π·Π°Ρ
ΡΠ΅Π² Π½Π° ΡΠΎΠΌ Π²ΠΎΠ»ΡΠΌΠ΅Π½Ρ. Π’ΠΎ ΡΠ΅ Π·Π°ΡΠΎ ΡΡΠΎ ΡΠ΅ Π ΠΠΠ¦ ΠΏΡΠΎΠ²Π΅ΡΠ΅ Π΄ΠΎΠ·Π²ΠΎΠ»Π΅ ΠΏΡΠΈΠΌΠ΅ΡΡΡΡ Π½Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅Ρ ΠΊΠΎΡΠΈ ΠΊΡΠ΅ΠΈΡΠ° ΠΠΠ¦, Π° Π½Π΅ Π½Π° ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΠ°. ΠΠ²ΠΎ ΡΠ΅ Π³Π»Π°Π²Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π° ΠΊΠΎΡΡ ΡΡΠ΅Π±Π° Π΄ΠΎΠ΄Π°ΡΠΈ
ΠΡΠΈΠΌΠ΅Ρ
ΠΠ΄Π²ΠΎΡΠ΅Π½
ΠΠ° ΠΎΠ΄Π³ΠΎΠ²Π°ΡΠ°ΡΡΡΠΎΡ ΠΌΠ°ΡΠΈΠ½ΠΈ (ΠΠΈΠ½ΡΠΊ, ΠΎΠ±ΠΈΡΠ°Π½ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΊΠΎΡΠΈΡΡΠΈ
git clone --branch=kubernetes-1-19-blog-post https://github.com/intel/pmem-csi.git
cd pmem-csi
export TEST_KUBERNETES_VERSION=1.19 TEST_FEATURE_GATES=CSIStorageCapacity=true,GenericEphemeralVolume=true TEST_PMEM_REGISTRY=intel
make start && echo && test/setup-deployment.sh
ΠΠ°ΠΊΠΎΠ½ ΡΡΠΎ ΡΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠ΅, ΠΈΠ·Π»Π°Π· ΡΠ΅ ΡΠ°Π΄ΡΠΆΠ°ΡΠΈ ΡΠΏΡΡΡΡΠ²Π° Π·Π° ΡΠΏΠΎΡΡΠ΅Π±Ρ:
The test cluster is ready. Log in with [...]/pmem-csi/_work/pmem-govm/ssh.0, run
kubectl once logged in. Alternatively, use kubectl directly with the
following env variable:
KUBECONFIG=[...]/pmem-csi/_work/pmem-govm/kube.config
secret/pmem-csi-registry-secrets created
secret/pmem-csi-node-secrets created
serviceaccount/pmem-csi-controller created
...
To try out the pmem-csi driver ephemeral volumes:
cat deploy/kubernetes-1.19/pmem-app-ephemeral.yaml |
[...]/pmem-csi/_work/pmem-govm/ssh.0 kubectl create -f -
ΠΠ±ΡΠ΅ΠΊΡΠΈ Π¦Π‘ΠΠ‘ΡΠΎΡΠ°Π³Π΅Π¦Π°ΠΏΠ°ΡΠΈΡΠΈ Π½ΠΈΡΡ ΠΏΡΠ΅Π΄Π²ΠΈΡΠ΅Π½ΠΈ Π΄Π° ΠΈΡ ΡΠΈΡΠ°ΡΡ ΡΡΠ΄ΠΈ, ΡΠ°ΠΊΠΎ Π΄Π° ΡΠ΅ ΠΏΠΎΡΡΠ΅Π±Π½Π° Π½Π΅ΠΊΠ° ΠΎΠ±ΡΠ°Π΄Π°. Π€ΠΈΠ»ΡΠ΅ΡΠΈ ΠΠΎΠ»Π°Π½Π³ ΡΠ°Π±Π»ΠΎΠ½Π° ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°ΡΠΈ ΠΊΠ»Π°ΡΠ΅ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ΡΠ°, ΠΎΠ²Π°Ρ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°ΡΠΈ Π½Π°Π·ΠΈΠ², ΡΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΡΡ ΠΈ ΠΊΠ°ΠΏΠ°ΡΠΈΡΠ΅Ρ:
$ kubectl get
-o go-template='{{range .items}}{{if eq .storageClassName "pmem-csi-sc-late-binding"}}{{.metadata.name}} {{.nodeTopology.matchLabels}} {{.capacity}}
{{end}}{{end}}'
csistoragecapacities
csisc-2js6n map[pmem-csi.intel.com/node:pmem-csi-pmem-govm-worker2] 30716Mi
csisc-sqdnt map[pmem-csi.intel.com/node:pmem-csi-pmem-govm-worker1] 30716Mi
csisc-ws4bv map[pmem-csi.intel.com/node:pmem-csi-pmem-govm-worker3] 30716Mi
ΠΠ΅Π΄Π°Π½ ΠΎΠ±ΡΠ΅ΠΊΠ°Ρ ΠΈΠΌΠ° ΡΠ»Π΅Π΄Π΅ΡΠΈ ΡΠ°Π΄ΡΠΆΠ°Ρ:
$ kubectl describe csistoragecapacities/csisc-6cw8j
Name: csisc-sqdnt
Namespace: default
Labels: <none>
Annotations: <none>
API Version: storage.k8s.io/v1alpha1
Capacity: 30716Mi
Kind: CSIStorageCapacity
Metadata:
Creation Timestamp: 2020-08-11T15:41:03Z
Generate Name: csisc-
Managed Fields:
...
Owner References:
API Version: apps/v1
Controller: true
Kind: StatefulSet
Name: pmem-csi-controller
UID: 590237f9-1eb4-4208-b37b-5f7eab4597d1
Resource Version: 2994
Self Link: /apis/storage.k8s.io/v1alpha1/namespaces/default/csistoragecapacities/csisc-sqdnt
UID: da36215b-3b9d-404a-a4c7-3f1c3502ab13
Node Topology:
Match Labels:
pmem-csi.intel.com/node: pmem-csi-pmem-govm-worker1
Storage Class Name: pmem-csi-sc-late-binding
Events: <none>
Π₯Π°ΡΠ΄Π΅ Π΄Π° ΠΏΠΎΠΊΡΡΠ°ΠΌΠΎ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΠΌΠΎ Π΄Π΅ΠΌΠΎ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΡ ΡΠ° ΡΠ΅Π΄Π½ΠΈΠΌ Π΅ΡΠ΅ΠΌΠ΅ΡΠ½ΠΈΠΌ Π²ΠΎΠ»ΡΠΌΠ΅Π½ΠΎΠΌ ΠΎΠΏΡΡΠ΅ Π½Π°ΠΌΠ΅Π½Π΅. Π‘Π°Π΄ΡΠΆΠ°Ρ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ΅ pmem-app-ephemeral.yaml
:
# This example Pod definition demonstrates
# how to use generic ephemeral inline volumes
# with a PMEM-CSI storage class.
kind: Pod
apiVersion: v1
metadata:
name: my-csi-app-inline-volume
spec:
containers:
- name: my-frontend
image: intel/pmem-csi-driver-test:v0.7.14
command: [ "sleep", "100000" ]
volumeMounts:
- mountPath: "/data"
name: my-csi-volume
volumes:
- name: my-csi-volume
ephemeral:
volumeClaimTemplate:
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 4Gi
storageClassName: pmem-csi-sc-late-binding
ΠΠ°ΠΊΠΎΠ½ ΠΊΡΠ΅ΠΈΡΠ°ΡΠ°, ΠΊΠ°ΠΎ ΡΡΠΎ ΡΠ΅ ΠΏΡΠΈΠΊΠ°Π·Π°Π½ΠΎ Ρ ΡΠΏΡΡΡΡΠ²ΠΈΠΌΠ° ΠΈΠ·Π½Π°Π΄, ΡΠ°Π΄Π° ΠΈΠΌΠ°ΠΌΠΎ Π΄ΠΎΠ΄Π°ΡΠ½Ρ ΠΏΠΎΠ΄Π½Ρ ΠΈ ΠΠΠ¦:
$ kubectl get pods/my-csi-app-inline-volume -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
my-csi-app-inline-volume 1/1 Running 0 6m58s 10.36.0.2 pmem-csi-pmem-govm-worker1 <none> <none>
$ kubectl get pvc/my-csi-app-inline-volume-my-csi-volume
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
my-csi-app-inline-volume-my-csi-volume Bound pvc-c11eb7ab-a4fa-46fe-b515-b366be908823 4Gi RWO pmem-csi-sc-late-binding 9m21s
ΠΠ»Π°ΡΠ½ΠΈΠΊ ΠΠΠ¦-Π° - ΠΏΠΎΠ΄:
$ kubectl get -o yaml pvc/my-csi-app-inline-volume-my-csi-volume
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
annotations:
pv.kubernetes.io/bind-completed: "yes"
pv.kubernetes.io/bound-by-controller: "yes"
volume.beta.kubernetes.io/storage-provisioner: pmem-csi.intel.com
volume.kubernetes.io/selected-node: pmem-csi-pmem-govm-worker1
creationTimestamp: "2020-08-11T15:44:57Z"
finalizers:
- kubernetes.io/pvc-protection
managedFields:
...
name: my-csi-app-inline-volume-my-csi-volume
namespace: default
ownerReferences:
- apiVersion: v1
blockOwnerDeletion: true
controller: true
kind: Pod
name: my-csi-app-inline-volume
uid: 75c925bf-ca8e-441a-ac67-f190b7a2265f
...
ΠΡΠ΅ΠΊΠΈΠ²Π°Π½ΠΎ Π°ΠΆΡΡΠΈΡΠ°Π½Π΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΠ΅ Π·Π° pmem-csi-pmem-govm-worker1
:
csisc-2js6n map[pmem-csi.intel.com/node:pmem-csi-pmem-govm-worker2] 30716Mi
csisc-sqdnt map[pmem-csi.intel.com/node:pmem-csi-pmem-govm-worker1] 26620Mi
csisc-ws4bv map[pmem-csi.intel.com/node:pmem-csi-pmem-govm-worker3] 30716Mi
ΠΠΊΠΎ Π΄ΡΡΠ³ΠΎΡ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠΈ ΡΡΠ΅Π±Π° Π²ΠΈΡΠ΅ ΠΎΠ΄ 26620ΠΠΈ, ΠΏΠ»Π°Π½Π΅Ρ Π½Π΅ΡΠ΅ ΡΠ·Π΅ΡΠΈ Ρ ΠΎΠ±Π·ΠΈΡ pmem-csi-pmem-govm-worker1
Ρ ΡΠ²Π°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°ΡΡ.
Π¨ΡΠ° ΡΠ΅ ΡΠ»Π΅Π΄Π΅ΡΠ΅?
ΠΠ±Π΅ ΡΡΠ½ΠΊΡΠΈΡΠ΅ ΡΡ ΡΠΎΡ Ρ ΡΠ°Π·Π²ΠΎΡΡ. ΠΠ΅ΠΊΠΎΠ»ΠΈΠΊΠΎ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° ΡΠ΅ ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΎ ΡΠΎΠΊΠΎΠΌ Π°Π»ΡΠ° ΡΠ΅ΡΡΠΈΡΠ°ΡΠ°. ΠΠΈΠ½ΠΊΠΎΠ²ΠΈ ΠΏΡΠ΅Π΄Π»ΠΎΠ³Π° ΠΏΠΎΠ±ΠΎΡΡΠ°ΡΠ° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡΡΡ ΠΏΠΎΡΠ°ΠΎ ΠΊΠΎΡΠΈ ΡΡΠ΅Π±Π° Π΄Π° ΡΠ΅ ΡΡΠ°Π΄ΠΈ Π΄Π° Π±ΠΈ ΡΠ΅ ΠΏΡΠ΅ΡΠ»ΠΎ Ρ Π±Π΅ΡΠ° ΡΠ°Π·Ρ, ΠΊΠ°ΠΎ ΠΈ ΠΊΠΎΡΠ΅ ΡΡ Π°Π»ΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π΅ Π²Π΅Ρ ΡΠ°Π·ΠΌΠΎΡΡΠ΅Π½Π΅ ΠΈ ΠΎΠ΄Π±ΠΈΡΠ΅Π½Π΅:
-
ΠΠΠ-1698: Π³Π΅Π½Π΅ΡΠΈΡΠΊΠΈ Π΅ΡΠ΅ΠΌΠ΅ΡΠ½ΠΈ ΠΈΠ½Π»ΠΈΠ½Π΅ Π²ΠΎΠ»ΡΠΌΠ΅Π½ΠΈ -
ΠΠΠ-1472: ΠΡΠ°ΡΠ΅ΡΠ΅ ΠΊΠ°ΠΏΠ°ΡΠΈΡΠ΅ΡΠ° ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ΡΠ°
ΠΠ·Π²ΠΎΡ: Π²Π²Π².Ρ Π°Π±Ρ.ΡΠΎΠΌ