рдХрдВрдЯреЗрдирд░ рднрдВрдбрд╛рд░рдг рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рд╕рдордЭрдирд╛ (рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рдФрд░ рдЕрдзрд┐рдХ)

рд▓рдЧрднрдЧред рдЯреНрд░рд╛рдВрд╕ред : рд╣рдордиреЗ рдкрд╣рд▓реЗ K8s 1.9 рд░рд┐рд▓реАрдЬ рдХреА рд╣рдорд╛рд░реА рд╕рдореАрдХреНрд╖рд╛ рдореЗрдВ рддрдерд╛рдХрдерд┐рдд рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ (рдЖрдЙрдЯ-рдСрдл-рдЯреНрд░реА рд╕реАрдПрд╕рдЖрдИ рд╡реЙрд▓реНрдпреВрдо рдкреНрд▓рдЧрдЗрдиреНрд╕) рд╕реНрдЯреЛрд░реЗрдЬ рдкреНрд▓рдЧ-рдЗрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХреА, рдЬрд╣рд╛рдВ рдпрд╣ рд╡рд┐рд╢реЗрд╖рддрд╛ рдЕрд▓реНрдлрд╛ рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдерд┐рддрд┐ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреАред рдирдИ рд╕рд╛рдордЧреНрд░реА рдХреЗ рд▓реЗрдЦрдХ, рдЕрдиреВрдк рд╡рд┐рдЬрдпрди рдордгрд┐рдирдХрд╛рд░рд╛ (рдлрд╝рд┐рдирд┐рд╢ рдХрдВрдкрдиреА рдЯрдХреНрд╕рд░рд╛ рдХреЗ рдкреНрд░рдореБрдЦ DevOps рдЗрдВрдЬреАрдирд┐рдпрд░) рдиреЗ рд╡рд┐рдЪрд╛рд░реЛрдВ рдФрд░ CSI рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЬрд╛рдирдХрд╛рд░реА рдПрдХрддреНрд░ рдХреА, рдЬреЛ рдирдИ рдЕрд╡рдзрд╛рд░рдгрд╛ рд╕реЗ рдЬрд▓реНрджреА рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реЛрдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рд╣рдорд╛рд░реЗ рдХреБрдЫ рдХрд░реНрдордЪрд╛рд░рд┐рдпреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░, "рдЕрдЧрд▓реА рдмрдбрд╝реА рдмрд╛рдд рд╣реЛрдЧреА"ред рд╕реАрдПрд╕рдЖрдИ рдХреЗ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддреГрдд рдФрд░ рддрдХрдиреАрдХреА рдЕрдзреНрдпрдпрди рдХреЗ рд▓рд┐рдП, рд▓реЗрдЦ рдХреЗ рдЕрдВрдд рдореЗрдВ рдЙрдкрдпреЛрдЧреА рд▓рд┐рдВрдХ рджрд┐рдП рдЧрдП рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдореИрдВ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЗрд╕ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ (рдЬреА рдпреВ) рдХреЗ рд▓реЗрдЦрдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреА рдкреНрд░рд╕реНрддреБрддрд┐ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░реВрдВрдЧрд╛ред рд▓реЗрдХрд┐рди рдпрд╣ "рдмрдбрд╝реА рддрд╕реНрд╡реАрд░" рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реИ ...



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


рдЫрд╡рд┐ рд╕реНрд░реЛрдд: CloudNativeCon EU 2018 рдореЗрдВ Jie Yu CSI рдХреА рд░рд┐рдкреЛрд░реНрдЯ

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

рд╡рд┐рд╖рдп рдореЗрдВ рдЧреЛрддрд╛ рд▓рдЧрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ рдЬрд╛рдирдирд╛ рднреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рд╕рд╛рдЗрдбрдХрд╛рд░ рдХрдВрдЯреЗрдирд░ рдХреНрдпрд╛ рд╣реИрдВред рд╡реЗ рдореБрдЦреНрдп рдХрдВрдЯреЗрдирд░ ( рдореБрдЦреНрдп ) рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдПрдХ рд╣реА рдЪреВрд▓реНрд╣рд╛, рд╕рд╛рдЭрд╛ рднрдВрдбрд╛рд░рдг рдФрд░ рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рдореМрдЬреВрдж рд╣реИрдВред

рдЗрд╕ рд▓реЗрдЦрди рдХреЗ рд╕рдордп (13 рдЕрдЧрд╕реНрдд, 2018), CSI рдШрдЯрдХреЛрдВ рдХреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рдВрд╕реНрдХрд░рдг рдереЗ:



рд╕реАрдПрд╕рдЖрдИ рд╕реЗ рдкрд╣рд▓реЗ


рд╕реАрдПрд╕рдЖрдИ рдХреА рдкрд╣рд▓реА рд░рд┐рд▓реАрдЬрд╝ - v0.1 - рджрд┐рд╕рдВрдмрд░ 2017 рдореЗрдВ рд╣реБрдИред рдмреЗрд╢рдХ, рдСрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрд╢рди рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдмрд╛рд╣рд░реА рднрдВрдбрд╛рд░рдг рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рд╡рдзрд╛рди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдпрд╣ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ред рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╡реЙрд▓реНрдпреВрдо рдкреНрд▓рдЧрдЗрдиреНрд╕ - рд╡реЙрд▓реНрдпреВрдо рдкреНрд▓рдЧ рдЗрди рд╕реНрдЯреЛрд░реЗрдЬ рдЬрд░реВрд░рддреЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рдереЗ:



рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдКрдкрд░ рдХреА рддрд╕реНрд╡реАрд░ рд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдРрд╕реЗ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдСрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрд╢рди рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдХреЛрд░ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИрдВред рдЗрд╕ рд╡рдЬрд╣ рд╕реЗ, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реБрдИрдВ рдЬрд┐рдирдХрд╛ рд╕реАрдПрд╕рдЖрдИ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛:

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

рд╕реАрдПрд╕рдЖрдИ рдХреЛ рд╕рдордЭрдирд╛


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



рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреЗ рдмрд╛рд╣рд░реА рдШрдЯрдХ


рд╡реЗ рдХреБрдмреЗрд░рдиреЗрдЯ рдЯреАрдо рджреНрд╡рд╛рд░рд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдФрд░ рд╕рдорд░реНрдерд┐рдд рд╣реИрдВ рдФрд░ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреЗ рдмрд╛рд╣рд░ рдХреБрдмреЗрд░рдиреЗрдЯ рдХреА рдЧрддрд┐рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рддреЗ рд╣реИрдВред рдирд┐рд░реНрдорд╛рддрд╛ рдЕрдкрдиреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдЪрд┐рдВрддрд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рддреАрди рднрд╛рдЧреЛрдВ рд╕реЗ рдорд┐рд▓рдХрд░:

  • рдбреНрд░рд╛рдЗрд╡рд░ рд░рдЬрд┐рд╕реНрдЯреНрд░рд╛рд░ рдПрдХ рд╕рд╛рдЗрдбрдХрд╛рд░ рдХрдВрдЯреЗрдирд░ рд╣реИ рдЬреЛ рд╕реАрдПрд╕рдЖрдИ рдЪрд╛рд▓рдХ рдХреЛ рдХреНрдпреВрдмрд▓реЗрдЯ рдореЗрдВ рдкрдВрдЬреАрдХреГрдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдПрдкреАрдЖрдИ рдореЗрдВ рдиреЛрдб рдСрдмреНрдЬреЗрдХреНрдЯ рд▓реЗрдмрд▓ рдореЗрдВ NodeId рдбреНрд░рд╛рдЗрд╡рд░ рдЬреЛрдбрд╝рддрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдкрд╣рдЪрд╛рди рд╕реАрдПрд╕рдЖрдИ рдЪрд╛рд▓рдХ рд╕реЗрд╡рд╛ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рддрд╛ рд╣реИ (рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП, рдиреАрдЪреЗ рджреЗрдЦреЗрдВ - рд▓рдЧрднрдЧ рдЕрдиреБрд╡рд╛рджред) рдФрд░ рд╕реАрдПрд╕рдЖрдИ рдкрд░ GetNodeId рдХреЙрд▓ GetNodeId рд╣реИ;
  • рдмрд╛рд╣рд░реА рд╕рдВрдпреЛрдЬрдХ - рдПрдХ рд╕рд╛рдЗрдбрдХрд╛рд░ рдХрдВрдЯреЗрдирд░ рдЬреЛ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдПрдкреАрдЖрдИ рдореЗрдВ PersistentVolumeClaim рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рддрд╛ рд╣реИ рдФрд░ рдПрдВрдбрдкреЙрдЗрдВрдЯ рдбреНрд░рд╛рдЗрд╡рд░ рдХреЗ рд▓рд┐рдП CreateVolume рдФрд░ DeleteVolume рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ;
  • рдПрдХреНрд╕рдЯрд░реНрдирд▓ рдЕрдЯреИрдХрд░ рдПрдХ рд╕рд╛рдЗрдбрдХрд╛рд░ рдХрдВрдЯреЗрдирд░ рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдПрдкреАрдЖрдИ рдореЗрдВ рд╡реЙрд▓реНрдпреВрдордПрдЯреИрдЪрдореЗрдВрдЯ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рддрд╛ рд╣реИ рдФрд░ рдПрдВрдбрдкреЙрдЗрдВрдЯ рдбреНрд░рд╛рдЗрд╡рд░ рдХреЗ рд▓рд┐рдП ControllerPublish рдФрд░ ControllerUnpublish рдХрдорд╛рдВрдб рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИред

рднрдВрдбрд╛рд░рдг рдирд┐рд░реНрдорд╛рддрд╛ / рддреАрд╕рд░реЗ рдкрдХреНрд╖ рд╕реЗ рдмрд╛рд╣рд░реА рдШрдЯрдХ


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

  • рд╕реАрдПрд╕рдЖрдИ рдкрд╣рдЪрд╛рди - рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдПрдХ рдкреНрд▓рдЧрдЗрди рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП: рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдкреНрд▓рдЧрдЗрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмреБрдирд┐рдпрд╛рджреА рдЬрд╛рдирдХрд╛рд░реА рд▓реМрдЯрд╛рдПрдВ;

     service Identity { //      rpc GetPluginInfo(GetPluginInfoRequest) returns (GetPluginInfoResponse) {} // ,       Controller rpc GetPluginCapabilities(GetPluginCapabilitiesRequest) returns (GetPluginCapabilitiesResponse) {} //   ,  ,    rpc Probe (ProbeRequest) returns (ProbeResponse) {} } 

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

     service Controller { //  provisioning  rpc CreateVolume (CreateVolumeRequest) returns (CreateVolumeResponse) {} //     rpc DeleteVolume (DeleteVolumeRequest) returns (DeleteVolumeResponse) {} //       rpc ControllerPublishVolume (ControllerPublishVolumeRequest) returns (ControllerPublishVolumeResponse) {} //       rpc ControllerUnpublishVolume (ControllerUnpublishVolumeRequest) returns (ControllerUnpublishVolumeResponse) {} // ,     /    rpc ValidateVolumeCapabilities (ValidateVolumeCapabilitiesRequest) returns (ValidateVolumeCapabilitiesResponse) {} //     rpc ListVolumes (ListVolumesRequest) returns (ListVolumesResponse) {} //       rpc GetCapacity (GetCapacityRequest) returns (GetCapacityResponse) {} // ,      GetCapacity  Snapshotting rpc ControllerGetCapabilities (ControllerGetCapabilitiesRequest) returns (ControllerGetCapabilitiesResponse) {} //   rpc CreateSnapshot (CreateSnapshotRequest) returns (CreateSnapshotResponse) {} //   rpc DeleteSnapshot (DeleteSnapshotRequest) returns (DeleteSnapshotResponse) {} //    rpc ListSnapshots (ListSnapshotsRequest) returns (ListSnapshotsResponse) {} } 

    ( kubernetes-csi-рдирд┐рдпрдВрддреНрд░рдХ.proto )
  • CSI рдиреЛрдб Kubernetes рд╣реЛрд╕реНрдЯ рдкрд░ рд╡реЙрд▓реНрдпреВрдо рдЧрддрд┐рд╡рд┐рдзрд┐ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХреЗ рд▓рд┐рдП рдЬрд╝рд┐рдореНрдореЗрджрд╛рд░ рд╣реИред

     service Node { //     staging- rpc NodeStageVolume (NodeStageVolumeRequest) returns (NodeStageVolumeResponse) {} //    staging- rpc NodeUnstageVolume (NodeUnstageVolumeRequest) returns (NodeUnstageVolumeResponse) {} //    staging    rpc NodePublishVolume (NodePublishVolumeRequest) returns (NodePublishVolumeResponse) {} //      rpc NodeUnpublishVolume (NodeUnpublishVolumeRequest) returns (NodeUnpublishVolumeResponse) {} //    rpc NodeGetVolumeStats (NodeGetVolumeStatsRequest) returns (NodeGetVolumeStatsResponse) {} //   ID  rpc NodeGetId (NodeGetIdRequest) returns (NodeGetIdResponse) { option deprecated = true; } //   (capabilities)  rpc NodeGetCapabilities (NodeGetCapabilitiesRequest) returns (NodeGetCapabilitiesResponse) {} //   NodeGetId rpc NodeGetInfo (NodeGetInfoRequest) returns (NodeGetInfoResponse) {} } 

    ( рдХреБрдмреЗрд░рдиреЗрддреНрд╕-рд╕реАрд╕реАрдЖрдИ-рдиреЛрдб.рдкреНрд░реЛрдЯреЛ )

рдирд┐рд╖реНрдХрд░реНрд╖


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

рд╕рд╛рд╣рд┐рддреНрдп рдХреЗ рд╕рдиреНрджрд░реНрдн


  1. рд╕реАрдПрд╕рдЖрдИ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ ;
  2. рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рд╕рд┐рдбрдХрд░ рдХрдВрдЯреЗрдирд░ ;
  3. KubeCon EU рдореЗрдВ Jie Yu CSI рдХреА рд░рд┐рдкреЛрд░реНрдЯ : CloudNativeCon EU 2018 (рдФрд░ рдпрд╣рд╛рдБ рдЗрд╕ рдкреНрд░рд╕реНрддреБрддрд┐ рдХрд╛ рд╡реАрдбрд┐рдпреЛ рд╣реИ - рд▓рдЧрднрдЧ рдЕрдиреБрд╡рд╛рджред) ред
  4. CSI рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝
  5. рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рд╕реЗ рд╕реАрдПрд╕рдЖрдИ рдкрд░ рд╡рд░реНрддрдорд╛рди рдкреНрд░рд▓реЗрдЦрди ;
  6. рдкрджрд╛рд╡рдирдд рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рд╕реАрдПрд╕рдЖрдИ рдкреНрд░рд▓реЗрдЦрди ред

рдЕрдиреБрд╡рд╛рджрдХ рд╕реЗ рдкреА.рдПрд╕.


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

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


All Articles