рд╡рд┐рднрд┐рдиреНрди рдбрд╛рдЯрд╛ рдХреЗрдиреНрджреНрд░рд╣рд░реВрдорд╛ Kubernetes рдХреНрд▓рд╕реНрдЯрд░рд╣рд░реВ рдХрд╕рд░реА рдЬрдбрд╛рди рдЧрд░реНрдиреЗ

рд╡рд┐рднрд┐рдиреНрди рдбрд╛рдЯрд╛ рдХреЗрдиреНрджреНрд░рд╣рд░реВрдорд╛ Kubernetes рдХреНрд▓рд╕реНрдЯрд░рд╣рд░реВ рдХрд╕рд░реА рдЬрдбрд╛рди рдЧрд░реНрдиреЗ
рд╣рд╛рдореНрд░реЛ Kubernetes Quick Start рд╢реНрд░реГрдВрдЦрд▓рд╛рдорд╛ рд╕реНрд╡рд╛рдЧрдд рдЫред рдпреЛ рд╣рд╛рдореАрд▓реЗ рдЕрдирд▓рд╛рдЗрди рд░ рд╣рд╛рдореНрд░рд╛ рдкреНрд░рд╢рд┐рдХреНрд╖рдгрд╣рд░реВрдорд╛ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдиреЗ рд╕рдмреИрднрдиреНрджрд╛ рд░реЛрдЪрдХ рдкреНрд░рд╢реНрдирд╣рд░реВ рднрдПрдХреЛ рдирд┐рдпрдорд┐рдд рд╕реНрддрдореНрдн рд╣реЛред Kubernetes рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рдЬрд╡рд╛рдлред

рдЖрдЬрдХрд╛ рд╡рд┐рдЬреНрдЮ рд╣реБрдиреН рдбреЗрдирд┐рдпрд▓ рдкреЛрд▓реЗрдиреНрдЪрд┐рдХ (рдбреЗрдирд┐рдпрд▓ рдкреЛрд▓реЗрдиреНрд╕рд┐рдХ)ред рдбреЗрдирд┐рдпрд▓ рдПрдХ рдкреНрд░рд╢рд┐рдХреНрд╖рдХ рд░ рд╕рдлреНрдЯрд╡реЗрдпрд░ рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рдХреЛ рд░реВрдкрдорд╛ рдХрд╛рдо рдЧрд░реНрджрдЫ рд╕рд┐рдХреНрдиреБрд╣реЛрд╕реН8s.

рдпрджрд┐ рддрдкрд╛рдЗрдБ рддрдкрд╛рдЗрдБрдХреЛ рдкреНрд░рд╢реНрди рдХреЛ рдЕрд░реНрдХреЛ рдкреЛрд╕реНрдЯ рдорд╛ рдЬрд╡рд╛рдл рдЪрд╛рд╣рдиреБрд╣реБрдиреНрдЫ рднрдиреЗ, рд╣рд╛рдореАрд▓рд╛рдИ рдИрдореЗрд▓ рджреНрд╡рд╛рд░рд╛ рд╕рдореНрдкрд░реНрдХ рдЧрд░реНрдиреБрд╣реЛрд╕реН рд╡рд╛ рдЯреНрд╡рд┐рдЯрд░: @learnk8s.

рдЕрдШрд┐рд▓реНрд▓реЛ рдкреЛрд╕реНрдЯрд╣рд░реВ рдЫреБрдЯреЗрдХреЛ рдЫ? рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдпрд╣рд╛рдБ рдлреЗрд▓рд╛ рдкрд╛рд░реНрдиреБрд╣реЛрд╕реН.

рд╡рд┐рднрд┐рдиреНрди рдбрд╛рдЯрд╛ рдХреЗрдиреНрджреНрд░рд╣рд░реВрдорд╛ Kubernetes рдХреНрд▓рд╕реНрдЯрд░рд╣рд░реВ рдХрд╕рд░реА рдЬрдбрд╛рди рдЧрд░реНрдиреЗ?

рд╕рдВрдХреНрд╖рд┐рдкреНрдд: Kubefed v2 рдЪрд╛рдБрдбреИ рдЖрдЙрдБрджреИрдЫ, рд░ рдо рдкрдирд┐ рдкрдвреНрди рд╕рд┐рдлрд╛рд░рд┐рд╕ рдЧрд░реНрдЫреБ рд╢рд┐рдкрд░ ╨╕ рдмрд╣реБ-рдХреНрд▓рд╕реНрдЯрд░-рд╢реЗрдбреНрдпреБрд▓рд░ рдкрд░рд┐рдпреЛрдЬрдирд╛.

рдкреНрд░рд╛рдпрдГ, рдкреВрд░реНрд╡рд╛рдзрд╛рд░рд╣рд░реВ рд╡рд┐рднрд┐рдиреНрди рдХреНрд╖реЗрддреНрд░рд╣рд░реВрдорд╛ рд╡рд┐рд╢реЗрд╖ рдЧрд░реА рдирд┐рдпрдиреНрддреНрд░рд┐рдд рд╡рд╛рддрд╛рд╡рд░рдгрд╣рд░реВрдорд╛ рдкреНрд░рддрд┐рдХреГрддрд┐ рд░ рд╡рд┐рддрд░рдг рдЧрд░рд┐рдиреНрдЫред

рдпрджрд┐ рдПрдХ рдХреНрд╖реЗрддреНрд░ рдЕрдиреБрдкрд▓рдмреНрдз рдЫ рднрдиреЗ, рдЯреНрд░рд╛рдлрд┐рдХ рдЕрд╡рд░реЛрдзрд╣рд░реВрдмрд╛рдЯ рдмрдЪреНрдирдХреЛ рд▓рд╛рдЧрд┐ рдЕрд░реНрдХреЛрдорд╛ рдкреБрди: рдирд┐рд░реНрджреЗрд╢рд┐рдд рдЧрд░рд┐рдиреНрдЫред

Kubernetes рдХреЛ рд╕рд╛рде, рддрдкрд╛рдИрдВ рд╕рдорд╛рди рд░рдгрдиреАрддрд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рд░ рд╡рд┐рднрд┐рдиреНрди рдХреНрд╖реЗрддреНрд░рд╣рд░реВрдорд╛ рдХрд╛рд░реНрдпрднрд╛рд░ рд╡рд┐рддрд░рдг рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред

рддрдкрд╛рдИрдВрд╕рдБрдЧ рдкреНрд░рддрд┐ рдЯреЛрд▓реА, рдХреНрд╖реЗрддреНрд░, рд╡рд╛рддрд╛рд╡рд░рдг рд╡рд╛ рдпреА рддрддреНрд╡рд╣рд░реВрдХреЛ рд╕рдВрдпреЛрдЬрдирдорд╛ рдПрдХ рд╡рд╛ рдмрдвреА рдХреНрд▓рд╕реНрдЯрд░рд╣рд░реВ рд╣реБрди рд╕рдХреНрдЫрдиреНред

рддрдкрд╛рдИрдВрдХреЛ рдХреНрд▓рд╕реНрдЯрд░рд╣рд░реВ рд╡рд┐рднрд┐рдиреНрди рдХреНрд▓рд╛рдЙрдбрд╣рд░реВ рд░ рдЕрди-рдкреНрд░рд┐рдорд╛рдЗрд╕реЗрд╕рдорд╛ рд╣реЛрд╕реНрдЯ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред

рддрд░ рдпрд╕реНрддреЛ рднреМрдЧреЛрд▓рд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░рдХреЛ рд▓рд╛рдЧрд┐ рдкреВрд░реНрд╡рд╛рдзрд╛рд░рдХреЛ рдпреЛрдЬрдирд╛ рдХрд╕рд░реА рдмрдирд╛рдЙрдиреБрд╣реБрдиреНрдЫ?
рдХреЗ рддрдкрд╛рдЗрдБ рдПрдХрд▓ рдиреЗрдЯрд╡рд░реНрдХрдорд╛ рдзреЗрд░реИ рдХреНрд▓рд╛рдЙрдб рд╡рд╛рддрд╛рд╡рд░рдгрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдПрдЙрдЯрд╛ рдареВрд▓реЛ рдХреНрд▓рд╕реНрдЯрд░ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ?
рд╡рд╛ рдзреЗрд░реИ рд╕рд╛рдирд╛ рдХреНрд▓рд╕реНрдЯрд░рд╣рд░реВ рдЫрдиреН рд░ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдирд┐рдпрдиреНрддреНрд░рдг рд░ рд╕рд┐рдЩреНрдХреНрд░реЛрдирд╛рдЗрдЬ рдЧрд░реНрдиреЗ рддрд░рд┐рдХрд╛ рдкрддреНрддрд╛ рд▓рдЧрд╛рдЙрдиреБрд╣реЛрд╕реН?

рдПрдХ рдиреЗрддреГрддреНрд╡ рдХреНрд▓рд╕реНрдЯрд░

рдПрдЙрдЯреИ рдиреЗрдЯрд╡рд░реНрдХрдорд╛ рдПрдЙрдЯрд╛ рдХреНрд▓рд╕реНрдЯрд░ рдмрдирд╛рдЙрди рддреНрдпрддрд┐ рд╕рдЬрд┐рд▓реЛ рдЫреИрдиред

рдХрд▓реНрдкрдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реН рдХрд┐ рддрдкрд╛рдИрд╕рдБрдЧ рджреБрд░реНрдШрдЯрдирд╛ рднрдПрдХреЛ рдЫ, рдХреНрд▓рд╕реНрдЯрд░ рдЦрдгреНрдбрд╣рд░реВ рдмреАрдЪрдХреЛ рдЬрдбрд╛рди рд╣рд░рд╛рдПрдХреЛ рдЫред

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

рд░ рдПрдХреИ рд╕рдордпрдорд╛ рддрдкрд╛рдИрдВрд╕рдБрдЧ рдкреБрд░рд╛рдиреЛ рд░реВрдЯрд┐рдЩ рддрд╛рд▓рд┐рдХрд╛рд╣рд░реВ рдЫрдиреН (kube-proxy рдирдпрд╛рдБ рдбрд╛рдЙрдирд▓реЛрдб рдЧрд░реНрди рд╕рдХреНрджреИрди) рд░ рдХреБрдиреИ рдЕрддрд┐рд░рд┐рдХреНрдд рдкреЛрдбрд╣рд░реВ (рдХреБрдмреЗрд▓реЗрдЯрд▓реЗ рдЕрджреНрдпрд╛рд╡рдзрд┐рдХрд╣рд░реВ рдЕрдиреБрд░реЛрдз рдЧрд░реНрди рд╕рдХреНрджреИрди)ред

рдХреБрд░рд╛рд▓рд╛рдИ рдирд░рд╛рдореНрд░реЛ рдмрдирд╛рдЙрдирдХреЛ рд▓рд╛рдЧрд┐, рдпрджрд┐ Kubernetes рд▓реЗ рдиреЛрдб рджреЗрдЦреНрджреИрди рднрдиреЗ, рдпрд╕рд▓реЗ рдпрд╕рд▓рд╛рдИ рдЕрдирд╛рдердХреЛ рд░реВрдкрдорд╛ рдЪрд┐рдиреНрд╣ рд▓рдЧрд╛рдЙрдБрдЫ рд░ рд╣рд░рд╛рдЗрд░рд╣реЗрдХреЛ рдкреЛрдбрд╣рд░реВрд▓рд╛рдИ рдЕрд╡рд╕реНрдерд┐рдд рдиреЛрдбрд╣рд░реВрдорд╛ рд╡рд┐рддрд░рдг рдЧрд░реНрджрдЫред

рдирддрд┐рдЬрд╛рдХреЛ рд░реВрдкрдорд╛, рддрдкрд╛рдИрдВрд╕рдБрдЧ рджреБрдИ рдЧреБрдгрд╛ рдзреЗрд░реИ рдкреЛрдбрд╣рд░реВ рдЫрдиреНред

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

etcd рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫ рд░рд╛рдлреНрдЯ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдордбрд┐рд╕реНрдХрдорд╛ рд▓реЗрдЦреНрдиреБ рдЕрдШрд┐ рдореВрд▓реНрдп рд╡рд╛рд░реНрддрд╛ рдЧрд░реНрдиред
рдЕрд░реНрдерд╛рддреН, рд░рд╛рдЬреНрдпрд▓рд╛рдИ etcd рдорд╛ рд▓реЗрдЦреНрди рд╕рдХреНрдиреБ рдЕрдШрд┐ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЙрджрд╛рд╣рд░рдгрд╣рд░реВ рд╕рд╣рдорддрд┐рдорд╛ рдкреБрдЧреНрдиреИ рдкрд░реНрдЫред

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

рдХрдиреНрдЯреНрд░реЛрд▓рд░ рдкреНрд░рдмрдиреНрдзрдХрд▓рд╛рдИ рдкрд░рд┐рд╡рд░реНрддрдирдХреЛ рдмрд╛рд░реЗрдорд╛ рдЬрд╛рдиреНрди рд░ рдбрд╛рдЯрд╛рдмреЗрд╕рдорд╛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд▓реЗрдЦреНрди рдердк рд╕рдордп рдЪрд╛рд╣рд┐рдиреНрдЫред

рд░ рддреНрдпрд╣рд╛рдБ рдПрдХ рдирд┐рдпрдиреНрддреНрд░рдХ рдЫреИрди, рддрд░ рдзреЗрд░реИ, рдПрдХ рдЪреЗрди рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкрд░рд┐рдгрд╛рдо рд░ рд╕рдореНрдкреВрд░реНрдг рдХреНрд▓рд╕реНрдЯрд░ рдзреЗрд░реИ рдмрд┐рд╕реНрддрд╛рд░реИ рдХрд╛рдо рдЧрд░реНрди рдерд╛рд▓реНрдЫ.

etcd рдпрддрд┐ рд╡рд┐рд▓рдореНрдмрддрд╛ рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдЫ рдХрд┐ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдХрд╛рдЧрдЬрд╛рддрд▓реЗ рдирд┐рдпрдорд┐рдд рд╣рд╛рд░реНрдб рдбреНрд░рд╛рдЗрднрдХреЛ рд╕рдЯреНрдЯрд╛ SSDs рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рд┐рдлрд╛рд░рд┐рд╕ рдЧрд░реНрджрдЫ.

рдПрдХрд▓ рдХреНрд▓рд╕реНрдЯрд░рдХреЛ рд▓рд╛рдЧрд┐ рдареВрд▓реЛ рдиреЗрдЯрд╡рд░реНрдХрдХреЛ рд╣рд╛рд▓ рдХреБрдиреИ рд░рд╛рдореНрд░реЛ рдЙрджрд╛рд╣рд░рдгрд╣рд░реВ рдЫреИрдирдиреНред

рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛, рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛ рд╕рдореБрджрд╛рдп рд░ SIG-рдХреНрд▓рд╕реНрдЯрд░ рд╕рдореВрд╣рд▓реЗ Kubernetes рдЕрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрдЯ рдХрдиреНрдЯреЗрдирд░рд╣рд░реВ рдЬрд╕реНрддреИ рдХреНрд▓рд╕реНрдЯрд░рд╣рд░реВ рдХрд╕рд░реА рдЕрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрдЯ рдЧрд░реНрдиреЗ рднрдиреЗрд░ рдкрддреНрддрд╛ рд▓рдЧрд╛рдЙрди рдкреНрд░рдпрд╛рд╕ рдЧрд░рд┐рд░рд╣реЗрдХрд╛ рдЫрдиреНред

рд╡рд┐рдХрд▓реНрдк 1: kubefed рд╕рдВрдЧ рдХреНрд▓рд╕реНрдЯрд░ рд╕рдВрдШ

SIG-рдХреНрд▓рд╕реНрдЯрд░рдмрд╛рдЯ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ - kubefed2, рдореВрд▓ kube рд╕рдВрдШ рдЧреНрд░рд╛рд╣рдХ рд░ рдЕрдкрд░реЗрдЯрд░ рдХреЛ рдПрдХ рдирдпрд╛рдБ рд╕рдВрд╕реНрдХрд░рдг.

рдкрд╣рд┐рд▓реЛ рдкрдЯрдХ, рд╣рд╛рдореАрд▓реЗ рдХреБрдмреЗ рдлреЗрдбрд░реЗрд╢рди рдЙрдкрдХрд░рдг рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдПрдХрд▓ рд╡рд╕реНрддреБрдХреЛ рд░реВрдкрдорд╛ рдХреНрд▓рд╕реНрдЯрд░рд╣рд░реВрдХреЛ рд╕рдЩреНрдХрд▓рди рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рдЧрд░реНрдиреЗ рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрдпреМрдВред

рд╢реБрд░реБрд╡рд╛рдд рд░рд╛рдореНрд░реЛ рднрдпреЛ рддрд░ рдЕрдиреНрддреНрдпрдорд╛ рд╕рдмреИ рд╕реНрд░реЛрддрд╕рд╛рдзрди рдЬреБрдЯрд╛рдЙрди рдирд╕рдХреНрджрд╛ рдХреБрдмреЗ рдорд╣рд╛рд╕рдВрдШ рдХрд╣рд┐рд▓реНрдпреИ рд▓реЛрдХрдкреНрд░рд┐рдп рд╣реБрди рд╕рдХреЗрди ред

рдпрд╕рд▓реЗ рд╕рдВрдШреАрдп рдбреЗрд▓рд┐рднрд░реА рд░ рд╕реЗрд╡рд╛рд╣рд░реВрд▓рд╛рдИ рд╕рдорд░реНрдерди рдЧрд░реНрдпреЛ, рддрд░ рд╕реНрдЯреЗрдЯрдлреБрд▓рд╕реЗрдЯрд╣рд░реВ рд╣реЛрдЗрди, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐ред
рд╕рд╛рдереИ, рд╕рдВрдШ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдПрдиреЛрдЯреЗрд╕рдирдХреЛ рд░реВрдкрдорд╛ рдкреНрд░рд╕рд╛рд░рд┐рдд рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛ рд░ рд▓рдЪрд┐рд▓реЛ рдерд┐рдПрдиред

рдХреЗрд╡рд▓ рдПрдиреЛрдЯреЗрд╕рдирд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдлреЗрдбрд░реЗрд╢рдирдорд╛ рдкреНрд░рддреНрдпреЗрдХ рдХреНрд▓рд╕реНрдЯрд░рдХреЛ рд▓рд╛рдЧрд┐ рдкреНрд░рддрд┐рдХреГрддрд┐ рд╡рд┐рднрд╛рдЬрди рдХрд╕рд░реА рд╡рд░реНрдгрди рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рдХрд▓реНрдкрдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реНред

рдпреЛ рдПрдХ рдкреВрд░реНрдг рдЧрдбрдмрдб рдерд┐рдпреЛред

SIG-рдХреНрд▓рд╕реНрдЯрд░рд▓реЗ kubefed v1 рдкрдЫрд┐ рдзреЗрд░реИ рдХрд╛рдо рдЧрд░реНрдпреЛ рд░ рдлрд░рдХ рдХреЛрдгрдмрд╛рдЯ рд╕рдорд╕реНрдпрд╛рдорд╛ рдкреБрдЧреНрдиреЗ рдирд┐рд░реНрдгрдп рдЧрд░реНрдпреЛред

рдПрдиреЛрдЯреЗрд╕рдирд╣рд░реВрдХреЛ рд╕рдЯреНрдЯрд╛, рддрд┐рдиреАрд╣рд░реВрд▓реЗ рдХреНрд▓рд╕реНрдЯрд░рд╣рд░реВрдорд╛ рд╕реНрдерд╛рдкрдирд╛ рднрдПрдХреЛ рдирд┐рдпрдиреНрддреНрд░рдХ рдЬрд╛рд░реА рдЧрд░реНрдиреЗ рдирд┐рд░реНрдгрдп рдЧрд░реЗред рдпрд╕рд▓рд╛рдИ Custom Resource Definitions (CRDs) рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдЕрдиреБрдХреВрд▓рд┐рдд рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред

рд╕рдВрдШрдХреЛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реБрдиреЗ рдкреНрд░рддреНрдпреЗрдХ рд╕реНрд░реЛрддрдХреЛ рд▓рд╛рдЧрд┐, рддрдкрд╛рдИрдВрд╕рдБрдЧ рддреАрдирд╡рдЯрд╛ рдЦрдгреНрдбрд╣рд░реВ рднрдПрдХреЛ рдЕрдиреБрдХреВрд▓рди CRD рдкрд░рд┐рднрд╛рд╖рд╛ рдЫ:

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

рдпрд╣рд╛рдБ рдкреНрд▓реЗрд╕рдореЗрдиреНрдЯ рд░ рдУрднрд░рд░рд╛рдЗрдб рд╕реЗрдХреНрд╕рдирд╣рд░реВрдХреЛ рд╕рд╛рде рд╕рдВрдпреБрдХреНрдд рдбреЗрд▓рд┐рднрд░реАрдХреЛ рдЙрджрд╛рд╣рд░рдг рдЫред

apiVersion: types.federation.k8s.io/v1alpha1
kind: FederatedDeployment
metadata:
  name: test-deployment
  namespace: test-namespace
spec:
  template:
    metadata:
      labels:
        app: nginx
    spec:
      replicas: 3
      selector:
        matchLabels:
          app: nginx
      template:
        metadata:
          labels:
            app: nginx
        spec:
          containers:
            - image: nginx
              name: nginx
  placement:
    clusterNames:
      - cluster2
      - cluster1
  overrides:
    - clusterName: cluster2
      clusterOverrides:
        - path: spec.replicas
          value: 5

рддрдкрд╛рдИрд▓реЗ рджреЗрдЦреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рдЖрдкреВрд░реНрддрд┐ рджреБрдИ рдХреНрд▓рд╕реНрдЯрд░рд╣рд░реВрдорд╛ рд╡рд┐рддрд░рд┐рдд рдЧрд░рд┐рдПрдХреЛ рдЫ: cluster1 ╨╕ cluster2.

рдкрд╣рд┐рд▓реЛ рдХреНрд▓рд╕реНрдЯрд░рд▓реЗ рддреАрди рдкреНрд░рддрд┐рдХреГрддрд┐рд╣рд░реВ рдЖрдкреВрд░реНрддрд┐ рдЧрд░реНрджрдЫ, рд░ рджреЛрд╕реНрд░реЛ 5 рдорд╛ рд╕реЗрдЯ рдЧрд░рд┐рдПрдХреЛ рдЫред

рдпрджрд┐ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдкреНрд░рддрд┐рдХреГрддрд┐рд╣рд░реВрдХреЛ рд╕рдВрдЦреНрдпрд╛рдорд╛ рдердк рдирд┐рдпрдиреНрддреНрд░рдг рдЪрд╛рд╣рд┐рдиреНрдЫ рднрдиреЗ, kubefed2 рд▓реЗ рдПрдЙрдЯрд╛ рдирдпрд╛рдБ ReplicaSchedulingPreference рд╡рд╕реНрддреБ рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫ рдЬрд╣рд╛рдБ рдкреНрд░рддрд┐рдХреГрддрд┐рд╣рд░реВ рднрд╛рд░рд┐рдд рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ:

apiVersion: scheduling.federation.k8s.io/v1alpha1
kind: ReplicaSchedulingPreference
metadata:
  name: test-deployment
  namespace: test-ns
spec:
  targetKind: FederatedDeployment
  totalReplicas: 9
  clusters:
    A:
      weight: 1
    B:
      weight: 2

CRD рд╕рдВрд░рдЪрдирд╛ рд░ API рдЕрдЭреИ рддрдпрд╛рд░ рднрдЗрд╕рдХреЗрдХреЛ рдЫреИрди, рд░ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рднрдгреНрдбрд╛рд░рдорд╛ рд╕рдХреНрд░рд┐рдп рдХрд╛рдо рднрдЗрд░рд╣реЗрдХреЛ рдЫред

kubefed2 рдорд╛ рдирдЬрд░ рд░рд╛рдЦреНрдиреБрд╣реЛрд╕реН, рддрд░ рдпрд╛рдж рдЧрд░реНрдиреБрд╣реЛрд╕реН рдХрд┐ рдпреЛ рдЕрдЭреИ рдЙрддреНрдкрд╛рджрдирдХреЛ рд▓рд╛рдЧрд┐ рдЙрдкрдпреБрдХреНрдд рдЫреИрдиред

рдмрд╛рдЯ kubefed2 рдмрд╛рд░реЗ рдердк рдЬрд╛рдиреНрдиреБрд╣реЛрд╕реН kubefed2 рдХреЛ рдмрд╛рд░реЗрдорд╛ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд▓реЗрдЦ Kubernetes рдХреЛ рдмрд╛рд░реЗ рдорд╛ рдмреНрд▓рдЧ рдорд╛ рд░ рдорд╛ kubefed рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рднрдгреНрдбрд╛рд░.

рд╡рд┐рдХрд▓реНрдк реи: Booking.com рд╢реИрд▓реАрдорд╛ рдХреНрд▓рд╕реНрдЯрд░рд╣рд░реВ рд╕рдВрдпреЛрдЬрди рдЧрд░реНрджреИ

Booking.com рдХрд╛ рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реВрд▓реЗ kubefed v2 рдорд╛ рдХрд╛рдо рдЧрд░реЗрдирдиреН, рддрд░ рддрд┐рдиреАрд╣рд░реВ рд╢рд┐рдкрд░рд╕рдБрдЧ рдЖрдП - рдзреЗрд░реИ рдХреНрд▓рд╕реНрдЯрд░рд╣рд░реВрдорд╛, рдзреЗрд░реИ рдХреНрд╖реЗрддреНрд░рд╣рд░реВрдорд╛ рд░ рдзреЗрд░реИ рдХреНрд▓рд╛рдЙрдбрд╣рд░реВрдорд╛ рдбреЗрд▓рд┐рднрд░реАрдХреЛ рд▓рд╛рдЧрд┐ рдПрдХ рдЕрдкрд░реЗрдЯрд░ред

рд╢рд┐рдкрд░ рдХреЗрд╣рд┐ рд╣рдж рд╕рдореНрдо kubefed2 рдХреЛ рд╕рдорд╛рдиред

рджреБрдмреИ рдЙрдкрдХрд░рдгрд╣рд░реВрд▓реЗ рддрдкрд╛рдЗрдБрд▓рд╛рдИ рддрдкрд╛рдЗрдБрдХреЛ рдмрд╣реБ-рдХреНрд▓рд╕реНрдЯрд░ рдбрд┐рдкреНрд▓реЛрдЗрдореЗрдиреНрдЯ рд░рдгрдиреАрддрд┐ (рдХреБрди рдХреНрд▓рд╕реНрдЯрд░рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫ рд░ рддрд┐рдиреАрд╣рд░реВрд╕рдБрдЧ рдХрддрд┐ рдкреНрд░рддрд┐рдХреГрддрд┐рд╣рд░реВ рдЫрдиреН) рдЕрдиреБрдХреВрд▓рди рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред

рддрд░ рд╕рд┐рдкрд░рдХреЛ рд▓рдХреНрд╖реНрдп рдбреЗрд▓рд┐рднрд░реАрдХреЛ рд╕рдордпрдорд╛ рддреНрд░реБрдЯрд┐рд╣рд░реВрдХреЛ рдЬреЛрдЦрд┐рдо рдХрдо рдЧрд░реНрдиреБ рд╣реЛред

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

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

рд╕рд╛рдереИ, рд╕рд┐рдкрд░ рдзреЗрд░реИ рд╕реАрдорд┐рдд рдЫред

рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдпрд╕рд▓реЗ рд╣реЗрд▓реНрдо рдЪрд╛рд░реНрдЯрд▓рд╛рдИ рдЗрдирдкреБрдЯрдХреЛ рд░реВрдкрдорд╛ рд╕реНрд╡реАрдХрд╛рд░ рдЧрд░реНрджрдЫ рд░ рд╡реЗрдирд┐рд▓рд╛ рд╕реНрд░реЛрддрд╣рд░реВрд▓рд╛рдИ рд╕рдорд░реНрдерди рдЧрд░реНрджреИрдиред
рд╕рд╛рдорд╛рдиреНрдп рд╕рд░реНрддрд╣рд░реВрдорд╛, рд╢рд┐рдкрд░рд▓реЗ рдпрд╕реНрддреЛ рдХрд╛рдо рдЧрд░реНрджрдЫред

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

apiVersion: shipper.booking.com/v1alpha1
kind: Application
metadata:
  name: super-server
spec:
  revisionHistoryLimit: 3
  template:
    chart:
      name: nginx
      repoUrl: https://storage.googleapis.com/shipper-demo
      version: 0.0.1
    clusterRequirements:
      regions:
        - name: local
    strategy:
      steps:
        - capacity:
            contender: 1
            incumbent: 100
          name: staging
          traffic:
            contender: 0
            incumbent: 100
        - capacity:
            contender: 100
            incumbent: 0
          name: full on
          traffic:
            contender: 100
            incumbent: 0
    values:
      replicaCount: 3

рдзреЗрд░реИ рдХреНрд▓рд╕реНрдЯрд░рд╣рд░реВ рдкреНрд░рдмрдиреНрдз рдЧрд░реНрди рд╢рд┐рдкрд░ рдПрдХ рд░рд╛рдореНрд░реЛ рд╡рд┐рдХрд▓реНрдк рд╣реЛ, рддрд░ рд╣реЗрд▓реНрдорд╕рдБрдЧ рдпрд╕рдХреЛ рдирдЬрд┐рдХрдХреЛ рд╕рдореНрдмрдиреНрдз рдорд╛рддреНрд░ рдмрд╛рдЯреЛрдорд╛ рд╣реБрдиреНрдЫред

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

рд╢рд┐рдкрд░ рд░ рдпрд╕рдХреЛ рджрд░реНрд╢рди рдмрд╛рд░реЗ рдердк рдЬрд╛рдиреНрдиреБрд╣реЛрд╕реН рдпреЛ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдкреНрд░реЗрд╕ рд╡рд┐рдЬреНрдЮрдкреНрддрд┐.

рдпрджрд┐ рддрдкрд╛рдЗрдБ рдХреЛрдбрдорд╛ рдЦрдиреНрди рдЪрд╛рд╣рдиреБрд╣реБрдиреНрдЫ рднрдиреЗ, рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рднрдгреНрдбрд╛рд░рдорд╛ рдЬрд╛рдиреБрд╣реЛрд╕реН.

рд╡рд┐рдХрд▓реНрдк 3: "рдЬрд╛рджреВ" рдХреНрд▓рд╕реНрдЯрд░ рдорд░реНрдЬ

Kubefed v2 рд░ Shipper рд▓реЗ рдХреНрд▓рд╕реНрдЯрд░ рдлреЗрдбрд░реЗрд╕рдирд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрджрдЫ, рдЕрдиреБрдХреВрд▓рди рд╕реНрд░реЛрдд рдкрд░рд┐рднрд╛рд╖рд╛ рдорд╛рд░реНрдлрдд рдХреНрд▓рд╕реНрдЯрд░рд╣рд░реВрд▓рд╛рдИ рдирдпрд╛рдБ рд╕реНрд░реЛрддрд╣рд░реВ рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫред

рддрд░ рдХреЗ рдпрджрд┐ рддрдкрд╛рдЗрдБ рд╕рдмреИ рдбреЗрд▓рд┐рднрд░реАрд╣рд░реВ, рд╕реНрдЯреЗрдЯрдлреБрд▓рд╕реЗрдЯрд╣рд░реВ, рдбреЗрдордирд╕реЗрдЯрд╣рд░реВ, рдЖрджрд┐рд▓рд╛рдИ рдорд░реНрдЬ рдЧрд░реНрди рдкреБрди: рд▓реЗрдЦреНрди рдЪрд╛рд╣рдиреБрд╣реБрдиреНрди рднрдиреЗ?

YAML рдкрд░рд┐рд╡рд░реНрддрди рдирдЧрд░реА рдорд╣рд╛рд╕рдВрдШрдорд╛ рдЕрд╡рд╕реНрдерд┐рдд рдХреНрд▓рд╕реНрдЯрд░ рдХрд╕рд░реА рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрдиреЗ?

рдмрд╣реБ-рдХреНрд▓рд╕реНрдЯрд░-рд╢реЗрдбреНрдпреБрд▓рд░ рдПрдХ рдПрдбрдорд┐рд░реЗрд▓рд┐рдЯреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╣реЛ, рдЬрд╕рд▓реЗ рдХреНрд▓рд╕реНрдЯрд░рд╣рд░реВрдорд╛ рдХрд╛рд░реНрдпрднрд╛рд░рдХреЛ рд╕рдордпрддрд╛рд▓рд┐рдХрд╛рд╕рдБрдЧ рд╕рдореНрдмрдиреНрдзрд┐рдд рдЫред

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

рдкреНрд░рддреНрдпреЗрдХ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░рд┐рдПрдХреЛ рдкреЛрдб рддреБрд░реБрдиреНрддреИ рдбрдореАрдХреЛ рд╕рд╛рде рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдЧрд░рд┐рдиреНрдЫред

рдмрд╣реБ-рдХреНрд▓рд╕реНрдЯрд░-рд╢реЗрдбреНрдпреБрд▓рд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫ рдкрд╣реБрдБрдЪ рдкрд░рд┐рдорд╛рд░реНрдЬрдирдХрд╛ рд▓рд╛рдЧрд┐ рд╡реЗрдмрд╣реБрдХрд╣рд░реВрдХрд▓ рдЕрд╡рд░реЛрдз рдЧрд░реНрди рд░ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдбрдореА рдкреЛрдб рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиред

рдореВрд▓ рдкреЛрдб рдЕрд░реНрдХреЛ рдпреЛрдЬрдирд╛ рдЪрдХреНрд░ рдорд╛рд░реНрдлрдд рдЬрд╛рдиреНрдЫ рдЬрд╣рд╛рдБ, рд╕рдореНрдкреВрд░реНрдг рд╕рдВрдШрдХреЛ рдорддрджрд╛рди рдкрдЫрд┐, рдирд┐рдпреБрдХреНрддрд┐ рдирд┐рд░реНрдгрдп рдЧрд░рд┐рдиреНрдЫред

рдЕрдиреНрддрдорд╛, рдкреЛрдб рд▓рдХреНрд╖рд┐рдд рдХреНрд▓рд╕реНрдЯрд░рдорд╛ рдбреЗрд▓рд┐рднрд░ рдЧрд░рд┐рдиреНрдЫред

рдирддрд┐рдЬрд╛рдХреЛ рд░реВрдкрдорд╛, рддрдкрд╛рдЗрдБрд╕рдБрдЧ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдкреЛрдб рдЫ рдЬрд╕рд▓реЗ рдХреЗрд╣рд┐ рдЧрд░реНрджреИрди, рдХреЗрд╡рд▓ рдард╛рдЙрдБ рд▓рд┐рдиреНрдЫред

рдлрд╛рдЗрджрд╛ рдпреЛ рд╣реЛ рдХрд┐ рддрдкрд╛рдИрдВрд▓реЗ рдЖрдкреВрд░реНрддрд┐рд╣рд░реВ рд╕рдВрдпреЛрдЬрди рдЧрд░реНрди рдирдпрд╛рдБ рд╕реНрд░реЛрддрд╣рд░реВ рд▓реЗрдЦреНрдиреБрдкрд░реНрджреИрдиред

рдкреЛрдб рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреЗ рдкреНрд░рддреНрдпреЗрдХ рд╕реНрд░реЛрдд рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдкрдорд╛ рдорд░реНрдЬ рд╣реБрди рддрдпрд╛рд░ рдЫред

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

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

рдпрд╕рдорд╛ рдЙрдиреНрдирдд рдХреНрд░рдорд┐рдХ рд╡рд┐рддрд░рдг рд╕рдВрдпрдиреНрддреНрд░ рдЫреИрдиред

рдмрд╣реБ-рдХреНрд▓рд╕реНрдЯрд░-рд╢реЗрдбреНрдпреБрд▓рд░рдХреЛ рдмрд╛рд░реЗрдорд╛ рдердк рдорд╛ рдлреЗрд▓рд╛ рдкрд╛рд░реНрди рд╕рдХрд┐рдиреНрдЫ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рднрдгреНрдбрд╛рд░ рдкреГрд╖реНрда.

рдпрджрд┐ рддрдкрд╛рдИрдВ рдХрд╛рд░реНрдпрдорд╛ рдмрд╣реБ-рдХреНрд▓рд╕реНрдЯрд░-рд╢реЗрдбреНрдпреВрд▓рд░рдХреЛ рдмрд╛рд░реЗрдорд╛ рдкрдвреНрди рдЪрд╛рд╣рдиреБрд╣реБрдиреНрдЫ рднрдиреЗ, рдПрдбрдорд┐рд░рд▓реНрдЯреА рдЫ Argo рд╕рдВрдЧ рд░реЛрдЪрдХ рдкреНрд░рдпреЛрдЧ рдорд╛рдорд▓рд╛ тАФ рдХрд╛рд░реНрдпрдкреНрд░рд╡рд╛рд╣, рдШрдЯрдирд╛рд╣рд░реВ, CI рд░ CD Kubernetesред

рдЕрдиреНрдп рдЙрдкрдХрд░рдг рд░ рд╕рдорд╛рдзрд╛рди

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

рдпрджрд┐ рддрдкрд╛рдИрдВ рдпрд╕ рд╡рд┐рд╖рдпрд▓рд╛рдИ рдердк рдЕрдиреНрд╡реЗрд╖рдг рдЧрд░реНрди рдЪрд╛рд╣рдиреБрд╣реБрдиреНрдЫ рднрдиреЗ, рдпрд╣рд╛рдБ рдХреЗрд╣реА рд╕реНрд░реЛрддрд╣рд░реВ рдЫрдиреН:

рдЖрдЬрдХреЛ рд▓рд╛рдЧрд┐ рдпрддрд┐ рд╣реЛ

рдЕрдиреНрдд рд╕рдореНрдо рдкрдвреНрди рдХреЛ рд▓рд╛рдЧреА рдзрдиреНрдпрд╡рд╛рдж!

рдпрджрд┐ рддрдкрд╛рдИрд▓рд╛рдИ рдзреЗрд░реИ рдХреНрд▓рд╕реНрдЯрд░рд╣рд░реВ рдердк рдХреБрд╢рд▓рддрд╛рдкреВрд░реНрд╡рдХ рдЬрдбрд╛рди рдЧрд░реНрдиреЗ рддрд░рд┐рдХрд╛ рдерд╛рд╣рд╛ рдЫ рднрдиреЗ, рд╣рд╛рдореАрд▓рд╛рдИ рднрдиреНрдиреБрд╣реЛрд╕реН.

рд╣рд╛рдореА рддрдкрд╛рдЗрдБрдХреЛ рд╡рд┐рдзрд┐ рд▓рд┐рдЩреНрдХрд╣рд░реВрдорд╛ рдердкреНрдиреЗрдЫреМрдВред

рдХреНрд░рд┐рд╕ рдиреЗрд╕реНрдмрд┐рдЯ-рд╕реНрдорд┐рдерд▓рд╛рдИ рд╡рд┐рд╢реЗрд╖ рдзрдиреНрдпрд╡рд╛рдж (рдХреНрд░рд┐рд╕ рдиреЗрд╕реНрдмрд┐рдЯ-рд╕реНрдорд┐рде) рд░ рднрд┐рдиреНрд╕реЗрдиреНрдЯ рдбреЗ рд╕реНрдореЗ (рднрд┐рдиреНрд╕реЗрдиреНрдЯ рдбреЗ рд╕реНрдореЗрдЯ) (рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рдЗрдиреНрдЬрд┐рдирд┐рдпрд░ рдорд╛ swatmobile.ioрд▓реЗрдЦ рдкрдвреНрди рд░ рдорд╣рд╛рд╕рдВрдШрд▓реЗ рдХрд╕рд░реА рдХрд╛рдо рдЧрд░реНрдЫ рднрдиреНрдиреЗ рдмрд╛рд░реЗ рдЙрдкрдпреЛрдЧреА рдЬрд╛рдирдХрд╛рд░реА рд╕рд╛рдЭрд╛ рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ред

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

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