рдЖрдореНтАНрд╣рд╛рд▓рд╛ рд╣реЗ рдЬрд╛рд╣реАрд░ рдХрд░рддрд╛рдирд╛ рдЖрдирдВрдж рд╣реЛрдд рдЖрд╣реЗ рдХреА рдлреНрд▓реЕрдВрдЯ рдХреБрдмреЗрд░реНрдиреЗрдЯреНрд╕рд╕рд╛рдареА рдореБрдХреНрдд рд╕реНрд░реЛрдд рд╕рд╛рдзрдирд╛рдВрдордзреНтАНрдпреЗ рдЖрдкрд▓реЗ рдпреЛрдЧрджрд╛рди рд╡рд╛рдврд╡рдд рдЖрд╣реЗ.
рдкрд░рдВрддреБ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдЪреНрдпрд╛ рддрдкрд╢реАрд▓рд╛рдВрдХрдбреЗ рдЬрд╛рдгреНрдпрд╛рдкреВрд░реНрд╡реА, рдпрд╛рдВрдбреЗрдХреНрд╕рдордзреНрдпреЗ рдЖрдзреАрдкрд╛рд╕реВрдирдЪ рд╕реЗрд╡рд╛ рдЕрд╕рддрд╛рдирд╛ рдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХрд╛ рдЖрд╣реЗ рдпрд╛ рдкреНрд░рд╢реНрдирд╛рдЪреЗ рдЙрддреНрддрд░ рджреНрдпрд╛.
рдкрд░рд┐рдЪрдп
рд╣реЗ рдХрд╛?
рдЖрдордЪреНрдпрд╛ рдХрдВрдкрдиреАрдордзреНрдпреЗ, рдЙрддреНрдкрд╛рджрдирд╛рдордзреНрдпреЗ рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдЕрдЧрджреА рд╕реБрд░реБрд╡рд╛рддреАрдкрд╛рд╕реВрдирдЪ (рдореНрд╣рдгрдЬреЗрдЪ рдЖрддрд╛ рдЕрдиреЗрдХ рд╡рд░реНрд╖рд╛рдВрдкрд╛рд╕реВрди), рдЖрдореНрд╣реА рдЖрдордЪреЗ рд╕реНрд╡рддрдГрдЪреЗ рд╕рд╛рдзрди (рдбреЗрдХрд╣рд╛рдКрд╕) рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдд рдЖрд╣реЛрдд, рдЬреЗ рдЖрдореНрд╣реА рд▓рд╡рдХрд░рдЪ рдореБрдХреНрдд рд╕реНрд░реЛрдд рдкреНрд░рдХрд▓реНрдк рдореНрд╣рдгреВрди рдЙрдкрд▓рдмреНрдз рдХрд░реВрди рджреЗрдгреНрдпрд╛рдЪреА рдпреЛрдЬрдирд╛ рдЖрдЦрдд рдЖрд╣реЛрдд. . рддреНрдпрд╛рдЪреНрдпрд╛ рдорджрддреАрдиреЗ, рдЖрдореНрд╣реА рдЖрдордЪреЗ рд╕рд░реНрд╡ рдХреНрд▓рд╕реНрдЯрд░ рдПрдХрд╕рдорд╛рдирдкрдгреЗ рдХреЙрдиреНрдлрд┐рдЧрд░ рдЖрдгрд┐ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рддреЛ рдЖрдгрд┐ рд╕рдзреНрдпрд╛ рддреНрдпрд╛рдкреИрдХреА 100 рд╣реВрди рдЕрдзрд┐рдХ рд╣рд╛рд░реНрдбрд╡реЗрдЕрд░ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рдирдЪреНрдпрд╛ рд╡рд┐рд╡рд┐рдз рдкреНрд░рдХрд╛рд░рд╛рдВрд╡рд░ рдЖрдгрд┐ рд╕рд░реНрд╡ рдЙрдкрд▓рдмреНрдз рдХреНрд▓рд╛рдЙрдб рд╕реЗрд╡рд╛рдВрдордзреНрдпреЗ рдЖрдзреАрдкрд╛рд╕реВрдирдЪ рдЖрд╣реЗрдд.
рдбреЗрдХрд╣рд╛рдКрд╕ рд╡рд╛рдкрд░рдгрд╛рд▒реНрдпрд╛ рдХреНрд▓рд╕реНрдЯрд░реНрд╕рдордзреНрдпреЗ рдСрдкрд░реЗрд╢рдирд╕рд╛рдареА рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рд▓реЗрд▓реЗ рд╕рд░реНрд╡ рдШрдЯрдХ рдЕрд╕рддрд╛рдд: рдмреЕрд▓рдиреНрд╕рд░, рд╕реЛрдпреАрд╕реНрдХрд░ рдЪрд╛рд░реНрдЯрд╕рд╣ рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ, рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдЖрдгрд┐ рдЕреЕрд▓рд░реНрдЯреНрд╕, рд╕рд░реНрд╡ рдбреЕрд╢рдмреЛрд░реНрдбреНрд╕рдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдмрд╛рд╣реНрдп рдкреНрд░рджрд╛рддреНрдпрд╛рдВрджреНрд╡рд╛рд░реЗ рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдЗ. рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рд╕реЛрд▓реНрдпреВрд╢рдирдордзреНрдпреЗ рдЕрд╕реЗ "рдкрдВрдк рдЕрдк" рдХреНрд▓рд╕реНрдЯрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреНрдпрд╛рдд рдХрд╛рд╣реА рдЕрд░реНрде рдирд╛рд╣реА, рдХрд╛рд░рдг рд╣реЗ рдПрдХрддрд░ рдЕрд╢рдХреНрдп рдЖрд╣реЗ рдХрд┐рдВрд╡рд╛ рдЕрд░реНрдзреЗ рдШрдЯрдХ рдЕрдХреНрд╖рдо рдХрд░рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░реЗрд▓.
NB: рд╣рд╛ рдЖрдордЪрд╛ рдЕрдиреБрднрд╡ рдЖрд╣реЗ рдЖрдгрд┐ рддреЛ рдЕрдЧрджреА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЖрд╣реЗ. рдЖрдореНрд╣реА рдХреЛрдгрддреНрдпрд╛рд╣реА рдкреНрд░рдХрд╛рд░реЗ рдЕрд╕реЗ рд╕реБрдЪрд╡рдд рдирд╛рд╣реА рдХреА рдкреНрд░рддреНрдпреЗрдХрд╛рдиреЗ рддрдпрд╛рд░-рддрдпрд╛рд░ рдЙрдкрд╛рдп рд╡рд╛рдкрд░рдгреНрдпрд╛рдРрд╡рдЬреА рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдХреНрд▓рд╕реНрдЯрд░реНрд╕ рд╕реНрд╡рддрдГрд╣реВрди рддреИрдирд╛рдд рдХрд░рд╛рд╡реЗрдд. рддрд╕реЗ, рдЖрдореНрд╣рд╛рд▓рд╛ Yandex рд╡рд░реВрди Kubernetes рдСрдкрд░реЗрдЯ рдХрд░рдгреНрдпрд╛рдЪрд╛ рдХреЛрдгрддрд╛рд╣реА рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЕрдиреБрднрд╡ рдирд╛рд╣реА рдЖрдгрд┐ рдЖрдореНрд╣реА рдпрд╛ рд▓реЗрдЦрд╛рдд рдпрд╛ рд╕реЗрд╡реЗрдЪреЗ рдХреЛрдгрддреЗрд╣реА рдореВрд▓реНрдпрд╛рдВрдХрди рджреЗрдгрд╛рд░ рдирд╛рд╣реА.
рддреЗ рдХрд╛рдп рдЖрдгрд┐ рдХреЛрдгрд╛рд╕рд╛рдареА рдЖрд╣реЗ?
рддрд░, рдЖрдореНрд╣реА рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдордзреАрд▓ рд╕реНрдЯреЛрд░реЗрдЬрдЪреНрдпрд╛ рдЖрдзреБрдирд┐рдХ рджреГрд╖реНрдЯрд┐рдХреЛрдирд╛рдмрджреНрджрд▓ рдЖрдзреАрдЪ рдмреЛрд▓рд▓реЛ рдЖрд╣реЛрдд:
рд╕рдзреНрдпрд╛, рдмрд░реНтАНрдпрд╛рдЪ рдореЛрдареНрдпрд╛ рдХреНрд▓рд╛рдЙрдб рд╕реЗрд╡рд╛ рдкреНрд░рджрд╛рддреНрдпрд╛рдВрдиреА рддреНрдпрд╛рдВрдЪреНрдпрд╛ рдХреНрд▓рд╛рдЙрдб рдбрд┐рд╕реНрдХрдЪрд╛ рд╡рд╛рдкрд░ рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдордзреНрдпреЗ рдкрд░реНрд╕рд┐рд╕реНрдЯрдВрдЯ рд╡реНрд╣реЙрд▓реНрдпреВрдо рдореНрд╣рдгреВрди рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдбреНрд░рд╛рдпрд╡реНрд╣рд░реНрд╕ рд╡рд┐рдХрд╕рд┐рдд рдХреЗрд▓реЗ рдЖрд╣реЗрдд. рдЬрд░ рдкреБрд░рд╡рдард╛рджрд╛рд░рд╛рдХрдбреЗ рдЕрд╕рд╛ рдбреНрд░рд╛рдпрд╡реНрд╣рд░ рдирд╕реЗрд▓, рдкрд░рдВрддреБ рд╕рд░реНрд╡ рдЖрд╡рд╢реНрдпрдХ рдХрд╛рд░реНрдпреЗ API рджреНрд╡рд╛рд░реЗ рдкреНрд░рджрд╛рди рдХреЗрд▓реА рдЧреЗрд▓реА рдЕрд╕рддреАрд▓, рддрд░ рдбреНрд░рд╛рдпрд╡реНрд╣рд░ рд╕реНрд╡рддрдГ рд▓рд╛рдЧреВ рдХрд░рдгреНрдпрд╛рдкрд╛рд╕реВрди рдХрд╛рд╣реАрд╣реА рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХрд░рдд рдирд╛рд╣реА. Yandex.Cloud рд╕рд╣ рдЕрд╕реЗрдЪ рдШрдбрд▓реЗ.
рдЖрдореНрд╣реА рд╡рд┐рдХрд╛рд╕рд╛рдЪрд╛ рдЖрдзрд╛рд░ рдШреЗрддрд▓рд╛ Operation
рджреАрд░реНрдШрдХрд╛рд│ рдЪрд╛рд▓рдгрд╛рд▒реНрдпрд╛ рдСрдкрд░реЗрд╢рдиреНрд╕рдЪреНрдпрд╛ рд╕реНрдерд┐рддреАрдЪрд╛ рдорд╛рдЧреЛрд╡рд╛ рдШреЗрдгреНрдпрд╛рд╕рд╛рдареА (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдирд╡реАрди рдбрд┐рд╕реНрдХ рддрдпрд╛рд░ рдХрд░рдгреЗ). Yandex.Cloud API рд╕рд╣ рд╕рдВрд╡рд╛рдж рд╕рд╛рдзрдгреНрдпрд╛рд╕рд╛рдареА, рд╡рд╛рдкрд░рд╛
рдХреЗрд▓реЗрд▓реНрдпрд╛ рдХрд╛рдорд╛рдЪреЗ рдлрд│
рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА
рдореБрдЦреНрдп рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ
рд╕рдзреНрдпрд╛ рдбреНрд░рд╛рдпрд╡реНрд╣рд░ рдЦрд╛рд▓реАрд▓ рдлрдВрдХреНрд╢рдиреНрд╕рдирд╛ рд╕рдкреЛрд░реНрдЯ рдХрд░рддреЛ:
- рдХреНрд▓рд╕реНрдЯрд░рдордзреАрд▓ рдиреЛрдбреНрд╕рдЪреНрдпрд╛ рдЯреЛрдкреЛрд▓реЙрдЬреАрдиреБрд╕рд╛рд░ рдХреНрд▓рд╕реНрдЯрд░рдЪреНрдпрд╛ рд╕рд░реНрд╡ рдЭреЛрдирдордзреНрдпреЗ рдбрд┐рд╕реНрдХ рдСрд░реНрдбрд░ рдХрд░рдгреЗ;
- рдкреВрд░реНрд╡реА рдСрд░реНрдбрд░ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдбрд┐рд╕реНрдХ рдХрд╛рдвреВрди рдЯрд╛рдХрдд рдЖрд╣реЗ;
- рдбрд┐рд╕реНрдХрд╕рд╛рдареА рдСрдлрд▓рд╛рдЗрди рдЖрдХрд╛рд░ рдмрджрд▓рд╛ (Yandex.Cloud
рд╕рдорд░реНрдерди рдХрд░реВ рдирдХрд╛ рд╡рд░реНрдЪреНрдпреБрдЕрд▓ рдорд╢реАрдирд╡рд░ рдЖрд░реЛрд╣рд┐рдд рдбрд┐рд╕реНрдХ рд╡рд╛рдврд╡рдгреЗ). рдЖрдХрд╛рд░ рдмрджрд▓рдгреЗ рд╢рдХреНрдп рддрд┐рддрдХреЗ рд╡реЗрджрдирд╛рд░рд╣рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдбреНрд░рд╛рдпрд╡реНрд╣рд░рд▓рд╛ рдХрд╕реЗ рдмрджрд▓ рдХрд░рд╛рд╡реЗ рд▓рд╛рдЧрд▓реЗ рдпрд╛ рдорд╛рд╣рд┐рддреАрд╕рд╛рдареА, рдЦрд╛рд▓реА рдкрд╣рд╛.
рднрд╡рд┐рд╖реНрдпрд╛рдд, рдЖрдореНрд╣реА рдбрд┐рд╕реНрдХ рд╕реНрдиреЕрдкрд╢реЙрдЯ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рд╣рдЯрд╡рдгреНрдпрд╛рд╕рд╛рдареА рд╕рдорд░реНрдерди рд▓рд╛рдЧреВ рдХрд░рдгреНрдпрд╛рдЪреА рдпреЛрдЬрдирд╛ рдЖрдЦрдд рдЖрд╣реЛрдд.
рдореБрдЦреНрдп рдЕрдбрдЪрдг рдЖрдгрд┐ рддреНрдпрд╛рд╡рд░ рдорд╛рдд рдХрд╢реА рдХрд░рд╛рд╡реА
Yandex.Cloud API рдордзреНрдпреЗ рд░рд┐рдЕрд▓ рдЯрд╛рдЗрдордордзреНрдпреЗ рдбрд┐рд╕реНрдХ рд╡рд╛рдврд╡рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ рдирд╕рдгреЗ рд╣реА рдПрдХ рдорд░реНрдпрд╛рджрд╛ рдЖрд╣реЗ рдЬреА PV (рдкрд░рд╕рд┐рд╕реНрдЯрдВрдЯ рд╡реНрд╣реЙрд▓реНрдпреВрдо) рд╕рд╛рдареА рдЖрдХрд╛рд░ рдмрджрд▓рдгреНрдпрд╛рдЪреНрдпрд╛ рдСрдкрд░реЗрд╢рдирд▓рд╛ рдЧреБрдВрддрд╛рдЧреБрдВрдд рдХрд░рддреЗ: рдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд, рдбрд┐рд╕реНрдХ рд╡рд╛рдкрд░рдгрд╛рд░реЗ рдНрдкреНрд▓рд┐рдХреЗрд╢рди рдкреЙрдб рдерд╛рдВрдмрд╡рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ, рдЖрдгрд┐ рдпрд╛рдореБрд│реЗ рдбрд╛рдЙрдирдЯрд╛рдЗрдо рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╣реЛрдК рд╢рдХрддрд╛рдд.
рдорддреЗ VolumeExpansion.OFFLINE
), рдирдВрддрд░ рдбрд┐рд╕реНрдХ рд╡рд╛рдврд╡рдгреНрдпрд╛рдЪреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдпрд╛рдкреНрд░рдорд╛рдгреЗ рдЪрд╛рд▓рд▓реА рдкрд╛рд╣рд┐рдЬреЗ:
рдкреНрд▓рдЧрдЗрдирдордзреНрдпреЗ рдлрдХреНрдд рдЕрд╕рд▓реНрдпрд╛рд╕
VolumeExpansion.OFFLINE
рд╡рд┐рд╕реНрддрд╛рд░ рдХреНрд╖рдорддрд╛ рдЖрдгрд┐ рд╡реНрд╣реЙрд▓реНрдпреВрдо рд╕рдзреНрдпрд╛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдЖрд╣реЗ рдХрд┐рдВрд╡рд╛ рдирдВрддрд░ рдиреЛрдбрд╡рд░ рдЙрдкрд▓рдмреНрдз рдЖрд╣реЗControllerExpandVolume
рдПрдХрддрд░ рдирдВрддрд░рдЪ рдХреЙрд▓ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ:
- рдкреНрд▓рдЧрдЗрдирдордзреНрдпреЗ рдХрдВрдЯреНрд░реЛрд▓рд░ рдЖрд╣реЗ
PUBLISH_UNPUBLISH_VOLUME
рдХреНрд╖рдорддрд╛ рдЖрдгрд┐ControllerUnpublishVolume
рдпрд╢рд╕реНрд╡реАрд░рд┐рддреНрдпрд╛ рдЖрдордВрддреНрд░рд┐рдд рдХреЗрд▓реЗ рдЖрд╣реЗ.рдХрд┐рдВрд╡рд╛ рдЗрддрд░
- рдкреНрд▓рдЧрдЗрдирдордзреНрдпреЗ рдХрдВрдЯреНрд░реЛрд▓рд░ рдирд╛рд╣реА
PUBLISH_UNPUBLISH_VOLUME
рдХреНрд╖рдорддрд╛, рдкреНрд▓рдЧрдЗрдирдордзреНрдпреЗ рдиреЛрдб рдЖрд╣реЗSTAGE_UNSTAGE_VOLUME
рдХреНрд╖рдорддрд╛, рдЖрдгрд┐NodeUnstageVolume
рдпрд╢рд╕реНрд╡реАрд░рд┐рддреНрдпрд╛ рдкреВрд░реНрдг рдХреЗрд▓реЗ рдЖрд╣реЗ.рдХрд┐рдВрд╡рд╛ рдЗрддрд░
- рдкреНрд▓рдЧрдЗрдирдордзреНрдпреЗ рдХрдВрдЯреНрд░реЛрд▓рд░ рдирд╛рд╣реА
PUBLISH_UNPUBLISH_VOLUME
рдХреНрд╖рдорддрд╛, рдХрд┐рдВрд╡рд╛ рдиреЛрдбSTAGE_UNSTAGE_VOLUME
рдХреНрд╖рдорддрд╛, рдЖрдгрд┐NodeUnpublishVolume
рдпрд╢рд╕реНрд╡реАрд░рд┐рддреНрдпрд╛ рдкреВрд░реНрдг рдХреЗрд▓реЗ рдЖрд╣реЗ.
рдпрд╛рдЪрд╛ рдЕрд░реНрде рдЕрд╕рд╛ рд╣реЛрддреЛ рдХреА рддреБрдореНрд╣рд╛рд▓рд╛ рдбрд┐рд╕реНрдХ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд░рдгреНрдпрд╛рдкреВрд░реНрд╡реА рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рдорд╢реАрдирдордзреВрди рд╡реЗрдЧрд│реЗ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.
рддрдерд╛рдкрд┐, рджреБрд░реНрджреИрд╡рд╛рдиреЗ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рд╕рд╛рдЗрдбрдХрд╛рд░рджреНрд╡рд╛рд░реЗ CSI рддрдкрд╢реАрд▓ рдпрд╛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдкреВрд░реНрдг рдХрд░рдд рдирд╛рд╣реАрдд:
- рд╕рд╛рдЗрдбрдХрд╛рд░ рдХрдВрдЯреЗрдирд░рдордзреНрдпреЗ
csi-attacher
, рдЬреЗ рдорд╛рдЙрдВрдЯреНрд╕рдордзреАрд▓ рдЖрд╡рд╢реНрдпрдХ рдЕрдВрддрд░рд╛рдЪреНрдпрд╛ рдЙрдкрд╕реНрдерд┐рддреАрд╕рд╛рдареА рдЬрдмрд╛рдмрджрд╛рд░ рдЕрд╕рд▓реЗ рдкрд╛рд╣рд┐рдЬреЗ, рд╣реА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдлрдХреНрдд рдСрдлрд▓рд╛рдЗрди рдЖрдХрд╛рд░рд╛рдд рд▓рд╛рдЧреВ рдХреЗрд▓реА рдЬрд╛рдд рдирд╛рд╣реА. рдпрд╛рдмрд╛рдмрдд рдЪрд░реНрдЪрд╛ рд╕реБрд░реВ рдЭрд╛рд▓реАрдпреЗрдереЗ . - рдпрд╛ рд╕рдВрджрд░реНрднрд╛рдд рд╕рд╛рдЗрдбрдХрд╛рд░ рдХрдВрдЯреЗрдирд░ рдореНрд╣рдгрдЬреЗ рдирдХреНрдХреА рдХрд╛рдп? CSI рдкреНрд▓рдЧрдЗрди рд╕реНрд╡рддрдГ Kubernetes API рд╢реА рд╕рдВрд╡рд╛рдж рд╕рд╛рдзрдд рдирд╛рд╣реА, рдкрд░рдВрддреБ рдлрдХреНрдд рд╕рд╛рдЗрдбрдХрд╛рд░ рдХрдВрдЯреЗрдирд░рджреНрд╡рд╛рд░реЗ рдкрд╛рдард╡рд▓реЗрд▓реНрдпрд╛ gRPC рдХреЙрд▓рд▓рд╛ рдкреНрд░рддрд┐рд╕рд╛рдж рджреЗрддреЗ. рдирд╡реАрдирддрдо
рд╡рд┐рдХрд╕рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рдд рдЖрд╣реЗрдд рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рд╕рдореБрджрд╛рдпрд╛рджреНрд╡рд╛рд░реЗ.
рдЖрдордЪреНрдпрд╛ рдмрд╛рдмрддреАрдд (CSI рдкреНрд▓рдЧрдЗрди), рдбрд┐рд╕реНрдХ рд╡рд╛рдврд╡рдгреНрдпрд╛рдЪреЗ рдСрдкрд░реЗрд╢рди рдЕрд╕реЗ рджрд┐рд╕рддреЗ:
- рдЖрдореНрд╣рд╛рд▓рд╛ gRPC рдХреЙрд▓ рдпреЗрддреЛ
ControllerExpandVolume
; - рдЖрдореНрд╣реА API рдордзреНрдпреЗ рдбрд┐рд╕реНрдХ рд╡рд╛рдврд╡рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░реАрдд рдЖрд╣реЛрдд, рдкрд░рдВрддреБ рдЖрдореНрд╣рд╛рд▓рд╛ рдСрдкрд░реЗрд╢рди рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдЕрд╢рдХреНрдпрддреЗрдмрджреНрджрд▓ рддреНрд░реБрдЯреА рдкреНрд░рд╛рдкреНрдд рдЭрд╛рд▓реА рдХрд╛рд░рдг рдбрд┐рд╕реНрдХ рдорд╛рдЙрдВрдЯ рдХреЗрд▓реА рдЖрд╣реЗ;
- рдЖрдореНрд╣реА рдбрд┐рд╕реНрдХ рдЖрдпрдбреЗрдВрдЯрд┐рдлрд╛рдпрд░ рдирдХрд╛рд╢рд╛рдордзреНрдпреЗ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рддреЛ, рдЬреНрдпрд╛рдордзреНрдпреЗ рдбрд┐рд╕реНрдХ рдЕрд╕рддрд╛рдд рдЬреНрдпрд╛рд╕рд╛рдареА рд╡рд╛рдв рдСрдкрд░реЗрд╢рди рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдЦрд╛рд▓реА, рд╕рдВрдХреНрд╖рд┐рдкреНрддрддреЗрд╕рд╛рдареА, рдЖрдореНрд╣реА рдпрд╛ рдирдХрд╛рд╢рд╛рд▓рд╛ рдЕрд╕реЗ рдореНрд╣рдгреВ
volumeResizeRequired
; - рдбрд┐рд╕реНрдХ рд╡рд╛рдкрд░рдд рдЕрд╕рд▓реЗрд▓рд╛ рдкреЙрдб рдореЕрдиреНрдпреБрдЕрд▓реА рдХрд╛рдврд╛. Kubernetes рддреЗ рд░реАрд╕реНрдЯрд╛рд░реНрдЯ рдХрд░реЗрд▓. рдЬреЗрдгреЗрдХрд░реВрди рдбрд┐рд╕реНрдХрд▓рд╛ рдорд╛рдЙрдВрдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡реЗрд│ рдирд╕реЗрд▓ (
ControllerPublishVolume
) рдорд╛рдЙрдВрдЯ рдХрд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░рддрд╛рдирд╛ рд╡рд╛рдвреАрд╡ рдСрдкрд░реЗрд╢рди рдкреВрд░реНрдг рдХрд░рдгреНрдпрд╛рдкреВрд░реНрд╡реА, рдЖрдореНрд╣реА рджрд┐рд▓реЗрд▓реА рдбрд┐рд╕реНрдХ рдЕрдЬреВрдирд╣реА рдЖрд╣реЗ рдХреА рдирд╛рд╣реА рд╣реЗ рддрдкрд╛рд╕рддреЛvolumeResizeRequired
рдЖрдгрд┐ рддреНрд░реБрдЯреА рдкрд░рдд рдХрд░рд╛; - CSI рдбреНрд░рд╛рдпрд╡реНрд╣рд░ рд░рд┐рд╕рд╛рдЗрдЬ рдСрдкрд░реЗрд╢рди рдкреБрдиреНрд╣рд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░рддреЛ. рдСрдкрд░реЗрд╢рди рдпрд╢рд╕реНрд╡реА рдЭрд╛рд▓реНрдпрд╛рд╕, рдирдВрддрд░ рдбрд┐рд╕реНрдХ рдХрд╛рдврд╛
volumeResizeRequired
; - рдХрд╛рд░рдг рдкрд╛рд╕реВрди рдбрд┐рд╕реНрдХ рдЖрдпрдбреА рдЧрд╣рд╛рд│ рдЖрд╣реЗ
volumeResizeRequired
,ControllerPublishVolume
рдпрд╢рд╕реНрд╡реАрд░рд┐рддреНрдпрд╛ рдкрд╛рд╕ рд╣реЛрддреЗ, рдбрд┐рд╕реНрдХ рдЖрд░реЛрд╣рд┐рдд рд╣реЛрддреЗ, рдкреЙрдб рд╕реБрд░реВ рд╣реЛрддреЗ.
рд╕рд░реНрд╡рдХрд╛рд╣реА рдкреБрд░реЗрд╕реЗ рд╕реЛрдкреЗ рджрд┐рд╕рддреЗ, рдкрд░рдВрддреБ рдиреЗрд╣рдореАрдкреНрд░рдорд╛рдгреЗрдЪ рддреЛрдЯреЗ рдЖрд╣реЗрдд. рдбрд┐рд╕реНрдХ рд╡рд╛рдврд╡рддреЗ
func DefaultControllerRateLimiter() RateLimiter {
return NewMaxOfRateLimiter(
NewItemExponentialFailureRateLimiter(5*time.Millisecond, 1000*time.Second),
// 10 qps, 100 bucket size. This is only for retry speed and its only the overall factor (not per item)
&BucketRateLimiter{Limiter: rate.NewLimiter(rate.Limit(10), 100)},
)
}
рдпрд╛рдЪрд╛ рдкрд░рд┐рдгрд╛рдо рд╡реЗрд│реЛрд╡реЗрд│реА рдбрд┐рд╕реНрдХ рд╡рд┐рд╕реНрддрд╛рд░ рдСрдкрд░реЗрд╢рди 15+ рдорд┐рдирд┐рдЯрд╛рдВрд╕рд╛рдареА рд╡рд╛рдврд╡рд┐рд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ рдЖрдгрд┐ рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ, рд╕рдВрдмрдВрдзрд┐рдд рдкреЙрдб рдЕрдиреБрдкрд▓рдмреНрдз рдЖрд╣реЗ.
рдПрдХрдорд╛рддреНрд░ рдкрд░реНрдпрд╛рдп рдЬреНрдпрд╛рдиреЗ рдЖрдореНрд╣рд╛рд▓рд╛ рд╕рдВрднрд╛рд╡реНрдп рдбрд╛рдЙрдирдЯрд╛рдЗрдо рдХрдореА рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЕрдЧрджреА рд╕рд╣рдЬ рдЖрдгрд┐ рд╡реЗрджрдирд╛рд░рд╣рд┐рддрдкрдгреЗ рдкрд░рд╡рд╛рдирдЧреА рджрд┐рд▓реА рддреЛ рдореНрд╣рдгрдЬреЗ рдЖрдордЪреНрдпрд╛ рдмрд╛рд╣реНрдп-рд░рд┐рд╕рд╛рдпрдЭрд░рдЪреНрдпрд╛ рдЖрд╡реГрддреНрддреАрдЪрд╛ рд╡рд╛рдкрд░ рдХрдорд╛рд▓ рдХрд╛рд▓рдмрд╛рд╣реНрдп рдорд░реНрдпрд╛рджреЗрд╕рд╣
workqueue.NewItemExponentialFailureRateLimiter(5*time.Millisecond, 5*time.Second)
рдЖрдореНрд╣реА рддреНрд╡рд░рд┐рдд рдЪрд░реНрдЪрд╛ рд╕реБрд░реВ рдХрд░рдгреЗ рдЖрдгрд┐ рдмрд╛рд╣реНрдп-рд░рд┐рд╕рд╛рдпрдЭрд░ рдкреЕрдЪ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдорд╛рдирд▓реЗ рдирд╛рд╣реА, рдХрд╛рд░рдг рдбрд┐рд╕реНрдХрдЪрд╛ рдСрдлрд▓рд╛рдЗрди рдЖрдХрд╛рд░ рдмрджрд▓рдгреЗ рд╣рд╛ рдПрдХ рдереНрд░реЛрдмреЕрдХ рдЖрд╣реЗ рдЬреЛ рд▓рд╡рдХрд░рдЪ рд╕рд░реНрд╡ рдХреНрд▓рд╛рдЙрдб рдкреНрд░рджрд╛рддреНрдпрд╛рдВрдХрдбреВрди рдЕрджреГрд╢реНрдп рд╣реЛрдИрд▓.
рд╡рд╛рдкрд░рдгреЗ рдХрд╕реЗ рд╕реБрд░реВ рдХрд░рд╛рд╡реЗ?
рдбреНрд░рд╛рдЗрд╡реНрд╣рд░рд▓рд╛ Kubernetes рдЖрд╡реГрддреНрддреА 1.15 рдЖрдгрд┐ рдЙрдЪреНрдЪ рд╡рд░ рд╕рдорд░реНрдерд┐рдд рдЖрд╣реЗ. рдбреНрд░рд╛рдпрд╡реНрд╣рд░рдиреЗ рдХрд╛рдо рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдЦрд╛рд▓реАрд▓ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдкреВрд░реНрдг рдХреЗрд▓реНрдпрд╛ рдкрд╛рд╣рд┐рдЬреЗрдд:
- рдлреНрд▓реЕрдЧ
--allow-privileged
рдореВрд▓реНрдпрд╛рд╡рд░ рд╕реЗрдЯ рдХрд░рд╛true
API рд╕рд░реНрд╡реНрд╣рд░ рдЖрдгрд┐ рдХреБрдмреЗрд▓реЗрдЯрд╕рд╛рдареА; - рд╕рдорд╛рд╡рд┐рд╖реНрдЯ
--feature-gates=VolumeSnapshotDataSource=true,KubeletPluginsWatcher=true,CSINodeInfo=true,CSIDriverRegistry=true
API рд╕рд░реНрд╡реНрд╣рд░ рдЖрдгрд┐ рдХреБрдмреЗрд▓реЗрдЯрд╕рд╛рдареА; - рдорд╛рдЙрдВрдЯ рдкреНрд░рд╕рд╛рд░ (
рдорд╛рдЙрдВрдЯ рдкреНрд░рд╕рд╛рд░ ) рдХреНрд▓рд╕реНрдЯрд░рд╡рд░ рд╕рдХреНрд╖рдо рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдбреЙрдХрд░ рд╡рд╛рдкрд░рддрд╛рдирд╛, рд╕рд╛рдорд╛рдпрд┐рдХ рдорд╛рдЙрдВрдЯреНрд╕рдирд╛ рдкрд░рд╡рд╛рдирдЧреА рджреЗрдгреНрдпрд╛рд╕рд╛рдареА рдбрд┐рдорди рдХреЙрдиреНрдлрд┐рдЧрд░ рдХреЗрд▓реЗ рдкрд╛рд╣рд┐рдЬреЗ.
рд╕реНрдерд╛рдкрдиреЗрд╕рд╛рдареА рд╕рд░реНрд╡ рдЖрд╡рд╢реНрдпрдХ рдкрд╛рд╡рд▓реЗ рд╕реНрд╡рддрдГ
рдбреНрд░рд╛рдпрд╡реНрд╣рд░рдиреЗ рдХрд╛рдо рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдкреБрдвреАрд▓ рдЧреЛрд╖реНрдЯреАрдВрдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЕрд╕реЗрд▓:
- рдореЕрдирд┐рдлреЗрд╕реНрдЯрдордзреНрдпреЗ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдЕрднрд┐рдЬреНрдЮрд╛рдкрдХ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рд╛ (
folder-id
) Yandex.Cloud (рджрд╕реНрддрдРрд╡рдЬреАрдХрд░рдг рдкрд╣рд╛ ); - Yandex.Cloud API рд╢реА рд╕рдВрд╡рд╛рдж рд╕рд╛рдзрдгреНрдпрд╛рд╕рд╛рдареА, CSI рдбреНрд░рд╛рдпрд╡реНрд╣рд░ рд╕реЗрд╡рд╛ рдЦрд╛рддреЗ рд╡рд╛рдкрд░рддреЛ. рдореЕрдирд┐рдлреЗрд╕реНрдЯрдордзреНрдпреЗ, рд╕рд┐рдХреНрд░реЗрдЯ рдкрд╛рд╕ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ
рдЕрдзрд┐рдХреГрдд рдХрд│рд╛ рд╕реЗрд╡рд╛ рдЦрд╛рддреНрдпрд╛рддреВрди. рджрд╕реНрддрдРрд╡рдЬреАрдХрд░рдг рдордзреНрдпреЗрд╡рд░реНрдгрди рдХреЗрд▓реЗ рдЖрд╣реЗ , рд╕реЗрд╡рд╛ рдЦрд╛рддреЗ рдХрд╕реЗ рддрдпрд╛рд░ рдХрд░рд╛рд╡реЗ рдЖрдгрд┐ рдХреА рдорд┐рд│рд╡рд╛.
рдПрдХрдВрджрд░реАрдд -
рдкреБрдвреАрд▓ рд╕рдорд░реНрдерди
рдкрд░рд┐рдгрд╛рдореА, рдЖрдореНрд╣реА рд╣реЗ рд▓рдХреНрд╖рд╛рдд рдШреЗрдК рдЗрдЪреНрдЫрд┐рддреЛ рдХреА рдЖрдореНрд╣реА рдпрд╛ CSI рдбреНрд░рд╛рдпрд╡реНрд╣рд░рдЪреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА Go рдордзреНрдпреЗ рдордЬреЗрджрд╛рд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд▓рд┐рд╣рд┐рдгреНрдпрд╛рдЪреНрдпрд╛ рдореЛрдареНрдпрд╛ рдЗрдЪреНрдЫреЗрдиреЗ рдХреЗрд▓реА рдирд╛рд╣реА, рдкрд░рдВрддреБ рдХрдВрдкрдиреАрдордзреНрдпреЗ рддрд╛рддрдбреАрдЪреА рдЧрд░рдЬ рдЕрд╕рд▓реНрдпрд╛рдиреЗ. рдЖрдордЪреА рд╕реНрд╡рддрдГрдЪреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рд░рд╛рдЦрдгреЗ рдЖрдореНрд╣рд╛рд▓рд╛ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд╡рд╛рдЯрдд рдирд╛рд╣реА, рдореНрд╣рдгреВрди рдЬрд░ Yandex рдиреЗ рд╕реНрд╡рд╛рд░рд╕реНрдп рджрд╛рдЦрд╡рд▓реЗ рдЖрдгрд┐ рдбреНрд░рд╛рдпрд╡реНрд╣рд░рд▓рд╛ рд╕рдорд░реНрдерди рджреЗрдгреЗ рд╕реБрд░реВ рдареЗрд╡рдгреНрдпрд╛рдЪрд╛ рдирд┐рд░реНрдгрдп рдШреЗрддрд▓рд╛, рддрд░ рдЖрдореНрд╣рд╛рд▓рд╛ рддреНрдпрд╛рдВрдЪреНрдпрд╛рдХрдбреЗ рднрд╛рдВрдбрд╛рд░ рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдХрд░рдгреНрдпрд╛рдд рдЖрдирдВрдж рд╣реЛрдИрд▓.
рдпрд╛рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд, рдпреЕрдиреНрдбреЗрдХреНрд╕рдХрдбреЗ рдХрджрд╛рдЪрд┐рдд рддреНрдпрд╛рдЪреНрдпрд╛ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдХреНрд▓рд╕реНрдЯрд░рдордзреНрдпреЗ рд╕реАрдПрд╕рдЖрдп рдбреНрд░рд╛рдпрд╡реНрд╣рд░рдЪреА рд╕реНрд╡рддрдГрдЪреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдЖрд╣реЗ, рдЬреА рдореБрдХреНрдд рд╕реНрддреНрд░реЛрддрд╛рдордзреНрдпреЗ рд╕реЛрдбрд▓реА рдЬрд╛рдК рд╢рдХрддреЗ. рдЖрдореНрд╣реА рд╣рд╛ рд╡рд┐рдХрд╛рд╕ рдкрд░реНрдпрд╛рдп рдЕрдиреБрдХреВрд▓ рдореНрд╣рдгреВрди рджреЗрдЦреАрд▓ рдкрд╛рд╣рддреЛ - рд╕рдореБрджрд╛рдп рддреГрддреАрдп-рдкрдХреНрд╖ рдХрдВрдкрдиреАрдХрдбреВрди рдирд╡реНрд╣реЗ рддрд░ рд╕реЗрд╡рд╛ рдкреНрд░рджрд╛рддреНрдпрд╛рдХрдбреВрди рд╕рд┐рджреНрдз рдбреНрд░рд╛рдпрд╡реНрд╣рд░ рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕ рд╕рдХреНрд╖рдо рдЕрд╕реЗрд▓.
PS
рдЖрдордЪреНрдпрд╛ рдмреНрд▓реЙрдЧрд╡рд░ рджреЗрдЦреАрд▓ рд╡рд╛рдЪрд╛:
- ┬л
Kubernetes рд╕реНрдЯреЛрд░реЗрдЬрд╕рд╛рдареА рд╡реНрд╣реЙрд▓реНрдпреВрдо рдкреНрд▓рдЧрдЗрди: Flexvolume рддреЗ CSI рдкрд░реНрдпрдВрдд "; - ┬л
рдЖрдореНрд╣реА рдХрдВрдЯреЗрдирд░ рд╕реНрдЯреЛрд░реЗрдЬ рдЗрдВрдЯрд░рдлреЗрд╕ рд╕рдордЬрддреЛ (рдХреЗрд╡рд│ рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдордзреНрдпреЗ рдирд╛рд╣реА) "; - ┬л
рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдХреНрд▓рд╕реНрдЯрд░ рддрдпрд╛рд░ рдХрд░рдгреЗ рд╕реЛрдкреЗ рдЖрдгрд┐ рд╕реЛрдпреАрдЪреЗ рдЖрд╣реЗ рдХрд╛? рдЕреЕрдбрдСрди-рдСрдкрд░реЗрдЯрд░рдЪреА рдШреЛрд╖рдгрд╛ рдХрд░рдд рдЖрд╣реЗ "; - ┬л
рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдЪрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдЖрдгрд┐ рдкреВрд░рдХ (рдкреБрдирд░рд╛рд╡рд▓реЛрдХрди рдЖрдгрд┐ рд╡реНрд╣рд┐рдбрд┐рдУ рдЕрд╣рд╡рд╛рд▓) ┬╗.
рд╕реНрддреНрд░реЛрдд: www.habr.com