Kubernetes рдкреЛрдбрд▓реЗ IP рдареЗрдЧрд╛рдирд╛ рдХрд╕рд░реА рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдЫ?

рдиреЛрдЯред рдЕрдиреБрд╡рд╛рджред: рдпреЛ рд▓реЗрдЦ, LinkedIn рдХреЛ рдПрдХ SRE рдЗрдиреНрдЬрд┐рдирд┐рдпрд░ рджреНрд╡рд╛рд░рд╛ рд▓реЗрдЦрд┐рдПрдХреЛ, Kubernetes рдорд╛ рднрд┐рддреНрд░реА рдЬрд╛рджреВ рдХреЛ рдмрд╛рд░реЗ рдорд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдорд╛ рдЬрд╛рдиреНрдЫ - рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рдорд╛, CRI, CNI рд░ kube-apiserver рдХреЛ рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛ - рдпреЛ рддрдм рд╣реБрдиреНрдЫ рдЬрдм рдЕрд░реНрдХреЛ рдкреЛрдбрд▓рд╛рдИ IP рдареЗрдЧрд╛рдирд╛ рддреЛрдХреНрди рдЖрд╡рд╢реНрдпрдХ рд╣реБрдиреНрдЫред

рдЖрдзрд╛рд░рднреВрдд рдЖрд╡рд╢реНрдпрдХрддрд╛рд╣рд░реБ рдордзреНрдпреЗ рдПрдХ Kubernetes рдиреЗрдЯрд╡рд░реНрдХ рдореЛрдбреЗрд▓ рдпреЛ рд╣реЛ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдкреЛрдбрдХреЛ рдЖрдлреНрдиреИ IP рдареЗрдЧрд╛рдирд╛ рд╣реБрдиреБрдкрд░реНрджрдЫ рд░ рдХреНрд▓рд╕реНрдЯрд░рдХреЛ рдХреБрдиреИ рдкрдирд┐ рдЕрдиреНрдп рдкреЛрдбрд▓рд╛рдИ рддреНрдпреЛ рдареЗрдЧрд╛рдирд╛рдорд╛ рд╕рдореНрдкрд░реНрдХ рдЧрд░реНрди рд╕рдХреНрд╖рдо рд╣реБрдиреБрдкрд░реНрджрдЫред рддреНрдпрд╣рд╛рдБ рдзреЗрд░реИ рдиреЗрдЯрд╡рд░реНрдХ "рдкреНрд░рджрд╛рдпрдХрд╣рд░реВ" (рдлреНрд▓рд╛рдиреЗрд▓, рдХреНрдпрд╛рд▓рд┐рдХреЛ, рдирд╣рд░, рдЖрджрд┐) рдЫрдиреН рдЬрд╕рд▓реЗ рдпреЛ рдиреЗрдЯрд╡рд░реНрдХ рдореЛрдбреЗрд▓ рд▓рд╛рдЧреВ рдЧрд░реНрди рдорджреНрджрдд рдЧрд░реНрджрдЫред

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

Kubernetes рдорд╛ рдиреЗрдЯрд╡рд░реНрдХрд┐рдЩ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдЧрд░реНрди рд╡рд┐рднрд┐рдиреНрди рддрд░рд┐рдХрд╛рд╣рд░реВ рдЫрдиреН, рдЬрд╕реНрддреИ рдХрдиреНрдЯреЗрдирд░рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╡рд┐рднрд┐рдиреНрди рд░рдирдЯрд╛рдЗрдо рд╡рд┐рдХрд▓реНрдкрд╣рд░реВ рдЫрдиреНред рдпреЛ рдкреНрд░рдХрд╛рд╢рди рдкреНрд░рдпреЛрдЧ рд╣реБрдиреЗрдЫ рдлреНрд▓реНрдпрд╛рдирд▓ рдХреНрд▓рд╕реНрдЯрд░рдорд╛ рдиреЗрдЯрд╡рд░реНрдХ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдЧрд░реНрди, рд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдпреЛрдЧреНрдп рд╡рд╛рддрд╛рд╡рд░рдгрдХреЛ рд░реВрдкрдорд╛ - рдХрдиреНрдЯреЗрдирд░ред рдо рдпреЛ рдзрд╛рд░рдгрд╛ рдкрдирд┐ рдмрдирд╛рдЗрд░рд╣реЗрдХреЛ рдЫреБ рдХрд┐ рддрдкрд╛рдИрд▓рд╛рдИ рдерд╛рд╣рд╛ рдЫ рдХрд┐ рдХрдиреНрдЯреЗрдирд░рд╣рд░реВ рдмреАрдЪрдХреЛ рд╕рдЮреНрдЬрд╛рд▓рд▓реЗ рдХрд╕рд░реА рдХрд╛рдо рдЧрд░реНрджрдЫ, рддреНрдпрд╕реИрд▓реЗ рдо рдпрд╕рд▓рд╛рдИ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд░реВрдкрдорд╛ рдЫреБрдиреЗрдЫреБ, рдХреЗрд╡рд▓ рд╕рдиреНрджрд░реНрднрдХреЛ рд▓рд╛рдЧрд┐ред

рдХреЗрд╣реА рдЖрдзрд╛рд░рднреВрдд рдЕрд╡рдзрд╛рд░рдгрд╛рд╣рд░реВ

рдХрдиреНрдЯреЗрдирд░ рд░ рдиреЗрдЯрд╡рд░реНрдХ: рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╕рд┐рдВрд╣рд╛рд╡рд▓реЛрдХрди

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

рдПрдЙрдЯрд╛ рд╣реЛрд╕реНрдЯрдорд╛ рдХрдиреНрдЯреЗрдирд░рд╣рд░реВ

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

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

Kubernetes рдкреЛрдбрд▓реЗ IP рдареЗрдЧрд╛рдирд╛ рдХрд╕рд░реА рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдЫ?

рд╡рд┐рднрд┐рдиреНрди рд╣реЛрд╕реНрдЯрд╣рд░реВрдорд╛ рдХрдиреНрдЯреЗрдирд░рд╣рд░реВ

рдкреНрдпрд╛рдХреЗрдЯ рдЗрдирдХреНрдпрд╛рдкреНрд╕реБрд▓реЗрд╢рди рдПрдЙрдЯрд╛ рд╡рд┐рдзрд┐ рд╣реЛ рдЬрд╕рд▓реЗ рд╡рд┐рднрд┐рдиреНрди рдиреЛрдбрд╣рд░реВрдорд╛ рдХрдиреНрдЯреЗрдирд░рд╣рд░реВрд▓рд╛рдИ IP рдареЗрдЧрд╛рдирд╛рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдПрдХрдЕрд░реНрдХрд╛рд╕рдБрдЧ рд╕рдЮреНрдЪрд╛рд░ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред Flannel рдорд╛, рдкреНрд░рд╡рд┐рдзрд┐ рдпрд╕ рдЕрд╡рд╕рд░рдХреЛ рд▓рд╛рдЧрд┐ рдЬрд┐рдореНрдореЗрд╡рд╛рд░ рдЫред vxlan, рдЬрд╕рд▓реЗ рдореВрд▓ рдкреНрдпрд╛рдХреЗрдЯрд▓рд╛рдИ UDP рдкреНрдпрд╛рдХреЗрдЯрдорд╛ "рдкреНрдпрд╛рдХреЗрдЬ" рдЧрд░реНрдЫ рд░ рддреНрдпрд╕рдкрдЫрд┐ рдпрд╕рд▓рд╛рдИ рдЧрдиреНрддрд╡реНрдпрдорд╛ рдкрдард╛рдЙрдБрдЫред

Kubernetes рдХреНрд▓рд╕реНрдЯрд░рдорд╛, Flannel рд▓реЗ vxlan рдпрдиреНрддреНрд░ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдЫ рд░ рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдбрдорд╛ рд░реБрдЯ рддрд╛рд▓рд┐рдХрд╛рд▓рд╛рдИ рддрджрдиреБрд╕рд╛рд░ рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рдЧрд░реНрджрдЫред рдлрд░рдХ рд╣реЛрд╕реНрдЯрдорд╛ рдХрдиреНрдЯреЗрдирд░рдХреЛ рд▓рд╛рдЧрд┐ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдкреНрд░рддреНрдпреЗрдХ рдкреНрдпрд╛рдХреЗрдЯ vxlan рдпрдиреНрддреНрд░рдмрд╛рдЯ рдЬрд╛рдиреНрдЫ рд░ UDP рдкреНрдпрд╛рдХреЗрдЯрдорд╛ рдЗрдиреНрдХреНрдпрд╛рдкреНрд╕реБрд▓реЗрдЯреЗрдб рд╣реБрдиреНрдЫред рдЧрдиреНрддрд╡реНрдпрдорд╛, рдиреЗрд╕реНрдЯреЗрдб рдкреНрдпрд╛рдХреЗрдЯ рдирд┐рдХрд╛рд▓рд┐рдиреНрдЫ рд░ рдЗрдЪреНрдЫрд┐рдд рдкреЛрдбрдорд╛ рдлрд░реНрд╡рд╛рд░реНрдб рдЧрд░рд┐рдиреНрдЫред

Kubernetes рдкреЛрдбрд▓реЗ IP рдареЗрдЧрд╛рдирд╛ рдХрд╕рд░реА рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдЫ?
рдиреЛрдЯ: рдпреЛ рдХрдиреНрдЯреЗрдирд░рд╣рд░реВ рдмреАрдЪ рд╕рдЮреНрдЬрд╛рд▓ рд╕рдЮреНрдЪрд╛рд░ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдЧрд░реНрдиреЗ рдПрдЙрдЯрд╛ рддрд░рд┐рдХрд╛ рд╣реЛред

CRI рднрдиреЗрдХреЛ рдХреЗ рд╣реЛ?

CRI (рдХрдиреНрдЯреЗрдирд░ рд░рдирдЯрд╛рдЗрдо рдЗрдиреНрдЯрд░рдлреЗрд╕) рдХреБрдмреЗрд▓реЗрдЯрд▓рд╛рдИ рд╡рд┐рднрд┐рдиреНрди рдХрдиреНрдЯреЗрдирд░ рд░рдирдЯрд╛рдЗрдо рд╡рд╛рддрд╛рд╡рд░рдг рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреЗ рдкреНрд▓рдЧрдЗрди рд╣реЛред CRI API рд╡рд┐рднрд┐рдиреНрди рд░рдирдЯрд╛рдЗрдорд╣рд░реВрдорд╛ рдирд┐рд░реНрдорд┐рдд рдЫ, рддреНрдпрд╕реИрд▓реЗ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрд▓реЗ рдЖрдлреНрдиреЛ рдордирдкрд░реНрдиреЗ рд░рдирдЯрд╛рдЗрдо рдЫрдиреМрдЯ рдЧрд░реНрди рд╕рдХреНрдЫрдиреНред

CNI рднрдиреЗрдХреЛ рдХреЗ рд╣реЛ?

рдкрд░рд┐рдпреЛрдЬрдирд╛ CNI рдПрдХ рдЫ рд╡рд┐рдирд┐рд░реНрджреЗрд╢рди рд▓рд┐рдирдХреНрд╕ рдХрдиреНрдЯреЗрдирд░рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╡рд┐рд╢реНрд╡рд╡реНрдпрд╛рдкреА рдиреЗрдЯрд╡рд░реНрдХ рд╕рдорд╛рдзрд╛рди рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдЧрд░реНрдиред рд╕рд╛рдереИ, рдпрд╕рдорд╛ рд╕рдорд╛рд╡реЗрд╢ рдЫ рдкреНрд▓рдЧрдЗрдирд╣рд░реВ, рдкреЛрдб рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗрдЯрдЕрдк рдЧрд░реНрджрд╛ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдЬрд┐рдореНрдореЗрд╡рд╛рд░ред CNI рдкреНрд▓рдЧрдЗрди рдПрдЙрдЯрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдпреЛрдЧреНрдп рдлрд╛рдЗрд▓ рд╣реЛ рдЬреБрди рд╡рд┐рдирд┐рд░реНрджреЗрд╢рдХреЛ рдкрд╛рд▓рдирд╛ рдЧрд░реНрджрдЫ (рд╣рд╛рдореА рддрд▓ рдХреЗрд╣реА рдкреНрд▓рдЧрдЗрдирд╣рд░реВ рдЫрд▓рдлрд▓ рдЧрд░реНрдиреЗрдЫреМрдВ)ред

рдкреЛрдбрд╣рд░реВрдорд╛ IP рдареЗрдЧрд╛рдирд╛рд╣рд░реВ рддреЛрдХреНрдирдХрд╛ рд▓рд╛рдЧрд┐ рдиреЛрдбрд╣рд░реВрдорд╛ рд╕рдмрдиреЗрдЯрд╣рд░реВрдХреЛ рдЖрд╡рдВрдЯрди

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

рдиреЛрдб IPAM рдирд┐рдпрдиреНрддреНрд░рдХ

рдХрд╣рд┐рд▓реЗ nodeipam рдЭрдгреНрдбрд╛ рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░ рд░реВрдкрдорд╛ рдкрд╛рд░рд┐рдд --controllers kube-рдирд┐рдпрдиреНрддреНрд░рдХ-рдкреНрд░рдмрдиреНрдзрдХ, рдпрд╕рд▓реЗ рдХреНрд▓рд╕реНрдЯрд░ CIDR рдмрд╛рдЯ рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдбрдорд╛ рдЫреБрдЯреНрдЯреИ рд╕рдмрдиреЗрдЯ (podCIDR) рдЖрд╡рдВрдЯрд┐рдд рдЧрд░реНрджрдЫ (рдЕрд░реНрдерд╛рдд, рдХреНрд▓рд╕реНрдЯрд░ рдиреЗрдЯрд╡рд░реНрдХрдХреЛ рд▓рд╛рдЧрд┐ IP рдареЗрдЧрд╛рдирд╛рд╣рд░реВрдХреЛ рджрд╛рдпрд░рд╛)ред рдпреА рдкреЛрдбрд╕реАрдЖрдИрдбреАрдЖрд░рд╣рд░реВ рдУрднрд░рд▓реНрдпрд╛рдк рдирдЧрд░реНрдиреЗ рд╣реБрдирд╛рд▓реЗ, рдкреНрд░рддреНрдпреЗрдХ рдкреЛрдбрд▓рд╛рдИ рдПрдЙрдЯрд╛ рдЕрджреНрд╡рд┐рддреАрдп IP рдареЗрдЧрд╛рдирд╛ рдЖрд╡рдВрдЯрд┐рдд рдЧрд░реНрди рд╕рдореНрднрд╡ рд╣реБрдиреНрдЫред

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

$ kubectl get no <nodeName> -o json | jq '.spec.podCIDR'
10.244.0.0/24

Kubelet, рдХрдиреНрдЯреЗрдирд░ рд░рдирдЯрд╛рдЗрдо рд░ CNI рдкреНрд▓рдЧрдЗрдирд╣рд░реВ: рдХрд╕рд░реА рдпреЛ рд╕рдмреИ рдХрд╛рдо рдЧрд░реНрджрдЫ

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

рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдиреЛрдбрдорд╛ рдкреЛрдб рдЕрдиреБрд╕реВрдЪрд┐рдд рдЧрд░реНрджрд╛ рдШрдЯрдирд╛рд╣рд░реВрдХреЛ рдирд┐рдореНрди рд╢реНрд░реГрдВрдЦрд▓рд╛ рдЯреНрд░рд┐рдЧрд░ рд╣реБрдиреНрдЫ:

Kubernetes рдкреЛрдбрд▓реЗ IP рдареЗрдЧрд╛рдирд╛ рдХрд╕рд░реА рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдЫ?

рдорджреНрджрдд: рдХрдиреНрдЯреЗрдирд░реНрдб CRI рдкреНрд▓рдЧрдЗрдирд╣рд░реВрдХреЛ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛.

рдХрдиреНрдЯреЗрдирд░ рд░рдирдЯрд╛рдЗрдо рд░ CNI рдкреНрд▓рдЧрдЗрдирд╣рд░реВ рдмреАрдЪ рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛

рдкреНрд░рддреНрдпреЗрдХ рдиреЗрдЯрд╡рд░реНрдХ рдкреНрд░рджрд╛рдпрдХрдХреЛ рдЖрдлреНрдиреИ CNI рдкреНрд▓рдЧрдЗрди рд╣реБрдиреНрдЫред рдХрдиреНрдЯреЗрдирд░рдХреЛ рд░рдирдЯрд╛рдЗрдорд▓реЗ рдпрд╕рд▓рд╛рдИ рд╕реБрд░реБ рд╣реБрдиреЗ рдмрд┐рддреНрддрд┐рдХреИ рдкреЛрдбрдХреЛ рд▓рд╛рдЧрд┐ рдиреЗрдЯрд╡рд░реНрдХ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░реНрди рдЪрд▓рд╛рдЙрдБрдЫред рдХрдиреНрдЯреЗрдирд░рдХреЛ рдЕрд╡рд╕реНрдерд╛рдорд╛, CNI рдкреНрд▓рдЧрдЗрди рдкреНрд▓рдЧрдЗрдирджреНрд╡рд╛рд░рд╛ рд╕реБрд░реВ рдЧрд░рд┐рдПрдХреЛ рдЫ рдХрдиреНрдЯреЗрдирд░ CRI.

рдпрд╕рдмрд╛рд╣реЗрдХ, рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рджрд╛рдпрдХрдХреЛ рдЖрдлреНрдиреИ рдПрдЬреЗрдиреНрдЯ рдЫред рдпреЛ рд╕рдмреИ Kubernetes рдиреЛрдбрд╣рд░реВрдорд╛ рд╕реНрдерд╛рдкрд┐рдд рдЫ рд░ рдкреЛрдбрд╣рд░реВрдХреЛ рдиреЗрдЯрд╡рд░реНрдХ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рдирдХреЛ рд▓рд╛рдЧрд┐ рдЬрд┐рдореНрдореЗрд╡рд╛рд░ рдЫред рдпреЛ рдПрдЬреЗрдиреНрдЯ рдпрд╛ рдд CNI рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рдирдорд╛ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░рд┐рдПрдХреЛ рдЫ рд╡рд╛ рдпрд╕рд▓рд╛рдИ рдиреЛрдбрдорд╛ рд╕реНрд╡рддрдиреНрддреНрд░ рд░реВрдкрдорд╛ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрджрдЫред рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рдирд▓реЗ CRI рдкреНрд▓рдЧрдЗрдирд▓рд╛рдИ рдХреБрди CNI рдкреНрд▓рдЧрдЗрдирд▓рд╛рдИ рдХрд▓ рдЧрд░реНрдиреЗ рд╕реЗрдЯ рдЧрд░реНрди рдорджреНрджрдд рдЧрд░реНрдЫред

CNI рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рдирдХреЛ рд╕реНрдерд╛рди рдЕрдиреБрдХреВрд▓рд┐рдд рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ; рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд░реВрдкрдорд╛ рдпреЛ рдорд╛ рдЫ /etc/cni/net.d/<config-file>ред рдкреНрд░рддреНрдпреЗрдХ рдХреНрд▓рд╕реНрдЯрд░ рдиреЛрдбрдорд╛ CNI рдкреНрд▓рдЧрдЗрдирд╣рд░реВ рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрди рдХреНрд▓рд╕реНрдЯрд░ рдкреНрд░рд╢рд╛рд╕рдХрд╣рд░реВ рдкрдирд┐ рдЬрд┐рдореНрдореЗрд╡рд╛рд░ рдЫрдиреНред рддрд┐рдиреАрд╣рд░реВрдХреЛ рд╕реНрдерд╛рди рдкрдирд┐ рдЕрдиреБрдХреВрд▓рди рдпреЛрдЧреНрдп рдЫ; рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ - /opt/cni/bin.

рдХрдиреНрдЯреЗрдирд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрд╛, рдкреНрд▓рдЧрдЗрди рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рд░ рдмрд╛рдЗрдирд░реАрд╣рд░реВрдХрд╛ рд▓рд╛рдЧрд┐ рдорд╛рд░реНрдЧрд╣рд░реВ рд╕реЗрдХреНрд╕рдирдорд╛ рд╕реЗрдЯ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ [plugins.┬лio.containerd.grpc.v1.cri┬╗.cni] ╨▓ рдХрдиреНрдЯреЗрдирд░ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдлрд╛рдЗрд▓.

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

  • рдлреНрд▓реНрдпрд╛рдиреЗрд▓реНрдб (рдлреНрд▓рд╛рдиреЗрд▓рдХреЛ рдбреЗрдорди) рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛ рдХреНрд▓рд╕реНрдЯрд░рдорд╛ рдбреЗрдордирд╕реЗрдЯрдХреЛ рд░реВрдкрдорд╛ рд╕реНрдерд╛рдкрд┐рдд рд╣реБрдиреНрдЫ install-cni рд░реВрдкрдорд╛ init рдХрдиреНрдЯреЗрдирд░.
  • Install-cni рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрджрдЫ CNI рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдлрд╛рдЗрд▓ (/etc/cni/net.d/10-flannel.conflist) рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдбрдорд╛ред
  • Flanneld рд▓реЗ рдПрдХ vxlan рдпрдиреНрддреНрд░ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрджрдЫ, API рд╕рд░реНрднрд░рдмрд╛рдЯ рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдкреБрди: рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрджрдЫ, рд░ рдкреЛрдб рдЕрджреНрдпрд╛рд╡рдзрд┐рдХрд╣рд░реВ рдирд┐рдЧрд░рд╛рдиреА рдЧрд░реНрджрдЫред рдЬрд╕рд░реА рддрд┐рдиреАрд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рд╣реБрдиреНрдЫрдиреН, рдпрд╕рд▓реЗ рдХреНрд▓рд╕реНрдЯрд░рдорд╛ рд╕рдмреИ рдкреЛрдбрд╣рд░реВрдорд╛ рдорд╛рд░реНрдЧрд╣рд░реВ рд╡рд┐рддрд░рдг рдЧрд░реНрджрдЫред
  • рдпреА рдорд╛рд░реНрдЧрд╣рд░реВрд▓реЗ рдкреЛрдбрд╣рд░реВрд▓рд╛рдИ IP рдареЗрдЧрд╛рдирд╛рд╣рд░реВ рдорд╛рд░реНрдлрдд рдПрдХрдЕрд░реНрдХрд╛рд╕рдБрдЧ рд╕рдЮреНрдЪрд╛рд░ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред

Flannel рдХреЛ рдХрд╛рдо рдХреЛ рдмрд╛рд░реЗ рдорд╛ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддреГрдд рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рд▓рд╛рдЧреА, рдо рд▓реЗрдЦ рдХреЛ рдЕрдиреНрдд рдорд╛ рд▓рд┐рдЩреНрдХрд╣рд░реБ рдХреЛ рдЙрдкрдпреЛрдЧ рдХреЛ рд▓рд╛рдЧреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдЧрд░реНрджрдЫред

рдпрд╣рд╛рдБ Containerd CRI рдкреНрд▓рдЧрдЗрди рд░ CNI рдкреНрд▓рдЧрдЗрдирд╣рд░реВ рдмреАрдЪрдХреЛ рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛рдХреЛ рд░реЗрдЦрд╛рдЪрд┐рддреНрд░ рдЫ:

Kubernetes рдкреЛрдбрд▓реЗ IP рдареЗрдЧрд╛рдирд╛ рдХрд╕рд░реА рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдЫ?

рддрдкрд╛рдИрдВрд▓реЗ рдорд╛рдерд┐ рджреЗрдЦреНрди рд╕рдХреНрдиреБрд╣реБрдиреЗ рд░реВрдкрдорд╛, рдХреБрдмреЗрд▓реЗрдЯрд▓реЗ рдкреЛрдб рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рдХрдиреНрдЯреЗрдирд░реНрдб CRI рдкреНрд▓рдЧрдЗрдирд▓рд╛рдИ рдХрд▓ рдЧрд░реНрджрдЫ, рдЬрд╕рд▓реЗ рддреНрдпрд╕рдкрдЫрд┐ рдкреЛрдбрдХреЛ рдиреЗрдЯрд╡рд░реНрдХ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░реНрди CNI рдкреНрд▓рдЧрдЗрдирд▓рд╛рдИ рдХрд▓ рдЧрд░реНрджрдЫред рдпрд╕реЛ рдЧрд░реНрджрд╛, рдиреЗрдЯрд╡рд░реНрдХ рдкреНрд░рджрд╛рдпрдХрдХреЛ CNI рдкреНрд▓рдЧрдЗрдирд▓реЗ рдиреЗрдЯрд╡рд░реНрдХрдХрд╛ рд╡рд┐рднрд┐рдиреНрди рдкрдХреНрд╖рд╣рд░реВ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░реНрди рдЕрдиреНрдп рдХреЛрд░ CNI рдкреНрд▓рдЧрдЗрдирд╣рд░реВрд▓рд╛рдИ рдХрд▓ рдЧрд░реНрдЫред

CNI рдкреНрд▓рдЧрдЗрдирд╣рд░реВ рдмреАрдЪ рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛

рддреНрдпрд╣рд╛рдБ рд╡рд┐рднрд┐рдиреНрди CNI рдкреНрд▓рдЧрдЗрдирд╣рд░реВ рдЫрдиреН рдЬрд╕рдХреЛ рдХрд╛рдо рд╣реЛрд╕реНрдЯрдорд╛ рдХрдиреНрдЯреЗрдирд░рд╣рд░реВ рдмреАрдЪ рдиреЗрдЯрд╡рд░реНрдХ рд╕рдВрдЪрд╛рд░ рд╕реЗрдЯрдЕрдк рдЧрд░реНрди рдорджреНрджрдд рдЧрд░реНрдиреБ рд╣реЛред рдпрд╕ рд▓реЗрдЦрд▓реЗ рддреАрдордзреНрдпреЗ рддреАрдирд╡рдЯрд╛ рдЫрд▓рдлрд▓ рдЧрд░реНрдиреЗрдЫред

CNI рдкреНрд▓рдЧрдЗрди Flannel

рдиреЗрдЯрд╡рд░реНрдХ рдкреНрд░рджрд╛рдпрдХрдХреЛ рд░реВрдкрдорд╛ Flannel рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрд╛, Containerd CRI рдХрдореНрдкреЛрдиреЗрдиреНрдЯ рдХрд▓ рдЧрд░реНрджрдЫ CNI рдкреНрд▓рдЧрдЗрди FlannelCNI рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдлрд╛рдЗрд▓ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджреИ /etc/cni/net.d/10-flannel.conflist.

$ cat /etc/cni/net.d/10-flannel.conflist
{
  "name": "cni0",
  "plugins": [
    {
      "type": "flannel",
      "delegate": {
         "ipMasq": false,
        "hairpinMode": true,
        "isDefaultGateway": true
      }
    }
  ]
}

Flannel CNI рдкреНрд▓рдЧрдЗрди Flanneld рд╕рдБрдЧ рд╕рдВрдпреЛрдЬрдирдорд╛ рдХрд╛рдо рдЧрд░реНрджрдЫред рд╕реНрдЯрд╛рд░реНрдЯрдЕрдкрдХреЛ рд╕рдордпрдорд╛, рдлреНрд▓реНрдпрд╛рдиреЗрд▓реНрдбрд▓реЗ рдПрдкреАрдЖрдИ рд╕рд░реНрднрд░рдмрд╛рдЯ рдкреЛрдбрд╕реАрдЖрдИрдбреАрдЖрд░ рд░ рдЕрдиреНрдп рдиреЗрдЯрд╡рд░реНрдХ-рд╕рдореНрдмрдиреНрдзрд┐рдд рд╡рд┐рд╡рд░рдгрд╣рд░реВ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдЫ рд░ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдлрд╛рдЗрд▓рдорд╛ рдмрдЪрдд рдЧрд░реНрдЫред /run/flannel/subnet.env.

FLANNEL_NETWORK=10.244.0.0/16 
FLANNEL_SUBNET=10.244.0.1/24
FLANNEL_MTU=1450 
FLANNEL_IPMASQ=false

Flannel CNI рдкреНрд▓рдЧрдЗрди рдмрд╛рдЯ рдбрд╛рдЯрд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫ /run/flannel/subnet.env рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░реНрди рд░ CNI рдмреНрд░рд┐рдЬ рдкреНрд▓рдЧрдЗрдирд▓рд╛рдИ рдХрд▓ рдЧрд░реНрдиреБрд╣реЛрд╕реНред

CNI рдкреНрд▓рдЧрдЗрди рдмреНрд░рд┐рдЬ

рдпреЛ рдкреНрд▓рдЧрдЗрди рдирд┐рдореНрди рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рдирдХреЛ рд╕рд╛рде рдмреЛрд▓рд╛рдЗрдиреНрдЫ:

{
  "name": "cni0",
  "type": "bridge",
  "mtu": 1450,
  "ipMasq": false,
  "isGateway": true,
  "ipam": {
    "type": "host-local",
    "subnet": "10.244.0.0/24"
  }
}

рдЬрдм рдкрд╣рд┐рд▓реЛ рдкрдЯрдХ рдмреЛрд▓рд╛рдЗрдиреНрдЫ, рдпрд╕рд▓реЗ рд▓рд┐рдирдХреНрд╕ рдмреНрд░рд┐рдЬ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрджрдЫ ┬лname┬╗: ┬лcni0┬╗, рдЬреБрди рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рдирдорд╛ рд╕рдВрдХреЗрдд рдЧрд░рд┐рдПрдХреЛ рдЫред рддреНрдпрд╕рдкрдЫрд┐ рдкреНрд░рддреНрдпреЗрдХ рдкреЛрдбрдХреЛ рд▓рд╛рдЧрд┐ рднреЗрде рдЬреЛрдбреА рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░рд┐рдиреНрдЫред рдпрд╕рдХреЛ рдПрдЙрдЯрд╛ рдЫреЗрдЙ рдХрдиреНрдЯреЗрдирд░рдХреЛ рдиреЗрдЯрд╡рд░реНрдХ рдиреЗрдорд╕реНрдкреЗрд╕рд╕рдБрдЧ рдЬреЛрдбрд┐рдПрдХреЛ рдЫ, рдЕрд░реНрдХреЛ рд╣реЛрд╕реНрдЯ рдиреЗрдЯрд╡рд░реНрдХрдорд╛ рд▓рд┐рдирдХреНрд╕ рдмреНрд░рд┐рдЬрдорд╛ рд╕рдорд╛рд╡реЗрд╢ рдЫред CNI рдкреНрд▓рдЧрдЗрди рдмреНрд░рд┐рдЬ рд╕рдмреИ рд╣реЛрд╕реНрдЯ рдХрдиреНрдЯреЗрдирд░рд╣рд░реВрд▓рд╛рдИ рд╣реЛрд╕реНрдЯ рдиреЗрдЯрд╡рд░реНрдХрдорд╛ рд▓рд┐рдирдХреНрд╕ рдмреНрд░рд┐рдЬрдорд╛ рдЬрдбрд╛рди рдЧрд░реНрджрдЫред

рднреЗрде рдЬреЛрдбреА рд╕реЗрдЯрдЕрдк рдЧрд░рд┐рд╕рдХреЗрдкрдЫрд┐, рдмреНрд░рд┐рдЬ рдкреНрд▓рдЧрдЗрдирд▓реЗ рд╣реЛрд╕реНрдЯ-рд╕реНрдерд╛рдиреАрдп IPAM CNI рдкреНрд▓рдЧрдЗрдирд▓рд╛рдИ рдХрд▓ рдЧрд░реНрдЫред IPAM рдкреНрд▓рдЧрдЗрди рдкреНрд░рдХрд╛рд░ CNI рдХрдиреНрдлрд┐рдЧрд░рдорд╛ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ рдЬреБрди CRI рдкреНрд▓рдЧрдЗрдирд▓реЗ Flannel CNI рдкреНрд▓рдЧрдЗрди рдХрд▓ рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫред

рд╣реЛрд╕реНрдЯ-рд╕реНрдерд╛рдиреАрдп IPAM CNI рдкреНрд▓рдЧрдЗрдирд╣рд░реВ

рдкреБрд▓ CNI рдХрд▓ рд╣реЛрд╕реНрдЯ-рд╕реНрдерд╛рдиреАрдп IPAM рдкреНрд▓рдЧрдЗрди CNI рдирд┐рдореНрди рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рд╕рдВрдЧ:

{
  "name": "cni0",
  "ipam": {
    "type": "host-local",
    "subnet": "10.244.0.0/24",
    "dataDir": "/var/lib/cni/networks"
  }
}

рд╣реЛрд╕реНрдЯ-рд╕реНрдерд╛рдиреАрдп IPAM рдкреНрд▓рдЧрдЗрди (IP Address Management - IP рдареЗрдЧрд╛рдирд╛ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди) рд╕рдмрдиреЗрдЯрдмрд╛рдЯ рдХрдиреНрдЯреЗрдирд░рдХреЛ рд▓рд╛рдЧрд┐ IP рдареЗрдЧрд╛рдирд╛ рдлрд░реНрдХрд╛рдЙрдБрдЫ рд░ рдЦрдгреНрдбрдорд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реАрдорд╛ рд╣реЛрд╕реНрдЯрдорд╛ рдЖрд╡рдВрдЯрд┐рдд IP рднрдгреНрдбрд╛рд░рдг рдЧрд░реНрджрдЫред dataDir - /var/lib/cni/networks/<network-name=cni0>/<ip>ред рдпреЛ рдлрд╛рдЗрд▓рд▓реЗ рдХрдиреНрдЯреЗрдирд░рдХреЛ ID рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫ рдЬрд╕рдорд╛ рдпреЛ IP рдареЗрдЧрд╛рдирд╛ рддреЛрдХрд┐рдПрдХреЛ рдЫред

рд╣реЛрд╕реНрдЯ-рд╕реНрдерд╛рдиреАрдп IPAM рдкреНрд▓рдЧрдЗрдирд▓рд╛рдИ рдХрд▓ рдЧрд░реНрджрд╛, рдпрд╕рд▓реЗ рдирд┐рдореНрди рдбреЗрдЯрд╛ рдлрд░реНрдХрд╛рдЙрдБрдЫ:

{
  "ip4": {
    "ip": "10.244.4.2",
    "gateway": "10.244.4.3"
  },
  "dns": {}
}

рд╕рд╛рд░рд╛рдВрд╢

рдХреБрдмреЗ-рдирд┐рдпрдиреНрддреНрд░рдХ-рдкреНрд░рдмрдиреНрдзрдХрд▓реЗ рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдбрдорд╛ рдкреЛрдбрд╕реАрдЖрдИрдбреАрдЖрд░ рдирд┐рдпреБрдХреНрдд рдЧрд░реНрджрдЫред рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдбрдХреЛ рдкреЛрдбрд▓реЗ рдЖрд╡рдВрдЯрд┐рдд podCIDR рджрд╛рдпрд░рд╛рдорд╛ рдареЗрдЧрд╛рдирд╛ рд╕реНрдкреЗрд╕рдмрд╛рдЯ IP рдареЗрдЧрд╛рдирд╛рд╣рд░реВ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрджрдЫред рдиреЛрдбрд╣рд░реВрдХреЛ рдкреЛрдбрд╕реАрдЖрдИрдбреАрдЖрд░рд╣рд░реВ рдУрднрд░рд▓реНрдпрд╛рдк рдирд╣реБрдирд╛рд▓реЗ, рд╕рдмреИ рдкреЛрдбрд╣рд░реВрд▓реЗ рдЕрджреНрд╡рд┐рддреАрдп рдЖрдИрдкреА рдареЗрдЧрд╛рдирд╛рд╣рд░реВ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдЫрдиреНред

Kubernetes рдХреНрд▓рд╕реНрдЯрд░ рдкреНрд░рд╢рд╛рд╕рдХрд▓реЗ kubelet, рдХрдиреНрдЯреЗрдирд░ рд░рдирдЯрд╛рдЗрдо, рдиреЗрдЯрд╡рд░реНрдХ рдкреНрд░рджрд╛рдпрдХ рдПрдЬреЗрдиреНрдЯ рдХрдиреНрдлрд┐рдЧрд░ рд░ рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрджрдЫ, рд░ рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдбрдорд╛ CNI рдкреНрд▓рдЧрдЗрдирд╣рд░реВ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдЧрд░реНрджрдЫред рд╕реНрдЯрд╛рд░реНрдЯрдЕрдкрдХреЛ рд╕рдордпрдорд╛, рдиреЗрдЯрд╡рд░реНрдХ рдкреНрд░рджрд╛рдпрдХ рдПрдЬреЗрдиреНрдЯрд▓реЗ CNI рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдЙрддреНрдкрдиреНрди рдЧрд░реНрджрдЫред рдЬрдм рдкреЛрдб рдиреЛрдбрдорд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╣реБрдиреНрдЫ, рдХреБрдмреЗрд▓реЗрдЯрд▓реЗ рдпрд╕рд▓рд╛рдИ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди CRI рдкреНрд▓рдЧрдЗрдирд▓рд╛рдИ рдХрд▓ рдЧрд░реНрдЫред рдЕрд░реНрдХреЛ, рдпрджрд┐ рдХрдиреНрдЯреЗрдирд░ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдПрдХреЛ рдЫ рднрдиреЗ, рдХрдиреНрдЯреЗрдирд░реНрдб CRI рдкреНрд▓рдЧрдЗрдирд▓реЗ рдкреЛрдбрдХреЛ рдиреЗрдЯрд╡рд░реНрдХ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░реНрди CNI рдХрдиреНрдлрд┐рдЧрд░рдорд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░рд┐рдПрдХреЛ CNI рдкреНрд▓рдЧрдЗрдирд▓рд╛рдИ рдХрд▓ рдЧрд░реНрджрдЫред рдирддрд┐рдЬрд╛рдХреЛ рд░реВрдкрдорд╛, рдкреЛрдбрд▓реЗ рдЖрдИрдкреА рдареЗрдЧрд╛рдирд╛ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрджрдЫред

рдпреА рд╕рдмреИ рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛рдХрд╛ рд╕рдмреИ рд╕реВрдХреНрд╖реНрдорддрд╛ рд░ рд╕реВрдХреНрд╖реНрдорддрд╛рд╣рд░реВ рдмреБрдЭреНрди рдорд▓рд╛рдИ рдХреЗрд╣реА рд╕рдордп рд▓рд╛рдЧреНрдпреЛред рдорд▓рд╛рдИ рдЖрд╢рд╛ рдЫ рдХрд┐ рдпреЛ рдЕрдиреБрднрд╡рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ Kubernetes рдХрд╕рд░реА рдХрд╛рдо рдЧрд░реНрдЫ рднрдиреЗрд░ рдЕрдЭ рд░рд╛рдореНрд░реЛрд╕рдБрдЧ рдмреБрдЭреНрди рдорджреНрджрдд рдЧрд░реНрдиреЗрдЫред рдпрджрд┐ рдо рдХреЗрд╣рд┐ рдмрд╛рд░реЗ рдЧрд▓рдд рдЫреБ рднрдиреЗ, рдХреГрдкрдпрд╛ рдорд▓рд╛рдИ рд╕рдореНрдкрд░реНрдХ рдЧрд░реНрдиреБрд╣реЛрд╕реН twitter рд╡рд╛ рдареЗрдЧрд╛рдирд╛рдорд╛ [рдИрдореЗрд▓ рд╕реБрд░рдХреНрд╖рд┐рдд]ред рдпрджрд┐ рддрдкрд╛рдИрдВ рдпрд╕ рд▓реЗрдЦ рд╡рд╛ рдЕрдиреНрдп рдХреЗрд╣рд┐ рдкрдХреНрд╖рд╣рд░реВ рдЫрд▓рдлрд▓ рдЧрд░реНрди рдЪрд╛рд╣рдиреБрд╣реБрдиреНрдЫ рднрдиреЗ рд╕рдореНрдкрд░реНрдХ рдЧрд░реНрди рдирд╣рд┐рдЪрдХрд┐рдЪрд╛рдЙрдиреБрд╣реЛрд╕реНред рдо рддрдкрд╛рдИрдВрд╕рдБрдЧ рдХреБрд░рд╛рдХрд╛рдиреА рдЧрд░реНрди рдЪрд╛рд╣рдиреНрдЫреБ!

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

рдХрдиреНрдЯреЗрдирд░ рд░ рдиреЗрдЯрд╡рд░реНрдХ

Flannel рдХрд╕рд░реА рдХрд╛рдо рдЧрд░реНрдЫ?

CRI рд░ CNI

рдЕрдиреБрд╡рд╛рджрдХрдмрд╛рдЯ PS

рд╣рд╛рдореНрд░реЛ рдмреНрд▓рдЧрдорд╛ рдкрдирд┐ рдкрдвреНрдиреБрд╣реЛрд╕реН:

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди