Yandex.Cloud рдХреЗ рд▓рд┐рдП Kubernetes рдореЗрдВ рдПрдХ CSI рдбреНрд░рд╛рдЗрд╡рд░ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╣рдорд╛рд░рд╛ рдЕрдиреБрднрд╡



рд╣рдореЗрдВ рдпрд╣ рдШреЛрд╖рдгрд╛ рдХрд░рддреЗ рд╣реБрдП рдкреНрд░рд╕рдиреНрдирддрд╛ рд╣реЛ рд░рд╣реА рд╣реИ рдХрд┐ рдлреНрд▓реИрдВрдб Yandex.Cloud рдХреЗ рд▓рд┐рдП CSI (рдХрдВрдЯреЗрдирд░ рд╕реНрдЯреЛрд░реЗрдЬ рдЗрдВрдЯрд░рдлрд╝реЗрд╕) рдбреНрд░рд╛рдЗрд╡рд░ рдХрд╛ рдПрдХ рдЕрд▓реНрдлрд╛ рд╕рдВрд╕реНрдХрд░рдг рдЬрд╛рд░реА рдХрд░рдХреЗ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреЗ рд▓рд┐рдП рдУрдкрди рд╕реЛрд░реНрд╕ рдЯреВрд▓реНрд╕ рдореЗрдВ рдЕрдкрдиреЗ рдпреЛрдЧрджрд╛рди рдХреА рднрд░рдкрд╛рдИ рдХрд░ рд░рд╣рд╛ рд╣реИ ред

рд▓реЗрдХрд┐рди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡рд┐рд╡рд░рдг рдкрд░ рдЬрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо рдЗрд╕ рдкреНрд░рд╢реНрди рдХрд╛ рдЙрддреНрддрд░ рджреЗрдВрдЧреЗ рдХрд┐ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ рдЬрдм рдпрд╛рдВрдбреЗрдХреНрд╕ рдХреЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП рдкреНрд░рдмрдВрдзрд┐рдд рд╕реЗрд╡рд╛ рд╣реИ ред

рдкрд░рд┐рдЪрдп


рдРрд╕рд╛ рдХреНрдпреЛрдВ рд╣реИ?


рд╣рдорд╛рд░реА рдХрдВрдкрдиреА рдХреЗ рдЕрдВрджрд░, рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреА рд╢реБрд░реБрдЖрдд рд╕реЗ (рдпрд╛рдиреА рдХрдИ рд╡рд░реНрд╖реЛрдВ рдХреЗ рд▓рд┐рдП), рд╣рдорд╛рд░реЗ рдЕрдкрдиреЗ рдЙрдкрдХрд░рдг (рдбреЗрдХрд╣рд╛рдЙрд╕) рдХрд╛ рд╡рд┐рдХрд╛рд╕ рд╣реЛ рд░рд╣рд╛ рд╣реИ, рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ, рд╣рдо рдЬрд▓реНрдж рд╣реА рдПрдХ рдУрдкрди рд╕реЛрд░реНрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рднреА рдЙрдкрд▓рдмреНрдз рдХрд░рд╛рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВред рдЗрд╕рдХреА рдорджрдж рд╕реЗ, рд╣рдо рдЕрдкрдиреЗ рд╕рднреА рд╕рдореВрд╣реЛрдВ рдХреЛ рд╕рдорд╛рди рд░реВрдк рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЙрдирдореЗрдВ рд╕реЗ 100 рд╕реЗ рдЕрдзрд┐рдХ, рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ, рд╡рд┐рднрд┐рдиреНрди рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдФрд░ рд╕рднреА рдЙрдкрд▓рдмреНрдз рдХреНрд▓рд╛рдЙрдб рд╕реЗрд╡рд╛рдУрдВ рдореЗрдВ рд╣реИрдВред

рдбреЗрдХрд╣рд╛рдЙрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдХрд╛рдо рдХреЗ рд▓рд┐рдП рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдШрдЯрдХ рд╣реЛрддреЗ рд╣реИрдВ: рдмреИрд▓реЗрдВрд╕рд░, рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЪрд╛рд░реНрдЯ, рдореАрдЯреНрд░рд┐рдХ рдФрд░ рдЕрд▓рд░реНрдЯ рдХреЗ рд╕рд╛рде рдирд┐рдЧрд░рд╛рдиреА, тАЛтАЛрд╕рднреА рдбреИрд╢рдмреЛрд░реНрдб рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рд╣рд░реА рдкреНрд░рджрд╛рддрд╛рдУрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рдорд╛рдгреАрдХрд░рдг, рдФрд░ рдЗрд╕реА рддрд░рд╣ред рдЗрд╕ рддрд░рд╣ рдХреЗ "рдкрдВрдк-рдЕрдк" рдХреНрд▓рд╕реНрдЯрд░ рдХреЛ рдПрдХ рдкреНрд░рдмрдВрдзрд┐рдд рд╕рдорд╛рдзрд╛рди рдореЗрдВ рдбрд╛рд▓рдиреЗ рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЕрдХреНрд╕рд░ рдЕрд╕рдВрднрд╡ рд╣реИ рдпрд╛ рдШрдЯрдХреЛрдВ рдХреЗ рдЖрдзреЗ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред

NB : рдпрд╣ рд╣рдорд╛рд░рд╛ рдЕрдиреБрднрд╡ рд╣реИ, рдФрд░ рдпрд╣ рдХрд╛рдлреА рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реИред рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рд╣рдо рдпрд╣ рджрд╛рд╡рд╛ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рд╕рднреА рдХреЛ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рддреИрдпрд╛рд░ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреНрд▓рд╕реНрдЯрд░ рддреИрдирд╛рддреА рдореЗрдВ рд╕рдВрд▓рдЧреНрди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рд╡реИрд╕реЗ, рдпреИрдВрдбреЗрдХреНрд╕ рд╕реЗ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рд╕рдВрдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рдХрд╛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреЛрдИ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЕрдиреБрднрд╡ рдирд╣реАрдВ рд╣реИ рдФрд░ рд╣рдо рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдЗрд╕ рд╕реЗрд╡рд╛ рдХрд╛ рдХреЛрдИ рдореВрд▓реНрдпрд╛рдВрдХрди рдирд╣реАрдВ рджреЗрдВрдЧреЗред

рдпрд╣ рдХреНрдпрд╛ рд╣реИ рдФрд░ рдХрд┐рд╕рдХреЗ рд▓рд┐рдП рд╣реИ?


рдЗрд╕рд▓рд┐рдП, рд╣рдордиреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рднрдВрдбрд╛рд░рдг рдХреЗ рдЖрдзреБрдирд┐рдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХреА: рд╕реАрдПрд╕рдЖрдИ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╕рдореБрджрд╛рдп рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдкрд░ рдХреИрд╕реЗ рдЖрдпрд╛ ред

рд╡рд░реНрддрдорд╛рди рдореЗрдВ, рдХрдИ рдмрдбрд╝реЗ рдХреНрд▓рд╛рдЙрдб рд╕реЗрд╡рд╛ рдкреНрд░рджрд╛рддрд╛рдУрдВ рдиреЗ рдЕрдкрдиреЗ рдХреНрд▓рд╛рдЙрдб рдбреНрд░рд╛рдЗрд╡ рдХреЛ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рдПрдХ рдирд┐рд░рдВрддрд░ рд╡реЙрд▓реНрдпреВрдо рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рд╣реИред рдпрджрд┐ рдЖрдкреВрд░реНрддрд┐рдХрд░реНрддрд╛ рдХреЗ рдкрд╛рд╕ рдРрд╕рд╛ рдбреНрд░рд╛рдЗрд╡рд░ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдХрд╛рд░реНрдп рдПрдкреАрдЖрдИ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рдХреБрдЫ рднреА рдбреНрд░рд╛рдЗрд╡рд░ рдХреЛ рдЕрдкрдиреЗ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рд╕реЗ рд░реЛрдХрддрд╛ рд╣реИред рдФрд░ рдЗрд╕рд▓рд┐рдП рдпрд╣ Yandex.Cloud рдХреЗ рд╕рд╛рде рд╣реБрдЖред

рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрдзрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ, рд╣рдордиреЗ рдбрд┐рдЬрд┐рдЯрд▓рдСрдирд▓рд╛рдЗрди рдХреНрд▓рд╛рдЙрдб рдХреЗ рд▓рд┐рдП CSI рдбреНрд░рд╛рдЗрд╡рд░ рдФрд░ GCP рдХреЗ рд▓рд┐рдП рдбреНрд░рд╛рдЗрд╡рд░ рдХреЗ рдХреБрдЫ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЛ рд▓рд┐рдпрд╛ , рдХреНрдпреЛрдВрдХрд┐ рдЗрди рдмрд╛рджрд▓реЛрдВ рдХреЗ рдПрдкреАрдЖрдИ (Google рдФрд░ Yandex) рдореЗрдВ рдХрдИ рд╕рдорд╛рдирддрд╛рдПрдВ рд╣реИрдВред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдПрдкреАрдЖрдИ рдФрд░рдЬреАрд╕реАрдкреА , рдФрд░ рдпреИрдВрдбреЗрдХреНрд╕Operation рд▓рдВрдмреА рдЕрд╡рдзрд┐ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд╕реНрддреБ рд▓реМрдЯрд╛рддреЗ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдирдИ рдбрд┐рд╕реНрдХ рдХрд╛ рдирд┐рд░реНрдорд╛рдг)ред Yandex.Cloud рдПрдкреАрдЖрдИ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, Yandex.Cloud Go SDK рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ ред

рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдп рдХрд╛ рдкрд░рд┐рдгрд╛рдо GitHub рдкрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдпрд╣ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ Yandex.Cloud рдЖрднрд╛рд╕реА рдорд╢реАрдиреЛрдВ (рд▓реЗрдХрд┐рди рдПрдХ рддреИрдпрд╛рд░-рдХрд┐рдП рдЧрдП рдкреНрд░рдмрдВрдзрд┐рдд рдХреНрд▓рд╕реНрдЯрд░ рдирд╣реАрдВ) рдкрд░ Kubernetes рдХреА рдЕрдкрдиреА рд╕реНрдерд╛рдкрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ CSI рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбрд┐рд╕реНрдХ (рдСрд░реНрдбрд░) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди


рдкреНрд░рдореБрдЦ рд╡рд┐рд╢реЗрд╖рддрд╛рдРрдВ


рд╡рд░реНрддрдорд╛рди рдореЗрдВ, рдбреНрд░рд╛рдЗрд╡рд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ:

  • рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдиреЛрдбреНрд╕ рдХреА рдЯреЛрдкреЛрд▓реЙрдЬреА рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рд╕рднреА рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ рдбрд┐рд╕реНрдХ рдСрд░реНрдбрд░ рдХрд░рдирд╛;
  • рдкрд╣рд▓реЗ рд╕реЗ рдЖрджреЗрд╢рд┐рдд рдбрд┐рд╕реНрдХ рдХреЛ рд╣рдЯрд╛рдирд╛;
  • рдбрд┐рд╕реНрдХ рдХреЗ рд▓рд┐рдП рдСрдлрд╝рд▓рд╛рдЗрди рдЖрдХрд╛рд░ (рдпреИрдВрдбреЗрдХреНрд╕ред рдХреНрд▓рд╛рдЙрдб рдПрдХ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдкрд░ рд▓рдЧреЗ рдбрд┐рд╕реНрдХ рдореЗрдВ рд╡реГрджреНрдзрд┐ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ )ред рдХреИрд╕реЗ рд╕рдВрднрд╡ рдХреЗ рд░реВрдк рдореЗрдВ рджрд░реНрдж рд░рд╣рд┐рдд рд░реВрдк рд╕реЗ рдЖрдХрд╛рд░ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдбреНрд░рд╛рдЗрд╡рд░ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ, рдиреАрдЪреЗ рджреЗрдЦреЗрдВред

рднрд╡рд┐рд╖реНрдп рдореЗрдВ, рд╕реНрдиреИрдкрд╢реЙрдЯ рдбрд┐рд╕реНрдХ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдФрд░ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рдИ рдЧрдИ рд╣реИред

рдореБрдЦреНрдп рдХрдард┐рдирд╛рдИ рдФрд░ рдЗрд╕рдХреА рдЕрдзрд┐рдХрддрд╛


рдпреИрдВрдбреЗрдХреНрд╕ рдореЗрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдореЗрдВ рдбрд┐рд╕реНрдХ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреА рдХрдореАред рдХреНрд▓реЙрдб рдПрдкреАрдЖрдИ рдПрдХ рд╕реАрдорд╛ рд╣реИ рдЬреЛ рдкреАрд╡реА (рд╕реНрдерд╛рдпреА рд╡реЙрд▓реНрдпреВрдо) рдХреЗ рд▓рд┐рдП рдЖрдХрд╛рд░ рдкрд░рд┐рд╡рд░реНрддрди рдСрдкрд░реЗрд╢рди рдХреЛ рдЬрдЯрд┐рд▓ рдХрд░рддрд╛ рд╣реИ: рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рдбрд┐рд╕реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рдкреЙрдб рдмрдВрдж рд╣реЛ рдЧрдИ рд╣реИ, рдФрд░ рдпрд╣ рдПрдХ рд╕рд░рд▓ рдХрд╛рд░рдг рдмрди рд╕рдХрддрд╛ рд╣реИ рдЕрдиреБрдкреНрд░рдпреЛрдЧред рд╕реАрдПрд╕рдЖрдИ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХреЗ

рдЕрдиреБрд╕рд╛рд░ , рдпрджрд┐ рд╕реАрдПрд╕рдЖрдИ рдирд┐рдпрдВрддреНрд░рдХ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреЗрд╡рд▓ рдбрд┐рд╕реНрдХ рдХреЛ "рдСрдлрд▓рд╛рдЗрди" ( ) рдореЗрдВ рдмрджрд▓ рд╕рдХрддрд╛ рд╣реИ , рддреЛ рдбрд┐рд╕реНрдХ рдХреЛ рдмрдврд╝рд╛рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП: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 рдкреНрд▓рдЧрдЗрди), рдбрд┐рд╕реНрдХ рдХреЛ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдСрдкрд░реЗрд╢рди рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реИ:

  1. рд╣рдореЗрдВ рдПрдХ рдЬреАрдЖрд░рдкреАрд╕реА рдХреЙрд▓ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ ControllerExpandVolume;
  2. рд╣рдо рдПрдкреАрдЖрдИ рдореЗрдВ рдбрд┐рд╕реНрдХ рдмрдврд╝рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рдСрдкрд░реЗрд╢рди рдХрд░рдиреЗ рдХреА рдЕрд╕рдВрднрд╡рддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдбрд┐рд╕реНрдХ рдорд╛рдЙрдВрдЯ рд╣реИ;
  3. рд╣рдо рдбрд┐рд╕реНрдХ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЛ рдбрд┐рд╕реНрдХ рдореЗрдВ рд╕рд╣реЗрдЬрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдбрд┐рд╕реНрдХ рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рд╡реГрджреНрдзрд┐ рдСрдкрд░реЗрд╢рди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╕рдВрдХреНрд╖рд┐рдкреНрддрддрд╛ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рд╣рдо рдЗрд╕ рдирдХреНрд╢реЗ рдХреЛ рдХрд╣реЗрдВрдЧреЗ volumeResizeRequired;
  4. рдбрд┐рд╕реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкреЙрдб рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд╣рдЯрд╛ рджреЗрдВред рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВрдЧреЗред рддрд╛рдХрд┐ рдбрд┐рд╕реНрдХ рдореЗрдВ рдорд╛рдЙрдВрдЯ рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рди рд╣реЛ ( ControllerPublishVolume) рд╡реГрджреНрдзрд┐ рдСрдкрд░реЗрд╢рди рдХреЗ рдкреВрд░рд╛ рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдорд╛рдЙрдВрдЯ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╕рдордп, рд╣рдо рдЬрд╛рдВрдЪрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдбрд┐рд╕реНрдХ рдЕрднреА рднреА рдЪрд╛рд▓реВ рд╣реИ volumeResizeRequiredрдФрд░ рдПрдХ рддреНрд░реБрдЯрд┐ рд▓реМрдЯрд╛рдПрдЧреА;
  5. CSI рдбреНрд░рд╛рдЗрд╡рд░ рдЖрдХрд╛рд░ рдмрджрд▓рдиреЗ рдХреЗ рдСрдкрд░реЗрд╢рди рдХреЛ рдлрд┐рд░ рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИред рдпрджрд┐ рдСрдкрд░реЗрд╢рди рд╕рдлрд▓ рдерд╛, рддреЛ рдбрд┐рд╕реНрдХ рдХреЛ рд╣рдЯрд╛ рджреЗрдВ volumeResizeRequired;
  6. рдЪреВрдВрдХрд┐ рдбрд┐рд╕реНрдХ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдЧрд╛рдпрдм рд╣реИ volumeResizeRequired, рдпрд╣ ControllerPublishVolumeрд╕рдлрд▓ рд╣реИ, рдбрд┐рд╕реНрдХ рдорд╛рдЙрдВрдЯ рд╣реИ, рдкреЙрдб рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред

рд╕рдм рдХреБрдЫ рдХрд╛рдлреА рд╕рд░рд▓ рджрд┐рдЦрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣ рдиреБрдХрд╕рд╛рди рд╣реЛрддреЗ рд╣реИрдВред рдмрд╛рд╣рд░реА-рд░рд┐рд╕рд╛рдЗрдЬрд╝рд░ рдбрд┐рд╕реНрдХ рд╡рд┐рд╕реНрддрд╛рд░ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИ , рдЬреЛ рдСрдкрд░реЗрд╢рди рдХреЗ рджреМрд░рд╛рди рдПрдХ рддреНрд░реБрдЯрд┐ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, 1000 рд╕реЗрдХрдВрдб рддрдХ рдХреЗ рдЯрд╛рдЗрдордЖрдЙрдЯ рд╕рдордп рдореЗрдВ рдПрдХ рдШрд╛рддреАрдп рд╡реГрджреНрдзрд┐ рдХреЗ рд╕рд╛рде рдПрдХ рдХрддрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ :

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+ рдорд┐рдирдЯ рддрдХ рдлреИрд▓рд╛ рд╣реБрдЖ рд╣реИ рдФрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╕рдВрдмрдВрдзрд┐рдд рдкреЙрдб рдХреА рджреБрд░реНрдЧрдорддрд╛ред

рдПрдХрдорд╛рддреНрд░ рд╡рд┐рдХрд▓реНрдк рдЬрд┐рд╕рдиреЗ рд╣рдореЗрдВ рд╕рдВрднрд╛рд╡рд┐рдд рдбрд╛рдЙрдирдЯрд╛рдЗрдо рдХреЛ рдХрд╛рдлреА рдЖрд╕рд╛рдиреА рд╕реЗ рдХрдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреА рдФрд░ рджрд░реНрдж рд░рд╣рд┐рдд рд░реВрдк рд╕реЗ 5 рд╕реЗрдХрдВрдб рдХреА рдЕрдзрд┐рдХрддрдо рд╕рдордп рд╕реАрдорд╛ рдХреЗ рд╕рд╛рде рдмрд╛рд╣рд░реА-рд░рд┐рд╕рд╛рдЗрдЬрд╝рд░ рдХреЗ рд╣рдорд╛рд░реЗ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдерд╛ :

workqueue.NewItemExponentialFailureRateLimiter(5*time.Millisecond, 5*time.Second)

рд╣рдордиреЗ рддрддреНрдХрд╛рд▓ рдПрдХ рдЪрд░реНрдЪрд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рдФрд░ рдмрд╛рд╣реНрдп-рдкреБрдирд░рд╛рд╡рд░реНрддрдХ рдХреЛ рдкреИрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рдорд╛рдирд╛, рдХреНрдпреЛрдВрдХрд┐ рдСрдлрд╝рд▓рд╛рдЗрди рд░реАрд╕рд╛рдЗрдЬрд╝ рдбрд┐рд╕реНрдХ рдПрдХ рдЕрддрд┐рд╡рд╛рдж рд╣реИ рдЬреЛ рдЬрд▓реНрдж рд╣реА рд╕рднреА рдХреНрд▓рд╛рдЙрдб рдкреНрд░рджрд╛рддрд╛рдУрдВ рд╕реЗ рдЧрд╛рдпрдм рд╣реЛ рдЬрд╛рдПрдЧрд╛ред

рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВ?


рдбреНрд░рд╛рдЗрд╡рд░ Kubernetes рд╕рдВрд╕реНрдХрд░рдг 1.15 рдФрд░ рдЙрдЪреНрдЪрддрд░ рдореЗрдВ рд╕рдорд░реНрдерд┐рдд рд╣реИред рдбреНрд░рд╛рдЗрд╡рд░ рдХреЛ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рдирд╛ рд╣реЛрдЧрд╛:

  • рдЭрдВрдбрд╛ рдПрдкреАрдЖрдИ рд╕рд░реНрд╡рд░ рдФрд░ рдХреНрдпреВрдмрд▓реЗрдЯ рдХреЗ рд▓рд┐рдП --allow-privilegedрдореВрд▓реНрдп рдкрд░ рд╕реЗрдЯ рд╣реИ true;
  • --feature-gates=VolumeSnapshotDataSource=true,KubeletPluginsWatcher=true,CSINodeInfo=true,CSIDriverRegistry=trueрдПрдкреАрдЖрдИ рд╕рд░реНрд╡рд░ рдФрд░ рдХреНрдпреВрдмрд▓реЗрдЯ рдХреЗ рд▓рд┐рдП рд╢рд╛рдорд┐рд▓ ;
  • рдкреНрд░рдЪрд╛рд░ рдорд╛рдЙрдВрдЯ ( рдорд╛рдЙрдВрдЯ рдкреНрд░рдЪрд╛рд░ ) рдХреЛ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдбреЙрдХрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдбреЗрдореЙрди рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рд╕рд╛рдЭрд╛ рдорд╛рдЙрдВрдЯ рдХреА рдЕрдиреБрдорддрд┐ рд╣реЛред

рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рд▓рд┐рдП рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдХрджрдо README рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИрдВ ред рд╕реНрдерд╛рдкрдирд╛ рдореИрдирд┐рдлреЗрд╕реНрдЯреЛрдВ рд╕реЗ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рд╣реИред

рдбреНрд░рд╛рдЗрд╡рд░ рдХреЛ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА:

  • рдкреНрд░рдХрдЯ рдореЗрдВ Yandex.Cloud рдХреИрдЯрд▓реЙрдЧ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ ( folder-id) рдХреЗ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░реЗрдВ ( рдкреНрд░рд▓реЗрдЦрди рджреЗрдЦреЗрдВ );
  • CSI рдбреНрд░рд╛рдЗрд╡рд░ рдореЗрдВ Yandex.Cloud рдПрдкреАрдЖрдИ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рд╕реЗрд╡рд╛ рдЦрд╛рддреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЧреБрдкреНрдд рдкреНрд░рдХрдЯ рдореЗрдВ, рдЖрдкрдХреЛ рд╕реЗрд╡рд╛ рдЦрд╛рддреЗ рдореЗрдВ рдЕрдзрд┐рдХреГрдд рдХреБрдВрдЬреА рдкрд╛рд╕ рдХрд░рдиреА рд╣реЛрдЧреА ред рдкреНрд░рд▓реЗрдЦрди рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╕реЗрд╡рд╛ рдЦрд╛рддрд╛ рдХреИрд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рдП рдФрд░ рдЪрд╛рдмрд┐рдпрд╛рдБ рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред

рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░ - рдЗрд╕рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ , рдФрд░ рдпрджрд┐ рдЖрдкрдХреЛ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдЖрддреА рд╣реИ, рддреЛ рд╣рдореЗрдВ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдФрд░ рдирдП рдореБрджреНрджреЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреА !

рдЖрдЧреЗ рдХреА рд╕рд╣рд╛рдпрддрд╛


рдирддреАрдЬрддрди, рд╣рдо рдпрд╣ рдиреЛрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗ рдХрд┐ рд╣рдордиреЗ рдЗрд╕ CSI рдбреНрд░рд╛рдЗрд╡рд░ рдХреЛ рдЧреЛ рдкрд░ рдордЬреЗрджрд╛рд░ рд▓реЗрдЦрди рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЗрдЪреНрдЫрд╛ рд╕реЗ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдХрдВрдкрдиреА рдХреЗ рдЕрдВрджрд░ рддрддреНрдХрд╛рд▓ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдХрд╛рд░рдг рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рд╣реИред рдпрд╣ рд╣рдорд╛рд░реЗ рд╕реНрд╡рдпрдВ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдЪрд┐рдд рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП, рдЕрдЧрд░ рдпреИрдВрдбреЗрдХреНрд╕ рдмреНрдпрд╛рдЬ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдФрд░ рдбреНрд░рд╛рдЗрд╡рд░ рдХрд╛ рд╕рдорд░реНрдерди рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╣рдо рдЦрд╝реБрд╢реА рд╕реЗ рднрдВрдбрд╛рд░ рдХреЛ рдЙрдирдХреЗ рдирд┐рдкрдЯрд╛рди рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджреЗрдВрдЧреЗред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕рдВрднрд╡рддрдГ, рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдкреНрд░рдмрдВрдзрд┐рдд рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдпреИрдВрдбреЗрдХреНрд╕ рдХреЗ рдкрд╛рд╕ рд╕реАрдПрд╕рдЖрдИ рдЪрд╛рд▓рдХ рдХрд╛ рдЕрдкрдирд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИ, рдЬрд┐рд╕реЗ рдУрдкрди рд╕реЛрд░реНрд╕ рдореЗрдВ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣рдо рдЗрд╕ рд╡рд┐рдХрд╛рд╕ рд╡рд┐рдХрд▓реНрдк рдХреЛ рднреА рдЕрдиреБрдХреВрд▓ рджреЗрдЦрддреЗ рд╣реИрдВ - рд╕рдореБрджрд╛рдп рд╕реЗрд╡рд╛ рдкреНрд░рджрд╛рддрд╛ рд╕реЗ рд╕рд┐рджреНрдз рдбреНрд░рд╛рдЗрд╡рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдЧрд╛, рди рдХрд┐ рдХрд┐рд╕реА рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреА рдХрдВрдкрдиреА рд╕реЗред

рдкреБрдирд╢реНрдЪ


рд╣рдорд╛рд░реЗ рдмреНрд▓реЙрдЧ рдореЗрдВ рднреА рдкрдврд╝реЗрдВ:

Source: https://habr.com/ru/post/undefined/


All Articles