рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреНрд▓рд╕реНрдЯрд░ рдкреНрд░рддрд┐ рдорд╛рд╣ $ 20 рдХреЗ рд▓рд┐рдП

рдЯреА рдПрд▓; рдбреЙ


рд╣рдо рдХреНрдпреВрдмреНрд╕рдкреНрд░рд╛рдп, рдХреБрдмреЗрджрдо рдФрд░ рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рдЬреИрд╕реЗ рд╕реНрд╡рдЪрд╛рд▓рди рдЙрдкрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛, рдирд┐рдЧрд▓рдирд╛ , Letencrypt рдХреЗ рд╕рд╛рде рд╕реНрдЯреЗрдЯрд▓реЗрд╕ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкрд░реЛрд╕рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд▓рд╕реНрдЯрд░ рдмрдврд╝рд╛рддреЗ рд╣реИрдВред
рдкрдврд╝рдиреЗ рдХрд╛ рд╕рдордп: ~ 45-60 рдорд┐рдирдЯ, рдкреНрд▓реЗрдмреИрдХ рд╕рдордп: 3 рдШрдВрдЯреЗ рд╕реЗред


рдкреНрд░рд╕реНрддрд╛рд╡рдирд╛


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


рдШрдЯрдХреЛрдВ


рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдШрдЯрдХ рд▓реЗрдЦ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдВрдЧреЗ:


- рдЖрдкрдХрд╛ рдкрд╕рдВрджреАрджрд╛ рд▓рд┐рдирдХреНрд╕ - рдореИрдВрдиреЗ рдЬреЗрдВрдЯреВ (рдиреЛрдб -1: рд╕рд┐рд╕реНрдЯрдордб / рдиреЛрдб -2: рдУрдкрди рдЖрд░реНрдХ), рдЙрдмрдВрдЯреВ 18.04.1 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред
- рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рд╕рд░реНрд╡рд░ - рдХреНрдпреВрдм-рдПрдкреЗрд╕реЗрд╡рд░, рдХреНрдпреВрдм-рдХрдВрдЯреНрд░реЛрд▓рд░-рдореИрдиреЗрдЬрд░, рдХреНрдпреВрдм-рд╢реЗрдбреНрдпреВрд▓рд░, рдХреНрдпреВрдмрд▓реЗрдЯ, рдХреНрдпреВрдм-рдкреНрд░реЙрдХреНрд╕реАред
- рдХрдВрдЯреЗрдирд░ + рд╕реАрдПрдирдЖрдИ рдкреНрд▓рдЧрдЗрдиреНрд╕ (0.7.4) - рдХрдВрдЯреЗрдирд░реАрдХрд░рдг рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдбреЙрдХрдЯрд░ рдХреЗ рдмрдЬрд╛рдп рдХрдВрдЯреЗрдирд░ + рд╕реАрдПрдирдЖрдИ рд▓реЗрдВрдЧреЗ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╢реБрд░реБрдЖрдд рдореЗрдВ рдкреВрд░реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдбреЙрдХрдЯрд░ рдкрд░ рдЕрдкрд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдХреБрдЫ рднреА рдЗрд╕реЗ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрдиреЗ рдкрд░ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдирд╣реАрдВ рд░реЛрдХреЗрдЧрд╛)ред
- рдХреЛрд░рдбрдПрдирдПрд╕ - рдХреБрдмреЗрд░рдиреЗрдЯ рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рдЕрдВрджрд░ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдШрдЯрдХреЛрдВ рдХреА рд╕реЗрд╡рд╛ рдЦреЛрдЬ рдХреЗ рдЖрдпреЛрдЬрди рдХреЗ рд▓рд┐рдПред 1.2.5 рд╕реЗ рдХрдо рд╕рдВрд╕реНрдХрд░рдг рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдирд╣реАрдВ рдХреА рдЧрдИ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рдмрд╛рд╣рд░ рдЪрд▓рдиреЗ рд╡рд╛рд▓реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрд░рдбрдиреНрд╕ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рд╣реИред
- рдлрд▓рд╛рд▓реИрди - рдПрдХ рдиреЗрдЯрд╡рд░реНрдХ рд╕реНрдЯреИрдХ рдХреЗ рдЖрдпреЛрдЬрди рдХреЗ рд▓рд┐рдП, рдЖрдкрд╕ рдореЗрдВ рдЪреВрд▓реНрд╣рд╛ рдФрд░ рдХрдВрдЯреЗрдирд░реЛрдВ рдХрд╛ рд╕рдВрдЪрд╛рд░ рдХрд░рдирд╛ред
- рдЖрдкрдХрд╛ рдкрд╕рдВрджреАрджрд╛ рдбреА.рдмреА.


рд╕рднреА рдХреЗ рд▓рд┐рдП


рд╕реАрдорд╛рдПрдБ рдФрд░ рдорд╛рдиреНрдпрддрд╛рдПрдБ


  • рд▓реЗрдЦ рдмрд╛рдЬрд╛рд░ рдкрд░ vps / vds рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреА рд▓рд╛рдЧрдд рдХреА рдЬрд╛рдВрдЪ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рдЗрди рд╕реЗрд╡рд╛рдУрдВ рдкрд░ рдорд╢реАрдиреЛрдВ рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рднреА рд╣реИред рдпрд╣ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХреБрдЫ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рд╣реИ, рдпрд╛ рдЖрдк рдЗрд╕реЗ рд╕реНрд╡рдпрдВ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдкрдХреЗ рдкрд╕рдВрджреАрджрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдФрд░ рдирд┐рдЬреА рдбреЙрдХрд░реНрд╕ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреА рд╕реНрдерд╛рдкрдирд╛ / рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди, рдпрджрд┐ рдЖрдкрдХреЛ рдПрдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдХрд╡рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
  • рд╣рдо рджреЛрдиреЛрдВ рдХрдВрдЯреЗрдирдб + cni plugins рдФрд░ docker рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рд▓реЗрдЦ рдбреЙрдХрдЯрд░ рдХреЛ рдПрдХ рдХрдВрдЯреЗрдирд░реАрдХрд░рдг рдЙрдкрдХрд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдбреЙрдХрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рд╕реНрд╡рдпрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдлрд▓рд╛рд▓реИрди рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗ, рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЖрдкрдХреЛ рдХреНрдпреВрдмрд▓реЗрдЯ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдЕрд░реНрдерд╛рддреН, рдХрдВрдЯреЗрдирд░ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╕рднреА рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рд╣рдЯрд╛ рджреЗрдВред рдЬреИрд╕рд╛ рдХрд┐ рдореЗрд░реЗ рдкреНрд░рдпреЛрдЧреЛрдВ рдиреЗ рджрд┐рдЦрд╛рдпрд╛ рд╣реИ, рдХрдВрдЯреЗрдирд░ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдиреЛрдбреНрд╕ рдкрд░ рдбреЙрдХрдЯрд░ рдФрд░ рдХрдВрдЯреЗрдирд░ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░реЗрдВрдЧреЗред
  • рд╣рдо рдлрд▓рд╛рд▓реИрди рдХреЗ рд▓рд┐рдП host-gw рдмреИрдХрдПрдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП рдлрд▓рд╛рд▓реИрди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЕрдиреБрднрд╛рдЧ рдкрдврд╝реЗрдВ
  • рд╣рдо рдирд┐рдЧрд░рд╛рдиреА, тАЛтАЛрдмреИрдХрдЕрдк, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдлрд╝рд╛рдЗрд▓реЛрдВ (рд╕реНрдерд┐рддрд┐) рдХреЛ рдмрдЪрд╛рдиреЗ, рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓реЛрдВ рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛрдб (git / hg / svn / etc) рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рднреА рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред

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


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


рдкрджрдирд╛рдо

рд╢рдмреНрджреЛрдВ рдХреА рд╕реВрдЪреА / рд╢рдмреНрджрд╛рд╡рд▓реА


  • рдПрдкреАрдЖрдИ-рд╕рд░реНрд╡рд░ - рдПрдХ рднреМрддрд┐рдХ рдпрд╛ рдЖрднрд╛рд╕реА рдорд╢реАрди рдЬрд┐рд╕ рдкрд░ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреНрдпреВрдм-рдПрдкреЗрд╕реНрд╡рд░ рдЪрд▓рд╛рдиреЗ рдФрд░ рд╕рд╣реА рдХрд╛рд░реНрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╕реНрдерд┐рдд рд╣реИред рдЗрд╕ рд▓реЗрдЦ рдХреЗ рдкреНрд░рдпреЛрдЬрдиреЛрдВ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдПрджреНрдб, рдХреНрдпреВрдм-рдПрдкреЗрд╕реНрд╡рд░, рдХреНрдпреВрдм-рдХрдВрдЯреНрд░реЛрд▓рд░-рдореИрдиреЗрдЬрд░, рдХреНрдпреВрдм-рд╢реЗрдбреНрдпреВрд▓рд░ рд╣реИред
  • рдорд╛рд╕реНрдЯрд░ - рдПрдХ рд╕рдорд░реНрдкрд┐рдд рд╡рд░реНрдХрд╕реНрдЯреЗрд╢рди рдпрд╛ рд╡реАрдкреАрдПрд╕ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди, рдПрдкреАрдЖрдИ-рд╕рд░реНрд╡рд░ рдХрд╛ рдПрдХ рдкрд░реНрдпрд╛рдпред
  • рдиреЛрдб-рдПрдХреНрд╕ - рдПрдХ рд╕рдорд░реНрдкрд┐рдд рд╡рд░реНрдХрд╕реНрдЯреЗрд╢рди рдпрд╛ рд╡реАрдкреАрдПрд╕ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди, X рд╕реНрдЯреЗрд╢рди рдХреЗ рд╕реАрд░рд┐рдпрд▓ рдирдВрдмрд░ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рд╕рднреА рд╕рдВрдЦреНрдпрд╛рдПрдВ рдЕрджреНрд╡рд┐рддреАрдп рд╣реИрдВ рдФрд░ рд╕рдордЭрдиреЗ рдореЗрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИрдВ:
    • рдиреЛрдб -1 - рдорд╢реАрди рдирдВрдмрд░ 1
    • рдиреЛрдб -2 - рдорд╢реАрди рдирдВрдмрд░ 2
  • vCPU - рд╡рд░реНрдЪреБрдЕрд▓ рд╕реАрдкреАрдпреВ, рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЛрд░ред рд╕рдВрдЦреНрдпрд╛ рдХреЛрд░ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рдореЗрд▓ рдЦрд╛рддреА рд╣реИ: 1vCPU - рдПрдХ рдХреЛрд░, 2vCPU - рджреЛ, рдФрд░ рдЗрд╕реА рддрд░рд╣ред
  • рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ - рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдерд╛рдиред рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдирд┐рд░реНрджреЗрд╢реЛрдВ рдореЗрдВ user$ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рд╢рдмреНрдж рдХрд┐рд╕реА рднреА рдЧреНрд░рд╛рд╣рдХ рдорд╢реАрди рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИред
  • рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ - рдХрд╛рд░реНрдп рдиреЛрдб рдЬрд┐рд╕ рдкрд░ рдкреНрд░рддреНрдпрдХреНрд╖ рдЧрдгрдирд╛ рдХреА рдЬрд╛рдПрдЧреА, node-X рд╕рд╛рде рдкрд░реНрдпрд╛рдпрд╡рд╛рдЪреА рд░реВрдк рд╕реЗ
  • рд╕рдВрд╕рд╛рдзрди рд╡рд╣ рдЗрдХрд╛рдИ рд╣реИ рдЬрд┐рд╕ рдкрд░ рдХреБрдмреЗрд░рдиреЗрдЯ рд╕рдореВрд╣ рдХрд╛ рд╕рдВрдЪрд╛рд▓рди рд╣реЛрддрд╛ рд╣реИред рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдореЗрдВ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд рдирд┐рдХрд╛рдп рд╢рд╛рдорд┐рд▓ рд╣реИрдВ ред

рдиреЗрдЯрд╡рд░реНрдХ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рд╕рдорд╛рдзрд╛рди


рдХреНрд▓рд╕реНрдЯрд░ рдмрдврд╝рд╛рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ, рдореИрдВрдиреЗ рдкреНрд░рддрд┐ рдорд╛рд╣ $ 20 рдХреЗ рдмрдЬрдЯ рдореЗрдВ рдлрд┐рдЯ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рд▓реЛрд╣реЗ рдХреЗ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░реНрдп рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдХрдо рд╕реЗ рдХрдо рджреЛ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдиреЛрдбреНрд╕ (рдиреЛрдбреНрд╕) рдХреЗ рд╕рд╛рде рдПрдХ рдХрд╛рд░реНрдпрд╢реАрд▓ рдХреНрд▓рд╕реНрдЯрд░ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛ред рдЗрд╕рд▓рд┐рдП, рд╢реБрд░реВ рдореЗрдВ рдХреНрд▓рд╕реНрдЯрд░ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рдерд╛:


  • 2 рд╡реАрд╕реАрдкреАрдпреВ / 4 рдЬреА рд░реИрдо рдХреЗ рд╕рд╛рде рдорд╢реАрди: рдПрдкреАрдЖрдИ-рд╕рд░реНрд╡рд░ + рдиреЛрдб -1 [20 $]
  • 2 рд╡реАрд╕реАрдкреАрдпреВ / 4 рдЬреА рд░реИрдо рдХреЗ рд╕рд╛рде рдорд╢реАрди: рдиреЛрдб -2 [$ 20]

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


рдирддреАрдЬрддрди, рдореБрдЭреЗ рдЗрд╕ рд╕рд╡рд╛рд▓ рдХрд╛ рдЬрд╡рд╛рдм рдорд┐рд▓рд╛: "рдпрджрд┐ рдХрдо рдпрд╛ рдЬреНрдпрд╛рджрд╛ рд╕рд╕реНрддреА, рд▓реЗрдХрд┐рди рдХрд╛рдордХрд╛рдЬреА рдХреНрд▓рд╕реНрдЯрд░ рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╣реИ, рдЕрдЧрд░ рдореИрдВ рд╡рд╣рд╛рдВ рд╕рдмрд╕реЗ рдореЛрдЯреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рдирд╣реАрдВ рд░рдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред"


$ 20 рдирд┐рд░реНрдгрдп

рдбрд┐рдЬрд╝рд╛рдЗрди
(рдРрд╕рд╛ рд╣реЛрдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рдИ)


рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рд╕рд╛рдорд╛рдиреНрдп рдЬрд╛рдирдХрд╛рд░реА

рдбрд┐рдЬрд╝рд╛рдЗрди
(рдЗрдВрдЯрд░рдиреЗрдЯ рд╕реЗ рдЪреЛрд░реА рдЕрдЧрд░ рдХрд┐рд╕реА рдХреЛ рдЕрднреА рднреА рдкрддрд╛ рдирд╣реАрдВ рд╣реИ рдпрд╛ рдирд╣реАрдВ рджреЗрдЦрд╛ рд╣реИ)


рдЕрд╡рдпрд╡ рдФрд░ рдЙрдирдХрд╛ рдкреНрд░рджрд░реНрд╢рди


рдкрд╣рд▓рд╛ рдХрджрдо рдпрд╣ рд╕рдордЭрдирд╛ рдерд╛ рдХрд┐ рдХреНрд▓рд╕реНрдЯрд░ рд╕реЗ рд╕реАрдзреЗ рдЬреБрдбрд╝реЗ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рдХрд┐рддрдиреЗ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред "рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ" рдХреА рдЦреЛрдЬ рдиреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд░рд┐рдгрд╛рдо рдирд╣реАрдВ рджрд┐рдП, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдХрд╛рд░реНрдп рдХреЛ рдЕрдкрдирд╛рдирд╛ рдкрдбрд╝рд╛ред MEM рдФрд░ CPU рдХреА рдорд╛рдк рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВрдиреЗ systemd рд╕реЗ рдЖрдВрдХрдбрд╝реЗ рд▓рд┐рдП - рд╣рдо рдорд╛рди рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдорд╛рдк рдмрд╣реБрдд рд╣реА рд╢реМрдХрд┐рдпрд╛ рддрд░реАрдХреЗ рд╕реЗ рдХрд┐рдП рдЧрдП рдереЗ, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдкрд╛рд╕ рд╕рдЯреАрдХ рдорд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░реНрдп рдирд╣реАрдВ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рдЕрднреА рднреА $ 5 рдкреНрд░рддрд┐ рдЙрджрд╛рд╣рд░рдг рд╕реЗ рд╕рд╕реНрддрд╛ рдХреЛрдИ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рдорд┐рд▓рд╛ред


рдХреНрдпреЛрдВ $ 5 рдмрд┐рд▓реНрдХреБрд▓?

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


рддреЛ:


  • рдорд╛рд╕реНрдЯрд░ рд╕рд░реНрд╡рд░ / рд╕рд░реНрд╡рд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди (рдорд╛рд╕реНрдЯрд░ рдиреЛрдбреНрд╕):
    • рдЕрдиреНрдбрд░ (3.2.17): 80 - 100 рдореАрдЯрд░, рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдХреЛ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд░реВрдк рд╕реЗ рдЪрдпрдирд┐рдд рд╕рдордп рдкрд░ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред Etcd рдФрд╕рдд рдореЗрдореЛрд░реА рдХреА рдЦрдкрдд 300M рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рдереА;
    • рдХреНрдпреВрдм-рдПрдкреЗрд╕реНрд╡рд░ (1.12.x - 1.13.0): 237.6M ~ 300M;
    • рдХреНрдпреВрдм-рдХрдВрдЯреНрд░реЛрд▓рд░-рдореИрдиреЗрдЬрд░ (1.12.x - 1.13.0): рд▓рдЧрднрдЧ 90M, 100M рд╕реЗ рдКрдкрд░ рдирд╣реАрдВ рдмрдврд╝рд╛;
    • рдХреНрдпреВрдм-рд╢реЗрдбреНрдпреВрд▓рд░ (1.12.x - 1.13.0): рд▓рдЧрднрдЧ 20M, 30-50M рд╕реЗ рдКрдкрд░ рдХреА рдЦрдкрдд рддрдп рдирд╣реАрдВ рд╣реИред
  • рд╡рд░реНрдХрд░ рд╕рд░реНрд╡рд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди (рд╡рд░реНрдХрд░ рдиреЛрдбреНрд╕):
    • рдХреНрдпреВрдмрд▓реЗрдЯ (1.12.3 - 1.13.1): рд▓рдЧрднрдЧ 35 рдПрдордмреА, 50M рд╕реЗ рдКрдкрд░ рдХреА рдЦрдкрдд рддрдп рдирд╣реАрдВ рд╣реИ;
    • рдХреНрдпреВрдм-рдкреНрд░реЙрдХреНрд╕реА (1.12.3 - 1.13.1): рд▓рдЧрднрдЧ 7.5 - 10M;
    • рдлрд▓рд╛рд▓реИрди (0.10.0): рд▓рдЧрднрдЧ 15-20 рдореАрдЯрд░;
    • coredns (1.3.0): рд▓рдЧрднрдЧ 25M;
    • рдХрдВрдЯреЗрдирд░ (1.2.1): рдХрдВрдЯреЗрдирд░ рдХреА рдЦрдкрдд рдХрдо рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдВрдХрдбрд╝реЗ рднреА рдбреЗрдорди рджреНрд╡рд╛рд░рд╛ рд╢реБрд░реВ рдХрд┐рдП рдЧрдП рдХрдВрдЯреЗрдирд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рджрд░реНрд╢рд╛рддреЗ рд╣реИрдВред

рдХреНрдпрд╛ рдорд╛рд╕реНрдЯрд░ рдиреЛрдбреНрд╕ рдкрд░ рдХрдВрдЯреЗрдирд░ / рдбреЙрдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ?

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


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


рдШрд░ рдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд░реАрдХреНрд╖рдг рдХреНрд▓рд╕реНрдЯрд░ рдпрд╛ рдХреНрд▓рд╕реНрдЯрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, 1vCPU / 1G RAM рдорд╛рд╕реНрдЯрд░ рдиреЛрдб рдХреЛ рдХрд╛рд░реНрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдЧрд╛ред рдмреЗрд╢рдХ, рдорд╛рд╕реНрдЯрд░ рдиреЛрдб рдкрд░ рд▓реЛрдб рд╢рд╛рдорд┐рд▓ рд╢реНрд░рдорд┐рдХреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛, рд╕рд╛рде рд╣реА рдПрдкреАрдЖрдИ-рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рдЙрдкрд▓рдмреНрдзрддрд╛ рдФрд░ рдорд╛рддреНрд░рд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣реЛрдЧрд╛ред


рдореИрдВрдиреЗ рдорд╛рд╕реНрдЯрд░ рдФрд░ рд╡рд░реНрдХрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╡рд┐рд╕реНрдлреЛрдЯ рдХрд┐рдпрд╛:


  • рд╕реНрдерд╛рдкрд┐рдд рдШрдЯрдХреЛрдВ рдХреЗ рд╕рд╛рде 1x рдорд╛рд╕реНрдЯрд░: рд╡рдЧреИрд░рд╣, рдХреНрдпреВрдм-рдПрдкреЗрд╕реНрд╡рд░, рдХреНрдпреВрдм-рдХрдВрдЯреНрд░реЛрд▓рд░-рдореИрдиреЗрдЬрд░, рдХреНрдпреВрдм-рд╢реЗрдбреНрдпреВрд▓рд░
  • рд╕реНрдерд╛рдкрд┐рдд рдШрдЯрдХреЛрдВ рдХреЗ рд╕рд╛рде 2x рд╢реНрд░рдорд┐рдХ: рдХрдВрдЯреЗрдирд░, рдХреЛрд░рдбрдиреНрд╕, рдлрд▓рд╛рд▓реИрди, рдХреНрдпреВрдмрд▓реЗрдЯ, рдХреНрдпреВрдм-рдкреНрд░реЙрдХреНрд╕реА

рд╡рд┐рдиреНрдпрд╛рд╕


рд╡рд┐рдЬрд╝рд╛рд░реНрдб рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдШрдЯрдХреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ:


  • рдЖрджрд┐ - рдПрдкреАрдЖрдИ-рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рд╛рде рд╣реА рдлрд▓рд╛рд▓реИрди рдХреЗ рд▓рд┐рдП;


  • kube-apiserver - рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдПрдкреАрдЖрдИ-рд╕рд░реНрд╡рд░;


  • рдХреНрдпреВрдм-рдирд┐рдпрдВрддреНрд░рдХ-рдкреНрд░рдмрдВрдзрдХ - рдШрдЯрдирд╛рдУрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдФрд░ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП;


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


  • рдХреНрдпреВрдмрд▓реЗрдЯ - рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЪреВрд▓реНрд╣рд╛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП;


  • рдХреНрдпреВрдм-рдкреНрд░реЙрдХреНрд╕реА - рдХреБрдмреЗрд░рдиреЗрдЯ рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рдорд╛рд░реНрдЧ / рдЖрдпреЛрдЬрди рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП;


  • coredns - рд░рдирд┐рдВрдЧ рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рд╕реЗрд╡рд╛ рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП;


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



CoreDNS

рдпрд╣рд╛рдВ рдПрдХ рдЫреЛрдЯрд╛ рд╡рд┐рд╖рдпрд╛рдВрддрд░ рдмрдирд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП: рдорд╛рд╕реНрдЯрд░ рд╕рд░реНрд╡рд░ рдкрд░ рднреА рдХреЛрд░рдбреЛрди рд▓реЙрдиреНрдЪ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдХреЛрдИ рднреА рдкреНрд░рддрд┐рдмрдВрдз рдирд╣реАрдВ рд╣реИ рдЬреЛ coredns рдХреЛ рдХрд╛рдо рдиреЛрдбреНрд╕ рдкрд░ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рдзреНрдп рдХрд░реЗрдЧрд╛, coredns.service рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреА рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдХреЛ рдЫреЛрдбрд╝рдХрд░, рдЬреЛ рд╕рд┐рд╕реНрдЯрдо-рд╣рд▓ рдХреА рдЧрдИ рд╕реЗрд╡рд╛ рдХреЗ рд╕рд╛рде рд╕рдВрдШрд░реНрд╖ рдХреЗ рдХрд╛рд░рдг рдорд╛рдирдХ / рдЕрдирдореЙрдбрд┐рдлрд╛рдЗрдб Ubuntu рд╕рд░реНрд╡рд░ рдкрд░ рд╢реБрд░реВ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдореИрдВрдиреЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХреА, рдХреНрдпреЛрдВрдХрд┐ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдиреЛрдбреНрд╕ рдкрд░ рд╕реНрдерд┐рдд 2 рдПрдирдПрд╕ рд╕рд░реНрд╡рд░ рдореБрдЭрд╕реЗ рдХрд╛рдлреА рдЦреБрд╢ рдереЗред


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


рдлрд╝рд╛рдЗрд▓реЗрдВ


рд╡рд┐рдЬрд╝рд╛рд░реНрдб рдФрд░ рдХрд╛рд░реНрдп рдиреЛрдбреНрд╕ рдХреЗ рд▓рд┐рдП рдХреНрд▓рд╕реНрдЯрд░ рдШрдЯрдХреЛрдВ рдХреЗ рдХрд╛рдордХрд╛рдЬ рдХреЗ рд▓рд┐рдП рд╕рднреА рдлрд╛рдЗрд▓реЗрдВ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП / var / lib / kubernetes / рдореЗрдВ рд░рдЦреА рдЧрдИ рд╣реИрдВред рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рдЖрдк рдЙрдиреНрд╣реЗрдВ рджреВрд╕рд░реЗ рддрд░реАрдХреЗ рд╕реЗ рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВред


рдкреНрд░рдорд╛рдгрдкрддреНрд░


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


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


рдмреИрд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рдЬреЗрдирд░реЗрд╢рди

рдЖрдк рдпрд╣рд╛рдВ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдмреВрдЯрд╕реНрдЯреНрд░реИрдк ред рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдлрд╝рд╛рдЗрд▓ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ / env.sh рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ, рдЕрдкрдиреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВред рдПрдХ рдЙрджрд╛рд╣рд░рдг:


 $ cd certs #:   certs$ ./generate-keys.sh # ... certificate generate output #:  kubeconfig     certs$ ./generate-configkube.sh 

рдпрджрд┐ рдЖрдкрдиреЗ env.sh рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рд╕рднреА рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдЙрддреНрдкрдиреНрди рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдХреЛ рдЫреВрдиреЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдпрджрд┐ рдЖрдкрдиреЗ рдХрд┐рд╕реА рдмрд┐рдВрджреБ рдкрд░ рдЧрд▓рддреА рдХреА рд╣реИ, рддреЛ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХреЛ рднрд╛рдЧреЛрдВ рдореЗрдВ рдкреБрдирд░реНрдЬреАрд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЙрдкрд░реЛрдХреНрдд рдмреИрд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рддреБрдЪреНрдЫ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рдЫрд╛рдВрдЯрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИред


рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдиреЛрдЯ - рдЖрдкрдХреЛ рдЕрдХреНрд╕рд░ ca.pem рдФрд░ ca-key.pem рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рдирд╣реАрдВ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рд╕рднреА рдмрд╛рдж рдХреЗ рдкреНрд░рдорд╛рдг рдкрддреНрд░реЛрдВ рдХреЗ рд▓рд┐рдП рдореВрд▓ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рд╣реИрдВ, рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдЖрдкрдХреЛ рд╕рднреА рд╕рд╛рде рд╡рд╛рд▓реЗ рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╕рднреА рдорд╢реАрдиреЛрдВ рдФрд░ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рддрдХ рдкрд╣реБрдВрдЪрд╛рдирд╛ рд╣реЛрдЧрд╛ред


рдЧреБрд░реБ


рдорд╛рд╕реНрдЯрд░ рдиреЛрдб рдкрд░ рд╕реЗрд╡рд╛рдПрдВ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдХреЛ /var/lib/kubernetes/ : рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред


  • ca.pem - рдпрд╣ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рд╣рд░ рдЬрдЧрд╣ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕реЗ рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рдЙрддреНрдкрдиреНрди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рдмрд┐рдирд╛ рдмрджрд▓рд╛рд╡ рдХреЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕рд╛рд╡рдзрд╛рди рд░рд╣реЗрдВред рдЬрдм рдЖрдк рдЗрд╕реЗ рдкреБрдирд░реНрдЬреАрд╡рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдЗрд╕реЗ рд╕рднреА рдиреЛрдбреНрд╕ рдкрд░ рдХреЙрдкреА рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рд╕рд╛рде рд╣реА рд╕рд╛рде рдЗрд╕реЗ (рд╕рднреА рдорд╢реАрдиреЛрдВ рдкрд░ рднреА) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреБрдмреЗрдХреЙрдиреНрдЧ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
  • ca-key.pem рдиреЛрдбреНрд╕ рдкрд░ рдирдХрд▓ рдХрд░рдиреЗ рдХреЗ рд╕рдорд╛рди рд╣реИред
  • рдХреНрдпреВрдм-рдХрдВрдЯреНрд░реЛрд▓рд░- manager.pem - рдХреЗрд╡рд▓ рдХреНрдпреВрдм-рдХрдВрдЯреНрд░реЛрд▓рд░-рдореИрдиреЗрдЬрд░ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИред
  • рдХреНрдпреВрдм-рдХрдВрдЯреНрд░реЛрд▓рд░-рдореИрдиреЗрдЬрд░- key.pem - рдХреЗрд╡рд▓ рдХреНрдпреВрдм-рдХрдВрдЯреНрд░реЛрд▓рд░-рдореИрдиреЗрдЬрд░ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИред
  • kubernetes.pem - рдлрд▓рд╛рд▓реИрди рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдХреЙрд░реНрдб-рдХреНрдпреБрдб-рдПрд╡реЗрд░реНрд╡рд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рддреЗ рд╕рдордп рдХреЙрд░реНрдбрдиред


    рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рдкреАрдЫреЗ рд╣рдЯрдирд╛

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


    рдореЗрд░реА рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░рд╛рдп рд╣реИ рдХрд┐ etcd рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬреЛ kubernetes рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдХреЗ рд╕рд╛рде рдУрд╡рд░рд▓реИрдк рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред




  • kubernetes-key.pem - рдорд╛рд╕реНрдЯрд░ рд╕рд░реНрд╡рд░ рдкрд░ рд░рд╣рддрд╛ рд╣реИред
  • рд╕реЗрд╡рд╛- account.pem - рдХреЗрд╡рд▓ рдШрди-рдирд┐рдпрдВрддреНрд░рдХ-рдкреНрд░рдмрдВрдзрдХ рдбреЗрдореЙрди рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИред
  • service-account-key.pem - рдЗрд╕реА рддрд░рд╣ред

рдХрд╛рдо рдХреА рдЗрдХрд╛рдЗрдпрд╛рдБ


  • ca.pem - рдХрд╛рдо рдиреЛрдбреНрд╕ (рдХреНрдпреВрдмрд▓реЗрдЯ, рдХреНрдпреВрдм-рдкреНрд░реЙрдХреНрд╕реА) рдкрд░ рд╢рд╛рдорд┐рд▓ рд╕рднреА рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рд╕рд╛рде рд╣реА рдлрд▓рд╛рд▓реИрди, рдХреЛрд░рдбрдиреНрд╕ рдХреЗ рд▓рд┐рдП рднреАред рдЕрдиреНрдп рдЪреАрдЬреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрд╕рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдХреБрдмреЗрдХреЙрдиреНрдл рдлрд╛рдЗрд▓ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрдм рд╡реЗ рдХреБрдмреНрд▓реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрддреНрдкрдиреНрди рд╣реЛрддреЗ рд╣реИрдВред
  • kubernetes-key.pem - рдХреЛ рдлреЗрд▓реНрдб рдФрд░ рдХреЙрд░реНрдбрди рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдХреЙрд░реНрдб рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬреЛ рдПрдкреА рдорд╛рд╕реНрдЯрд░ рдиреЛрдб рдкрд░ рд╕реНрдерд┐рдд рд╣реИред
  • kubernetes.pem - рдкрд┐рдЫрд▓реЗ рдПрдХ рдХреЗ рд╕рдорд╛рди, рдХреЗрд╡рд▓ рдлрд▓рд╛рд▓реИрди рдФрд░ рдХреЙрд░реНрдбрди рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХред
  • kubelet / node-1.pem - рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдиреЛрдб -1 рдХреЗ рд▓рд┐рдП рдХреБрдВрдЬреАред
  • kubelet / node-1-key.pem - рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдиреЛрдб -1 рдХреЗ рд▓рд┐рдП рдХреБрдВрдЬреАред

рдорд╣рддреНрд╡рдкреВрд░реНрдг! рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдиреЛрдб рд╣реИрдВ, рддреЛ рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдб рдореЗрдВ node-X.kubeconfig рдЕрдВрджрд░ рдиреЛрдб- node-X-key.pem , node-X.pem рдФрд░ node-X.kubeconfig рдлрд╛рдЗрд▓реЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдВрдЧреАред


рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдбреАрдмрдЧ рдХрд░рдирд╛

рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдбреАрдмрдЧ рдХрд░рдирд╛


рдХрднреА-рдХрднреА рдЖрдкрдХреЛ рдпрд╣ рджреЗрдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ рдХрд┐ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХрд┐рд╕ IP / DNS рд╣реЛрд╕реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред cfssl-certinfo -cert <cert> рдХрдорд╛рдВрдб рд╣рдореЗрдВ рдЗрд╕рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдо node-1.pem рд▓рд┐рдП рдпрд╣ рдЬрд╛рдирдХрд╛рд░реА node-1.pem :


 $ cfssl-certinfo -cert node-1.pem 

 { "subject": { "common_name": "system:node:node-1", "country": "RU", "organization": "system:nodes", "organizational_unit": "Infrastructure Unit", "locality": "Moscow", "province": "Moscow", "names": [ "RU", "Moscow", "Moscow", "system:nodes", "Infrastructure Unit", "system:node:node-1" ] }, "issuer": { "common_name": "Kubernetes", "country": "RU", "organization": "Kubernetes", "organizational_unit": "Infrastructure", "locality": "Moscow", "province": "Moscow", "names": [ "RU", "Moscow", "Moscow", "Kubernetes", "Infrastructure", "Kubernetes" ] }, "serial_number": "161113741562559533299282037709313751074033027073", "sans": [ "w40k.net", "node-1", "178.79.168.130", "192.168.164.230" ], "not_before": "2019-01-04T14:24:00Z", "not_after": "2029-01-01T14:24:00Z", "sigalg": "SHA256WithRSA", "authority_key_id": "6:C8:94:67:59:55:19:82:AD:ED:6D:50:F1:89:B:8D:46:78:FD:9A", "subject_key_id": "A1:5E:B3:3C:45:14:3D:C6:C:A:97:82:1:D5:2B:75:1A:A6:9D:B0", "pem": "<pem content>" } 

рдХреНрдпреВрдмрд▓реЗрдЯ рдФрд░ рдХреНрдпреВрдм-рдкреНрд░реЙрдХреНрд╕реА рдХреЗ рд▓рд┐рдП рдЕрдиреНрдп рд╕рднреА рдкреНрд░рдорд╛рдг рдкрддреНрд░ рд╕реАрдзреЗ рд╕рдВрдмрдВрдзрд┐рдд kubeconfig рдореЗрдВ рдПрдореНрдмреЗрдбреЗрдб рд╣реИрдВред


kubeconfig


рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдХреБрдмреЗрдХреЙрдиреНрдлрд┐рдЧ рдХреЛ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрдард┐рди рддрд░реАрдХреЗ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣рд╛рдВ рдХреБрдЫ рдорддрднреЗрдж рд╢реБрд░реВ рд╣реЛрддреЗ рд╣реИрдВред рдореИрдиреБрдЕрд▓ kubedns рдФрд░ cni bridge kubedns рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рдореЗрдВ coredns рдФрд░ flannel рднреА рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдмрджрд▓реЗ рдореЗрдВ, рдпреЗ рджреЛрдиреЛрдВ рд╕реЗрд╡рд╛рдПрдВ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ kubeconfig рдЗрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП kubeconfig рдХрд╛ рдЙрдкрдпреЛрдЧ kubeconfig ред


 $ cd certs #:  kubeconfig     certs$ ./generate-configkube.sh 

рдЧреБрд░реБ


рд╡рд┐рдЬрд╝рд╛рд░реНрдб рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрди kubeconfig рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ (рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдкреАрдврд╝реА рдХреЗ рдмрд╛рдж рдЙрдиреНрд╣реЗрдВ certs/kubeconfig рдореЗрдВ рд▓рд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ):


 master /var/lib/kubernetes/$ tree -L 2 . +-- kube-controller-manager.kubeconfig L-- kube-scheduler  L-- kube-scheduler.kubeconfig 

рдЗрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕реЗрд╡рд╛ рдШрдЯрдХреЛрдВ рдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реЛрдЧрд╛ред


рдХрд╛рдо рдХреА рдЗрдХрд╛рдЗрдпрд╛рдБ


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


 node-1 /var/lib/kubernetes/$ tree -L 2 . +-- coredns ┬ж  L-- coredns.kubeconfig +-- flanneld ┬ж  L-- flanneld.kubeconfig +-- kubelet ┬ж  L-- node-1.kubeconfig L-- kube-proxy  L-- kube-proxy.kubeconfig 

рд╕реЗрд╡рд╛ рдХрд╛ рд╢реБрднрд╛рд░рдВрдн


рд╕реЗрд╡рд╛рдПрдВ

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


рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ service-name.service рдХреЛ /lib/systemd/system/ рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдХреЙрдкреА рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬрд╣рд╛рдБ systemd рдХреЗ рд▓рд┐рдП рд╕реЗрд╡рд╛рдПрдБ рд╕реНрдерд┐рдд рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рдЪрд╛рд▓реВ рдХрд░реЗрдВ рдФрд░ рд╕реЗрд╡рд╛ рд╢реБрд░реВ рдХрд░реЗрдВред рдХреНрдпреВрдм-рдЕрдкреАрдЬрд╝рд░ рдХреЗ рд▓рд┐рдП рдЙрджрд╛рд╣рд░рдг:


 $ systemctl enable kube-apiserver.service $ systemctl start kube-apiserver.service 

рдмреЗрд╢рдХ, рд╕рднреА рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рд╣рд░рд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП (рдпрд╛рдиреА, рдЪрд▓ рд░рд╣рд╛ рд╣реИ рдФрд░ рдХрд╛рд░реНрдп рдХрд░ рд░рд╣рд╛ рд╣реИ)ред рдпрджрд┐ рдЖрдк рдХреЛрдИ рдЧрд▓рддреА рдХрд░рддреЗ рд╣реИрдВ, рддреЛ journal -f -t kube-apiserver journalct -xe рдпрд╛ journal -f -t kube-apiserver рдЖрдкрдХреЛ рдпрд╣ рд╕рдордЭрдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рдЧрд▓рдд рд╣реИред


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


рдЧреБрд░реБ


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


- systemd / etcd
- systemd / kube-apiserver
- рд╕рд┐рд╕реНрдЯрдордб / рдХреНрдпреВрдм-рдХрдВрдЯреНрд░реЛрд▓рд░-рдореИрдиреЗрдЬрд░
- systemd / kube-рдЕрдиреБрд╕реВрдЪрдХ


рдХрд╛рдо рдХреА рдЗрдХрд╛рдЗрдпрд╛рдБ


- рд╕рд┐рд╕реНрдЯрдордб / рдХрдВрдЯреЗрдирд░
- рд╕рд┐рд╕реНрдЯрдордб / рдХреНрдпреВрдмрд▓реЗрдЯ
- рд╕рд┐рд╕реНрдЯрдордб / рдХреНрдпреВрдм-рдкреНрд░реЙрдХреНрд╕реА
- рд╕рд┐рд╕реНрдЯрдордб / рдХреЛрд░рдбрдиреНрд╕
- рд╕рд┐рд╕реНрдЯрдордб / рдлрд▓рд╛рд▓реИрди


рдЧреНрд░рд╛рд╣рдХ


рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, ${HOME}/.kube/config рдХреЗрд╡рд▓ certs/kubeconfig/admin.kubeconfig (рдЗрд╕реЗ рдЬреЗрдирд░реЗрдЯ рдХрд░рдиреЗ рдпрд╛ рдЗрд╕реЗ рдЦреБрдж рд▓рд┐рдЦрдиреЗ рдХреЗ рдмрд╛рдж) рдХреЙрдкреА рдХрд░реЗрдВ ${HOME}/.kube/config


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


рдЬрд╛рдБрдЪ рдХрд░реЗрдВ рдХрд┐ рдХреНрдпреВрдм-рдЕрдкреАрдЬрд╝рд░ рдФрд░ рдХреБрдмреЗрдЯрд▓ рдХрд╛рд░реНрдп:


 $ kubectl version Client Version: version.Info{Major:"1", Minor:"13", GitVersion:"v1.13.0", "extra info": "..."} Server Version: version.Info{Major:"1", Minor:"13", GitVersion:"v1.13.0", "extra info": "..."} 

рдлрд▓рд╛рд▓реИрди рд╡рд┐рдиреНрдпрд╛рд╕


рдПрдХ рдлрд▓рд╛рд▓реИрди рд╡рд┐рдиреНрдпрд╛рд╕ рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВ vxlan рдмреИрдХреЗрдВрдб рдкрд░ рдмрд╕ рдЧрдпрд╛ред рдпрд╣рд╛рдВ рдмреИрдХрдПрдВрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдкрдврд╝реЗрдВред


рд╣реЛрд╕реНрдЯ-рдЬреАрдбрдмреНрд▓реНрдпреВ рдФрд░ рдЗрд╕рдиреЗ рдХрд╛рдо рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд┐рдпрд╛

рдореБрдЭреЗ рддреБрд░рдВрдд рдХрд╣рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ VPS рдкрд░ рдХреБрдмреЗрд░рдиреЗрдЯ рдХреНрд▓рд╕реНрдЯрд░ рдЪрд▓рд╛рдиреЗ рд╕реЗ host-gw рдмреИрдХрдПрдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИред рдЕрдиреБрднрд╡реА рдиреЗрдЯрд╡рд░реНрдХ рдЗрдВрдЬреАрдирд┐рдпрд░ рдирд╣реАрдВ рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг, рдореИрдВрдиреЗ рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рд▓рдЧрднрдЧ рджреЛ рджрд┐рди рдбрд┐рдмрдЧрд┐рдВрдЧ рдореЗрдВ рдмрд┐рддрд╛рдП рдХрд┐ рд▓реЛрдХрдкреНрд░рд┐рдп VDS / VPS рдкреНрд░рджрд╛рддрд╛рдУрдВ рдкрд░ рдЗрд╕рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рдХреНрдпрд╛ рдереАред


Linode.com рдФрд░ digitalocean рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рд░ рдпрд╣ рд╣реИ рдХрд┐ рдкреНрд░рджрд╛рддрд╛ рдПрдХ рдирд┐рдЬреА рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рд▓рд┐рдП рдИрдорд╛рдирджрд╛рд░ L2 рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдмрджрд▓реЗ рдореЗрдВ, рдЗрд╕ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдиреЛрдбреНрд╕ рдХреЗ рдмреАрдЪ рдиреЗрдЯрд╡рд░реНрдХ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рдмрдирд╛рддрд╛ рд╣реИ:


рдпрд╛рддрд╛рдпрд╛рдд


рдиреЗрдЯрд╡рд░реНрдХ рдЯреНрд░реИрдлрд┐рдХ рдХреЗ рд▓рд┐рдП рдиреЛрдбреНрд╕ рдХреЗ рдмреАрдЪ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рд╛рдорд╛рдиреНрдп рд░реВрдЯрд┐рдВрдЧ рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдЧрд╛ред рдпрд╣ рдордд рднреВрд▓реЛ рдХрд┐ net.ipv4.ip_forward рдХреЛ 1 рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдлрд╝рд┐рд▓реНрдЯрд░ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ FORWARD рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рдиреЛрдбреНрд╕ рдХреЗ рд▓рд┐рдП рдирд┐рд╖реЗрдз рдирд┐рдпрдо рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред


 node1$ ip route add 10.200.12.0/24 via 192.168.1.2 node2$ ip route add 10.200.8.0/24 via 192.168.1.1 

 [10.200.80.23 container-1]->[192.168.1.1 node-1]->[192.168.1.2 node-2]->[10.200.12.5 container-2] 

рдпрд╣ рдареАрдХ рд╡рд╣реА рд╣реИ рдЬреЛ рд╕рдВрдХреЗрддрд┐рдд рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ (рдФрд░, рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдЖрдорддреМрд░ рдкрд░ рд╕рднреА рдкрд░) рд╡реАрдкреАрдПрд╕ / рд╡реАрдбреАрдПрд╕ред


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


рдЖрдк рд╡рд╛рдВрдЫрд┐рдд рдлрд▓рд╛рд▓реИрди рд╡рд┐рдиреНрдпрд╛рд╕ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрджрд┐ / рдлрд▓рд╛рд▓реИрди рд╕реЗ set-flannel-config.sh рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдпрд╛рдж рд░рдЦрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ : рдпрджрд┐ рдЖрдк рдмреИрдХрдПрдВрдб рдХреЛ рдмрджрд▓рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓реЗрддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдХреЙрдиреНрдЯрд░реНрдб рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рд╣рдЯрд╛рдиреЗ рдФрд░ рд╕рднреА рдиреЛрдбреНрд╕ рдкрд░ рд╕рднреА рдлрд╝реНрд▓реЗрдирд▓рд╛рдЗрди рдбреЗрдореЙрди рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдмреБрджреНрдзрд┐рдорд╛рдиреА рд╕реЗ рдЪреБрдиреЗрдВред рдбрд┐рдлрд╝реЙрд▓реНрдЯ vxlan рд╣реИред


 master$ export ETCDCTL_CA_FILE='/var/lib/kubernetes/ca.pem' master$ export ETCDCTL_CERT_FILE='/var/lib/kubernetes/kubernetes.pem' master$ export ETCDCTL_KEY_FILE='/var/lib/kubernetes/kubernetes-key.pem' master$ export ETCDCTL_ENDPOINTS='https://127.0.0.1:2379' master$ etcdctl ls /coreos.com/network/subnets/ /coreos.com/network/subnets/10.200.8.0-24 /coreos.com/network/subnets/10.200.12.0-24 master$ etcdctl get /coreos.com/network/subnets/10.200.8.0-24 {"PublicIP":"178.79.168.130","BackendType":"vxlan","BackendData":{"VtepMAC":"22:ca:ac:15:71:59"}} 

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


flannel.service


рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрджрд╛рд╣рд░рдг рдпрд╣рд╛рдВ рд▓рд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: systemd / flannel


flannel.service
 [Unit] Description=Flanneld overlay address etcd agent After=network.target [Service] Type=notify #: current host ip. don't change if ip have not changed Environment=PUBLIC_IP=178.79.168.130 Environment=FLANNEL_ETCD=https://192.168.153.60:2379 ExecStart=/usr/bin/flanneld \ -etcd-endpoints=${FLANNEL_ETCD} -etcd-prefix=${FLANNEL_ETCD_KEY} \ -etcd-cafile=/var/lib/kubernetes/ca.pem \ -etcd-certfile=/var/lib/kubernetes/kubernetes.pem \ -etcd-keyfile=/var/lib/kubernetes/kubernetes-key.pem \ -etcd-prefix=/coreos.com/network \ -healthz-ip=127.0.0.1 \ -subnet-file=/run/flannel/subnet.env \ -public-ip=${PUBLIC_IP} \ -kubeconfig-file=/var/lib/kubernetes/config/kubeconfig/flanneld.kubeconfig \ $FLANNEL_OPTIONS ExecStartPost=/usr/libexec/flannel/mk-docker-opts.sh -k DOCKER_NETWORK_OPTIONS -d /run/flannel/docker Restart=on-failure RestartSec=5 [Install] RequiredBy=docker.service 

рд╕рдорд╛рдпреЛрдЬрди


рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╣рдореЗрдВ cad.pem, kubernetes.pem рдФрд░ kubernetes-key.pem рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдореЗрдВ рдкреНрд░рд╛рдзрд┐рдХреГрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЕрдиреНрдп рд╕рднреА рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛрдИ рднреА рдкрд╡рд┐рддреНрд░ рдЕрд░реНрде рдирд╣реАрдВ рд░рдЦрддреЗ рд╣реИрдВред рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рд╡рд╣ рд╡реИрд╢реНрд╡рд┐рдХ рдЖрдИрдкреА рдкрддреЗ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдиреЗрдЯрд╡рд░реНрдХ рдкреИрдХреЗрдЯ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдмреАрдЪ рдЬрд╛рдПрдВрдЧреЗ:


рдлрд▓рд╛рд▓реИрди рдиреЗрдЯрд╡рд░реНрдХрд┐рдВрдЧ
( рдлрд▓рд╛рд▓реИрди рдХреЗ рд╕рд╛рде рдорд▓реНрдЯреА-рд╣реЛрд╕реНрдЯ рдиреЗрдЯрд╡рд░реНрдХрд┐рдВрдЧ рдУрд╡рд░рд▓реЗ )


 #:   node-1$ systemctl enable flanneld.service #:  node-1$ systemctl start flanneld 

рдлрд▓рд╛рд▓реИрди рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╢реБрд░реВ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рдЕрдкрдиреЗ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдлрд▓рд╛рд▓реИрди.рдПрди рдиреЗрдЯрд╡рд░реНрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдЦреЛрдЬрдирд╛ рдЪрд╛рд╣рд┐рдП:


 node-1$ ifconfig flannel.100: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1450 inet 10.200.8.0 netmask 255.255.255.255 broadcast 0.0.0.0 inet6 fe80::20ca:acff:fe15:7159 prefixlen 64 scopeid 0x20<link> ether 22:ca:ac:15:71:59 txqueuelen 0 (Ethernet) RX packets 18853 bytes 1077085 (1.0 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 11856 bytes 264331154 (252.0 MiB) TX errors 0 dropped 47 overruns 0 carrier 0 collisions 0 

рдЬрд╛рдБрдЪрдирд╛ рдХрд┐ рдЖрдкрдХреЗ рдЗрдВрдЯрд░рдлреЗрд╕ рд╕рднреА рдиреЛрдбреНрд╕ рдкрд░ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИред рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдиреЛрдб -1 рдФрд░ рдиреЛрдб -2 рдореЗрдВ рдХреНрд░рдорд╢рдГ 10.200.8.0/24 рдФрд░ 10.200.12.0/24 рдиреЗрдЯрд╡рд░реНрдХ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдПрдХ рдирд┐рдпрдорд┐рдд icmp рдЕрдиреБрд░реЛрдз рдХреЗ рд╕рд╛рде рд╣рдо рдЙрдирдХреА рдЙрдкрд▓рдмреНрдзрддрд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╣реИрдВ:


 #:  node-2  node-1 node-1 $ ping -c 1 10.200.12.0 PING 10.200.12.0 (10.200.12.0) 56(84) bytes of data. 64 bytes from 10.200.12.0: icmp_seq=1 ttl=64 time=4.58 ms #:  node-1  node-2 node-2 $ ping -c 1 10.200.8.0 PING 10.200.8.0 (10.200.8.0) 56(84) bytes of data. 64 bytes from 10.200.8.0: icmp_seq=1 ttl=64 time=1.44 ms 

рдХрд┐рд╕реА рднреА рд╕рдорд╕реНрдпрд╛ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдЬрд╛рдВрдЪрдиреЗ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреА рдЬрд╛рддреА рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдореЗрдЬрдмрд╛рдиреЛрдВ рдХреЗ рдмреАрдЪ рдпреВрдбреАрдкреА рдкрд░ iptables рдореЗрдВ рдХреЛрдИ рдХрд╛рдЯрдиреЗ рдХреЗ рдирд┐рдпрдо рд╣реИрдВред


рдХрдВрдЯреЗрдирд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди


рдЬрдЧрд╣ рдЖрджрд┐ / рдХрдВрдЯреЗрдирд░ / config.toml in /etc/containerd/config.toml рдпрд╛ рдЬрд╣рд╛рдБ рднреА рдЖрдкрдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛ, рдореБрдЦреНрдп рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рд╕реЗрд╡рд╛ рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдкрде рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╛рдж рд░рдЦреЗрдВ (рдХрдВрдЯреЗрдирд░рдб . рд╕реЗрд╡рд╛, рдиреАрдЪреЗ рд╡рд░реНрдгрд┐рдд)ред


рдорд╛рдирдХ рдХреЗ рдХреБрдЫ рд╕рдВрд╢реЛрдзрдиреЛрдВ рдХреЗ рд╕рд╛рде рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рдиред рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг enable_tls_streaming = true рдХрд┐ рдЖрдк enable_tls_streaming = true рдХреЛ рд╕реЗрдЯ рди рдХрд░реЗрдВ рдпрджрд┐ рдЖрдк рдпрд╣ рдирд╣реАрдВ рд╕рдордЭрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдк рдРрд╕рд╛ рдХреНрдпреЛрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВред kubectl exec , .


containerd.service


containerd.service
 [Unit] Description=containerd container runtime Documentation=https://containerd.io After=network.target [Service] ; uncomment this if your overlay module are built as module ; ExecStartPre=/sbin/modprobe overlay ExecStart=/usr/bin/containerd \ -c /etc/containerd/config.toml Restart=always RestartSec=5 Delegate=yes KillMode=process OOMScoreAdjust=-999 LimitNOFILE=1048576 LimitNPROC=infinity LimitCORE=infinity [Install] WantedBy=multi-user.target 

рд╕рдорд╛рдпреЛрдЬрди


, , cri-tools .
etc/crictl.yaml /etc/crictl.yaml . :


 node-1$ CONTAINERD_NAMESPACE=k8s.io crictl ps CONTAINER ID IMAGE CREATED STATE NAME ATTEMPT POD ID 

, - kubernetes , crictl , , .


CNI Plugins


CNI , , , .


рд╕рдорд╛рдпреЛрдЬрди


cni plugins /opt/cni/bin/


/etc/cni/net.d :


/etc/cni/net.d/10-flannel.conflist
 { "cniVersion": "0.3.0", "name": "cbr0", "plugins": [ { "type": "flannel", "name": "kubenet", "delegate": { "hairpinMode": true, "isDefaultGateway": true } }, { "type": "portmap", "capabilities": { "portMappings": true }, "externalSetMarkChain": "KUBE-MARK-MASQ" } ] } 

/etc/cni/net.d/99-loopback.conf
 { "cniVersion": "0.3.0", "type": "loopback" } 

, . , , Red Hat Docker Podman , Intro to Podman


Kubelet


kubelet ( cni) тАФ . kubelet hostname. , "" kubectl logs , kubectl exec , kubectl port-forward .


kubelet-config.yaml

, etc/kubelet-config.yaml , , . :


 systemReserved: cpu: 200m memory: 600Mi 

, GO kubernetes, , . . 0.2 vCPU 600 MB .


, , kubelet, kube-proxy, coredns, flannel . , тАФ 2 vCPU / 4G ram, , kubernetes + postgresql .


- (micro nodes) .


kubelet.service


service : systemd/kubelet


kubelet.service
 [Unit] Description=Kubernetes Kubelet Documentation=https://github.com/kubernetes/kubernetes Requires=containerd.service [Service] #Environment=NODE_IP=192.168.164.230 Environment=NODE_IP=178.79.168.130 #: node name given by env Environment=NODE_NAME=w40k.net ExecStart=kubelet \ --allow-privileged \ --root-dir=/var/lib/kubernetes/kubelet \ --config=/var/lib/kubernetes/kubelet/kubelet-config.yaml \ --kubeconfig=/var/lib/kubernetes/kubelet/node-1.kubeconfig \ --cni-bin-dir=/opt/cni/bin \ --cni-conf-dir=/etc/cni/net.d/ \ --network-plugin=cni \ --container-runtime=remote \ --container-runtime-endpoint=unix:///var/run/containerd/containerd.sock \ --image-pull-progress-deadline=10m \ --node-ip=${NODE_IP} \ --hostname-override=${NODE_NAME} \ --v=1 Restart=on-failure RestartSec=5 [Install] WantedBy=multi-user.target 

рд╕рдорд╛рдпреЛрдЬрди


, RBAC , kubelet.


etc/kubelet-default-rbac.yaml , kubelet :


 user$ kubectl apply -f etc/kubelet-default-rbac.yaml 

, , .


 #:   node-1$ systemctl enable kubelet.service #:  node-1$ systemctl start kubelet 

, api :


 $ kubectl get nodes -o wide NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME w40k.net Ready <none> 5m v1.13.1 178.79.168.130 <none> Gentoo/Linux 4.18.16-x86_64-linode118 containerd://1.2.1 

Kube Proxy


: systemd/kubelet . , , kube-proxy-config.yaml : etc/kube-proxy


kube-proxy.service


kube-proxy.service
 [Unit] Description=Kubernetes Proxy Documentation=https://github.com/kubernetes/kubernetes After=network.target [Service] ExecStart=kube-proxy \ --config=/var/lib/kubernetes/kube-proxy/kube-proxy-config.yaml Restart=on-failure RestartSec=5 [Install] WantedBy=multi-user.target 

рд╕рдорд╛рдпреЛрдЬрди


 #:   node-1$ systemctl enable kube-proxy.service #:  node-1$ systemctl start kube-proxy 

kube-proxy "" iptables, , - kubernetes (- ). .


CoreDNS


Corefile : etc/coredns/Corefile , :


/etc/coredns/Corefile
 .:53 { errors log stdout health :8081 kubernetes cluster.local 10.200.0.0/16 { endpoint https://178.79.148.185:6443 tls /var/lib/kubernetes/kubernetes.pem /var/lib/kubernetes/kubernetes-key.pem /var/lib/kubernetes/ca.pem pods verified upstream /etc/resolv.conf kubeconfig /var/lib/kubernetes/config/kubeconfig/coredns.kubeconfig default } proxy . /etc/resolv.conf cache 30 } 

coredns.kubeconfig pem- ( ) worker . , coredns systemd-resolved. , Ubuntu , , , , . .


coredns.service


coredns.service
 [Unit] Description=CoreDNS Documentation=https://coredns.io/ After=network.target [Service] ExecStart=/usr/bin/coredns -conf /etc/coredns/Corefile Restart=on-failure RestartSec=5 [Install] WantedBy=multi-user.target 

рд╕рдорд╛рдпреЛрдЬрди


 #:   node-1$ systemctl enable coredns.service #:  node-1$ systemctl start coredns 

, , :


 node-1$ dig kubernetes.default.svc.cluster.local @127.0.0.1 #:    ;kubernetes.default.svc.cluster.local. IN A ;; ANSWER SECTION: kubernetes.default.svc.cluster.local. 5 IN A 10.32.0.1 

, coredns ip kubernetes .
, kubernetes.default kube-controller-manager, :


 $ kubectl get svc -n default NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes ClusterIP 10.32.0.1 <none> 443/TCP 26h 

nginx-ingress & cert-manager


, . nginx-ingress cert-manager.


тАФ nginx kubernetes ingress (master), :


  user$ git clone https://github.com/nginxinc/kubernetes-ingress.git user$ cd kubernetes-ingress/deployments user$ kubectl apply -f common/ns-and-sa.yaml user$ kubectl apply -f common/nginx-config.yaml user$ kubectl apply -f common/default-server-secret.yaml user$ kubectl apply -f daemon-set/nginx-ingress.yaml user$ kubectl apply -f rbac/rbac.yaml 

тАФ cert manager (v0.5.2)


  user$ git clone https://github.com/jetstack/cert-manager.git user$ cd cert-manager && git co v0.5.2 user$ cd contrib/manifests/cert-manager user$ kubectl apply -f with-rbac.yaml 

, , , :


 NAMESPACE NAME READY STATUS RESTARTS AGE cert-manager cert-manager-554c76fbb7-t9762 1/1 Running 0 3h38m nginx-ingress nginx-ingress-sdztf 1/1 Running 0 10h nginx-ingress nginx-ingress-vrf85 1/1 Running 0 10h 

cert-manager nginx-ingress running state, , . , Running . .



, . , kubernetes resource : app/k8s


 user$ kube apply -f ns-and-sa.yaml user$ kube apply -f configmap.yaml #:  secret-example.yaml       #: secret.yaml user$ kube apply -f secret.yaml user$ kube apply -f tls-production.yaml user$ kube apply -f deployment.yaml user$ kube apply -f service.yaml user$ kube apply -f ingress-production.yaml 

, - . , ( kubernetes-example.w40k.net), , , cert-manager nginx-ingress . , ingress tls/ssl.


:



, - . - , , .


рд╕рдВрджрд░реНрдн


, , :


тАФ Kubernetes the hard way
тАФ Multi-Host Networking Overlay with Flannel
тАФ Intro to Podman
тАФ Stateless Applications
тАФ What is ingress


:


тАФ Kubernetes Networking: Behind the scenes ( )
тАФ A Guide to the Kubernetes Networking Model
тАФ Understanding kubernetes networking: services ( )


Q&A


<tbd>, .



, , . , , - , , .


Api Server


kube-apiserver.service , api-server' curl http . - .
admin.kubeconfig ${HOME}/.kube/config, kubectl api-server (kube-apiserver).


( ) HTTP 200 OK + , api-server :


 curl -H "Authorization: Bearer e5qXNAtwwCHUUwyLilZmAoFPozrQwUpw" -k -L https://<api-server-address>:6443/api/v1/ 

Kube Controller Manager


, controller manager api , . , service account' :


 $ kubectl get sa NAME SECRETS AGE default 1 19h 

, , kube-controller-manager .


Kube Scheduler


. , , debug/job.yaml kubectl describe <type/resource> .
, kube controller manager .


 #:   job user$ kubectl apply -f debug/job.yaml job.batch/app created #:  ,   job user$ kubectl get pods -l job-name=app NAME READY STATUS RESTARTS AGE app-9kr9z 0/1 Completed 0 54s #: ,        #:   user$ kubectl describe pods app-9kr9z # ...   ... Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal Scheduled 12s default-scheduler Successfully assigned example/app-9kr9z to w40k.net 

, default-scheduler pod w40k.net. - , тАФ .


. , , , тАФ "". systemd .


kube scheduler


Kubelet


Kubelet kubernetes . kubelet . kubernetes event ( kubectl get events -o wide ) .


( )


Kube Proxy


kube-proxy :


  • ( Flannel , );
  • iptables, filter nat .

, 10.32.0.0/24 "". , . iptables, , , - +. icmp , ping' . , .


, kube-proxy, :


 #:    user$ kubectl get svc NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE backend ClusterIP 10.32.0.195 <none> 80/TCP 5m #:     user$ kubectl get pods -o wide #:     ' NAME READY STATUS RESTARTS AGE IP NODE backend-896584448-4r94s 1/1 Running 0 11h 10.200.8.105 w40k.net backend-896584448-np992 1/1 Running 0 11h 10.200.12.68 docker.grart.net #:  10   /status/ endpoint ,       #:       node-1$ for i in `seq 10`; do curl -L http://10.32.0.195/status/; done okokokokokokokokokok node-1$ conntrack -L -d 10.32.0.195 tcp 6 62 TIME_WAIT src=178.79.168.130 dst=10.32.0.195 sport=62158 dport=80 src=10.200.12.68 dst=10.200.8.0 sport=8000 dport=62158 [ASSURED] mark=0 use=1 tcp 6 60 TIME_WAIT src=178.79.168.130 dst=10.32.0.195 sport=62144 dport=80 src=10.200.12.68 dst=10.200.8.0 sport=8000 dport=62144 [ASSURED] mark=0 use=1 tcp 6 58 TIME_WAIT src=178.79.168.130 dst=10.32.0.195 sport=62122 dport=80 src=10.200.12.68 dst=10.200.8.0 sport=8000 dport=62122 [ASSURED] mark=0 use=1 tcp 6 59 TIME_WAIT src=178.79.168.130 dst=10.32.0.195 sport=62142 dport=80 src=10.200.8.105 dst=10.200.8.1 sport=8000 dport=62142 [ASSURED] mark=0 use=1 tcp 6 58 TIME_WAIT src=178.79.168.130 dst=10.32.0.195 sport=62130 dport=80 src=10.200.8.105 dst=10.200.8.1 sport=8000 dport=62130 [ASSURED] mark=0 use=1 tcp 6 61 TIME_WAIT src=178.79.168.130 dst=10.32.0.195 sport=62150 dport=80 src=10.200.12.68 dst=10.200.8.0 sport=8000 dport=62150 [ASSURED] mark=0 use=1 tcp 6 56 TIME_WAIT src=178.79.168.130 dst=10.32.0.195 sport=62116 dport=80 src=10.200.8.105 dst=10.200.8.1 sport=8000 dport=62116 [ASSURED] mark=0 use=1 tcp 6 57 TIME_WAIT src=178.79.168.130 dst=10.32.0.195 sport=62118 dport=80 src=10.200.12.68 dst=10.200.8.0 sport=8000 dport=62118 [ASSURED] mark=0 use=1 tcp 6 59 TIME_WAIT src=178.79.168.130 dst=10.32.0.195 sport=62132 dport=80 src=10.200.12.68 dst=10.200.8.0 sport=8000 dport=62132 [ASSURED] mark=0 use=1 tcp 6 56 TIME_WAIT src=178.79.168.130 dst=10.32.0.195 sport=62114 dport=80 src=10.200.8.105 dst=10.200.8.1 sport=8000 dport=62114 [ASSURED] mark=0 use=1 

src/dst (9 10 ). , src :


  • 10.200.8.105
  • 10.200.12.68

, . , - ( , ) . .


 #: node-1   10.200.8.105, node-2 10.200.12.68, #:      8000  #:  node-1 node-1$ curl -L http://10.200.8.105:8000/status/ ok node-1$ curl -L http://10.200.12.68:8000/status/ ok #:  node-2 node-2$ curl -L http://10.200.8.105:8000/status/ ok node-2$ curl -L http://10.200.12.68:8000/status/ ok 

, , conntrack , , kube-proxy. , nat :


node-1$ iptables -t nat -vnL


.


. , , . , . - , , .


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


All Articles