рд╣рдо рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд╛рддрд╛рд╡рд░рдг рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред рднрд╛рдЧ 1 рдирдВрдЧреЗ рдзрд╛рддреБ (рдбреЗрдмрд┐рдпрди) рдкрд░ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рд╣рд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛


рд╣реЗрдмрд░ рдХреЗ рдкреНрд░рд┐рдп рдкрд╛рдардХреЛрдВ!


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


рдЗрд╕ рдЪрдХреНрд░ рдореЗрдВ рдиреНрдпреВрдирддрдо рдЪрд╛рд░ рд▓реЗрдЦ рд╢рд╛рдорд┐рд▓ рд╣реЛрдВрдЧреЗ:


  1. рдЙрдирдореЗрдВ рд╕реЗ рдкрд╣рд▓реЗ рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рдКрдВрдЧрд╛ рдХрд┐ рдирдВрдЧреЗ рд▓реЛрд╣реЗ рдкрд░ рдПрдХ рдЕрд╕рдлрд▓-рд╕реБрд░рдХреНрд╖рд┐рдд рдХреБрдмреЗрд░рдиреЗрдЯ рдХреНрд▓рд╕реНрдЯрд░ рдХреИрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдП, рдХреИрд╕реЗ рдПрдХ рдорд╛рдирдХ рдбреИрд╢рдмреЛрд░реНрдб рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдП рдФрд░ рдЙрд╕ рддрдХ рдкрд╣реБрдВрдЪ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛рдП, рдХреИрд╕реЗ рдПрдХ рдкреНрд░рд╡реЗрд╢ рдирд┐рдпрдВрддреНрд░рдХ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПред
  2. рдПрдХ рджреВрд╕рд░реЗ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВ рдЖрдкрдХреЛ рджрд┐рдЦрд╛рдКрдВрдЧрд╛ рдХрд┐ рд╕реАрдлрд╝ рдлреЗрд▓рдУрд╡рд░ рдХреНрд▓рд╕реНрдЯрд░ рдХреЛ рдХреИрд╕реЗ рддреИрдирд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рдП рдФрд░ рд╣рдорд╛рд░реЗ рдХреБрдмреЗрд░рдиреЗрдЯ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдЖрд░рдмреАрдбреА рд╡реЙрд▓реНрдпреВрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЬрд╛рдПред рдореИрдВ рдЕрдиреНрдп рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕реНрдЯреЛрд░реЗрдЬ (рдмрд┐рдЯреНрд╕) рдкрд░ рднреА рд╕рдВрдкрд░реНрдХ рдХрд░реВрдВрдЧрд╛ рдФрд░ рд╕реНрдерд╛рдиреАрдп-рднрдВрдбрд╛рд░рдг рдкрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд┐рдЪрд╛рд░ рдХрд░реВрдВрдЧрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рдКрдВрдЧрд╛ рдХрд┐ рдмрдирд╛рдП рдЧрдП CEPH рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ S3 рдлреЙрд▓реНрдЯ-рдЯреЙрд▓рд░реЗрдВрдЯ рд╕реНрдЯреЛрд░реЗрдЬ рдХреЛ рдХреИрд╕реЗ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдП
  3. рддреАрд╕рд░реЗ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВ рд╡рд░реНрдгрди рдХрд░реВрдВрдЧрд╛ рдХрд┐ рд╣рдорд╛рд░реЗ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдПрдХ рд╡рд┐рдлрд▓рддрд╛ рдХреНрд▓рд╕реНрдЯрд░ MySql рдХреЛ рдХреИрд╕реЗ рддреИрдирд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рдП, рдЕрд░реНрдерд╛рддреН рдХреБрд░реНрдиреЗрдЯреЗрдЯ рдкрд░ рдкрд░реНрдХреЛрдирд╛ рдПрдХреНрд╕реНрдЯреНрд░рд╛рдмрд░реНрдб рдХреНрд▓рд╕реНрдЯрд░ред рдФрд░ рдЬрдм рдореИрдВрдиреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рддреЛ рдореИрдВ рдЙрди рд╕рднреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реВрдВрдЧрд╛ред
  4. рдЪреМрдереЗ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВ рд╕рдм рдХреБрдЫ рдПрдХ рд╕рд╛рде рд░рдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ рдФрд░ рдЖрдкрдХреЛ рдмрддрд╛рдКрдВрдЧрд╛ рдХрд┐ рдХреИрд╕реЗ рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рддреИрдирд╛рдд рдХрд░рдирд╛ рдФрд░ рдЪрд▓рд╛рдирд╛ рд╣реИ рдЬреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдФрд░ рд╕реЗрдл рд╡реЙрд▓реНрдпреВрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛ред рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рддрд╛ рд╣реВрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдмрд╛рд╣рд░реА рдФрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдЖрджреЗрд╢ рд╕реЗрд╡рд╛ рд╕реЗ рд▓реЗрдЯ рдПрдирдХреНрд░рд┐рдкреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╡реЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдВрдиреНрдЧреНрд░реЗрд╕ рдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЛ рдХреИрд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВред рдПрдХ рдФрд░ рддрд░реАрдХрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЗрди рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдХреИрд╕реЗ рдмрдирд╛рдП рд░рдЦрд╛ рдЬрд╛рдПред рд╣рдо рдирд┐рдпрдВрддреНрд░рдг рдХрдХреНрд╖ рддрдХ рдкрд╣реБрдВрдЪ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ RBAC рдкрд░ рднреА рд╕реНрдкрд░реНрд╢ рдХрд░реЗрдВрдЧреЗред рдореИрдВ рдЖрдкрдХреЛ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рд╣реЗрд▓реНрдо рдФрд░ рдЗрд╕рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рдКрдВрдЧрд╛ред
    рдпрджрд┐ рдЖрдк рдЗрди рдкреНрд░рдХрд╛рд╢рдиреЛрдВ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИ!

рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐:


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


рдореИрдВ рдкреНрд░рдХрд╛рд╢рдиреЛрдВ рдХреА рдЗрд╕ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛:


  • рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдмрддрд╛рдПрдВ рдХрд┐ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдЖрджрд┐рдо рдХреНрдпрд╛ рд╣реИрдВ, рдЬреИрд╕реЗ: рдлрд▓реА, рддреИрдирд╛рддреА, рд╕реЗрд╡рд╛, рдкреНрд░рд╡реЗрд╢, рдЖрджрд┐ред
  • рдореИрдВ CNI (рдХрдВрдЯреЗрдирд░ рдиреЗрдЯрд╡рд░реНрдХрд┐рдВрдЧ рдЗрдВрдЯрд░рдлрд╝реЗрд╕) рдкрд░ рдмрд╣реБрдд рд╣реА рд╕рддрд╣реА рд░реВрдк рд╕реЗ рд╡рд┐рдЪрд╛рд░ рдХрд░реВрдВрдЧрд╛, рд╣рдо рдХреЙрд▓рд┐рдХреЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдЗрд╕рд▓рд┐рдП рдЕрдиреНрдп рд╕рдорд╛рдзрд╛рди, рдореИрдВ рдХреЗрд╡рд▓ рд╕реВрдЪреА рджреВрдВрдЧрд╛ред
  • рдбреЙрдХрдЯрд░ рдЫрд╡рд┐ рдирд┐рд░реНрдорд╛рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ред
  • CI \ CD рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдБред (рд╢рд╛рдпрдж рдПрдХ рдЕрд▓рдЧ рдкреНрд░рдХрд╛рд╢рди, рд▓реЗрдХрд┐рди рдкреВрд░реЗ рдЪрдХреНрд░ рдХреЗ рдмрд╛рдж)
  • рдкрддрд╡рд╛рд░; рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрд╛рдлреА рдХреБрдЫ рд▓рд┐рдЦрд╛ рдЬрд╛ рдЪреБрдХрд╛ рд╣реИ, рдореИрдВ рдХреЗрд╡рд▓ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдЗрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕реНрдкрд░реНрд╢ рдХрд░реВрдВрдЧрд╛ред

рдореИрдВ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдХреНрдпрд╛ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ:


  • рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреНрд▓рд╕реНрдЯрд░ рддреИрдирд╛рддреА рдЪрд░рдг-рджрд░-рдЪрд░рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ред рдореИрдВ kubeadm рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдВрдЧрд╛ред рд▓реЗрдХрд┐рди рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ, рдореИрдВ рдирдВрдЧреЗ рдзрд╛рддреБ, рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рдИрдЯреАрд╕реАрдбреА рд╕реНрдерд╛рдкрдирд╛ рдкрд░ рдПрдХ рдХреНрд▓рд╕реНрдЯрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдФрд░ рдХреНрдпреВрдм рдкреНрд░рд╢рдВрд╕рд╛ рдХреЗ рд▓рд┐рдП рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкрд░ рдПрдХ рд╡рд┐рд╕реНрддреГрдд рдХрджрдо-рджрд░-рдЪрд░рдг рджреЗрдЦреВрдВрдЧрд╛ред рдореИрдВ рдЗрдирд░ рдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЗ рд▓рд┐рдП рд╕рднреА рд╕рдВрддреБрд▓рди рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ рдФрд░ рд╕рд░реНрд╡рд░ рдПрдкреА рдХреЛ рд╡рд░реНрдХрдПрдиреЛрдбреНрд╕ рдХреА рд╡рд┐рднрд┐рдиреНрди рдПрдХреНрд╕реЗрд╕ рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдЕрдВрддрд░ред
    рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдЖрдЬ рдХреБрдмреЗрд░рдиреЗрдЯ рдХреА рддреИрдирд╛рддреА рдХреЗ рд▓рд┐рдП рдХрдИ рдмреЗрд╣рддрд░реАрди рдЙрдкрдХрд░рдг рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреНрдпреВрдмреНрд╕рдкреНрд░рд╛рдп рдпрд╛ рдПрдХ рд╣реА рд░реИрдВрдЪрд░ред рд╢рд╛рдпрдж рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛрдЧрд╛ред рд▓реЗрдХрд┐рди, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ, рдРрд╕реЗ рдХрдИ рдЗрдВрдЬреАрдирд┐рдпрд░ рд╣реИрдВ рдЬреЛ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
  • CEPH рдХреНрд▓рд╕реНрдЯрд░ рдХреА CEPH рд╢рдмреНрджрд╛рд╡рд▓реА рдФрд░ рдЪрд░рдг-рджрд░-рдЪрд░рдг рд╕реНрдерд╛рдкрдирд╛, рд╕рд╛рде рд╣реА рд╕рд╛рде рдХрджрдо-рджрд░-рдЪрд░рдг рдирд┐рд░реНрджреЗрд╢ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдП рдЧрдП рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ ceph рд╕рдВрдЧреНрд░рд╣рдг рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдПред
  • рд▓реЛрдХрд▓-рд╕реНрдЯреЛрд░реЗрдЬ, рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреНрд▓рд╕реНрдЯрд░ рд╕реЗ рдХрдиреЗрдХреНрд╢рди, рд╕рд╛рде рд╣реА рд╣реЛрд╕реНрдЯрдкрд╛рде рдЬреИрд╕реЗ рдХрдиреЗрдХреНрд╢рдиреЛрдВ рд╕реЗ рдорддрднреЗрдж рдЖрджрд┐ред
  • kubernetes рдСрдкрд░реЗрдЯрд░реЛрдВ рдФрд░ рдСрдкрд░реЗрдЯрд░ рдХреА рдорджрдж рд╕реЗ Percona XtraDB рдХреНрд▓рд╕реНрдЯрд░ рдХреА рддреИрдирд╛рддреА, рд╕рд╛рде рд╣реА рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдЫрд╣ рдорд╣реАрдиреЗ рдХреЗ рдЕрдиреБрднрд╡ рдХреЗ рдмрд╛рдж рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреЗ рдкреЗрд╢реЗрд╡рд░реЛрдВ рдФрд░ рд╡рд┐рдкрдХреНрд╖реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВред рдФрд░ рдпрд╣ рднреА рдХрд┐ рдореИрдВ рдкрд░рд┐рдЪрд╛рд▓рдХ рд╕реЗ рдСрдкрд░реЗрдЯрд░ рдХреЛ рдЕрдВрддрд┐рдо рд░реВрдк рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдереЛрдбрд╝реА рдпреЛрдЬрдирд╛рдПрдБ рд╕рд╛рдЭрд╛ рдХрд░реВрдБрдЧрд╛ред

рд╕рд╛рдордЧреНрд░реА рдХреА рддрд╛рд▓рд┐рдХрд╛:


  1. рдореЗрдЬрдмрд╛рдиреЛрдВ, рдореЗрдЬрдмрд╛рди рд╕рдВрд╕рд╛рдзрдиреЛрдВ, рдУрдПрд╕ рдФрд░ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреА рд╕реВрдЪреА
  2. рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреНрд▓рд╕реНрдЯрд░ рд╣рд╛ рдбрд╛рдпрдЧреНрд░рд╛рдо
  3. рдЖрдк рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдпрд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ
  4. Create-config.sh рдлрд╝рд╛рдЗрд▓ рднрд░реЗрдВ
  5. OS рдХрд░реНрдиреЗрд▓ рдЕрдкрдбреЗрдЯ
  6. рдХреНрдпреВрдмрд▓реЗрдЯ, рдХреБрдмреЗрдХреНрдЯрд▓, рдХреБрдмреЗрджрдо, рдФрд░ рдбреЛрдХрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдиреЛрдбреНрд╕ рддреИрдпрд╛рд░ рдХрд░рдирд╛
  7. ETCD рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ (рд╡рд┐рднрд┐рдиреНрди рд╡рд┐рдХрд▓реНрдк)
  8. рдкрд╣рд▓рд╛ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рд╡рд┐рдЬрд╝рд╛рд░реНрдб рд▓реЙрдиреНрдЪ рдХрд░рдирд╛
  9. CNI Callico рд╕реНрдерд╛рдкрдирд╛
  10. рджреВрд╕рд░реЗ рдФрд░ рддреАрд╕рд░реЗ kubernetes рдЬрд╛рджреВрдЧрд░ рдХрд╛ рд╢реБрднрд╛рд░рдВрдн
  11. рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдПрдХ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдиреЛрдб рдЬреЛрдбрд╝реЗрдВ
  12. HA рдХреЗ рд▓рд┐рдП рд╡рд░реНрдХрд░ рдиреЛрдбреНрд╕ рдкрд░ haproxy рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
  13. рдЗрдВрд╕реНрдЯреЙрд▓рд░ рдирд┐рдпрдВрддреНрд░рдХ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛
  14. рд╡реЗрдм UI (рдбреИрд╢рдмреЛрд░реНрдб) рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ


рдореЗрдЬрдмрд╛рдиреЛрдВ рдХреА рд╕реВрдЪреА рдФрд░ рдЧрдВрддрд╡реНрдп


рдореЗрд░реЗ рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рд╕рднреА рдиреЛрдбреНрд╕ рдХрд░реНрдиреЗрд▓ 4.19.0-0.bpo.5-amd64 рдХреЗ рд╕рд╛рде рдкреНрд░реАрдЗрдВрд╕реНрдЯреЙрд▓реНрдб рдбреЗрдмрд┐рдпрди 9 рд╕реНрдЯреНрд░реЗрдЪ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рд╛рде рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрдиреЛрдВ рдкрд░ рд╕реНрдерд┐рдд рд╣реЛрдВрдЧреЗред рд╡рд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬреЗрд╢рди рдХреЗ рд▓рд┐рдП, рдореИрдВ Proxmox VE рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред


рддрд╛рд▓рд┐рдХрд╛ VM рдФрд░ рдЙрдирдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ:


рдирд╛рдордЖрдИрдкреА тАЛтАЛрдПрдбреНрд░реЗрд╕рдЯрд┐рдкреНрдкрдгреАрд╕реАрдкреАрдпреВрд╕рджрд╕реНрдпdisk1Disk2
master0110.73.71.25рдорд╛рд╕реНрдЯрд░ рдиреЛрдб4vcpu4GBHDD---
master0210.73.71.26рдорд╛рд╕реНрдЯрд░ рдиреЛрдб4vcpu4GBHDD---
master0310.73.71.27рдорд╛рд╕реНрдЯрд░ рдиреЛрдб4vcpu4GBHDD---
worknode0110.73.75.241рдХрд╛рдо рдиреЛрдб4vcpu4GBHDDрдПрд╕рдПрд╕рдбреА
worknode0210.73.75.242рдХрд╛рдо рдиреЛрдб4vcpu4GBHDDрдПрд╕рдПрд╕рдбреА
worknode0310.73.75.243рдХрд╛рдо рдиреЛрдб4vcpu4GBHDDрдПрд╕рдПрд╕рдбреА

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


рд╕реВрдЪреА рдФрд░ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╕рдВрд╕реНрдХрд░рдг


рдирд╛рдорд╕рдВрд╕реНрдХрд░рдг
Kubernetes1.15.1
рдбрд╛рдХ рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗрд╡рд╛рд▓рд╛ рдордЬрд╝рджреВрд░19.3.1

рд╕рдВрд╕реНрдХрд░рдг 1.14 рд╕реЗ рд╢реБрд░реВ, рдХреБрдмреЗрджрдо рдиреЗ v1alp33 рдПрдкреАрдЖрдИ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рд╕рдорд░реНрдерди рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдФрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ v1beta1 рдПрдкреАрдЖрдИ рд╕рдВрд╕реНрдХрд░рдг рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд┐рдпрд╛, рдЬреЛ рдирд┐рдХрдЯ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ рдХреЗрд╡рд▓ v1beta1 рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реВрдВрдЧрд╛ред
рддреЛ, рд╣рдо рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдиреЗ рдХреБрдмреЗрд░рдиреЗрдЯ рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рд▓рд┐рдП рдорд╢реАрдиреЗрдВ рддреИрдпрд╛рд░ рдХрд░ рд▓реА рд╣реИрдВред рд╡реЗ рд╕рднреА рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдПрдХ-рджреВрд╕рд░реЗ рдХреЗ рд▓рд┐рдП рд╕реБрд▓рдн рд╣реИрдВ, рдЗрдВрдЯрд░рдиреЗрдЯ рдХреЗ рд▓рд┐рдП "рдЗрдВрдЯрд░рдиреЗрдЯ рдХрдиреЗрдХреНрд╢рди" рд╣реИ, рдФрд░ рдЙрди рдкрд░ рдПрдХ "рдХреНрд▓реАрди" рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рд╕реНрдерд╛рдкрд┐рдд рд╣реИред
рдкреНрд░рддреНрдпреЗрдХ рд╕реНрдерд╛рдкрдирд╛ рдЪрд░рдг рдХреЗ рд▓рд┐рдП, рдореИрдВ рд╕реНрдкрд╖реНрдЯ рдХрд░реВрдВрдЧрд╛ рдХрд┐ рдХреМрди рд╕реА рдорд╢реАрдиреЗрдВ рдХрдорд╛рдВрдб рдпрд╛ рдХрдорд╛рдВрдб рдХреЗ рдмреНрд▓реЙрдХ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреА рд╣реИрдВред рдЬрдм рддрдХ рдЕрдиреНрдпрдерд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рди рд╣реЛ, рддрдм рддрдХ рд╕рднреА рдХрдорд╛рдВрдб рдХреЛ рд░реВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВред
рд╕рднреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓реЗрдВ, рд╕рд╛рде рд╣реА рдЙрдирдХреА рддреИрдпрд╛рд░реА рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ, рдореЗрд░реЗ рдЧрд┐рддреБрдм рдореЗрдВ рдбрд╛рдЙрдирд▓реЛрдб рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реИрдВ
рддреЛ рдЪрд▓рд┐рдП рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред



рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреНрд▓рд╕реНрдЯрд░ рд╣рд╛ рдбрд╛рдпрдЧреНрд░рд╛рдо



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



рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ


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


apt-get update && apt-get install -y curl apt-transport-https git 

рдорд╛рд╕реНрдЯрд░ рдиреЛрдбреНрд╕ рдкрд░, рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рдХреЗ рд╕рд╛рде рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЛ рдХреЙрдкреА рдХрд░реЗрдВ


 sudo -i git clone https://github.com/rjeka/kubernetes-ceph-percona.git 

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


 hostname && hostname -i master01 10.73.71.25 

рдФрд░ рдЗрд╕рд▓рд┐рдП рд╕рднреА рдорд╛рд╕реНрдЯрд░ рдиреЛрдбреНрд╕ рдХреЗ рд▓рд┐рдПред


SWAP рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдирд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ, рдЕрдиреНрдпрдерд╛ kubeadm рдПрдХ рддреНрд░реБрдЯрд┐ рдлреЗрдВрдХ рджреЗрдЧрд╛


 [ERROR Swap]: running with swap on is not supported. Please disable swap 

рдЖрдк рдХрдорд╛рдВрдб рдХреЛ рдбрд┐рд╕реЗрдмрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ


 swapoff -a 

/ Etc / fstab рдореЗрдВ рдЯрд┐рдкреНрдкрдгреА рдХрд░рдирд╛ рдпрд╛рдж рд░рдЦреЗрдВ



Create-config.sh рдлрд╝рд╛рдЗрд▓ рднрд░реЗрдВ


рдХреБрдмреЗрд░рдиреЗрдЯ рдХреНрд▓рд╕реНрдЯрд░ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рднрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдПрдХ рдЫреЛрдЯреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ create-config.sh рдЕрдкрд▓реЛрдб рдХреАред рдЖрдкрдХреЛ рдЗрд╕рдореЗрдВ рд╕рдЪрдореБрдЪ 8 рд▓рд╛рдЗрдиреЗрдВ рднрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЕрдкрдиреЗ рд╕реНрд╡рд╛рдореА рдХреЗ рдЖрдИрдкреА рдкрддреЗ рдФрд░ рд╣реЛрд╕реНрдЯрдирд╛рдо рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░реЗрдВред рдФрд░ etcd tocken рднреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ, рдЖрдк рдЗрд╕реЗ рдмрджрд▓ рдирд╣реАрдВ рд╕рдХрддреЗред рдореИрдВ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдЙрд╕ рд╣рд┐рд╕реНрд╕реЗ рдХреЛ рдиреАрдЪреЗ рджреВрдВрдЧрд╛ рдЬрд┐рд╕рдореЗрдВ рдЖрдкрдХреЛ рдмрджрд▓рд╛рд╡ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред


 #!/bin/bash ####################################### # all masters settings below must be same ####################################### # master01 ip address export K8SHA_IP1=10.73.71.25 # master02 ip address export K8SHA_IP2=10.73.71.26 # master03 ip address export K8SHA_IP3=10.73.71.27 # master01 hostname export K8SHA_HOSTNAME1=master01 # master02 hostname export K8SHA_HOSTNAME2=master02 # master03 hostname export K8SHA_HOSTNAME3=master03 #etcd tocken: export ETCD_TOKEN=9489bf67bdfe1b3ae077d6fd9e7efefd #etcd version export ETCD_VERSION="v3.3.10" 


OS рдХрд░реНрдиреЗрд▓ рдЕрдкрдбреЗрдЯ


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


 waiting for eth0 to become free. Usage count = 1 

рдУрдПрд╕ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореЗрд░реЗ рдкрд╛рд╕ рдХрд░реНрдиреЗрд▓ рд╕рдВрд╕реНрдХрд░рдг 4.9 рдерд╛


 uname -a Linux master01 4.9.0-7-amd64 #1 SMP Debian 4.9.110-3+deb9u2 (2018-08-13) x86_64 GNU/Linux 

рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреНрдпреЗрдХ рдорд╢реАрди рдкрд░ рд╣рдо рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╣реИрдВ
рдЪрд░рдг # 1
рд╕реНрд░реЛрдд рд╕реВрдЪреА рдореЗрдВ рд╡рд╛рдкрд╕ рдкреЛрд░реНрдЯ рдЬреЛрдбрд╝реЗрдВ


 echo deb http://ftp.debian.org/debian stretch-backports main > /etc/apt/sources.list apt-get update apt-cache policy linux-compiler-gcc-6-x86 

рдЪрд░рдг рд╕рдВрдЦреНрдпрд╛ 2
рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрдирд╛


 apt install -y -t stretch-backports linux-image-amd64 linux-headers-amd64 

рдЪрд░рдг рд╕рдВрдЦреНрдпрд╛ 3
рд░рд┐рдмреВрдЯ


 reboot 

рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реИ


 uname -a Linux master01 4.19.0-0.bpo.5-amd64 #1 SMP Debian 4.19.37-4~bpo9+1 (2019-06-19) x86_64 GNU/Linux 


рдХреНрдпреВрдмрд▓реЗрдЯ, рдХреБрдмреЗрдХреНрдЯрд▓, рдХреБрдмреЗрджрдо, рдФрд░ рдбреЛрдХрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдиреЛрдбреНрд╕ рддреИрдпрд╛рд░ рдХрд░рдирд╛


Kublet, Kubectl, Kubeadm рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ


рд╣рдо рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рд╕рднреА рдиреЛрдбреНрд╕ рдкрд░ рдбрд╛рд▓рддреЗ рд╣реИрдВ, рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреЗ рдкреНрд░рд▓реЗрдЦрди рдХреЗ рдЕрдиреБрд╕рд╛рд░


 apt-get update && apt-get install -y apt-transport-https curl curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add - cat <<EOF >/etc/apt/sources.list.d/kubernetes.list deb https://apt.kubernetes.io/ kubernetes-xenial main EOF apt-get update apt-get install -y kubelet kubeadm kubectl apt-mark hold kubelet kubeadm kubectl 

рдбреЙрдХрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ


рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд╕реЗ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдбреЙрдХрдЯрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ


 apt-get remove docker docker-engine docker.io containerd runc apt-get install apt-transport-https ca-certificates curl gnupg2 software-properties-common 

 curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add - apt-key fingerprint 0EBFCD88 

 add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/debian \ $(lsb_release -cs) \ stable" 

 apt-get update apt-get install docker-ce docker-ce-cli containerd.io 

рд╕реНрдерд╛рдкрдирд╛ рд╕реНрдерд╛рдкрд┐рдд рдХреНрдпреВрдмрд▓реЗрдЯ, рдХреБрдмреЗрдХрд▓, рдХреБрдмреЗрджрдо рдФрд░ рдбреЙрдХрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдРрд╕рд┐рдмрд▓
 git clone https://github.com/rjeka/kubernetes-ceph-percona.git cd kubernetes-ceph-percona/playbooks vim masters.ini 

рдорд╛рд╕реНрдЯрд░реНрд╕ рдЧреНрд░реБрдк рдореЗрдВ, рдЖрдИрдкреА рдорд╛рд╕реНрдЯрд░реНрд╕ рд░рдЬрд┐рд╕реНрдЯрд░ рдХрд░реЗрдВред
рд╢реНрд░рдорд┐рдХ рд╕рдореВрд╣ рдореЗрдВ, рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдиреЛрдбреНрд╕ рдХрд╛ рдЖрдИрдкреА рд▓рд┐рдЦреЗрдВред


 # sudo c  ansible-playbook -i hosts.ini kubelet.yaml -K ansible-playbook -i hosts.ini docker.yaml -K # sudo  ansible-playbook -i hosts.ini kubelet.yaml ansible-playbook -i hosts.ini docker.yaml 

рдпрджрд┐ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдЖрдк docker рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдХрд┐рд╕реА CRI рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдк рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдВ , рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд┐рд╖рдп рдЗрд╕ рд▓реЗрдЦ рдХреЗ рджрд╛рдпрд░реЗ рд╕реЗ рдкрд░реЗ рд╣реИред



ETCD рд╕реНрдерд╛рдкрдирд╛


рдореИрдВ рдЧрд╣рд░рд╛рдИ рд╕реЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдореЗрдВ рдирд╣реАрдВ рдЬрд╛рдКрдВрдЧрд╛, рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ: etcd рдПрдХ рдУрдкрди-рд╕реЛрд░реНрд╕ рд╡рд┐рддрд░рд┐рдд рдХреА-рд╡реИрд▓реНрдпреВ рд╕реНрдЯреЛрд░реЗрдЬ рд╣реИред etcd рдХреЛ GO рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ kubernetes рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдХреНрд▓рд╕реНрдЯрд░ рд╕реНрдерд┐рддрд┐ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рд╣реЛрддрд╛ рд╣реИред рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддреГрдд рд╕рдореАрдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП, рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдкреНрд░рд▓реЗрдЦрди рджреЗрдЦреЗрдВред
etcd рдХреЛ рдХрдИ рддрд░рд╣ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЖрдк рдЗрд╕реЗ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдбреЗрдореЙрди рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЖрдк рдЗрд╕реЗ рдбреЙрдХрдЯрд░ рдХрдВрдЯреЗрдирд░реЛрдВ рдореЗрдВ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЖрдк рдЗрд╕реЗ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рддрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рднреА рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдк рдЗрд╕реЗ рд╣рд╛рде рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рдЖрдк рдЗрд╕реЗ рдХреБрдмреЗрджрдо (рдореИрдВрдиреЗ рдЗрд╕ рдкрджреНрдзрддрд┐ рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХреА рд╣реИ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдХреНрд▓рд╕реНрдЯрд░ рдорд╢реАрдиреЛрдВ рдпрд╛ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╕рд░реНрд╡рд░ рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдореИрдВ рдорд╛рд╕реНрдЯрд░ рдиреЛрдбреНрд╕ рдкрд░ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ etcd рд╕реНрдерд╛рдкрд┐рдд рдХрд░реВрдБрдЧрд╛ рдФрд░ systemd рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбреЗрдорди рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓рд╛рдКрдВрдЧрд╛, рдФрд░ docker рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдкрд░ рднреА рд╡рд┐рдЪрд╛рд░ рдХрд░реВрдБрдЧрд╛ред рдореИрдВ TLS рдХреЗ рдмрд┐рдирд╛ etcd рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рдпрджрд┐ рдЖрдкрдХреЛ TLS рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддреЛ etcd рдпрд╛ kubernetes рдХреЗ рдкреНрд░рд▓реЗрдЦрди рдХреЛ рджреЗрдЦреЗрдВ
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдореЗрд░реЗ github рдореЗрдВ systemd рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓реЙрдиреНрдЪ рдХреЗ рд╕рд╛рде etcd рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП ansible-playbook рд╣реЛрдЧреАред


рд╡рд┐рдХрд▓реНрдк рд╕рдВрдЦреНрдпрд╛ 1
рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ, рд╕рд┐рд╕реНрдЯрдордб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪрд▓рд╛рдПрдВ


рд╕рднреА рд╕реНрд╡рд╛рдореА рдкрд░: (рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдиреЛрдб рдкрд░, рдпрд╣ рдХрджрдо рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ)
рдЪрд░рдг # 1
рдкреБрд░рд╛рд▓реЗрдЦ рдХреЗ рд╕рд╛рде рд╕рдВрдЧреНрд░рд╣ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдФрд░ рдЕрдирдкреИрдХ рдХрд░реЗрдВ:


 mkdir archives cd archives export etcdVersion=v3.3.10 wget https://github.com/coreos/etcd/releases/download/$etcdVersion/etcd-$etcdVersion-linux-amd64.tar.gz tar -xvf etcd-$etcdVersion-linux-amd64.tar.gz -C /usr/local/bin/ --strip-components=1 

рдЪрд░рдг рд╕рдВрдЦреНрдпрд╛ 2
ETCD рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдиреНрдпрд╛рд╕ рдлрд╛рдЗрд▓ рдмрдирд╛рдПрдБ


 cd .. ./create-config.sh etcd 

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


рдЪрд░рдг рд╕рдВрдЦреНрдпрд╛ 3
рд╣рдо рдХреЙрд░реНрдб рдХреНрд▓рд╕реНрдЯрд░ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╣реИрдВ


 systemctl start etcd 

рдбреЗрдорди рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреА рдЬрд╛рдБрдЪ рдХрд░рдирд╛


 systemctl status etcd тЧП etcd.service - etcd Loaded: loaded (/etc/systemd/system/etcd.service; disabled; vendor preset: enabled) Active: active (running) since Sun 2019-07-07 02:34:28 MSK; 4min 46s ago Docs: https://github.com/coreos/etcd Main PID: 7471 (etcd) Tasks: 14 (limit: 4915) CGroup: /system.slice/etcd.service тФФтФА7471 /usr/local/bin/etcd --name master01 --data-dir /var/lib/etcd --listen-client-urls http://0.0.0.0:2379,http://0.0.0.0:4001 --advertise-client-urls http://10.73.71.25:2379,http://10.73.71. Jul 07 02:34:28 master01 etcd[7471]: b11e73358a31b109 [logterm: 1, index: 3, vote: 0] cast MsgVote for f67dd9aaa8a44ab9 [logterm: 2, index: 5] at term 554 Jul 07 02:34:28 master01 etcd[7471]: raft.node: b11e73358a31b109 elected leader f67dd9aaa8a44ab9 at term 554 Jul 07 02:34:28 master01 etcd[7471]: published {Name:master01 ClientURLs:[http://10.73.71.25:2379 http://10.73.71.25:4001]} to cluster d0979b2e7159c1e6 Jul 07 02:34:28 master01 etcd[7471]: ready to serve client requests Jul 07 02:34:28 master01 etcd[7471]: serving insecure client requests on [::]:4001, this is strongly discouraged! Jul 07 02:34:28 master01 systemd[1]: Started etcd. Jul 07 02:34:28 master01 etcd[7471]: ready to serve client requests Jul 07 02:34:28 master01 etcd[7471]: serving insecure client requests on [::]:2379, this is strongly discouraged! Jul 07 02:34:28 master01 etcd[7471]: set the initial cluster version to 3.3 Jul 07 02:34:28 master01 etcd[7471]: enabled capabilities for version 3.3 lines 1-19 

рдФрд░ рд╕реНрд╡рдпрдВ рдХреНрд▓рд╕реНрдЯрд░ рдХрд╛ рд╕реНрд╡рд╛рд╕реНрдереНрдп:


 etcdctl cluster-health member 61db137992290fc is healthy: got healthy result from http://10.73.71.27:2379 member b11e73358a31b109 is healthy: got healthy result from http://10.73.71.25:2379 member f67dd9aaa8a44ab9 is healthy: got healthy result from http://10.73.71.26:2379 cluster is healthy etcdctl member list 61db137992290fc: name=master03 peerURLs=http://10.73.71.27:2380 clientURLs=http://10.73.71.27:2379,http://10.73.71.27:4001 isLeader=false b11e73358a31b109: name=master01 peerURLs=http://10.73.71.25:2380 clientURLs=http://10.73.71.25:2379,http://10.73.71.25:4001 isLeader=false f67dd9aaa8a44ab9: name=master02 peerURLs=http://10.73.71.26:2380 clientURLs=http://10.73.71.26:2379,http://10.73.71.26:4001 isLeader=true 

рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ ansible рдХреЗ рд╕рд╛рде etcd рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ, systemd рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪрд▓рд╛рдПрдБ

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


 git clone https://github.com/rjeka/kubernetes-ceph-percona.git cd kubernetes-ceph-percona/playbooks vim masters.ini 

рдорд╛рд╕реНрдЯрд░реНрд╕ рдЧреНрд░реБрдк рдореЗрдВ, рдЖрдИрдкреА рдорд╛рд╕реНрдЯрд░реНрд╕ рд░рдЬрд┐рд╕реНрдЯрд░ рдХрд░реЗрдВред
etcd_version, etcd рдХрд╛ рд╕рдВрд╕реНрдХрд░рдг рд╣реИред рдЖрдк рдЗрд╕реЗ рдЬреАрдердм рдореЗрдВ рдЗрдВрдХрдб рдкреГрд╖реНрда рдкрд░ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдЦрди рдХреЗ рд╕рдордп, рд╕рдВрд╕реНрдХрд░рдг v3.3.13 рдерд╛ рдореИрдВ v3.3.10 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред
etcdToken - рдЖрдк рдПрдХ рд╣реА рдЫреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рдЕрдкрдирд╛ рдЦреБрдж рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдкреНрд▓реЗрдмреБрдХ рдЯреАрдо рдЪрд▓рд╛рдПрдВ


 # sudo c  ansible-playbook -i hosts.ini -l masters etcd.yaml -K BECOME password: <sudo > # sudo  ansible-playbook -i hosts.ini -l masters etcd.yaml 

рдпрджрд┐ рдЖрдк dod рдореЗрдВ etcd рдЪрд▓рд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╕реНрдкреЙрдЗрд▓рд░ рдХреЗ рдиреАрдЪреЗ рдПрдХ рдирд┐рд░реНрджреЗрд╢ рд╣реИред


Docker- рдХрдореНрдкреЛрдЬрд╝ рдХреЗ рд╕рд╛рде etcd рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ, docker рдореЗрдВ рд▓реЙрдиреНрдЪ рдХрд░реЗрдВ

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


 git clone https://github.com/rjeka/kubernetes-ceph-percona.git cd kubernetes-ceph-percona 

etcd_version, etcd рдХрд╛ рд╕рдВрд╕реНрдХрд░рдг рд╣реИред рдЖрдк рдЗрд╕реЗ рдЬреАрдердм рдореЗрдВ рдЗрдВрдХрдб рдкреГрд╖реНрда рдкрд░ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдЦрди рдХреЗ рд╕рдордп, рд╕рдВрд╕реНрдХрд░рдг v3.3.13 рдерд╛ рдореИрдВ v3.3.10 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред
etcdToken - рдЖрдк рдПрдХ рд╣реА рдЫреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рдЕрдкрдирд╛ рдЦреБрдж рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред


рд╣рдордиреЗ рдбреЙрдХрдЯрд░-рдХрдВрдкреЛрдЬ рдХрд┐рдпрд╛


 apt-get install -y docker-compose 

рд╣рдо рдПрдХ рд╡рд┐рдиреНрдпрд╛рд╕ рдЙрддреНрдкрдиреНрди рдХрд░рддреЗ рд╣реИрдВ


 ./create-config.sh docker 

рдбреЙрдХ рдореЗрдВ etcd рдХреНрд▓рд╕реНрдЯрд░ рдХреА рд╕реНрдерд╛рдкрдирд╛ рдЪрд▓рд╛рдПрдБ


 docker-compose --file etcd-docker/docker-compose.yaml up -d 

рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдХрдВрдЯреЗрдирд░ рдКрдкрд░ рд╣реИрдВ


 docker ps 

рдФрд░ рдХреНрд▓рд╕реНрдЯрд░ рд╕реНрдерд┐рддрд┐ etcd


 root@master01:~/kubernetes-ceph-percona# docker exec -ti etcd etcdctl cluster-health member 61db137992290fc is healthy: got healthy result from http://10.73.71.27:2379 member b11e73358a31b109 is healthy: got healthy result from http://10.73.71.25:2379 member f67dd9aaa8a44ab9 is healthy: got healthy result from http://10.73.71.26:2379 cluster is healthy root@master01:~/kubernetes-ceph-percona# docker exec -ti etcd etcdctl member list 61db137992290fc: name=etcd3 peerURLs=http://10.73.71.27:2380 clientURLs=http://10.73.71.27:2379,http://10.73.71.27:4001 isLeader=false b11e73358a31b109: name=etcd1 peerURLs=http://10.73.71.25:2380 clientURLs=http://10.73.71.25:2379,http://10.73.71.25:4001 isLeader=true f67dd9aaa8a44ab9: name=etcd2 peerURLs=http://10.73.71.26:2380 clientURLs=http://10.73.71.26:2379,http://10.73.71.26:4001 isLeader=false 

рдЕрдЧрд░ рдХреБрдЫ рдЧрд▓рдд рд╣реБрдЖ


 docker logs etcd 


рдкрд╣рд▓рд╛ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рд╡рд┐рдЬрд╝рд╛рд░реНрдб рд▓реЙрдиреНрдЪ рдХрд░рдирд╛


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


 ./create-config.sh kubeadm 

рд╣рдо kubeadm рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдиреНрдпрд╛рд╕ рдХреЛ рдЕрд▓рдЧ рдХрд░рддреЗ рд╣реИрдВ
 apiVersion: kubeadm.k8s.io/v1beta1 kind: InitConfiguration localAPIEndpoint: advertiseAddress: 10.73.71.25 #    API- --- apiVersion: kubeadm.k8s.io/v1beta1 kind: ClusterConfiguration kubernetesVersion: stable #      apiServer: #    kubeadm   certSANs: - 127.0.0.1 - 10.73.71.25 - 10.73.71.26 - 10.73.71.27 controlPlaneEndpoint: 10.73.71.25 #     etcd: #  etc external: endpoints: - http://10.73.71.25:2379 - http://10.73.71.26:2379 - http://10.73.71.27:2379 networking: podSubnet: 192.168.0.0/16 #   ,   CNI  . 

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


рд╣рдо рдкрд╣рд▓реЗ рдЧреБрд░реБ рдХреЛ рджреАрдХреНрд╖рд╛ рджреЗрддреЗ рд╣реИрдВ


 kubeadm init --config=kubeadmin/kubeadm-init.yaml 

рдпрджрд┐ рдХреБрдмреЗрджрдо рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдмрд┐рдирд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЖрдЙрдЯрдкреБрдЯ рдкрд░ рд╣рдореЗрдВ рд▓рдЧрднрдЧ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЖрдЙрдЯрдкреБрдЯ рдорд┐рд▓рддреЗ рд╣реИрдВ:


 You can now join any number of control-plane nodes by copying certificate authorities and service account keys on each node and then running the following as root: kubeadm join 10.73.71.25:6443 --token ivwoap.259retezqf34amx8 \ --discovery-token-ca-cert-hash sha256:b5c93e32457c8e6478782ff62e8ef77acf72738dda59cd603cdf4821abe12ca3 \ --control-plane Then you can join any number of worker nodes by running the following on each as root: kubeadm join 10.73.71.25:6443 --token ivwoap.259retezqf34amx8 \ --discovery-token-ca-cert-hash sha256:b5c93e32457c8e6478782ff62e8ef77acf72738dda59cd603cdf4821abe12ca3 


CNI рдХреИрд▓рд┐рдХреЛ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди


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


 export KUBECONFIG=/etc/kubernetes/admin.conf 

рдпрджрд┐ рд╕рд░рд▓ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рддрд╣рдд рд╕реЗ


 mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config 

рдЖрдк рдЕрдкрдиреЗ рд▓реИрдкрдЯреЙрдк рдпрд╛ рдХрд┐рд╕реА рд╕реНрдерд╛рдиреАрдп рдорд╢реАрди рд╕реЗ рдХреНрд▓рд╕реНрдЯрд░ рдХрд╛ рдкреНрд░рдмрдВрдзрди рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП /etc/kubernetes/admin.conf рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЕрдкрдиреЗ рд▓реИрдкрдЯреЙрдк рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдорд╢реАрди рдореЗрдВ $ HOME / .kube / config рдореЗрдВ рдХреЙрдкреА рдХрд░реЗрдВред


рд╣рдо рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдкреНрд░рд▓реЗрдЦрди рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕реАрдПрдирдЖрдИ рдбрд╛рд▓рддреЗ рд╣реИрдВ


 kubectl apply -f https://docs.projectcalico.org/v3.8/manifests/calico.yaml 

рд╣рдо рд╕рднреА рдлрд▓реА рдЙрдардиреЗ рддрдХ рдЗрдВрддрдЬрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ


 watch -n1 kubectl get pods -A NAMESPACE NAME READY STATUS RESTARTS AGE kube-system calico-kube-controllers-59f54d6bbc-psr2z 1/1 Running 0 96s kube-system calico-node-hm49z 1/1 Running 0 96s kube-system coredns-5c98db65d4-svcx9 1/1 Running 0 77m kube-system coredns-5c98db65d4-zdlb8 1/1 Running 0 77m kube-system kube-apiserver-master01 1/1 Running 0 76m kube-system kube-controller-manager-master01 1/1 Running 0 77m kube-system kube-proxy-nkdqn 1/1 Running 0 77m kube-system kube-scheduler-master01 1/1 Running 0 77m 


рджреВрд╕рд░реЗ рдФрд░ рддреАрд╕рд░реЗ kubernetes рдЬрд╛рджреВрдЧрд░ рдХрд╛ рд╢реБрднрд╛рд░рдВрдн


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


 export master02=10.73.71.26 export master03=10.73.71.27 scp -r /etc/kubernetes/pki $master02:/etc/kubernetes/ scp -r /etc/kubernetes/pki $master03:/etc/kubernetes/ 

рдорд╛рд╕реНрдЯрд░ режреи рдФрд░ рдорд╛рд╕реНрдЯрд░ режрей рдкрд░
рдХреБрдмреЗрджрдо рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдиреНрдпрд╛рд╕ рдмрдирд╛рдПрдБ


 ./create-config.sh kubeadm 

рдФрд░ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ Master02 рдФрд░ master03 рдЬреЛрдбрд╝реЗрдВ


 kubeadm init --config=kubeadmin/kubeadm-init.yaml 

рдХрдИ рдиреЗрдЯрд╡рд░реНрдХ рдЗрдВрдЯрд░рдлреЗрд╕ рдкрд░ рдЧреНрд▓рд┐рдЯреНрд╕ !!!!

рдЙрддреНрдкрд╛рджрди рдореЗрдВ, рдореИрдВ kubernetes v1.13.5 рдФрд░ calico v3.3 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред рдФрд░ рдореЗрд░реЗ рдкрд╛рд╕ рдРрд╕реЗ рдЧреНрд▓рд┐рд╕реЗрд╕ рдирд╣реАрдВ рдереЗред
рд▓реЗрдХрд┐рди рд▓реЗрдЦ рддреИрдпрд╛рд░ рдХрд░рддреЗ рд╕рдордп рдФрд░ рд╕реНрдерд┐рд░ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп (рдпрд╣ рд▓рд┐рдЦрдиреЗ рдХреЗ рд╕рдордп v1.15.1 рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдФрд░ рд╕рдВрд╕реНрдХрд░рдг 3.8 рдХреЙрд▓рд┐рдХреЛ рдерд╛), рдореИрдВ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдореЗрдВ рднрд╛рдЧ рдЧрдпрд╛ рдерд╛ рдЬрд┐рд╕реЗ рд╕реАрдПрдирдЖрдИ рд╢реБрд░реВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдореЗрдВ рд╡реНрдпрдХреНрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛


 root@master01:~/kubernetes-ceph-percona# kubectl get pods -A -w NAMESPACE NAME READY STATUS RESTARTS AGE kube-system calico-kube-controllers-658558ddf8-t6gfs 0/1 ContainerCreating 0 11s kube-system calico-node-7td8g 1/1 Running 0 11s kube-system calico-node-dthg5 0/1 CrashLoopBackOff 1 11s kube-system calico-node-tvhkq 0/1 CrashLoopBackOff 1 11s 

рдпрд╣ рдПрдХ рдХреИрд▓реАрдХреЛ рдбреЗрдореЙрди рд╕реЗрдЯ рдЧрдбрд╝рдмрдбрд╝ рд╣реИ рдЬрдм рд╕рд░реНрд╡рд░ рдореЗрдВ рдХрдИ рдиреЗрдЯрд╡рд░реНрдХ рдЗрдВрдЯрд░рдлреЗрд╕ рд╣реЛрддреЗ рд╣реИрдВ
рдЧреАрдердм рдкрд░ рдЗрд╕ рдЧрдбрд╝рдмрдбрд╝ рдкрд░ рдПрдХ рдореБрджреНрджрд╛ рд╣реИ https://github.com/projectcalico/calico/issues/2720
рдпрд╣ рдбреЗрдорди рд╕реЗрдЯ рдХреИрд▓рд┐рдХреЛ-рдиреЛрдб рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдХреЗ рдФрд░ en_ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП IP_AUTODETECTION_METHOD рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдЬреЛрдбрд╝рдХрд░ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ


 kubectl edit -n kube-system ds calico-node 

рдЕрдкрдиреЗ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдирд╛рдо рдХреЗ рд╕рд╛рде IP_AUTODETECTION_METHOD рдкреИрд░рд╛рдореАрдЯрд░ рдЬреЛрдбрд╝реЗрдВ, рдЬрд┐рд╕ рдкрд░ рд╡рд┐рдЬрд╝рд╛рд░реНрдб рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ; рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд 19 рд╣реИ


 - name: IP_AUTODETECTION_METHOD value: ens19 


рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рд╕рднреА рдиреЛрдбреНрд╕ рдКрдкрд░ рдФрд░ рдЪрд▓ рд░рд╣реЗ рд╣реИрдВ


 # kubectl get nodes NAME STATUS ROLES AGE VERSION master01 Ready master 28m v1.15.1 master02 Ready master 26m v1.15.1 master03 Ready master 18m v1.15.1 

рдФрд░ рдЬрд┐рдВрджрд╛ рдХреИрд▓рд┐рдХрд╛ рдХреНрдпрд╛ рд╣реИ


 # kubectl get pods -A -o wide | grep calico kube-system calico-kube-controllers-59f54d6bbc-5lxgn 1/1 Running 0 27m kube-system calico-node-fngpz 1/1 Running 1 24m kube-system calico-node-gk7rh 1/1 Running 0 8m55s kube-system calico-node-w4xtt 1/1 Running 0 25m 


рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рд╡рд░реНрдХрд░ рдиреЛрдбреНрд╕ рдЬреЛрдбрд╝реЗрдВ


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


рдорд╛рд╕реНрдЯрд░реНрдиреЛрдбреНрд╕ рдкрд░ рдЪреВрд▓реНрд╣рд╛ рдЪрд▓рд╛рдирд╛

рдорд╛рд╕реНрдЯрд░ рдиреЛрдбреНрд╕ рдкрд░ рдЪреВрд▓реНрд╣рд╛ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП, рдХрд┐рд╕реА рднреА рд╕реНрд╡рд╛рдореА рдкрд░ рдирд┐рдореНрди рдЖрджреЗрд╢ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ


 kubectl taint nodes --all node-role.kubernetes.io/master- 

рдорд╛рд╕реНрдЯрд░ рдиреЛрдбреНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдкрд░ рдХреНрдпреВрдмрд▓реЗрдЯ, рдХреБрдмреЗрджрдо, рдХреБрдмреЗрдЯреЗрд▓ рдФрд░ рдбреЙрдХ рдиреЛрдб рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ


рдХреНрдпреВрдмрд▓реЗрдЯ, рдХреБрдмреЗрджрдо, рдХреБрдмреЗрдЯреЗрд▓ рдФрд░ рдбреЙрдХрдЯрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
 apt-get update && apt-get install -y apt-transport-https curl curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add - cat <<EOF >/etc/apt/sources.list.d/kubernetes.list deb https://apt.kubernetes.io/ kubernetes-xenial main EOF apt-get update apt-get install -y kubelet kubeadm kubectl apt-mark hold kubelet kubeadm kubectl 

рдбреЙрдХрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ


рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд╕реЗ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдбреЙрдХрдЯрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ


 apt-get remove docker docker-engine docker.io containerd runc apt-get install apt-transport-https ca-certificates curl gnupg2 software-properties-common 

 curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add - apt-key fingerprint 0EBFCD88 

 add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/debian \ $(lsb_release -cs) \ stable" 

 apt-get update apt-get install docker-ce docker-ce-cli containerd.io 

рд╕реНрдерд╛рдкрдирд╛ рд╕реНрдерд╛рдкрд┐рдд рдХреНрдпреВрдмрд▓реЗрдЯ, рдХреБрдмреЗрдХрд▓, рдХреБрдмреЗрджрдо рдФрд░ рдбреЙрдХрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдРрд╕рд┐рдмрд▓
 git clone https://github.com/rjeka/kubernetes-ceph-percona.git cd kubernetes-ceph-percona/playbooks vim masters.ini 

рдорд╛рд╕реНрдЯрд░реНрд╕ рдЧреНрд░реБрдк рдореЗрдВ, рдЖрдИрдкреА рдорд╛рд╕реНрдЯрд░реНрд╕ рд░рдЬрд┐рд╕реНрдЯрд░ рдХрд░реЗрдВред
рд╢реНрд░рдорд┐рдХ рд╕рдореВрд╣ рдореЗрдВ, рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдиреЛрдбреНрд╕ рдХрд╛ рдЖрдИрдкреА рд▓рд┐рдЦреЗрдВред


 # sudo c  ansible-playbook -i hosts.ini kubelet.yaml -K ansible-playbook -i hosts.ini docker.yaml -K # sudo  ansible-playbook -i hosts.ini kubelet.yaml ansible-playbook -i hosts.ini docker.yaml 

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


 kubeadm join 10.73.71.25:6443 --token ivwoap.259retezqf34amx8 \ --discovery-token-ca-cert-hash sha256:b5c93e32457c8e6478782ff62e8ef77acf72738dda59cd603cdf4821abe12ca3 

рдкреНрд░рддреНрдпреЗрдХ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдиреЛрдб рдкрд░ рдЗрд╕ рдХрдорд╛рдВрдб рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред
рдпрджрд┐ рдЖрдкрдиреЗ рдЯреЛрдХрди рдирд╣реАрдВ рд▓рд┐рдЦрд╛ рд╣реИ, рддреЛ рдЖрдк рдПрдХ рдирдпрд╛ рдЬрдирд░реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ


 kubeadm token create --print-join-command --ttl=0 

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


 This node has joined the cluster: * Certificate signing request was sent to apiserver and a response was received. * The Kubelet was informed of the new secure connection details. Run 'kubectl get nodes' on the control-plane to see this node join the cluster. 

рдЕрдм рд╣рдо рдкрд░рд┐рдгрд╛рдо рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ


 root@master01:~# kubectl get nodes NAME STATUS ROLES AGE VERSION master01 Ready master 10d v1.15.1 master02 Ready master 10d v1.15.1 master03 Ready master 10d v1.15.1 worknode01 Ready <none> 5m44s v1.15.1 worknode02 Ready <none> 59s v1.15.1 worknode03 Ready <none> 51s v1.15.1 


рд╡рд░реНрдХрдкреНрд░реЛрдбреНрд╕ рдкрд░ рд╣рд╛рдЗрдкреЛрдХреНрд╕реА рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ


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


 root@worknode01:~# cat /etc/kubernetes/kubelet.conf | grep server: server: https://10.73.71.27:6443 

рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдорд╛рд╕реНрдЯрд░ 03 рд╣реИред рдЗрд╕ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд╕рд╛рде, рдпрджрд┐ Master03 рдХреНрд░реИрд╢ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╡рд░реНрдХрд░ рдиреЛрдб рдХреНрд▓рд╕реНрдЯрд░ API рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд░ рдЦреЛ рджреЗрдЧрд╛ред рд╣рдорд╛рд░реЗ рдХреНрд▓рд╕реНрдЯрд░ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╣рд╛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдкреНрд░рддреНрдпреЗрдХ рд╡рд░реНрдХрд░ рдкрд░ рдПрдХ рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ (рд╣рд╛рдкреНрд░реЛрд╕реА) рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВрдЧреЗ, рдЬреЛ рдХрд┐ рд░рд╛рдЙрдВрдб рд░реЙрдмрд┐рди рдХреЗ рдЕрдиреБрд╕рд╛рд░, рддреАрди рдорд╛рд╕реНрдЯрд░ рдиреЛрдбреНрд╕ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рддрд┐рддрд░ рдмрд┐рддрд░ рдХрд░реЗрдЧрд╛, рдФрд░ рд╡рд░реНрдХрд░ рдиреЛрдбреНрд╕ рдкрд░ рдХреНрдпреВрдмрд▓реЗрдЯ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдореЗрдВ рд╣рдо рд╕рд░реНрд╡рд░ рдПрдбреНрд░реЗрд╕ рдХреЛ 127.0.0.1:6443 рдкрд░ рдмрджрд▓ рджреЗрдВрдЧреЗред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдкреНрд░рддреНрдпреЗрдХ рд╢реНрд░рдорд┐рдХ рдиреЛрдб рдкрд░ HAProxy рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред
рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рдзреЛрдЦрд╛ рдкрддреНрд░ рд╣реИ


 curl https://haproxy.debian.net/bernat.debian.org.gpg | \ apt-key add - echo deb http://haproxy.debian.net stretch-backports-2.0 main | \ tee /etc/apt/sources.list.d/haproxy.list apt-get update apt-get install haproxy=2.0.\* 

HAproxy рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдореЗрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдпрджрд┐ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдиреЛрдбреНрд╕ рдкрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдХреЛрдИ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рд╣рдо рдЗрд╕реЗ рдХреНрд▓реЛрди рдХрд░рддреЗ рд╣реИрдВ


 git clone https://github.com/rjeka/kubernetes-ceph-percona.git cd kubernetes-ceph-percona/ 

рдФрд░ haproxy рдзреНрд╡рдЬ рдХреЗ рд╕рд╛рде рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдПрдБ


 ./create-config.sh haproxy 

рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдФрд░ haproxy рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░реЗрдЧрд╛ред
рдЬрд╛рдБрдЪреЗрдВ рдХрд┐ haproxy рдиреЗ рдкреЛрд░реНрдЯ 6443 рдХреЛ рд╕реБрдирдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ред


 root@worknode01:~/kubernetes-ceph-percona# netstat -alpn | grep 6443 tcp 0 0 127.0.0.1:6443 0.0.0.0:* LISTEN 30675/haproxy tcp 0 0 10.73.75.241:6443 0.0.0.0:* LISTEN 30675/haproxy 

рдЕрдм рд╣рдореЗрдВ рдорд╛рд╕реНрдЯрд░ рдиреЛрдб рдХреЗ рдмрдЬрд╛рдп рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯ рдХреЛ рдПрдХреНрд╕реЗрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпреВрдмрд▓реЗрдЯ рдХреЛ рдмрддрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рднреА рд╡рд░реНрдХрд░ рдиреЛрдбреНрд╕ рдкрд░ /etc/kubernetes/kubelet.conf рдФрд░ /etc/kubernetes/bootstrap-kubelet.conf рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╕рд░реНрд╡рд░ рдорд╛рди рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВред


 vim /etc/kubernetes/kubelet.conf vim nano /etc/kubernetes/bootstrap-kubelet.conf 

рд╕рд░реНрд╡рд░ рдХрд╛ рдорд╛рди рдЗрд╕ рд░реВрдк рдореЗрдВ рд▓реЗрдирд╛ рдЪрд╛рд╣рд┐рдП:


 server: https://127.0.0.1:6443 

рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдХреНрдпреВрдмрд▓реЗрдЯ рдФрд░ рдбреЙрдХрдЯрд░ рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░реЗрдВ


 systemctl restart kubelet && systemctl restart docker 

рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рд╕рднреА рдиреЛрдб рдареАрдХ рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред


 kubectl get nodes NAME STATUS ROLES AGE VERSION master01 Ready master 29m v1.15.1 master02 Ready master 27m v1.15.1 master03 Ready master 26m v1.15.1 worknode01 Ready <none> 25m v1.15.1 worknode02 Ready <none> 3m15s v1.15.1 worknode03 Ready <none> 3m16s v1.15.1 

рдЕрдм рддрдХ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╣рд╛ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдХреЛрдИ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рд╣рдо рдкрд╣рд▓реЗ рдорд╛рд╕реНрдЯрд░ рдиреЛрдб рдкрд░ рдХреНрдпреВрдмрд▓реЗрдЯ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЛ рд░реЛрдХ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдорд╛рд░рд╛ рдХреНрд▓рд╕реНрдЯрд░ рдЪрд╛рд▓реВ рд╣реИред


 systemctl stop kubelet && systemctl stop docker 

рджреВрд╕рд░реЗ рдорд╛рд╕реНрдЯрд░ рдиреЛрдб рд╕реЗ рдЬрд╛рдВрдЪреЗрдВ


 root@master02:~# kubectl get nodes NAME STATUS ROLES AGE VERSION master01 NotReady master 15h v1.15.1 master02 Ready master 15h v1.15.1 master03 Ready master 15h v1.15.1 worknode01 Ready <none> 15h v1.15.1 worknode02 Ready <none> 15h v1.15.1 worknode03 Ready <none> 15h v1.15.1 

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


 systemctl start kubelet && systemctl start docker 


рдЗрдВрд╕реНрдЯреЙрд▓рд░ рдирд┐рдпрдВрддреНрд░рдХ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛


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


рдЪрд▓реЛ рд╕реНрдерд╛рдкрдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рд╕рднреА рдХрдорд╛рдВрдб рдорд╛рд╕реНрдЯрд░ 01 рдХреЗ рд╕рд╛рде рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдирд┐рдпрдВрддреНрд░рдХ рд╕реНрд╡рдпрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ


 kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/mandatory.yaml 

рдФрд░ рдЕрдм - рдПрдХ рд╕реЗрд╡рд╛ рдЬрд┐рд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рд╡реЗрд╢ рдЙрдкрд▓рдмреНрдз рд╣реЛрдЧрд╛
рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рддреИрдпрд╛рд░ рдХрд░реЗрдВ


 ./create-config.sh ingress 

рдФрд░ рдЗрд╕реЗ рд╣рдорд╛рд░реЗ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рднреЗрдЬреЗрдВ


 kubectl apply -f ingress/service-nodeport.yaml 

рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рд╣рдорд╛рд░рд╛ рдЗрдирдЧреНрд░реЗрдб рд╕рд╣реА рдкрддреЗ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╕рд╣реА рдкреЛрд░реНрдЯ рдкрд░ рд╕реБрдирддрд╛ рд╣реИред


 # kubectl get svc -n ingress-nginx NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE ingress-nginx NodePort 10.99.35.95 10.73.71.25,10.73.71.26,10.73.71.27 80:31669/TCP,443:31604/TCP 10m 

  kubectl describe svc -n ingress-nginx ingress-nginx Name: ingress-nginx Namespace: ingress-nginx Labels: app.kubernetes.io/name=ingress-nginx app.kubernetes.io/part-of=ingress-nginx Annotations: kubectl.kubernetes.io/last-applied-configuration: {"apiVersion":"v1","kind":"Service","metadata":{"annotations":{},"labels":{"app.kubernetes.io/name":"ingress-nginx","app.kubernetes.io/par... Selector: app.kubernetes.io/name=ingress-nginx,app.kubernetes.io/part-of=ingress-nginx Type: NodePort IP: 10.99.35.95 External IPs: 10.73.71.25,10.73.71.26,10.73.71.27 Port: http 80/TCP TargetPort: 80/TCP NodePort: http 31669/TCP Endpoints: 192.168.142.129:80 Port: https 443/TCP TargetPort: 443/TCP NodePort: https 31604/TCP Endpoints: 192.168.142.129:443 Session Affinity: None External Traffic Policy: Cluster Events: <none> 


рд╡реЗрдм UI (рдбреИрд╢рдмреЛрд░реНрдб) рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ


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


 #  kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml # 2.0 kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta1/aio/deploy/recommended.yaml 

рд╣рдордиреЗ рдЕрдкрдиреЗ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдкреИрдирд▓ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдкреИрдирд▓ рдЙрдкрд▓рдмреНрдз рд╣реЛ рдЧрдпрд╛


 http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/. 

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


 kubectl apply -f dashboard/service-nodeport.yaml 

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


 kubectl apply -f dashboard/rbac.yaml kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep admin-user | awk '{print $1}') 

рдЙрд╕рдХреЗ рдмрд╛рдж, рдЖрдк рдХрдВрдЯреНрд░реЛрд▓ рдкреИрдирд▓ рдкрд░ https://10.73.71.25:30443 рдкрд░ рд▓реЙрдЧ рдЗрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

рдбреИрд╢рдмреЛрд░реНрдб рд╣реЛрдо рд╕реНрдХреНрд░реАрди


рдмрдзрд╛рдИ! рдпрджрд┐ рдЖрдк рдЗрд╕ рдЪрд░рдг рдкрд░ рдкрд╣реБрдВрдЪ рдЧрдП рд╣реИрдВ, рддреЛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╣рд╛рдмрд░реНрд╕ рдСрдл рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рд╣реИрдВ, рдЬреЛ рдЖрдкрдХреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреА рддреИрдирд╛рддреА рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИред
Kubernetes , . .
, GitHub, , .
C , .

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


All Articles