рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рд╕рдВрд╕рд╛рдзрди рдЯреНрд░реИрдХрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдХреБрдмреЗрджреЛрдЧ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдкрд░рд┐рдЪрдп

рд╣рдо DevOps- рд╡рд┐рд╢реЗрд╖рдЬреНрдЮреЛрдВ рдХреЗ рд▓рд┐рдП рдлрд╝реНрд▓реИрдВрдЯ рдХрдВрдкрдиреА рдХреЗ рдПрдХ рдирдП рдУрдкрди рд╕реЛрд░реНрд╕ рд╡рд┐рдХрд╛рд╕ рдХреА рдШреЛрд╖рдгрд╛ рдХрд░рдиреЗ рдореЗрдВ рдкреНрд░рд╕рдиреНрди рд╣реИрдВ рдФрд░ рди рдХреЗрд╡рд▓ рдХреБрдмреЗрджреЛрдЧ ред рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рд╕рдВрд╕рд╛рдзрди рдШрдЯрдирд╛рдУрдВ рдкрд░ рдирдЬрд╝рд░ рд░рдЦрдиреЗ рдФрд░ рдЙрдирдХреЗ рд▓реЙрдЧ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдПрдХ рдЧреЛ-рд▓рд┐рдЦрд┐рдд рдкреБрд╕реНрддрдХрд╛рд▓рдп рдФрд░ рдЗрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рд╕реАрдПрд▓рдЖрдИ рд╣реИред


рд╡рд░реНрддрдорд╛рди рдореЗрдВ, рдкреБрд╕реНрддрдХрд╛рд▓рдп рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдкрд░ рдирдЬрд╝рд░ рд░рдЦрдиреЗ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ: рдкреЛрдб (рдФрд░ рдХрдВрдЯреЗрдирд░), рдиреМрдХрд░реА, рддреИрдирд╛рддреА, рд╕реНрдЯреЗрдЯрдлреБрд▓рд╕реЗрдЯ, рдФрд░ рдбреЗрдордирд╕реЗрдЯред рдИрд╡реЗрдВрдЯ рдФрд░ рд▓реЙрдЧ рдХреЙрд▓рдмреИрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░реЗрд╖рд┐рдд рд╣реЛрддреЗ рд╣реИрдВред

рдХреБрдмреЗрджреЛрдЧ рд╕реАрдПрд▓рдЖрдИ рдореЗрдВ рдСрдкрд░реЗрд╢рди рдХреЗ рджреЛ рддрд░реАрдХреЗ рд╣реИрдВ:

  • рд░реЛрд▓рдЖрдЙрдЯ рдЯреНрд░реИрдХ - рд╕реАрдЖрдИ / рд╕реАрдбреА рдореЗрдВ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рддреНрд░реБрдЯрд┐ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рддреИрдпрд╛рд░ рд╕реНрдерд┐рддрд┐ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдФрд░ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рддрдХ рд╕рдВрд╕рд╛рдзрди рдкрд░ рдирдЬрд╝рд░ рд░рдЦрдирд╛;
  • рдЕрдиреБрд╡рд░реНрддреА - рдПрдХреНрдЬрд╝рд┐рдЯ рдХреЗ рдмрд┐рдирд╛ рд╕реНрдХреНрд░реАрди рдкрд░ рдШрдЯрдирд╛рдУрдВ рдФрд░ рд▓реЙрдЧ рдХреЛ рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдВ , tail -f рд╕рдорд╛рдиред

рд╕рдорд╕реНрдпрд╛


рдЕрдЧрд░ рдЗрд╕реА рддрд░рд╣ рдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рд╣реИрдВ ( рдЗрд╕ рд╕рдореАрдХреНрд╖рд╛ рдореЗрдВ "рд▓реЙрдЧ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛" рджреЗрдЦреЗрдВ) рддреЛ рд╣рдордиреЗ рдПрдХ рдирдИ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд▓рд┐рдЦрдирд╛ рдХреНрдпреЛрдВ рд╢реБрд░реВ рдХрд┐рдпрд╛? рдХреБрдмреЗрджреЛрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣рдорд╛рд░реЗ DevOps рдбреИрдк рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдореЗрдВ рд╣реЗрд▓рдо рдЪрд╛рд░реНрдЯ рдХреЗ рд░реЛрд▓рдЖрдЙрдЯ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣реЗрд▓реНрдо рдЦреБрдж рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рд╕реНрдерд┐рддрд┐ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХреИрд╕реЗ рдХрд░реЗрдВ рдЬреЛ рдЗрд╕реЗ рдЬреЛрдбрд╝рддрд╛ рд╣реИ, рдФрд░ рд▓реЙрдЧ рдЯреНрд░рд╛рдВрд╕рдлрд░ рд╣реЗрд▓реНрдо рдФрд░ рдЯрд┐рд▓рд░ рдХреЗ рдмреАрдЪ рдЬреАрдЖрд░рдкреАрд╕реА рдмрд╛рддрдЪреАрдд рдХреЗ рд╕реНрддрд░ рдкрд░ рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдЕрд╡рд╕рд░ рдкрд░, рд╣рдорд╛рд░рд╛ рдореБрджреНрджрд╛ 3481 рд╣реИ , рдЬрд┐рд╕рдХреЗ рдврд╛рдВрдЪреЗ рдореЗрдВ рд╣рдордиреЗ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рдЯреНрд░реИрдХрд┐рдВрдЧ рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рд╣реИ ... рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╣реЗрд▓рдо рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЕрдм рд╣реЗрд▓реНрдо 2 рдореЗрдВ рдирдИ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдирд┐рдЪреНрдЫреБрдХ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕рднреА рдкреНрд░рдпрд╛рд╕ рд╣реЗрд▓реНрдо 3 рдХреЗ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдкрд░ рдХреЗрдВрджреНрд░рд┐рдд рд╣реИрдВред рдЗрд╕ рдХрд╛рд░рдг рд╕реЗ, рд╣рдордиреЗ рдХреБрдмреЗрджреЛрдЧ рдХреЛ рдПрдХ рдЕрд▓рдЧ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдмрджрд▓рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред

рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдкрд░ рд╕рдВрд╕рд╛рдзрди рдЯреНрд░реИрдХрд┐рдВрдЧ рдХреА рдХреНрдпрд╛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ ?

  • рдкреЙрдбреНрд╕ рдХреЗ рд▓реЙрдЧ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ рдЬреЛ рдПрдХ рд╕рдВрд╕рд╛рдзрди рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИрдВ - рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкрд░рд┐рдирд┐рдпреЛрдЬрдиред
  • рд╕рдВрд╕рд╛рдзрди рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдкреЙрдбреНрд╕ рдХреА рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рдЬрд╡рд╛рдм рджреЗрдВ: рдирдП рдкреЙрдбреНрд╕ рд╕реЗ рд▓реЙрдЧ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЬреЛрдбрд╝реЗрдВ, рдкреБрд░рд╛рдиреЗ рдкреНрд░рддрд┐рдХреГрддрд┐ рдХреЗ рдкреЙрдбреНрд╕ рд╕реЗ рд▓реЙрдЧ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░реЗрдВред
  • рдЯреНрд░реИрдХрд┐рдВрдЧ рдИрд╡реЗрдВрдЯ рдЬрд┐рд╕рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдЖрддреА рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдЕрдЬреНрдЮрд╛рдд рдЫрд╡рд┐ рдХреЗ рдХрд╛рд░рдг рдПрдХ рдкреЙрдб рдирд╣реАрдВ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдПрдХ рдкреЙрдб рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЯреЗрдореНрдкрд▓реЗрдЯ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрдорд╛рдВрдб рдЫрд╡рд┐ рдореЗрдВ рдирд╣реАрдВ рд╣реИред
  • рдФрд░ рдПрдХ рдФрд░ рдЖрд╡рд╢реНрдпрдХрддрд╛ rollout рд╕реЗ ready рдореЛрдб рдореЗрдВ рдПрдХ рд╕рдВрд╕рд╛рдзрди рдХреЗ рд╕рдВрдХреНрд░рдордг рдХреЛ рдЯреНрд░реИрдХ рдХрд░ рд░рд╣реА рд╣реИред рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрд╕рд╛рдзрди рдХреА рдЕрдкрдиреА рд╢рд░реНрддреЗрдВ рд╣реИрдВред

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдХреБрдмрдбреЛрдЧ рдореЗрдВ рд╣рдордиреЗ рдЙрдкрд░реЛрдХреНрдд рд╕рднреА рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдереАред

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

рдореМрдЬреВрджрд╛ рд╕рдорд╛рдзрд╛рди


kubespy


тЖТ рдЧрд┐рдЯрд╣рдм

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

kubetail


тЖТ рдЧрд┐рдЯрд╣рдм

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

рдХрдареЛрд░


тЖТ рдЧрд┐рдЯрд╣рдм

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

рдЧреЛрднреА


тЖТ рдЧрд┐рдЯрд╣рдм

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

k8stail


тЖТ рдЧрд┐рдЯрд╣рдм

  • рдиреЗрдорд╕реНрдкреЗрд╕ рдФрд░ рд▓реЗрдмрд▓ рджреНрд╡рд╛рд░рд╛ рдкреЙрдбреНрд╕ рдХрд╛ рдЪрдпрдиред
  • рдирдП рдХрд╛ рдЯреНрд░реИрдХ рд░рдЦрддрд╛ рд╣реИ, рд╡рд┐рд▓реЛрдкрдиред
  • рдИрд╡реЗрдВрдЯреНрд╕ рдХрд╛ рдкрд╛рд▓рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдирд╣реАрдВ рджрд┐рдЦрд╛рдПрдЧрд╛ред
  • рдЬрд╛рдУ рдкрд░, рд▓реЗрдХрд┐рди рдкреБрд╕реНрддрдХрд╛рд▓рдп рдирд╣реАрдВред

kubedog


тЖТ рдЧрд┐рдЯрд╣рдм

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

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

рддреЛ рдХреБрдмреЗрдбреЛрдЧ!


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

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

 type ControllerFeed interface { Added(ready bool) error Ready() error Failed(reason string) error EventMsg(msg string) error AddedReplicaSet(ReplicaSet) error AddedPod(ReplicaSetPod) error PodLogChunk(*ReplicaSetPodLogChunk) error PodError(ReplicaSetPodError) error } 

* рдЕрдкрд╡рд╛рдж AddedReplicaSet , рдЬреЛ рдХреЗрд╡рд▓ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ (рдЖрдк рдбреЗрдореЙрдирд╕реЗрдЯ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рд╡рд┐рдзрд┐ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ)ред

рдЕрдиреНрдп рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг:

  • Added watch.Added рд╕реЗ рдореЗрд▓ рдЦрд╛рддреА рд╣реИред рдЪрдпрдирд┐рдд рд╕рдВрд╕рд╛рдзрди рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╡реЗрдХреНрд╖рдХ рдХреА watch.Added рдШрдЯрдирд╛;
  • Ready рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рд╕рдВрд╕рд╛рдзрди рдиреЗ Ready рд╕реНрдЯреЗрдЯ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд┐рдпрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдбреЗрдордирд╕реЗрдЯ рдХреЗ рд▓рд┐рдП рдпрд╣ рд╡рд╣ рдХреНрд╖рдг рд╣реИ рдЬрдм рдЕрджреНрдпрддрди рдФрд░ рдЙрдкрд▓рдмреНрдз рдкреЙрдбреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ "рд╡рд╛рдВрдЫрд┐рдд" рдкреЙрдбреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рд╛рде рдореЗрд▓ рдЦрд╛рддреА рд╣реИ);
  • Failed - рдЗрд╕ рд╡рд┐рдзрд┐ рдХреЛ рдЙрд╕ рд╕рдордп рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рдХреЛрдИ рд╕рдВрд╕рд╛рдзрди рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдпрд╛ рдЙрд╕ рдШрдЯрдирд╛ рдореЗрдВ рдЬреЛ рдХрд┐рд╕реА рддреНрд░реБрдЯрд┐ рдХреЗ рдХрд╛рд░рдг рдФрд░ рд╡рд┐рд╡рд░рдг рдХреЗ рд╕рд╛рде рдкреНрд░рд╛рдкреНрдд рд╣реЛрддреА рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, FailedCreate );
  • EventMsg рдХреЛ рд╕рдВрд╕рд╛рдзрди рдпрд╛ рдЙрд╕рдХреЗ рдкреЙрдбреНрд╕ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдкреНрд░рддреНрдпреЗрдХ рдИрд╡реЗрдВрдЯ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ: рдпреЗ рд╕рдВрд╕рд╛рдзрди рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЗрд╡реЗрдВрдЯ рд╣реИрдВ, рдЫрд╡рд┐ рд▓рд┐рдВрдХ рдЖрджрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢реЛрдВ рд╕рд╣рд┐рдд;
  • AddedPod - рдПрдХ рд╡рд┐рдзрд┐ рдЬрд┐рд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рдЖрдк рдирдП рдкреЙрдб рдмрдирд╛рдиреЗ рдХреЗ рдХреНрд╖рдгреЛрдВ рдХреЛ рдкрдХрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ;
  • PodLogChunk рдХреЛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рд▓реЙрдЧ рдХрд╛ рдПрдХ рдФрд░ рдЯреБрдХрдбрд╝рд╛ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдПрдкреАрдЖрдИ рд╕реЗ рдЖрддрд╛ рд╣реИ;
  • рдкреЙрдб рдлреЗрд▓ рд╣реЛрдиреЗ рдкрд░ PodError рдХреЛ PodError рдЬрд╛рдПрдЧрд╛ред

рдкреНрд░рддреНрдпреЗрдХ рдХреЙрд▓рдмреИрдХ StopTrack рдкреНрд░рдХрд╛рд░ рдХреА StopTrack рд╡рд╛рдкрд╕ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЯреНрд░реИрдХрд┐рдВрдЧ рдкреВрд░реА рд╣реЛ рдЬрд╛рдПрдЧреАред рдЗрд╕рд▓рд┐рдП, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд░реЛрд▓рдЖрдЙрдЯ рдЯреНрд░реИрдХрд░ рдореЗрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ - Ready StopTrack рдФрд░ рд╕реАрдПрд▓рдЖрдИ рдЕрдкрдирд╛ рдХрд╛рдо рдкреВрд░рд╛ рдХрд░рддрд╛ рд╣реИред

рдХреЙрд▓рдмреИрдХ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ ControllerFeedProto рд╕рдВрд░рдЪрдирд╛ рд╣реИ, рдЬрдм рдЖрдк рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рдЖрдк рд╡рд╛рдВрдЫрд┐рдд рд░рд┐рдЯрд░реНрди рд╡рд┐рдзрд┐ рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╡реЗрдВрдЯ рдФрд░ рд╕реНрдерд┐рддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рдмрд┐рдирд╛ DaemonSet рд▓реЙрдЧ рдХрд╛ рдЕрдВрддрд╣реАрди рдЖрдЙрдЯрдкреБрдЯ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ, рдпрд╣ рд╣реИ:

 // kubedog     Kubernetes',    // . https://github.com/flant/kubedog/blob/master/pkg/kube/kube.go kubeClient, err := kubernetes.NewForConfig(config) if err != nil { return err } feed := &tracker.ControllerFeedProto{ PodLogChunkFunc: func(chunk *tracker.ReplicaSetPodLogChunk) error { for _, line := range chunk.LogLines { fmt.Printf(">> po/%s %s: %s\n", chunk.PodName, chunk.ContainerName, line) } return nil }, } //    timeout   API   ,     .   ,     ,    Pod'. opts := tracker.Options{ Timeout: time.Second * time.Duration(300), LogsFromTime: time.Now(), } tracker.TrackDaemonSet(dsName, dsNamespace, kubeClient, feed, opts) 

рдЖрдЦрд┐рд░реА рдХреЙрд▓ рдПрдХ рдЕрд╡рд░реЛрдзрдХ рд╣реИ : рдпрд╣ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рд╕реЗ рдШрдЯрдирд╛рдУрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЕрдВрддрд╣реАрди рд▓реВрдк рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реА рдХреЙрд▓рдмреИрдХ рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИред рдЖрдк рдХреЙрд▓рдмреИрдХ рд╕реЗ StopTrack рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рдХреЗ рдЗрд╕ рдЪрдХреНрд░ рдХреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдореЗрдЯрд┐рдХ рд░реВрдк рд╕реЗ рдмрд╛рдзрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЖрд╡реЗрджрди рдЙрджрд╛рд╣рд░рдг


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

рдХреБрдмреЗрджреЛрдЧ рд╕реАрдПрд▓рдЖрдИ рд╕реАрдЖрдИ / рд╕реАрдбреА рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд░реЛрд▓рдЖрдЙрдЯ рдХреЗ рд╕рд╛рде рдорджрдж рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИ , рдФрд░ рдЗрд╕рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛ рдХрд┐ рдХреНрдпрд╛ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: рдХреБрдмреЗрдЯреЗрд▓, рд╣реЗрд▓реНрдо рдпрд╛ рдХреБрдЫ рдФрд░ред рдЖрдЦрд┐рд░рдХрд╛рд░, рдЖрдк kubectl apply , рдФрд░ рдлрд┐рд░ kubedog rollout track рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдпрджрд┐ рд╕рдВрд╕рд╛рдзрди рдореЗрдВ рдХреБрдЫ рдЧрдбрд╝рдмрдбрд╝ рд╣реИ, рддреЛ рдЖрдкрдХреЛ kubedog rollout track рд▓реЙрдЧ рдореЗрдВ рддреНрд░реБрдЯрд┐ рджрд┐рдЦрд╛рдИ рджреЗрдЧреАред рдХреБрдмрдбреЛрдЧ рдХреЗ рдЗрд╕ рдкреНрд░рдпреЛрдЧ рд╕реЗ рд░реЛрд▓рдЖрдЙрдЯ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдирд┐рджрд╛рди рдХреЗ рд▓рд┐рдП рд╕рдордп рдХрдо рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓реЗрдЧреАред

рдЖрдЧреЗ рдХреНрдпрд╛ рд╣реИ?


рд╣рдо рдЕрдзрд┐рдХ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреА рджрд┐рд╢рд╛ рдореЗрдВ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рддреЗ рд╣реИрдВ - рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕реЗрд╡рд╛ рдФрд░ рдкреНрд░рдЧрддрд┐ рдХрд╛ рдкрд╛рд▓рди рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ Event'ah рдореЗрдВ reason рдХреЗ рд╡рд░реНрдЧреАрдХрд░рдг рдкрд░ рдХрд╛рдо рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рддрд╛рдХрд┐ рдЙрд╕ рдХреНрд╖рдг рдХреЛ рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ рдЬрдм рд╣рдо рдпрд╣ рдорд╛рди рд╕рдХреЗрдВ рдХрд┐ рд╕рдВрд╕рд╛рдзрди рдХрд╛ рд░реЛрд▓рдЖрдЙрдЯ рд╡рд┐рдлрд▓ рд╣реЛ рдЧрдпрд╛ред рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдХрд╛ рдПрдХ рдФрд░ рд╡реЗрдХреНрдЯрд░ рдПрдХ рд╕рд╛рде рдХрдИ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдЯреНрд░реИрдХ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, labelSelector рдпрд╛ рдирд╛рдо рдиреЗрдорд╕реНрдкреЗрд╕ рджреНрд╡рд╛рд░рд╛ред рдореИрдВ рд╡рд┐рднрд┐рдиреНрди рдПрдиреЛрдЯреЗрд╢рди рдХрд╛ рднреА рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдЬреЛ рдЯреНрд░реИрдХрд┐рдВрдЧ рдХреА рдкреНрд░рдХреГрддрд┐ рдХреЛ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣реЗрд▓реНрдо рд╣реБрдХ рдХреЗ рд▓рд┐рдП, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрднреА рднреА рдбреИрдк рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИред

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

рдХреИрд╕реЗ рдХрд░реЗрдВ рдХреЛрд╢рд┐рд╢?


Kubedog CLI рд▓рд┐рдирдХреНрд╕ рдХреЗ рд▓рд┐рдП рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рдореИрдХрдУрдПрд╕ рдмрд┐рдВрдЯреНрд░реЗ рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИрдВред

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ GitHub рдкрд░ рдЖрдкрдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдФрд░ рдореБрджреНрджреЛрдВ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рд╣реИ !

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


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

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


All Articles