Kubernetes рдХреЛ рдЙрдЪрд┐рдд рддреБрд▓рдирд╛ рд▓рд╛рдЧреВ рдЧрд░реНрдиреБрд╣реЛрд╕реН, рдмрджрд▓реНрдиреБрд╣реЛрд╕реН рд░ рдкреНрдпрд╛рдЪ рдЧрд░реНрдиреБрд╣реЛрд╕реН

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

Kubernetes рдХреЛ рдЙрдЪрд┐рдд рддреБрд▓рдирд╛ рд▓рд╛рдЧреВ рдЧрд░реНрдиреБрд╣реЛрд╕реН, рдмрджрд▓реНрдиреБрд╣реЛрд╕реН рд░ рдкреНрдпрд╛рдЪ рдЧрд░реНрдиреБрд╣реЛрд╕реН

рдпрджрд┐ Google рдорд╛ рдЦреЛрдЬреНрдиреБрд╣реЛрд╕реН рд╡рд╛рдХреНрдпрд╛рдВрд╢ "kubernetes рд▓рд╛рдЧреВ рдмрдирд╛рдо рдмрджрд▓реНрдиреБрд╣реЛрд╕реН" рд╕реНрдерд┐рдд рдЫ StackOverflow рд▓рд╛рдИ рдЬрд╡рд╛рдл рджрд┐рдиреБрд╣реЛрд╕реН, рдЬреБрди рд╕рд╣реА рд╣реЛрдЗрди ред рдЦреЛрдЬреНрджрд╛ "kubernetes рд▓рд╛рдЧреВ рдмрдирд╛рдо рдкреНрдпрд╛рдЪ" рдХреЛ рд▓рд╛рдЧрд┐ рдкрд╣рд┐рд▓реЛ рд▓рд┐рдЩреНрдХ рдХрд╛рдЧрдЬрд╛рдд рд╣реЛ kubectl patch, рдЬрд╕рдорд╛ рддреБрд▓рдирд╛ рд╕рдорд╛рд╡реЗрд╢ рдЫреИрди apply ╨╕ patchред рдпрд╕ рд▓реЗрдЦрд▓реЗ рд╡рд┐рднрд┐рдиреНрди рд╡рд┐рдХрд▓реНрдкрд╣рд░реВ, рд╕рд╛рдереИ рдкреНрд░рддреНрдпреЗрдХрдХреЛ рдЙрдЪрд┐рдд рдкреНрд░рдпреЛрдЧрд▓рд╛рдИ рд╣реЗрд░реНрдиреЗрдЫред

Kubernetes рд╕рдВрд╕рд╛рдзрди (рд╕реЗрд╡рд╛, рдбрд┐рдкреНрд▓реЛрдЗрдореЗрдиреНрдЯ, рдЗрдиреНрдЧреНрд░реЗрд╕, рдЖрджрд┐) рдХреЛ рдЬреАрд╡рдирдЪрдХреНрд░рдХреЛ рд╕рдордпрдорд╛, рдХрд╣рд┐рд▓реЗрдХрд╛рд╣реАрдБ рддрдкрд╛рдИрд▓реЗ рдпрд╕ рд╕реНрд░реЛрддрдХреЛ рдХреЗрд╣рд┐ рдЧреБрдгрд╣рд░реВ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрди, рдердкреНрди рд╡рд╛ рд╣рдЯрд╛рдЙрди рдЖрд╡рд╢реНрдпрдХ рдкрд░реНрджрдЫред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдиреЛрдЯ рдердкреНрдиреБрд╣реЛрд╕реН, рдкреНрд░рддрд┐рдХреГрддрд┐рд╣рд░реВрдХреЛ рд╕рдВрдЦреНрдпрд╛ рдмрдврд╛рдЙрдиреБрд╣реЛрд╕реН рд╡рд╛ рдШрдЯрд╛рдЙрдиреБрд╣реЛрд╕реНред

Kubernetes CLI

рдпрджрд┐ рддрдкрд╛рдЗрдБ рдкрд╣рд┐рд▓реЗ рдиреИ CLI рдорд╛рд░реНрдлрдд Kubernetes рдХреНрд▓рд╕реНрдЯрд░рд╣рд░реВрд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрджреИ рд╣реБрдиреБрд╣реБрдиреНрдЫ рднрдиреЗ, рддрдкрд╛рдЗрдБ рдкрд╣рд┐рд▓реЗ рдиреИ рдкрд░рд┐рдЪрд┐рдд рд╣реБрдиреБрд╣реБрдиреНрдЫ apply ╨╕ editред рдЯреЛрд▓реА apply рдлрд╛рдЗрд▓рдмрд╛рдЯ рд╕реНрд░реЛрдд рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдкрдвреНрдЫ рд░ Kubernetes рдХреНрд▓рд╕реНрдЯрд░рдорд╛ "upsert" рдмрдирд╛рдЙрдБрдЫ, рдЕрд░реНрдерд╛рддреНред рдпрджрд┐ рдпреЛ рдЕрд╡рд╕реНрдерд┐рдд рдЫреИрди рднрдиреЗ рд╕рдВрд╕рд╛рдзрди рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрджрдЫ рд░ рдпрджрд┐ рдпреЛ рдЕрд╡рд╕реНрдерд┐рдд рдЫ рднрдиреЗ рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рдЧрд░реНрджрдЫред рдЯреЛрд▓реА edit API рдорд╛рд░реНрдлрдд рд╕реНрд░реЛрдд рдкрдвреНрдЫ, рддреНрдпрд╕рдкрдЫрд┐ рд╕реНрдерд╛рдиреАрдп рдлрд╛рдЗрд▓рдорд╛ рд╕реНрд░реЛрдд рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рд▓реЗрдЦреНрдЫ, рдЬреБрди рддреНрдпрд╕рдкрдЫрд┐ рдкрд╛рда рд╕рдореНрдкрд╛рджрдХрдорд╛ рдЦреЛрд▓рд┐рдиреНрдЫред рддрдкрд╛рдИрдВрд▓реЗ рдлрд╛рдЗрд▓ рд╕рдореНрдкрд╛рджрди рд░ рдмрдЪрдд рдЧрд░реЗрдкрдЫрд┐, kubectl API рдорд╛рд░реНрдлрдд рдЧрд░рд┐рдПрдХрд╛ рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВрд▓рд╛рдИ рдлрд┐рд░реНрддрд╛ рдкрдард╛рдЙрдиреЗрдЫ, рдЬрд╕рд▓реЗ рдпреА рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВрд▓рд╛рдИ рд╕рдВрд╕рд╛рдзрдирдорд╛ рд╕рд╛рд╡рдзрд╛рдиреАрдкреВрд░реНрд╡рдХ рд▓рд╛рдЧреВ рдЧрд░реНрдиреЗрдЫред

рд╕рдмреИрд▓рд╛рдИ рдЖрджреЗрд╢рд╣рд░реВ рдерд╛рд╣рд╛ рдЫреИрди patch ╨╕ replaceред рдЯреЛрд▓реА patch рдХрдорд╛рдгреНрдб рд▓рд╛рдЗрдирдорд╛ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░рд┐рдПрдХреЛ рднрд╛рдЧ рдорд╛рддреНрд░ рдЙрдкрд▓рдмреНрдз рдЧрд░рд╛рдЙрдБрджреИ рд╕рдВрд╕рд╛рдзрди рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛рдХреЛ рдЕрдВрд╢ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред рдЯреЛрд▓реА replace рдЬрд╕реНрддреИ рдХрд╛рдо рдЧрд░реНрджрдЫ edit, рддрд░ рд╕рдмреИ рдХреБрд░рд╛ рдореНрдпрд╛рдиреБрдЕрд▓ рд░реВрдкрдорд╛ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ: рддрдкрд╛рдИрдВрд▓реЗ рд╕рдВрд╕рд╛рдзрди рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛рдХреЛ рд╣рд╛рд▓рдХреЛ рд╕рдВрд╕реНрдХрд░рдг рдбрд╛рдЙрдирд▓реЛрдб рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ kubectl get -o yaml, рдпрд╕рд▓рд╛рдИ рд╕рдореНрдкрд╛рджрди рдЧрд░реНрдиреБрд╣реЛрд╕реН, рддреНрдпрд╕рдкрдЫрд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрд╣реЛрд╕реН replace рдПрдХ рдкрд░рд┐рд╡рд░реНрддрди рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдЕрдиреБрд╕рд╛рд░ рдПрдХ рд╕рдВрд╕рд╛рдзрди рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рдЧрд░реНрдиред рдЯреЛрд▓реА replace рдпрджрд┐ рд╕реНрд░реЛрдд рдкрдвреНрдиреЗ рд░ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдЧрд░реНрдиреЗ рдмреАрдЪрдорд╛ рдХреБрдиреИ рдкрд░рд┐рд╡рд░реНрддрди рднрдпреЛ рднрдиреЗ рдХрд╛рдо рдЧрд░реНрджреИрдиред

Kubernetes API

рддрдкрд╛рдИрдВ рд╢рд╛рдпрдж рд╡рд┐рдзрд┐рд╣рд░реВрд╕рдБрдЧ рдкрд░рд┐рдЪрд┐рдд рд╣реБрдиреБрд╣реБрдиреНрдЫ CoreV1().Pods().Update(), replaceNamespacedService рд╡рд╛ patch_namespaced_deployment, рдпрджрд┐ рддрдкрд╛рдЗрдБ рдХреНрд▓рд╕реНрдЯрд░рд╣рд░реВ рдорд╛рд░реНрдлрдд рдХрд╛рдо рдЧрд░реНрдиреБрд╣реБрдиреНрдЫ рднрдиреЗ Kubernetes API рдХреЛ рд▓рд╛рдЧрд┐ рдЧреНрд░рд╛рд╣рдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗрд╣реА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджреИред рдкреБрд╕реНрддрдХрд╛рд▓рдпрд▓реЗ рд╡рд┐рдзрд┐рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ HTTP рдЕрдиреБрд░реЛрдзрд╣рд░реВ рдорд╛рд░реНрдлрдд рдпреА рд╡рд┐рдзрд┐рд╣рд░реВ рд╣реНрдпрд╛рдиреНрдбрд▓ рдЧрд░реНрджрдЫ PUT ╨╕ PATCH... рдЬрд╕рдорд╛ update ╨╕ replace рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрд╣реЛрд╕реН PUTрд░ patch, рдпреЛ рдЬрддрд┐рд╕реБрдХреИ рддреБрдЪреНрдЫ рдХрд┐рди рдирд╣реЛрд╕реН, рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫ PATCH.

рдпреЛ рдЙрд▓реНрд▓реЗрдЦ рдЧрд░реНрди рд▓рд╛рдпрдХ рдЫ kubectl API рдорд╛рд░реНрдлрдд рдХреНрд▓рд╕реНрдЯрд░рд╣рд░реВрд╕рдБрдЧ рдкрдирд┐ рдХрд╛рдо рдЧрд░реНрджрдЫред рдЕрд░реНрдХреЛ рд╢рдмреНрджрдорд╛, kubectlGo рднрд╛рд╖рд╛рдХреЛ рд▓рд╛рдЧрд┐ рдХреНрд▓рд╛рдЗрдиреНрдЯ рд▓рд╛рдЗрдмреНрд░реЗрд░реАрдХреЛ рд╢реАрд░реНрд╖рдорд╛ рдПрдЙрдЯрд╛ рд░реНрдпрд╛рдкрд░ рд╣реЛ, рдЬрд╕рд▓реЗ рдорд╛рдирдХ API рдХреНрд╖рдорддрд╛рд╣рд░реВ рдмрд╛рд╣реЗрдХ рдердк рдХрдореНрдкреНрдпрд╛рдХреНрдЯ рд░ рдкрдвреНрди рдпреЛрдЧреНрдп рдлрд╛рд░рдордорд╛ рдЙрдкрдХрдорд╛рдиреНрдбрд╣рд░реВ рдкреНрд░рджрд╛рди рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рддрдкрд╛рдИрдВрд▓реЗ рдкрд╣рд┐рд▓реЗ рдиреИ рдпрд╛рдж рдЧрд░реЗрдХреЛ рд╣реБрди рд╕рдХреНрдЫ, рд╡рд┐рдзрд┐ apply рдЕрдШрд┐рд▓реНрд▓реЛ рдЕрдиреБрдЪреНрдЫреЗрджрдорд╛ рдорд╛рдерд┐ рдЙрд▓реНрд▓реЗрдЦ рдЧрд░рд┐рдПрдХреЛ рдерд┐рдПрдиред рд╣рд╛рд▓ (рдореЗ реирежреиреж, рд▓рдЧрднрдЧред рдЕрдиреБрд╡рд╛рджрдХ) рд╕рдмреИ рддрд░реНрдХ kubectl apply, рдЕрд░реНрдерд╛рддреН рдЕрд╡рд╕реНрдерд┐рдд рдирднрдПрдХрд╛ рд╕реНрд░реЛрддрд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреЗ рд░ рдЕрд╡рд╕реНрдерд┐рддрд╣рд░реВрд▓рд╛рдИ рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рдЧрд░реНрдиреЗ, рдкреВрд░реНрдг рд░реВрдкрдорд╛ рдХреЛрдб рд╕рд╛рдЗрдбрдорд╛ рдХрд╛рдо рдЧрд░реНрджрдЫ kubectlред рдкреНрд░рдпрд╛рд╕ рднрдЗрд░рд╣реЗрдХрд╛ рдЫрдиреН рддрд░реНрдХ рд╕реНрдерд╛рдирд╛рдиреНрддрд░рдг рдорд╛ apply API рд╕рд╛рдЗрдбрдорд╛, рддрд░ рдпреЛ рдЕрдЭреИ рдмрд┐рдЯрд╛рдорд╛ рдЫред рдо рддрд▓ рдердк рд╡рд┐рд╡рд░рдгрдорд╛ рд▓реЗрдЦреНрдиреЗрдЫреБред

рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд░реВрдкрдорд╛ рдкреНрдпрд╛рдЪ

рд╕рдмреИ рднрдиреНрджрд╛ рд░рд╛рдореНрд░реЛ рдкреНрд░рдпреЛрдЧ patch, рдпрджрд┐ рддрдкрд╛рдЗрдБ рд╕рдВрд╕рд╛рдзрди рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рдЧрд░реНрди рдЪрд╛рд╣рдиреБрд╣реБрдиреНрдЫ рднрдиреЗред рдпрд╕рд░реА рджреБрдмреИ рдЧреНрд░рд╛рд╣рдХ рдкреБрд╕реНрддрдХрд╛рд▓рдпрд╣рд░реВрд▓реЗ Kubernetes API рдХреЛ рд╢реАрд░реНрд╖рдорд╛ рдХрд╛рдо рдЧрд░реНрджрдЫ рд░ kubectl (рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рдЫреИрди, рдХрд┐рдирдХрд┐ рдпреЛ рдЧреНрд░рд╛рд╣рдХ рдкреБрд╕реНрддрдХрд╛рд▓рдпрдХреЛ рд▓рд╛рдЧрд┐ рд░реНрдпрд╛рдкрд░ рд╣реЛ, рд▓рдЧрднрдЧред рдЕрдиреБрд╡рд╛рджрдХ).

рд░рдгрдиреАрддрд┐рдХ рд░реВрдкрдорд╛ рдХрд╛рдо рдЧрд░реНрдиреБрд╣реЛрд╕реН

рд╕рдмреИ рдЯреЛрд▓реАрд╣рд░реВ kubectl apply, edit ╨╕ patch рд╡рд┐рдзрд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрд╣реЛрд╕реН PATCH рдЕрд╡рд╕реНрдерд┐рдд рд╕реНрд░реЛрдд рдЕрдкрдбреЗрдЯ рдЧрд░реНрди HTTP рдЕрдиреБрд░реЛрдзрд╣рд░реВрдорд╛ред рдпрджрд┐ рддрдкрд╛рдЗрдБ рдХрдорд╛рдгреНрдбрд╣рд░реВрдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдорд╛ рдердк рд╡рд┐рд╕реНрддрд╛рд░рдорд╛ рдЦреЛрдЬреНрдиреБрд╣реБрдиреНрдЫ рднрдиреЗ, рддреА рд╕рдмреИрд▓реЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдЫрдиреН рд░рдгрдиреАрддрд┐рдХ-рдорд░реНрдЬ рдкреНрдпрд╛рдЪрд┐рдЩ рд╕реНрд░реЛрддрд╣рд░реВ рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рдЧрд░реНрди, рдпрджреНрдпрдкрд┐ рдЖрджреЗрд╢ patch рдЕрдиреНрдп рджреГрд╖реНрдЯрд┐рдХреЛрдгрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрдЫ (рддрд▓ рдпрд╕ рдмрд╛рд░реЗ рдердк)ред рд░рдгрдиреАрддрд┐рдХ-рдорд░реНрдЬ рдкреНрдпрд╛рдЪрд┐рдЩ рджреГрд╖реНрдЯрд┐рдХреЛрдгрд▓реЗ рдЕрд╡рд╕реНрдерд┐рдд рд╕реНрдкреЗрд╕рд┐рдлрд┐рдХреЗрд╢рдирд╕рдБрдЧ рдЖрдкреВрд░реНрддрд┐ рдЧрд░рд┐рдПрдХреЛ рд╕реНрдкреЗрд╕рд┐рдлрд┐рдХреЗрд╢рди рдорд░реНрдЬ рдЧрд░реЗрд░ "рдпрд╕рд▓рд╛рдИ рд╕рд╣реА рдЧрд░реНрди" рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрджрдЫред рдердк рд╡рд┐рд╢реЗрд╖ рд░реВрдкрдорд╛, рдпрд╕рд▓реЗ рд╡рд╕реНрддреБрд╣рд░реВ рд░ arrays рджреБрд╡реИ рд╕рдВрдпреЛрдЬрди рдЧрд░реНрдиреЗ рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрджрдЫ, рдЬрд╕рдХреЛ рдЕрд░реНрде рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ additive рд╣реБрди рдЬрд╛рдиреНрдЫред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдЖрджреЗрд╢ рдЪрд▓рд╛рдЙрдиреБрд╣реЛрд╕реН patch рдкреЛрдб рдХрдиреНрдЯреЗрдирд░ рд╕реНрдкреЗрд╕рд┐рдлрд┐рдХреЗрд╢рдирдорд╛ рдирдпрд╛рдБ рд╡рд╛рддрд╛рд╡рд░рдг рдЪрд░рдХреЛ рд╕рд╛рде, рддреА рд╡рд╛рддрд╛рд╡рд░рдг рдЪрд░рд▓рд╛рдИ рд╡рд┐рджреНрдпрдорд╛рди рд╡рд╛рддрд╛рд╡рд░рдг рдЪрд░рд╣рд░реВрдорд╛ рдЕрдзрд┐рд▓реЗрдЦрди рдЧрд░реНрдиреБрдХреЛ рд╕рдЯреНрдЯрд╛ рдердкрд┐рдиреЗ рдХрд╛рд░рдг рдмрдирд╛рдЙрдБрдЫред рдпреЛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд╣рдЯрд╛рдЙрдирдХреЛ рд▓рд╛рдЧрд┐, рддрдкрд╛рдИрдВрд▓реЗ рдкреНрд░рджрд╛рди рдЧрд░рд┐рдПрдХреЛ рд╕реНрдкреЗрд╕рд┐рдлрд┐рдХреЗрд╢рдирдорд╛ рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░ рдорд╛рди рд╢реВрдиреНрдп рдЧрд░реНрди рдмрд╛рдзреНрдп рдкрд╛рд░реНрдиреБ рдкрд░реНрдЫред рдХреБрди рдХреБрди рдЯреЛрд▓реАрдорд╛ kubectl рдпреЛ рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рдЧрд░реНрди рдХреЛ рд▓рд╛рдЧреА рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд░рд╛рдореНрд░реЛ рдЫ?

рдпрджрд┐ рддрдкрд╛рдЗрдБ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рддрдкрд╛рдЗрдБрдХреЛ рд╕реНрд░реЛрддрд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рд░ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рдЧрд░реНрдиреБрд╣реБрдиреНрдЫ kubectl apply, рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рдЧрд░реНрджрд╛ рдпреЛ рд╕рдзреИрдВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд░рд╛рдореНрд░реЛ рдЫ kubectl applyрддреЗрд╕реИрд▓реЗ kubectl рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рдЧрд░реНрди рд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧрдмрд╛рдЯ рдЕрдиреБрдкреНрд░рдпреЛрдЧрдорд╛ рдЕрдиреБрд░реЛрдз рдЧрд░рд┐рдПрдХрд╛ рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ рдареАрдХрд╕рдБрдЧ рдЯреНрд░реНрдпрд╛рдХ рдЧрд░реНрди рд╕рдХреНрдЫред рдлрд╛рдЗрджрд╛ рд╕рдзреИрдВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрд╣реЛрд╕реН apply рдпреЛ рд╣реЛ рдХрд┐ рдпрд╕рд▓реЗ рдкрд╣рд┐рд▓реЗ рд▓рд╛рдЧреВ рдЧрд░рд┐рдПрдХреЛ рд╕реНрдкреЗрд╕рд┐рдлрд┐рдХреЗрд╢рдирдХреЛ рдЯреНрд░рдпрд╛рдХ рд░рд╛рдЦреНрдЫ, рдпрд╕рд▓рд╛рдИ рд╕реНрдкреЗрд╕рд┐рдлрд┐рдХреЗрд╢рди рдЧреБрдгрд╣рд░реВ рд░ рдПрд░реЗ рддрддреНрд╡рд╣рд░реВ рд╕реНрдкрд╖реНрдЯ рд░реВрдкрдорд╛ рд╣рдЯрд╛рдЙрдБрджрд╛ рдерд╛рд╣рд╛ рдкрд╛рдЙрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред рдпрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ apply рдЧреБрдг рд░ рдПрд░реЗ рддрддреНрд╡рд╣рд░реВ рд╣рдЯрд╛рдЙрди, рдЬрдмрдХрд┐ рд╕рд╛рдорд╛рдиреНрдп рд░рдгрдиреАрддрд┐рдХ рдорд░реНрдЬрд▓реЗ рдХрд╛рдо рдЧрд░реНрджреИрдиред рдЯреЛрд▓реАрд╣рд░реВ edit ╨╕ patch рдиреЛрдЯрд╣рд░реВ рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рдирдЧрд░реНрдиреБрд╣реЛрд╕реН kubectl apply рдпрд╕рдХреЛ рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ рдЯреНрд░реНрдпрд╛рдХ рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫ, рддреНрдпрд╕реИрд▓реЗ Kubernetes API рдорд╛рд░реНрдлрдд рдЯреНрд░реНрдпрд╛рдХ рдЧрд░рд┐рдПрдХрд╛ рд░ рдЧрд░рд┐рдПрдХрд╛ рдХреБрдиреИ рдкрдирд┐ рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ, рддрд░ рдЖрджреЗрд╢рд╣рд░реВ рдорд╛рд░реНрдлрдд рдмрдирд╛рдЗрдПрдХрд╛ рдЫрдиреНред edit ╨╕ patch, рдкрдЫрд┐рдХрд╛ рдЖрджреЗрд╢рд╣рд░реВрдорд╛ рдЕрджреГрд╢реНрдп apply, рддреНрдпреЛ рд╣реЛ apply рддрд┐рдиреАрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдЗрдирдкреБрдЯ рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛рдорд╛ рджреЗрдЦрд╛ рдкрд░реНрджреИрди рднрдиреЗ рдкрдирд┐ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рд╣рдЯрд╛рдЙрдБрджреИрди apply (рдХрд╛рдЧрдЬрд╛рддрд▓реЗ рднрдиреНрдЫ edit ╨╕ patch рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдПрдХрд╛ рдиреЛрдЯрд╣рд░реВрдорд╛ рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рдЧрд░реНрдиреБрд╣реЛрд╕реН apply, рддрд░ рд╡реНрдпрд╡рд╣рд╛рд░рдорд╛ - рд╣реЛрдЗрди)ред

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

рдорд╛рдерд┐рдХрд╛ рдЖрджреЗрд╢рд╣рд░реВ рдЬрд╕реНрддреИ рд╡реНрдпрд╡рд╣рд╛рд░ рдЧрд░реНрдиреЗ рдЧреНрд░рд╛рд╣рдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реАрдорд╛ рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рд╡рд┐рдзрд┐рд╣рд░реВ рд▓рд╛рдЧреВ рдЧрд░реНрди kubectl, рдЕрдиреБрд░реЛрдз рдорд╛ рд╕реЗрдЯ рдЧрд░реНрдиреБрдкрд░реНрдЫ content-type ╨▓ application/strategic-merge-patch+jsonред рдпрджрд┐ рддрдкрд╛рдЗрдБ рд╕реНрдкреЗрд╕рд┐рдлрд┐рдХреЗрд╢рдирдорд╛ рдЧреБрдгрд╣рд░реВ рд╣рдЯрд╛рдЙрди рдЪрд╛рд╣рдиреБрд╣реБрдиреНрдЫ рднрдиреЗ, рддрдкрд╛рдЗрдБрд▓реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдкрдорд╛ рддрд┐рдиреАрд╣рд░реВрдХреЛ рдорд╛рдирд╣рд░реВрд▓рд╛рдИ рд╕рдорд╛рди рд░реВрдкрдорд╛ рд╢реВрдиреНрдпрдорд╛ рд╕реЗрдЯ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред kubectl patchред рдпрджрд┐ рддрдкрд╛рдЗрдБ рдПрд░реЗ рддрддреНрд╡рд╣рд░реВ рд╣рдЯрд╛рдЙрди рдЖрд╡рд╢реНрдпрдХ рдЫ рднрдиреЗ, рддрдкрд╛рдЗрдБрд▓реЗ рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛рдорд╛ рдорд░реНрдЬ рдирд┐рд░реНрджреЗрд╢рдирд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрдиреБрдкрд░реНрдЫ рд╡рд╛ рдЕрдкрдбреЗрдЯрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдлрд░рдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрдкрд░реНрдЫред

рдЕрдкрдбреЗрдЯ рдЧрд░реНрди рдЕрдиреНрдп рджреГрд╖реНрдЯрд┐рдХреЛрдгрд╣рд░реВ

Kubernetes рджреБрдИ рдЕрдиреНрдп рдЕрдкрдбреЗрдЯ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕рдорд░реНрдерди рдЧрд░реНрджрдЫ: JSON рдорд░реНрдЬ рдкреНрдпрд╛рдЪ ╨╕ JSON рдкреНрдпрд╛рдЪред JSON рдорд░реНрдЬ рдкреНрдпрд╛рдЪ рджреГрд╖реНрдЯрд┐рдХреЛрдгрд▓реЗ рдЗрдирдкреБрдЯрдХреЛ рд░реВрдкрдорд╛ рдЖрдВрд╢рд┐рдХ Kubernetes рд╕реНрдкреЗрд╕рд┐рдлрд┐рдХреЗрд╢рди рд▓рд┐рдиреНрдЫ рд░ рд░рдгрдиреАрддрд┐рдХ-рдорд░реНрдЬ рдкреНрдпрд╛рдЪрд┐рдЩ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЬрд╕реНрддреИ рдорд░реНрдЬ рд╡рд╕реНрддреБрд╣рд░реВрд▓рд╛рдИ рд╕рдорд░реНрдерди рдЧрд░реНрджрдЫред рджреБрдИ рдмреАрдЪрдХреЛ рднрд┐рдиреНрдирддрд╛ рдпреЛ рд╣реЛ рдХрд┐ рдпрд╕рд▓реЗ рдкреЛрдб рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛рдорд╛ рдХрдиреНрдЯреЗрдирд░ рдПрд░реЗ рд╕рд╣рд┐рдд рдПрд░реЗ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрдирд▓рд╛рдИ рдорд╛рддреНрд░ рд╕рдорд░реНрдерди рдЧрд░реНрджрдЫред рдпрд╕рдХреЛ рдорддрд▓рдм рдпреЛ рд╣реЛ рдХрд┐ JSON рдорд░реНрдЬ рдкреНрдпрд╛рдЪ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрд╛, рддрдкрд╛рдИрдВрд▓реЗ рдХреБрдиреИ рдкрдирд┐ рдХрдиреНрдЯреЗрдирд░рдХреЛ рдХреБрдиреИ рдкрдирд┐ рдЧреБрдг рдкрд░рд┐рд╡рд░реНрддрди рднрдПрдорд╛ рд╕рдмреИ рдХрдиреНрдЯреЗрдирд░рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдкреВрд░реНрдг рд╡рд┐рдирд┐рд░реНрджреЗрд╢рд╣рд░реВ рдкреНрд░рджрд╛рди рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред рддреНрдпрд╕реИрд▓реЗ рдпреЛ рджреГрд╖реНрдЯрд┐рдХреЛрдг BOM рдорд╛ рдПрд░реЗрдмрд╛рдЯ рддрддреНрд╡рд╣рд░реВ рд╣рдЯрд╛рдЙрдирдХреЛ рд▓рд╛рдЧрд┐ рдЙрдкрдпреЛрдЧреА рдЫред рдХрдорд╛рдгреНрдб рд▓рд╛рдЗрдирдорд╛ рддрдкрд╛рдИрд▓реЗ JSON рдорд░реНрдЬ рдкреНрдпрд╛рдЪ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдЪрдпрди рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ kubectl patch --type=mergeред Kubernetes API рд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрджрд╛, рддрдкрд╛рдИрдВрд▓реЗ рдЕрдиреБрд░реЛрдз рд╡рд┐рдзрд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрдкрд░реНрдЫ PATCH рд░ рд╕реНрдерд╛рдкрдирд╛ content-type ╨▓ application/merge-patch+json.

JSON рдкреНрдпрд╛рдЪ рджреГрд╖реНрдЯрд┐рдХреЛрдг, рд╕реНрд░реЛрддрдХреЛ рдЖрдВрд╢рд┐рдХ рд╡рд┐рд╡рд░рдг рдкреНрд░рджрд╛рди рдЧрд░реНрдиреБрдХреЛ рд╕рдЯреНрдЯрд╛, рддрдкрд╛рдИрдВрд▓реЗ рдПрд░реЗрдХреЛ рд░реВрдкрдорд╛ рд╕реНрд░реЛрддрдорд╛ рдЧрд░реНрди рдЪрд╛рд╣рдиреБрднрдПрдХреЛ рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ рдкреНрд░рджрд╛рди рдЧрд░реНрдиреЗ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫ, рдЬрд╕рдорд╛ рдПрд░реЗрдХреЛ рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡рд▓реЗ рд╕реНрд░реЛрддрдорд╛ рдЧрд░рд┐рдПрдХреЛ рдкрд░рд┐рд╡рд░реНрддрдирдХреЛ рд╡рд┐рд╡рд░рдг рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдЧрд░реНрджрдЫред рдпреЛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ рдЕрднрд┐рд╡реНрдпрдХреНрдд рдЧрд░реНрди рдердк рд▓рдЪрд┐рд▓реЛ рд░ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рддрд░рд┐рдХрд╛ рд╣реЛ, рддрд░ рдЖрдВрд╢рд┐рдХ рд╕реНрд░реЛрдд рдирд┐рд░реНрджрд┐рд╖реНрдЯреАрдХрд░рдг рдкрдард╛рдЙрдиреБрдХреЛ рд╕рдЯреНрдЯрд╛ рдЫреБрдЯреНрдЯреИ, рдЧреИрд░-рдХреБрдмрд░рдиреЗрдЯ рдврд╛рдБрдЪрд╛рдорд╛ рдЧрд░рд┐рдПрдХрд╛ рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВрд▓рд╛рдИ рд╕реВрдЪреАрдмрджреНрдз рдЧрд░реНрдиреЗ рд▓рд╛рдЧрддрдорд╛ред IN kubectl рддрдкрд╛рдИрдВ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ JSON рдкреНрдпрд╛рдЪ рдЪрдпрди рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ kubectl patch --type=jsonред Kubernetes API рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрд╛, рдпреЛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЕрдиреБрд░реЛрдз рд╡рд┐рдзрд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдХрд╛рдо рдЧрд░реНрджрдЫ PATCH рд░ рд╕реНрдерд╛рдкрдирд╛ content-type ╨▓ application/json-patch+json.

рд╣рд╛рдореАрд▓рд╛рдИ рдЖрддреНрдорд╡рд┐рд╢реНрд╡рд╛рд╕ рдЪрд╛рд╣рд┐рдиреНрдЫ - рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрд╣реЛрд╕реН

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

  • A рд░ B рд▓реЗ API рдмрд╛рдЯ рд╕реНрд░реЛрддрдХреЛ рд╣рд╛рд▓рдХреЛ рдЕрд╡рд╕реНрдерд╛ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрджрдЫ
  • рдкреНрд░рддреНрдпреЗрдХрд▓реЗ рд╕реНрдерд╛рдиреАрдп рд░реВрдкрдорд╛ рдХрд╛рдЙрдиреНрдЯрд░рд▓рд╛рдИ рдПрдХ рдПрдХ рдЧрд░реА рдмрдврд╛рдПрд░ рд░ "рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ-рджреНрд╡рд╛рд░рд╛" рдиреЛрдЯрдорд╛ рдХреНрд░рдорд╢рдГ "A" рд╡рд╛ "B" рдердкреЗрд░ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рдЧрд░реНрджрдЫред
  • рд░ рдпрд╕рд▓реЗ рд╕рдВрд╕рд╛рдзрди рдЕрд▓рд┐ рдЫрд┐рдЯреЛ рдЕрдкрдбреЗрдЯ рдЧрд░реНрджрдЫ
  • B рд╕реНрд░реЛрдд рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рдЧрд░реНрджрдЫ

рдирддрд┐рдЬрд╛рдХреЛ рд░реВрдкрдорд╛, рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ A рд╣рд░рд╛рдПрдХреЛ рдЫред рдкрдЫрд┐рд▓реНрд▓реЛ рдЕрдкрд░реЗрд╢рди patch рдЬреАрдд рд╣реБрдиреНрдЫ, рдХрд╛рдЙрдиреНрдЯрд░рд▓рд╛рдИ рджреБрдИрдХреЛ рд╕рдЯреНрдЯрд╛ рдПрдХрд▓реЗ рдмрдврд╛рдЗрдиреНрдЫ, рд░ "рдЕрдкрдбреЗрдЯ-рджреНрд╡рд╛рд░рд╛" рдиреЛрдЯрдХреЛ рдорд╛рди "B" рд╕рдБрдЧ рд╕рдорд╛рдкреНрдд рд╣реБрдиреНрдЫ рд░ "A" рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджреИрдиред рдорд╛рдерд┐рдХреЛ рддреБрд▓рдирд╛ рдЧрд░реМрдВ рдХреЗ рд╣реБрдиреНрдЫ рдЬрдм рдЕрдкрдбреЗрдЯрд╣рд░реВ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдЧрд░рд┐рдиреНрдЫ replace:

  • A рд░ B рд▓реЗ API рдмрд╛рдЯ рд╕реНрд░реЛрддрдХреЛ рд╣рд╛рд▓рдХреЛ рдЕрд╡рд╕реНрдерд╛ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрджрдЫ
  • рдкреНрд░рддреНрдпреЗрдХрд▓реЗ рд╕реНрдерд╛рдиреАрдп рд░реВрдкрдорд╛ рдХрд╛рдЙрдиреНрдЯрд░рд▓рд╛рдИ рдПрдХ рдПрдХ рдЧрд░реА рдмрдврд╛рдПрд░ рд░ "рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ-рджреНрд╡рд╛рд░рд╛" рдиреЛрдЯрдорд╛ рдХреНрд░рдорд╢рдГ "A" рд╡рд╛ "B" рдердкреЗрд░ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рдЧрд░реНрджрдЫред
  • рд░ рдпрд╕рд▓реЗ рд╕рдВрд╕рд╛рдзрди рдЕрд▓рд┐ рдЫрд┐рдЯреЛ рдЕрдкрдбреЗрдЯ рдЧрд░реНрджрдЫ
  • B рд▓реЗ рд╕рдВрд╕рд╛рдзрди рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рдЧрд░реНрдиреЗ рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрджрдЫ, рддрд░ рдЕрджреНрдпрд╛рд╡рдзрд┐рдХрд▓рд╛рдИ API рджреНрд╡рд╛рд░рд╛ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдЧрд░рд┐рдПрдХреЛ рдЫ рдХрд┐рдирднрдиреЗ рд╕реНрд░реЛрдд рд╕рдВрд╕реНрдХрд░рдг рдирд┐рд░реНрджрд┐рд╖реНрдЯреАрдХрд░рдгрдорд╛ рдЫред replace Kubernetes рдорд╛ рд╕рдВрд╕рд╛рдзрдирдХреЛ рд╣рд╛рд▓рдХреЛ рд╕рдВрд╕реНрдХрд░рдгрд╕рдБрдЧ рдореЗрд▓ рдЦрд╛рдБрджреИрди рдХрд┐рдирднрдиреЗ рд╕реНрд░реЛрддрдХреЛ рд╕рдВрд╕реНрдХрд░рдг A рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рд╕рдЮреНрдЪрд╛рд▓рдирджреНрд╡рд╛рд░рд╛ рдмрдврд╛рдЗрдПрдХреЛ рдерд┐рдпреЛред

рдорд╛рдерд┐рдХреЛ рдЕрд╡рд╕реНрдерд╛рдорд╛, B рд▓реЗ рд╕рдВрд╕рд╛рдзрди рдкреБрди: рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди, рдирдпрд╛рдБ рд╕реНрдерд┐рддрд┐рдорд╛ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрди рд░ рдкреБрди: рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрдиреБрдкрд░реНрдиреЗрдЫ replaceред рдпрд╕рд▓реЗ рдХрд╛рдЙрдиреНрдЯрд░рд▓рд╛рдИ рджреБрдИ рд░ "рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ-рджреНрд╡рд╛рд░рд╛" рдиреЛрдЯрдХреЛ рдЕрдиреНрддреНрдпрдорд╛ "AB" рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рдмрдврд╛рдЙрдБрдЫред

рдорд╛рдерд┐рдХреЛ рдЙрджрд╛рд╣рд░рдгрд▓реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрджрд╛ рдмреБрдЭрд╛рдЙрдБрдЫ replace рд╕рдореНрдкреВрд░реНрдг рд╕реНрд░реЛрдд рдкреВрд░реНрдг рд░реВрдкрдорд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдЧрд░рд┐рдПрдХреЛ рдЫред рдХреЛ рд▓рд╛рдЧрд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдПрдХреЛ рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛ replace, рдЖрдВрд╢рд┐рдХ, рд╡рд╛ рднрд╛рдЧрд╣рд░реВрдорд╛ рдЬрд╕реНрддреИ рд╣реБрдиреБ рд╣реБрдБрджреИрди apply, рддрд░ рдердк рд╕рд╣рд┐рдд рдкреВрд░рд╛ resourceVersion рд╡рд┐рдирд┐рд░реНрджреЗрд╢рди рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдорд╛ред рдпрджрд┐ рддрдкрд╛рдИрдВрд▓реЗ рд╕рдХреНрд╖рдо рдЧрд░реНрдиреБрднрдПрдХреЛ рдЫреИрди рднрдиреЗ resourceVersion рд╡рд╛ рддрдкрд╛рдИрдВрд▓реЗ рдкреНрд░рджрд╛рди рдЧрд░реНрдиреБрднрдПрдХреЛ рд╕рдВрд╕реНрдХрд░рдг рд╣рд╛рд▓рдХреЛ рдЫреИрди, рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдЕрд╕реНрд╡реАрдХрд╛рд░ рдЧрд░рд┐рдиреЗрдЫред рддреНрдпрд╕реИрд▓реЗ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдмреИ рднрдиреНрджрд╛ рд░рд╛рдореНрд░реЛ рддрд░рд┐рдХрд╛ рд╣реЛ replace - рд╕реНрд░реЛрдд рдкрдвреНрдиреБрд╣реЛрд╕реН, рдпрд╕рд▓рд╛рдИ рдЕрдкрдбреЗрдЯ рдЧрд░реНрдиреБрд╣реЛрд╕реН рд░ рддреБрд░реБрдиреНрддреИ рдмрджрд▓реНрдиреБрд╣реЛрд╕реНред рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджреИ kubectl, рдпреЛ рдпрд╕реНрддреЛ рджреЗрдЦрд┐рди рд╕рдХреНрдЫ:

$ kubectl get deployment my-deployment -o json 
    | jq '.spec.template.spec.containers[0].env[1].value = "new value"' 
    | kubectl replace -f -

рдпреЛ рдзреНрдпрд╛рди рджрд┐рди рд▓рд╛рдпрдХ рдЫ рдХрд┐ рдирд┐рдореНрди рджреБрдИ рдЖрджреЗрд╢рд╣рд░реВ, рдХреНрд░рдорд╢рдГ рдирд┐рд╖реНрдкрд╛рджрд┐рдд, рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реБрдиреЗрдЫ, рдХрд┐рдирдХрд┐ deployment.yaml рд╕рдореНрдкрддреНрддрд┐ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджреИрди .metadata.resourceVersion

$ kubectl create -f deployment.yaml
$ kubectl replace -f deployment.yaml

рдпреЛ рдорд╛рдерд┐ рднрдирд┐рдПрдХреЛ рд╡рд┐рд░реЛрдзрд╛рднрд╛рд╕ рдЬрд╕реНрддреЛ рджреЗрдЦрд┐рдиреНрдЫ, рдЕрд░реНрдерд╛рддреНред "рдердкреНрджреИ resourceVersion рд╡рд┐рдирд┐рд░реНрджреЗрд╢рди рдореЗрдЯрд╛рдбреЗрдЯрд╛рдорд╛ред" рдХреЗ рдпреЛ рднрдиреНрди рдЧрд▓рдд рдЫ? рд╣реЛрдЗрди, рдпреЛ рд╣реЛрдЗрди, рдХрд┐рдирднрдиреЗ рдпрджрд┐ kubectl рддрдкрд╛рдИрдВрд▓реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирдЧрд░реЗрдХреЛ рд╕реВрдЪрдирд╛рд╣рд░реВ resourceVersion, рдпрд╕рд▓реЗ рдпрд╕рд▓рд╛рдИ рд╕реНрд░реЛрддрдмрд╛рдЯ рдкрдвреНрдЫ рд░ рддрдкрд╛рдЗрдБрд▓реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реЗрдХреЛ рд╕реНрдкреЗрд╕рд┐рдлрд┐рдХреЗрд╢рдирдорд╛ рдердкреНрдиреЗрдЫ, рд░ рддреНрдпрд╕рдкрдЫрд┐ рдорд╛рддреНрд░ рдпрд╕рд▓рд╛рдИ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрдиреБрд╣реЛрд╕реНред replaceред рдХрд┐рдирднрдиреЗ рдпреЛ рд╕рдореНрднрд╛рд╡рд┐рдд рд░реВрдкрдорд╛ рдЦрддрд░рдирд╛рдХ рдЫ рдпрджрд┐ рддрдкрд╛рдИрдВ рдкрд░рдорд╛рдгреБрдорд╛ рднрд░реЛрд╕рд╛ рдЧрд░реНрдиреБрд╣реБрдиреНрдЫ рднрдиреЗ, рдЬрд╛рджреВ рдкреВрд░реНрдг рд░реВрдкрдорд╛ рдкрдХреНрд╖рдорд╛ рдХрд╛рдо рдЧрд░реНрджрдЫ kubectl, API рд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрдиреЗ рдХреНрд▓рд╛рдЗрдиреНрдЯ рд▓рд╛рдЗрдмреНрд░реЗрд░реАрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрд╛ рддрдкрд╛рдИрдВрд▓реЗ рдпрд╕рдорд╛ рднрд░ рдкрд░реНрдиреБ рд╣реБрдБрджреИрдиред рдпрд╕ рдЕрд╡рд╕реНрдерд╛рдорд╛ рддрдкрд╛рдИрдВрд▓реЗ рд╣рд╛рд▓рдХреЛ рд╕реНрд░реЛрдд рд╡рд┐рд╡рд░рдг рдкрдвреНрдиреБрдкрд░реНрдиреЗрдЫ, рдпрд╕рд▓рд╛рдИ рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рдЧрд░реНрдиреБрд╣реЛрд╕реН рд░ рддреНрдпрд╕рдкрдЫрд┐ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрдиреБрд╣реЛрд╕реН PUT рдЕрдиреБрд░реЛрдзред

рддрдкрд╛рдИрдВ рдкреНрдпрд╛рдЪ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрди - рд╣рд╛рдореА рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдЧрд░реНрдЫреМрдВ

рдХрд╣рд┐рд▓реЗрдХрд╛рд╣реАрдБ рддрдкрд╛рдИрд▓реЗ рдХреЗрд╣рд┐ рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ рдЬреБрди API рджреНрд╡рд╛рд░рд╛ рд╣реНрдпрд╛рдиреНрдбрд▓ рдЧрд░реНрди рд╕рдХрд┐рдБрджреИрдиред рдпреА рдЕрд╡рд╕реНрдерд╛рд╣рд░реВрдорд╛, рддрдкрд╛рдЗрдБ рдпрд╕рд▓рд╛рдИ рдореЗрдЯрд╛рдПрд░ рд░ рдкреБрди: рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реЗрд░ рд╕реНрд░реЛрддрдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред рдпреЛ рдкреНрд░рдпреЛрдЧ рдЧрд░реА рдЧрд░рд┐рдиреНрдЫ kubectl replace --forceред рдЖрджреЗрд╢ рдЪрд▓рд╛рдЙрдБрджрд╛ рддреБрд░реБрдиреНрддреИ рд╕реНрд░реЛрддрд╣рд░реВ рд╣рдЯрд╛рдЙрдБрдЫ рд░ рддреНрдпрд╕рдкрдЫрд┐ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдЖрдкреВрд░реНрддрд┐ рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛рдмрд╛рдЯ рдкреБрди: рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрджрдЫред API рдорд╛ рдХреБрдиреИ "рдмрд▓ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди" рд╣реНрдпрд╛рдиреНрдбрд▓рд░ рдЫреИрди, рд░ API рдорд╛рд░реНрдлрдд рддреНрдпрд╕реЛ рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐, рддрдкрд╛рдИрдВрд▓реЗ рджреБрдИрд╡рдЯрд╛ рдЕрдкрд░реЗрд╢рдирд╣рд░реВ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред рдкрд╣рд┐рд▓реЗ рддрдкрд╛рдИрдВрд▓реЗ рдпрд╕рдХреЛ рд▓рд╛рдЧрд┐ рд╕реЗрдЯрд┐рдЩ рдЧрд░реЗрд░ рд╕рдВрд╕рд╛рдзрди рдореЗрдЯрд╛рдЙрди рдЖрд╡рд╢реНрдпрдХ рдЫ gracePeriodSeconds рд╢реВрдиреНрдп (реж) рд░ propagationPolicy "рдкреГрд╖реНрдарднреВрдорд┐" рдорд╛ рд░ рддреНрдпрд╕рдкрдЫрд┐ рдЗрдЪреНрдЫрд┐рдд рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛ рд╕рдВрдЧ рдпреЛ рд╕рдВрд╕рд╛рдзрди рдкреБрди: рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реНред

рдЪреЗрддрд╛рд╡рдиреА: рдпреЛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕рдореНрднрд╛рд╡рд┐рдд рдЦрддрд░рдирд╛рдХ рдЫ рд░ рдПрдХ рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рд░рд╛рдЬреНрдп рдХреЛ рдиреЗрддреГрддреНрд╡ рдЧрд░реНрди рд╕рдХреНрдЫред

рд╕рд░реНрднрд░ рд╕рд╛рдЗрдбрдорд╛ рдЖрд╡реЗрджрди рджрд┐рдиреБрд╣реЛрд╕реН

рдорд╛рдерд┐ рдЙрд▓реНрд▓реЗрдЦ рдЧрд░рд┐рдП рдЕрдиреБрд╕рд╛рд░, Kubernetes рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реВрд▓реЗ рддрд░реНрдХ рд▓рд╛рдЧреВ рдЧрд░реНрди рдХрд╛рдо рдЧрд░рд┐рд░рд╣реЗрдХрд╛ рдЫрдиреН apply рдмрд╛рдЯ kubectl Kubernetes API рдорд╛ред рддрд░реНрдХ apply Kubernetes 1.18 рдорд╛рд░реНрдлрдд рдЙрдкрд▓рдмреНрдз рдЫ kubectl apply --server-side рд╡рд╛ рд╡рд┐рдзрд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ API рдорд╛рд░реНрдлрдд PATCH ╤Б content-type application/apply-patch+YAML.

рдиреЛрдЯ: JSON рдкрдирд┐ рдорд╛рдиреНрдп YAML рд╣реЛ, рддреНрдпрд╕реИрд▓реЗ рддрдкрд╛рдИрдВрд▓реЗ JSON рдХреЛ рд░реВрдкрдорд╛ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдкрдард╛рдЙрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рднрдиреЗ рдкрдирд┐ content-type рд╣реБрдиреЗрдЫ application/apply-patch+yaml.

рддреНрдпреЛ рддрд░реНрдХ рдмрд╛рд╣реЗрдХ kubectl API рдорд╛рд░реНрдлрдд рд╕рдмреИрдХрд╛ рд▓рд╛рдЧрд┐ рдЙрдкрд▓рдмреНрдз рд╣реБрдиреНрдЫ, apply рд╕рд░реНрднрд░ рд╕рд╛рдЗрдбрдорд╛, рд╕реНрдкреЗрд╕рд┐рдлрд┐рдХреЗрд╢рдирдорд╛ рдлрд┐рд▓реНрдбрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдХреЛ рдЬрд┐рдореНрдореЗрд╡рд╛рд░ рдЫ рднрдиреЗрд░ рдЯреНрд░реНрдпрд╛рдХ рд░рд╛рдЦреНрдЫ, рдпрд╕рд░реА рдпрд╕рдХреЛ рд╡рд┐рд╡рд╛рдж-рд░рд╣рд┐рдд рд╕рдореНрдкрд╛рджрдирдХреЛ рд▓рд╛рдЧрд┐ рд╕реБрд░рдХреНрд╖рд┐рдд рдмрд╣реБ рдкрд╣реБрдБрдЪ рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред рдЕрд░реНрдХреЛ рд╢рдмреНрджрдорд╛, рдпрджрд┐ apply рд╕рд░реНрднрд░ рд╕рд╛рдЗрдбрдорд╛ рдЕрдЭ рд╡реНрдпрд╛рдкрдХ рд╣реБрдиреЗрдЫ, рдПрдХ рд╡рд┐рд╢реНрд╡рд╡реНрдпрд╛рдкреА рд╕реБрд░рдХреНрд╖рд┐рдд рд╕реНрд░реЛрдд рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рдЗрдиреНрдЯрд░рдлреЗрд╕ рд╡рд┐рднрд┐рдиреНрди рдЧреНрд░рд╛рд╣рдХрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рджреЗрдЦрд╛ рдкрд░реНрдиреЗрдЫ, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, kubectl, Pulumi рд╡рд╛ Terraform, GitOps, рд╕рд╛рдереИ рдЧреНрд░рд╛рд╣рдХ рдкреБрд╕реНрддрдХрд╛рд▓рдпрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд╕реНрд╡-рд▓рд┐рдЦрд┐рдд рд╕реНрдХреНрд░рд┐рдкреНрдЯрд╣рд░реВред

рдкрд░рд┐рдгрд╛рдорд╣рд░реВ

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

Kubernetes рдХреЛ рдЙрдЪрд┐рдд рддреБрд▓рдирд╛ рд▓рд╛рдЧреВ рдЧрд░реНрдиреБрд╣реЛрд╕реН, рдмрджрд▓реНрдиреБрд╣реЛрд╕реН рд░ рдкреНрдпрд╛рдЪ рдЧрд░реНрдиреБрд╣реЛрд╕реН

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

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