рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рд╕рд╛рдареА рдПрдХреНрдЭрд┐рдХреНрдпреБрдЯреЗрдмрд▓ рд╡рд╛рддрд╛рд╡рд░рдг рдореНрд╣рдгреВрди рдбреЙрдХрд░рдЪреА рдЬрд╛рдЧрд╛ рдореНрд╣рдгреВрди CRI-O: CentOS 8 рд╡рд░ рд╕реЗрдЯрдЕрдк

рдирдорд╕реНрдХрд╛рд░! рдорд╛рдЭреЗ рдирд╛рд╡ рд╕реЗрд░реНрдЧреЗ рдЖрд╣реЗ, рдореА рд╕рд░реНрдл рдпреЗрдереЗ DevOps рдЖрд╣реЗ. Surf рдордзреАрд▓ DevOps рд╡рд┐рднрд╛рдЧрд╛рдЪреЗ рдЙрджреНрджрд┐рд╖реНрдЯ рдХреЗрд╡рд│ рддрдЬреНрдЮрд╛рдВрдордзреАрд▓ рдкрд░рд╕реНрдкрд░рд╕рдВрд╡рд╛рдж рдкреНрд░рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреЗ рдЖрдгрд┐ рдХрд╛рд░реНрдп рдкреНрд░рдХреНрд░рд┐рдпрд╛рдВрдЪреЗ рдПрдХрддреНрд░реАрдХрд░рдг рдХрд░рдгреЗ рд╣реЗрдЪ рдирд╛рд╣реА рддрд░ рддреНрдпрд╛рдВрдЪреНрдпрд╛ рд╕реНрд╡рддрдГрдЪреНрдпрд╛ рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛рдВрдордзреНрдпреЗ рдЖрдгрд┐ рдЧреНрд░рд╛рд╣рдХрд╛рдВрдЪреНрдпрд╛ рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛рдВрдордзреНрдпреЗ рдЪрд╛рд▓реВ рддрдВрддреНрд░рдЬреНрдЮрд╛рдирд╛рдЪреЗ рд╕рдХреНрд░рд┐рдпрдкрдгреЗ рд╕рдВрд╢реЛрдзрди рдЖрдгрд┐ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдХрд░рдгреЗ рджреЗрдЦреАрд▓ рдЖрд╣реЗ.

рд╡рд┐рддрд░рдгрд╛рдЪрд╛ рдЕрднреНрдпрд╛рд╕ рдХрд░рддрд╛рдирд╛ рдЖрдореНрд╣рд╛рд▓рд╛ рдЖрд▓реЗрд▓реНрдпрд╛ рдХрдВрдЯреЗрдирд░рд╕рд╛рдареА рддрдВрддреНрд░рдЬреНрдЮрд╛рди рд╕реНрдЯреЕрдХрдордзреАрд▓ рдмрджрд▓рд╛рдВрдмрджреНрджрд▓ рдЦрд╛рд▓реА рдореА рдереЛрдбреЗрд╕реЗ рдмреЛрд▓реЗрди CentOS 8 рдЖрдгрд┐ рддреЗ рдХрд╛рдп рдЖрд╣реЗ рдпрд╛рдмрджреНрджрд▓ CRI-O рдЖрдгрд┐ рдпрд╛рд╕рд╛рдареА рдПрдХреНрдЭрд┐рдХреНрдпреБрдЯреЗрдмрд▓ рд╡рд╛рддрд╛рд╡рд░рдг рддреНрд╡рд░реАрдд рдХрд╕реЗ рд╕реЗрдЯ рдХрд░рд╛рд╡реЗ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕.

рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рд╕рд╛рдареА рдПрдХреНрдЭрд┐рдХреНрдпреБрдЯреЗрдмрд▓ рд╡рд╛рддрд╛рд╡рд░рдг рдореНрд╣рдгреВрди рдбреЙрдХрд░рдЪреА рдЬрд╛рдЧрд╛ рдореНрд╣рдгреВрди CRI-O: CentOS 8 рд╡рд░ рд╕реЗрдЯрдЕрдк

рдбреЙрдХрд░ CentOS 8 рдордзреНрдпреЗ рдХрд╛ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдирд╛рд╣реА?

рдирд╡реАрдирддрдо рдкреНрд░рдореБрдЦ рдкреНрд░рдХрд╛рд╢рди рд╕реНрдерд╛рдкрд┐рдд рдХреЗрд▓реНрдпрд╛рдирдВрддрд░ рд░рд╛рд╣реЗрд▓ 8 рдХрд┐рдВрд╡рд╛ CentOS 8 рдХреЛрдгреАрд╣реА рдорджрдд рдХрд░реВ рд╢рдХрдд рдирд╛рд╣реА рдкрд░рдВрддреБ рд▓рдХреНрд╖рд╛рдд рдШреНрдпрд╛: рдпрд╛ рд╡рд┐рддрд░рдгрд╛рдВрдордзреНрдпреЗ рдЖрдгрд┐ рдЕрдзрд┐рдХреГрдд рднрд╛рдВрдбрд╛рд░рд╛рдВрдордзреНрдпреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдирд╛рд╣реА рдЧреЛрджреА рдХрд╛рдордЧрд╛рд░, рдЬреЗ рд╡реИрдЪрд╛рд░рд┐рдХ рдЖрдгрд┐ рдХрд╛рд░реНрдпрд╛рддреНрдордХрдкрдгреЗ рдкреЕрдХреЗрдЬреЗрд╕ рдмрджрд▓рддрд╛рдд рдкреЛрдбрдореЕрди, рдмрд┐рд▓реНрдбрд╛рд╣ (рдбрд┐рдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░ рд╡рд┐рддрд░рдгрд╛рдордзреНрдпреЗ рдЙрдкрд╕реНрдерд┐рдд) рдЖрдгрд┐ CRI-O. рд╣реЗ Red Hat рджреНрд╡рд╛рд░реЗ рдУрдкрди рдХрдВрдЯреЗрдирд░ рдЗрдирд┐рд╢рд┐рдПрдЯрд┐рд╡реНрд╣ (OCI) рдкреНрд░рдХрд▓реНрдкрд╛рдЪрд╛ рднрд╛рдЧ рдореНрд╣рдгреВрди рд╡рд┐рдХрд╕рд┐рдд рдХреЗрд▓реЗрд▓реНрдпрд╛ рдорд╛рдирдХрд╛рдВрдЪреНрдпрд╛ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдореБрд│реЗ рдЖрд╣реЗ.

рд▓рд┐рдирдХреНрд╕ рдлрд╛рдКрдВрдбреЗрд╢рдирдЪрд╛ рднрд╛рдЧ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдУрд╕реАрдЖрдпрдЪреЗ рдЙрджреНрджрд┐рд╖реНрдЯ рдХрдВрдЯреЗрдирд░ рдлреЙрд░рдореЕрдЯреНрд╕ рдЖрдгрд┐ рд░рдирдЯрд╛рдЗрдореНрд╕рд╕рд╛рдареА рдЦреБрд▓реНрдпрд╛ рдЙрджреНрдпреЛрдЧ рдорд╛рдирдХреЗ рддрдпрд╛рд░ рдХрд░рдгреЗ рдЖрд╣реЗ рдЬреЗ рдПрдХрд╛рдЪ рд╡реЗрд│реА рдЕрдиреЗрдХ рд╕рдорд╕реНрдпрд╛ рд╕реЛрдбрд╡рддрд╛рдд. рдкреНрд░рдердо, рддреНрдпрд╛рдВрдиреА рд▓рд┐рдирдХреНрд╕рдЪреНрдпрд╛ рддрддреНрддреНрд╡рдЬреНрдЮрд╛рдирд╛рдЪрд╛ рд╡рд┐рд░реЛрдз рдХреЗрд▓рд╛ рдирд╛рд╣реА (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдордиреЗ рдПрдХ рдХреНрд░рд┐рдпрд╛ рдХреЗрд▓реА рдкрд╛рд╣рд┐рдЬреЗ рдпрд╛ рднрд╛рдЧрд╛рдордзреНрдпреЗ, рдЖрдгрд┐ рдЧреЛрджреА рдХрд╛рдордЧрд╛рд░ рдПрдХ рдкреНрд░рдХрд╛рд░рдЪрд╛ рдСрд▓-рдЗрди-рд╡рди рдХреЙрдореНрдмрд╛рдЗрди рдЖрд╣реЗ). рджреБрд╕рд░реЗ рдореНрд╣рдгрдЬреЗ, рддреЗ рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░рдордзреАрд▓ рд╕рд░реНрд╡ рд╡рд┐рджреНрдпрдорд╛рди рдХрдорддрд░рддрд╛ рджреВрд░ рдХрд░реВ рд╢рдХрддрд╛рдд рдЧреЛрджреА рдХрд╛рдордЧрд╛рд░. рддрд┐рд╕рд░реЗ, рддреЗ рдХрдВрдЯреЗрдирд░реАрдХреГрдд рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕ (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, Red Hat OpenShift) рддреИрдирд╛рдд рдХрд░рдгреЗ, рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреЗ рдЖрдгрд┐ рд╕рд░реНрд╡реНрд╣ рдХрд░рдгреЗ рдпрд╛рд╕рд╛рдареА рдЕрдЧреНрд░рдЧрдгреНрдп рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдкреНрд▓реЕрдЯрдлреЙрд░реНрдордЪреНрдпрд╛ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдЖрд╡рд╢реНрдпрдХрддрд╛рдВрд╢реА рдкреВрд░реНрдгрдкрдгреЗ рд╕реБрд╕рдВрдЧрдд рдЕрд╕реЗрд▓.

рдЙрдгреАрд╡рд╛ рдЧреЛрджреА рдХрд╛рдордЧрд╛рд░ рдЖрдгрд┐ рдирд╡реАрди рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░рдЪреЗ рдлрд╛рдпрджреЗ рдЖрдзреАрдЪ рдХрд╛рд╣реА рддрдкрд╢реАрд▓рд╡рд╛рд░ рд╡рд░реНрдгрди рдХреЗрд▓реЗ рдЖрд╣реЗрдд рд╣рд╛ рд▓реЗрдЦ, рдЖрдгрд┐ OCI рдкреНрд░рдХрд▓реНрдкрд╛рдордзреНрдпреЗ рдСрдлрд░ рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╕рдВрдкреВрд░реНрдг рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░ рд╕реНрдЯреЕрдХрдЪреЗ рддрдкрд╢реАрд▓рд╡рд╛рд░ рд╡рд░реНрдгрди рдЖрдгрд┐ рддреНрдпрд╛рдЪреА рд╡рд╛рд╕реНрддреБрд╢рд┐рд▓реНрдк рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ рдЕрдзрд┐рдХреГрдд рджрд╕реНрддрдРрд╡рдЬ рдЖрдгрд┐ Red Hat рдЪреНрдпрд╛ рд▓реЗрдЦрд╛рдВрдордзреНрдпреЗ рдЖрдврд│реВ рд╢рдХрддрд╛рдд (рд╡рд╛рдИрдЯ рдирд╛рд╣реА. рд▓реЗрдЦ Red Hat рдмреНрд▓реЙрдЧрдордзреНрдпреЗ) рдЖрдгрд┐ рддреГрддреАрдп-рдкрдХреНрд╖рд╛рдордзреНрдпреЗ рдкреБрдирд░рд╛рд╡рд▓реЛрдХрдиреЗ.

рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╕реНрдЯреЕрдХрдЪреНрдпрд╛ рдШрдЯрдХрд╛рдВрдордзреНрдпреЗ рдХреЛрдгрддреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЖрд╣реЗ рд╣реЗ рд▓рдХреНрд╖рд╛рдд рдШреЗрдгреЗ рдорд╣рддреНрддреНрд╡рд╛рдЪреЗ рдЖрд╣реЗ:

  • рдкреЛрдбрдореЕрди тАФ runC рдкреНрд░рдХреНрд░рд┐рдпреЗрджреНрд╡рд╛рд░реЗ рдХрдВрдЯреЗрдирд░ рдЖрдгрд┐ рдЗрдореЗрдЬ рд╕реНрдЯреЛрд░реЗрдЬрд╕рд╣ рдереЗрдЯ рд╕рдВрд╡рд╛рдж;
  • рдмрд┐рд▓реНрдбрд╛рд╣ тАФ рдЕрд╕реЗрдВрдмреНрд▓реА рдЖрдгрд┐ рд░реЗрдЬрд┐рд╕реНрдЯреНрд░реАрдордзреНрдпреЗ рдкреНрд░рддрд┐рдорд╛ рдЕрдкрд▓реЛрдб рдХрд░рдгреЗ;
  • CRI-O тАФ рдХрдВрдЯреЗрдирд░ рдСрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрд╢рди рд╕рд┐рд╕реНрдЯрдорд╕рд╛рдареА рдПрдХ рдПрдХреНрдЭрд┐рдХреНрдпреВрдЯреЗрдмрд▓ рд╡рд╛рддрд╛рд╡рд░рдг (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдХреБрдмрд░реНрдиреЗрдЯреНрд╕).

рдорд▓рд╛ рд╡рд╛рдЯрддреЗ рдХреА рд╕реНрдЯреЕрдХрдЪреНрдпрд╛ рдШрдЯрдХрд╛рдВрдордзреАрд▓ рдкрд░рд╕реНрдкрд░рд╕рдВрд╡рд╛рджрд╛рдЪреА рд╕рд╛рдорд╛рдиреНрдп рдпреЛрдЬрдирд╛ рд╕рдордЬреВрди рдШреЗрдгреНрдпрд╛рд╕рд╛рдареА, рдпреЗрдереЗ рдХрдиреЗрдХреНрд╢рди рдЖрдХреГрддреА рдкреНрд░рджрд╛рди рдХрд░рдгреЗ рдЙрдЪрд┐рдд рдЖрд╣реЗ. рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ c runC рдЖрдгрд┐ рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рд▓рд╛рдпрдмреНрд░рд░реА рд╡рд╛рдкрд░реВрди CRI-O:

рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рд╕рд╛рдареА рдПрдХреНрдЭрд┐рдХреНрдпреБрдЯреЗрдмрд▓ рд╡рд╛рддрд╛рд╡рд░рдг рдореНрд╣рдгреВрди рдбреЙрдХрд░рдЪреА рдЬрд╛рдЧрд╛ рдореНрд╣рдгреВрди CRI-O: CentOS 8 рд╡рд░ рд╕реЗрдЯрдЕрдк

CRI-O ╨╕ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рд╕рдорд╛рди рдкреНрд░рдХрд╛рд╢рди рдЖрдгрд┐ рд╕рдорд░реНрдерди рдЪрдХреНрд░рд╛рдЪреЗ рдкрд╛рд▓рди рдХрд░рд╛ (рд╕реБрд╕рдВрдЧрддрддрд╛ рдореЕрдЯреНрд░рд┐рдХреНрд╕ рдЦреВрдк рд╕реЛрдкреЗ рдЖрд╣реЗ: рдкреНрд░рдореБрдЦ рдЖрд╡реГрддреНрддреНрдпрд╛ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ ╨╕ CRI-O рдПрдХрд╕рдорд╛рди), рдЖрдгрд┐ рд╣реЗ, рд╡рд┐рдХрд╛рд╕рдХрд╛рдВрджреНрд╡рд╛рд░реЗ рдпрд╛ рд╕реНрдЯреЕрдХрдЪреНрдпрд╛ рдСрдкрд░реЗрд╢рдирдЪреНрдпрд╛ рдкреВрд░реНрдг рдЖрдгрд┐ рд╡реНрдпрд╛рдкрдХ рдЪрд╛рдЪрдгреАрд╡рд░ рд▓рдХреНрд╖ рдХреЗрдВрджреНрд░рд┐рдд рдХреЗрд▓реНрдпрд╛рдиреЗ, рдЖрдореНрд╣рд╛рд▓рд╛ рдХреЛрдгрддреНрдпрд╛рд╣реА рд╡рд╛рдкрд░рд╛рдЪреНрдпрд╛ рдкрд░рд┐рд╕реНрдерд┐рддреАрдд рдСрдкрд░реЗрд╢рдирдордзреНрдпреЗ рдЬрд╛рд╕реНрддреАрдд рдЬрд╛рд╕реНрдд рд╕рд╛рдзреНрдп рдХрд░рдгреНрдпрд╛рдпреЛрдЧреНрдп рд╕реНрдерд┐рд░рддреЗрдЪреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рдгреНрдпрд╛рдЪрд╛ рдЕрдзрд┐рдХрд╛рд░ рджреЗрддреЗ (рд╕рд╛рдкреЗрдХреНрд╖ рд╣рд▓рдХреАрдкрдгрд╛ рджреЗрдЦреАрд▓ рдпреЗрдереЗ рдлрд╛рдпрджреЗрд╢реАрд░ рдЖрд╣реЗ. CRI-O рдЪреНрдпрд╛ рддреБрд▓рдиреЗрдд рдЧреЛрджреА рдХрд╛рдордЧрд╛рд░ рдХрд╛рд░реНрдпрдХреНрд╖рдорддреЗрдЪреНрдпрд╛ рдЙрджреНрджреЗрд╢рдкреВрд░реНрдг рдорд░реНрдпрд╛рджреЗрдореБрд│реЗ).

рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛рдирд╛ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ "рдпреЛрдЧреНрдп рдорд╛рд░реНрдЧ" рдорд╛рд░реНрдЧ (OCI рдиреБрд╕рд╛рд░, рдЕрд░реНрдерд╛рддрдЪ) рд╡рд╛рдкрд░рдгреЗ CRI-O рд╡рд░ CentOS 8 рдЖрдореНрд╣рд╛рд▓рд╛ рдХрд╛рд╣реА рдХрд┐рд░рдХреЛрд│ рдЕрдбрдЪрдгреА рдЖрд▓реНрдпрд╛, рдЬреНрдпрд╛рд╡рд░ рдЖрдореНрд╣реА рдпрд╢рд╕реНрд╡реАрдкрдгреЗ рдорд╛рдд рдХреЗрд▓реА. рдорд▓рд╛ рддреБрдордЪреНрдпрд╛рд╕реЛрдмрдд рд╕реНрдерд╛рдкрдирд╛ рдЖрдгрд┐ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рд╕реВрдЪрдирд╛ рд╕рд╛рдорд╛рдпрд┐рдХ рдХрд░рдгреНрдпрд╛рдд рдЖрдирдВрдж рд╣реЛрдИрд▓, рдЬреНрдпрд╛рд╕ рдПрдХреВрдг рд╕реБрдорд╛рд░реЗ 10 рдорд┐рдирд┐рдЯреЗ рд▓рд╛рдЧрддреАрд▓.

CRI-O рдлреНрд░реЗрдорд╡рд░реНрдХ рд╡рд╛рдкрд░реВрди CentOS 8 рд╡рд░ Kubernetes рдХрд╕реЗ рддреИрдирд╛рдд рдХрд░рд╛рд╡реЗ

рдкреВрд░реНрд╡рддрдпрд╛рд░реА: рдХрдореАрддрдХрдореА рдПрдХрд╛ рд╣реЛрд╕реНрдЯрдЪреА рдЙрдкрд╕реНрдерд┐рддреА (2 рдХреЛрд░, 4 рдЬреАрдмреА рд░реЕрдо, рдХрд┐рдорд╛рди 15 рдЬреАрдмреА рд╕реНрдЯреЛрд░реЗрдЬ) рд╕реНрдерд╛рдкрд┐рдд рдХреЗрд▓реЗрд▓реЗ CentOS 8 (тАЬрд╕рд░реНрд╡реНрд╣рд░тАЭ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдкреНрд░реЛрдлрд╛рдЗрд▓рдЪреА рд╢рд┐рдлрд╛рд░рд╕ рдХреЗрд▓реА рдЬрд╛рддреЗ), рддрд╕реЗрдЪ рд╕реНрдерд╛рдирд┐рдХ DNS рдордзреАрд▓ рдиреЛрдВрджреА (рд╢реЗрд╡рдЯрдЪрд╛ рдЙрдкрд╛рдп рдореНрд╣рдгреВрди, рддреБрдореНрд╣реА /etc/hosts рдордзреАрд▓ рдПрдВрдЯреНрд░реАрд╕рд╣ рдорд┐рд│рд╡реВ рд╢рдХрддрд╛). рдЖрдгрд┐ рд╡рд┐рд╕рд░реВ рдирдХрд╛ рд╕реНрд╡реЕрдк рдЕрдХреНрд╖рдо рдХрд░рд╛.

рдЖрдореНрд╣реА рд░реВрдЯ рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдореНрд╣рдгреВрди рд╣реЛрд╕реНрдЯрд╡рд░ рд╕рд░реНрд╡ рдСрдкрд░реЗрд╢рдиреНрд╕ рдХрд░рддреЛ, рдХрд╛рд│рдЬреА рдШреНрдпрд╛.

  1. рдкрд╣рд┐рд▓реНрдпрд╛ рдЪрд░рдгрд╛рдд, рдЖрдореНрд╣реА OS рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░реВ, CRI-O рд╕рд╛рдареА рдкреНрд░рд╛рдердорд┐рдХ рдЕрд╡рд▓рдВрдмрди рд╕реНрдерд╛рдкрд┐рдд рдХрд░реВ рдЖрдгрд┐ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░реВ.
    • рдЪрд▓рд╛ рдУрдПрд╕ рдЕрдкрдбреЗрдЯ рдХрд░реВрдпрд╛:
      dnf -y update
      

    • рдкреБрдвреЗ рддреБрдореНрд╣рд╛рд▓рд╛ рдлрд╛рдпрд░рд╡реЙрд▓ рдЖрдгрд┐ SELinux рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рд╛рд╡реЗ рд▓рд╛рдЧреЗрд▓. рдпреЗрдереЗ рд╕рд░реНрд╡ рдХрд╛рд╣реА рдЖрдкрд▓реЗ рд╣реЛрд╕реНрдЯ рдХрд┐рдВрд╡рд╛ рдпрдЬрдорд╛рди рдХрд╛рд░реНрдп рдХрд░рддреАрд▓ рддреНрдпрд╛ рд╡рд╛рддрд╛рд╡рд░рдгрд╛рд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рдЕрд╕рддреЗ. рдЪреНрдпрд╛ рд╢рд┐рдлрд╛рд░рд╢реАрдВрдиреБрд╕рд╛рд░ рддреБрдореНрд╣реА рдПрдХрддрд░ рдлрд╛рдпрд░рд╡реЙрд▓ рд╕реЗрдЯ рдХрд░реВ рд╢рдХрддрд╛ рджрд╕реНрддрдРрд╡рдЬреАрдХрд░рдг, рдХрд┐рдВрд╡рд╛, рдЬрд░ рддреБрдореНрд╣реА рд╡рд┐рд╢реНрд╡рд╛рд╕рд╛рд░реНрд╣ рдиреЗрдЯрд╡рд░реНрдХрд╡рд░ рдЕрд╕рд╛рд▓ рдХрд┐рдВрд╡рд╛ рддреГрддреАрдп-рдкрдХреНрд╖ рдлрд╛рдпрд░рд╡реЙрд▓ рд╡рд╛рдкрд░рдд рдЕрд╕рд╛рд▓ рддрд░, рдбреАрдлреЙрд▓реНрдЯ рдЭреЛрди рдЯреНрд░рд╕реНрдЯрдордзреНрдпреЗ рдмрджрд▓рд╛ рдХрд┐рдВрд╡рд╛ рдлрд╛рдпрд░рд╡реЙрд▓ рдмрдВрдж рдХрд░рд╛:
      firewall-cmd --set-default-zone trusted
      
      firewall-cmd --reload

      рдлрд╛рдпрд░рд╡реЙрд▓ рдмрдВрдж рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рддреБрдореНрд╣реА рдЦрд╛рд▓реАрд▓ рдХрдорд╛рдВрдб рд╡рд╛рдкрд░реВ рд╢рдХрддрд╛:

      systemctl disable --now firewalld
      

      SELinux рдмрдВрдж рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рдХрд┐рдВрд╡рд╛ "рдкрд░рдорд┐рд╢рдирд┐рд╡реНрд╣" рдореЛрдбрд╡рд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ:

      setenforce 0
      
      sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config

    • рдЖрд╡рд╢реНрдпрдХ рдХрд░реНрдирд▓ рдореЙрдбреНрдпреВрд▓ рдЖрдгрд┐ рдкреЕрдХреЗрдЬреЗрд╕ рд▓реЛрдб рдХрд░рд╛, рд╕рд┐рд╕реНрдЯрдо рд╕реНрдЯрд╛рд░реНрдЯрдЕрдкрд╡рд░ тАЬbr_netfilterтАЭ рдореЙрдбреНрдпреВрд▓рдЪреЗ рд╕реНрд╡рдпрдВрдЪрд▓рд┐рдд рд▓реЛрдбрд┐рдВрдЧ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рд╛:
      modprobe overlay
      
      modprobe br_netfilter
      
      echo "br_netfilter" >> /etc/modules-load.d/br_netfilter.conf
      
      dnf -y install iproute-tc
      

    • рдкреЕрдХреЗрдЯ рдлреЙрд░рд╡рд░реНрдбрд┐рдВрдЧ рд╕рдХреНрд░рд┐рдп рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рдЯреНрд░реЕрдлрд┐рдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рджреБрд░реБрд╕реНрдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдЖрдореНрд╣реА рдпреЛрдЧреНрдп рд╕реЗрдЯрд┐рдВрдЧреНрдЬ рдХрд░реВ:
      cat > /etc/sysctl.d/99-kubernetes-cri.conf <<EOF
      net.bridge.bridge-nf-call-iptables = 1
      net.ipv4.ip_forward = 1
      net.bridge.bridge-nf-call-ip6tables = 1
      EOF
      

      рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╕реЗрдЯрд┐рдВрдЧреНрдЬ рд▓рд╛рдЧреВ рдХрд░рд╛:

      sysctl --system

    • рдЖрд╡рд╢реНрдпрдХ рдЖрд╡реГрддреНрддреА рд╕реЗрдЯ рдХрд░рд╛ CRI-O (рдореБрдЦреНрдп рдЖрд╡реГрддреНрддреА CRI-O, рдЖрдзреАрдЪ рдирдореВрдж рдХреЗрд▓реНрдпрд╛рдкреНрд░рдорд╛рдгреЗ, рдЖрд╡рд╢реНрдпрдХ рдЖрд╡реГрддреНрддреАрд╢реА рдЬреБрд│рд╡рд╛ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕), рдирд╡реАрдирддрдо рд╕реНрдерд┐рд░ рдЖрд╡реГрддреНрддреА рдкрд╛рд╕реВрди рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рд╕рдзреНрдпрд╛ 1.18:
      export REQUIRED_VERSION=1.18
      

      рдЖрд╡рд╢реНрдпрдХ рд░реЗрдкреЙрдЬрд┐рдЯрд░реАрдЬ рдЬреЛрдбрд╛:

      dnf -y install 'dnf-command(copr)'
      
      dnf -y copr enable rhcontainerbot/container-selinux
      
      curl -L -o /etc/yum.repos.d/devel:kubic:libcontainers:stable.repo https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable/CentOS_8/devel:kubic:libcontainers:stable.repo
      
      curl -L -o /etc/yum.repos.d/devel:kubic:libcontainers:stable:cri-o:$REQUIRED_VERSION.repo https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable:cri-o:$REQUIRED_VERSION/CentOS_8/devel:kubic:libcontainers:stable:cri-o:$REQUIRED_VERSION.repo

    • рдЖрддрд╛ рдЖрдкрдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░реВ рд╢рдХрддреЛ CRI-O:
      dnf -y install cri-o
      

      рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдкреНрд░рдХреНрд░рд┐рдпреЗрджрд░рдореНрдпрд╛рди рдЖрдореНрд╣рд╛рд▓рд╛ рдЖрдврд│рд▓реЗрд▓реНрдпрд╛ рдкрд╣рд┐рд▓реНрдпрд╛ рд╕реВрдХреНрд╖реНрдорддреЗрдХрдбреЗ рд▓рдХреНрд╖ рджреНрдпрд╛: рддреБрдореНрд╣рд╛рд▓рд╛ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЖрд╣реЗ CRI-O рд╕реЗрд╡рд╛ рд╕реБрд░реВ рдХрд░рдгреНрдпрд╛рдкреВрд░реНрд╡реА, рдХрд╛рд░рдг рдЖрд╡рд╢реНрдпрдХ рдХреЙрдорди рдШрдЯрдХрд╛рдЪреЗ рд╕реНрдерд╛рди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреЗрд▓реЗрд▓реНрдпрд╛рдкреЗрдХреНрд╖рд╛ рд╡реЗрдЧрд│реЗ рдЖрд╣реЗ:

      sed -i 's//usr/libexec/crio/conmon//usr/bin/conmon/' /etc/crio/crio.conf

      рдЖрддрд╛ рддреБрдореНрд╣реА рдбрд┐рдорди рд╕рдХреНрд░рд┐рдп рдЖрдгрд┐ рд╕реБрд░реВ рдХрд░реВ рд╢рдХрддрд╛ CRI-O:

      systemctl enable --now crio
      

      рдЖрдкрдг рдбрд┐рдорди рд╕реНрдерд┐рддреА рддрдкрд╛рд╕реВ рд╢рдХрддрд╛:

      systemctl status crio
      

  2. рд╕реНрдерд╛рдкрдирд╛ рдЖрдгрд┐ рд╕рдХреНрд░рд┐рдпрдХрд░рдг рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕.
    • рдЪрд▓рд╛ рдЖрд╡рд╢реНрдпрдХ рд░реЗрдкреЙрдЬрд┐рдЯрд░реА рдЬреЛрдбреВрдпрд╛:
      cat <<EOF > /etc/yum.repos.d/kubernetes.repo
      [kubernetes]
      name=Kubernetes
      baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-$basearch
      enabled=1
      gpgcheck=1
      repo_gpgcheck=1
      gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
      exclude=kubelet kubeadm kubectl
      EOF
      

      рдЖрддрд╛ рдЖрдореНрд╣реА рд╕реНрдерд╛рдкрд┐рдд рдХрд░реВ рд╢рдХрддреЛ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ (рдЖрд╡реГрддреНрддреА 1.18, рд╡рд░ рдирдореВрдж рдХреЗрд▓реНрдпрд╛рдкреНрд░рдорд╛рдгреЗ):

      dnf install -y kubelet-1.18* kubeadm-1.18* kubectl-1.18* --disableexcludes=kubernetes

    • рджреБрд╕рд░реА рдорд╣рддреНрддреНрд╡рд╛рдЪреА рд╕реВрдХреНрд╖реНрдорддрд╛: рдЖрдореНрд╣реА рдбрд┐рдорди рд╡рд╛рдкрд░рдд рдирд╛рд╣реА рдЧреЛрджреА рдХрд╛рдордЧрд╛рд░, рдкрд░рдВрддреБ рдЖрдореНрд╣реА рдбрд┐рдорди рд╡рд╛рдкрд░рддреЛ CRI-O, рдкреНрд░рдХреНрд╖реЗрдкрдг рдЖрдгрд┐ рдЖрд░рдВрдн рдХрд░рдгреНрдпрд╛рдкреВрд░реНрд╡реА рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдкреНрд░рдердо рдЗрдЪреНрдЫрд┐рдд рдбрд┐рд░реЗрдХреНрдЯреНрд░реА рддрдпрд╛рд░ рдХрд░реВрди, рддреБрдореНрд╣рд╛рд▓рд╛ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдлрд╛рдЗрд▓ /var/lib/kubelet/config.yaml рдордзреНрдпреЗ рдпреЛрдЧреНрдп рд╕реЗрдЯрд┐рдВрдЧреНрдЬ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ:
      mkdir /var/lib/kubelet
      
      cat <<EOF > /var/lib/kubelet/config.yaml
      apiVersion: kubelet.config.k8s.io/v1beta1
      kind: KubeletConfiguration
      cgroupDriver: systemd
      EOF

    • рд╕реНрдерд╛рдкрдиреЗрджрд░рдореНрдпрд╛рди рдЖрдореНрд╣рд╛рд▓рд╛ рдЖрдврд│рдгрд╛рд░рд╛ рддрд┐рд╕рд░рд╛ рдорд╣рддреНрддреНрд╡рд╛рдЪрд╛ рдореБрджреНрджрд╛: рдЖрдореНрд╣реА рд╡рд╛рдкрд░рд▓реЗрд▓реНрдпрд╛ рдбреНрд░рд╛рдпрд╡реНрд╣рд░рд▓рд╛ рд╕реВрдЪрд┐рдд рдХреЗрд▓реЗ рдЕрд╕реВрдирд╣реА cgroup, рдЖрдгрд┐ рд╡рд┐рддрд░реНрдХрд╛рдВрдордзреВрди рддреНрдпрд╛рдЪреЗ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдкрд╛рд╕ рдЭрд╛рд▓реЗ рдХреБрдмреЗрд▓реЗрдЯ рдЬреБрдиреЗ рдЖрд╣реЗ (рдЬрд╕реЗ рджрд╕реНрддрдРрд╡рдЬреАрдХрд░рдгрд╛рдд рд╕реНрдкрд╖реНрдЯрдкрдгреЗ рдирдореВрдж рдХреЗрд▓реЗ рдЖрд╣реЗ), рдЖрдореНрд╣рд╛рд▓рд╛ рдлрд╛рдЗрд▓рдордзреНрдпреЗ рдпреБрдХреНрддрд┐рд╡рд╛рдж рдЬреЛрдбрдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ, рдЕрдиреНрдпрдерд╛ рдЖрдордЪреЗ рдХреНрд▓рд╕реНрдЯрд░ рд╕реБрд░реВ рдХреЗрд▓реЗ рдЬрд╛рдгрд╛рд░ рдирд╛рд╣реА:
      cat /dev/null > /etc/sysconfig/kubelet
      
      cat <<EOF > /etc/sysconfig/kubelet
      KUBELET_EXTRA_ARGS=--container-runtime=remote --cgroup-driver=systemd --container-runtime-endpoint='unix:///var/run/crio/crio.sock'
      EOF

    • рдЖрддрд╛ рдЖрдкрдг рдбрд┐рдорди рд╕рдХреНрд░рд┐рдп рдХрд░реВ рд╢рдХрддреЛ рдХреБрдмреЗрд▓реЗрдЯ:
      sudo systemctl enable --now kubelet
      

      рд╕рд╛рдиреБрдХреВрд▓ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдирд┐рдпрдВрддреНрд░рдг рд╡рд┐рдорд╛рди рдХрд┐рдВрд╡рд╛ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдорд┐рдирд┐рдЯрд╛рдВрдд рдиреЛрдбреНрд╕, рддреБрдореНрд╣реА рд╡рд╛рдкрд░реВ рд╢рдХрддрд╛ рдпрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд╕рд╣.

  3. рдЖрдордЪреЗ рдХреНрд▓рд╕реНрдЯрд░ рд╕реБрд░реВ рдХрд░рдгреНрдпрд╛рдЪреА рд╡реЗрд│ рдЖрд▓реА рдЖрд╣реЗ.
    • рдХреНрд▓рд╕реНрдЯрд░ рд╕реБрд░реВ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдХрдорд╛рдВрдб рдЪрд╛рд▓рд╡рд╛:
      kubeadm init --pod-network-cidr=10.244.0.0/16
      

      "kubeadm join тАж" рдХреНрд▓рд╕реНрдЯрд░рдордзреНрдпреЗ рд╕рд╛рдореАрд▓ рд╣реЛрдгреНрдпрд╛рд╕рд╛рдареА рдХрдорд╛рдВрдб рд▓рд┐рд╣рд╛ рдпрд╛рдЪреА рдЦрд╛рддреНрд░реА рдХрд░рд╛, рдЬреА рддреБрдореНрд╣рд╛рд▓рд╛ рдЖрдЙрдЯрдкреБрдЯрдЪреНрдпрд╛ рд╢реЗрд╡рдЯреА рдХрд┐рдВрд╡рд╛ рдХрд┐рдорд╛рди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЯреЛрдХрди рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕ рд╕рд╛рдВрдЧрд┐рддрд▓реЗ рдЬрд╛рддреЗ.

    • рдкреЙрдб рдиреЗрдЯрд╡рд░реНрдХрд╕рд╛рдареА рдкреНрд▓рдЧрдЗрди (CNI) рд╕реНрдерд╛рдкрд┐рдд рдХрд░реВрдпрд╛. рдореА рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рд╢рд┐рдлрд╛рд░рд╕ рдХрд░рддреЛ рдХреЗрд▓рд┐рдХреЛ. рд╢рдХреНрдпрддреЛ рдЕрдзрд┐рдХ рд▓реЛрдХрдкреНрд░рд┐рдп рдлреНрд▓реЕрдиреЗрд▓ рд╕рд╣ рд╕реБрд╕рдВрдЧрддрддрд╛ рд╕рдорд╕реНрдпрд╛ рдЖрд╣реЗрдд nftables, рд╣реЛ рдЖрдгрд┐ рдХреЗрд▓рд┐рдХреЛ - рдкреНрд░рдХрд▓реНрдкрд╛рджреНрд╡рд╛рд░реЗ рд╢рд┐рдлрд╛рд░рд╕ рдХреЗрд▓реЗрд▓реА рдЖрдгрд┐ рдкреВрд░реНрдгрдкрдгреЗ рдЪрд╛рдЪрдгреА рдХреЗрд▓реЗрд▓реА рдПрдХрдореЗрд╡ CNI рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕:
      kubectl --kubeconfig /etc/kubernetes/admin.conf apply -f https://docs.projectcalico.org/v3.15/manifests/calico.yaml 

    • рдЖрдордЪреНрдпрд╛ рдХреНрд▓рд╕реНрдЯрд░рд╢реА рд╡рд░реНрдХрд░ рдиреЛрдб рдХрдиреЗрдХреНрдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рддреБрдореНрд╣рд╛рд▓рд╛ рддреЗ рдирд┐рд░реНрджреЗрд╢ 1 рдЖрдгрд┐ 2 рдиреБрд╕рд╛рд░ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рд╛рд╡реЗ рд▓рд╛рдЧреЗрд▓ рдХрд┐рдВрд╡рд╛ рд╡рд╛рдкрд░рд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ, рдирдВрддрд░ "kubeadm init..." рдЖрдЙрдЯрдкреБрдЯрдордзреВрди рдХрдорд╛рдВрдб рдЪрд╛рд▓рд╡рд╛ рдЬреА рдЖрдореНрд╣реА рдорд╛рдЧреАрд▓ рдЪрд░рдгрд╛рдд рд▓рд┐рд╣рд┐рд▓реА рдЖрд╣реЗ:
      kubeadm join $CONTROL_PLANE_ADDRESS:6443 --token $TOKEN 
          --discovery-token-ca-cert-hash $TOKEN_HASH

    • рдЪрд▓рд╛ рддрдкрд╛рд╕реВрдпрд╛ рдХреА рдЖрдордЪреЗ рдХреНрд▓рд╕реНрдЯрд░ рд╕реБрд░реВ рдЭрд╛рд▓реЗ рдЖрд╣реЗ рдЖрдгрд┐ рдХрд╛рд░реНрдп рдХрд░рдгреНрдпрд╛рд╕ рд╕реБрд░реБрд╡рд╛рдд рдХреЗрд▓реА рдЖрд╣реЗ:
      kubectl --kubeconfig=/etc/kubernetes/admin.conf get pods -A
      

    рддрдпрд╛рд░! рддреБрдореНрд╣реА рддреБрдордЪреНрдпрд╛ K8s рдХреНрд▓рд╕реНрдЯрд░рд╡рд░ рдЖрдзреАрдЪ рдкреЗрд▓реЛрдб рд╣реЛрд╕реНрдЯ рдХрд░реВ рд╢рдХрддрд╛.

рдкреБрдвреЗ рдЖрдордЪреА рдХрд╛рдп рд╡рд╛рдЯ рдкрд╛рд╣рдд рдЖрд╣реЗ

рдорд▓рд╛ рдЖрд╢рд╛ рдЖрд╣реЗ рдХреА рд╡рд░реАрд▓ рд╕реВрдЪрдирд╛рдВрдореБрд│реЗ рддреБрдордЪрд╛ рдХрд╛рд╣реА рд╡реЗрд│ рдЖрдгрд┐ рдордЬреНрдЬрд╛рддрдВрддреВ рд╡рд╛рдЪрдгреНрдпрд╛рд╕ рдорджрдд рдЭрд╛рд▓реА.
рдЙрджреНрдпреЛрдЧрд╛рдд рд╣реЛрдгрд╛рд░реНтАНрдпрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдВрдЪреЗ рдкрд░рд┐рдгрд╛рдо рдмрд╣реБрдзрд╛ рдЕрдВрддрд┐рдо рд╡рд╛рдкрд░рдХрд░реНрддреЗ рдЖрдгрд┐ рд╕рдВрдмрдВрдзрд┐рдд рдХреЛрдирд╛рдбреНрдпрд╛рддреАрд▓ рдЗрддрд░ рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░рдЪреНрдпрд╛ рд╡рд┐рдХрд╕рдХрд╛рдВрджреНрд╡рд╛рд░реЗ рддреЗ рдХрд╕реЗ рд╕реНрд╡реАрдХрд╛рд░рд▓реЗ рдЬрд╛рддрд╛рдд рдпрд╛рд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рдЕрд╕рддрд╛рдд. рдХрд╛рд╣реА рд╡рд░реНрд╖рд╛рдВрдд OCI рдЙрдкрдХреНрд░рдо рдХрд╛рдп рдШрдбрд╡реВрди рдЖрдгрддреАрд▓ рд╣реЗ рдЕрджреНрдпрд╛рдк рдкреВрд░реНрдгрдкрдгреЗ рд╕реНрдкрд╖реНрдЯ рдирд╛рд╣реА, рдкрд░рдВрддреБ рдЖрдореНрд╣реА рдЖрдирдВрджрд╛рдиреЗ рдкрд╛рд╣рдд рдЖрд╣реЛрдд. рддреБрдореНрд╣реА рддреБрдордЪреЗ рдордд рдЖрддреНрддрд╛рдЪ рдЯрд┐рдкреНрдкрдгреНрдпрд╛рдВрдордзреНрдпреЗ рд╢реЗрдЕрд░ рдХрд░реВ рд╢рдХрддрд╛.

рд░рд╣рд╛!

рд╣рд╛ рд▓реЗрдЦ рдЦрд╛рд▓реАрд▓ рд╕реНрддреНрд░реЛрддрд╛рдВрдореБрд│реЗ рджрд┐рд╕рд▓рд╛:



рд╕реНрддреНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛