Kubernetes 1.16: рдореБрдЦреНрдп рдЖрд╡рд┐рд╖реНрдХрд╛рд░рд╣рд░реВрдХреЛ рд╕рд┐рдВрд╣рд╛рд╡рд▓реЛрдХрди

Kubernetes 1.16: рдореБрдЦреНрдп рдЖрд╡рд┐рд╖реНрдХрд╛рд░рд╣рд░реВрдХреЛ рд╕рд┐рдВрд╣рд╛рд╡рд▓реЛрдХрди

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

рдпреЛ рд╕рд╛рдордЧреНрд░реА рддрдпрд╛рд░ рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдПрдХреЛ рдЬрд╛рдирдХрд╛рд░реА рдмрд╛рдЯ рд▓рд┐рдЗрдПрдХреЛ рд╣реЛ Kubernetes рд╕рдВрд╡рд░реНрджреНрдзрди рдЯреНрд░реНрдпрд╛рдХрд┐рдЩ рддрд╛рд▓рд┐рдХрд╛рд╣рд░реВ, рдкрд░рд┐рд╡рд░реНрддрди-рез.резрек рд░ рд╕рдореНрдмрдиреНрдзрд┐рдд рдореБрджреНрджрд╛рд╣рд░реВ, рдкреБрд▓ рдЕрдиреБрд░реЛрдзрд╣рд░реВ, рд░ Kubernetes Enhancement Proposals (KEP)ред рддреНрдпрд╕реЛрднрдП, рдЬрд╛рдФрдВ! ..

рдиреЛрдбрд╣рд░реВ

K8s рдХреНрд▓рд╕реНрдЯрд░ рдиреЛрдбреНрд╕ (рдХреБрдмреЗрд▓реЗрдЯ) рдХреЛ рдЫреЗрдЙрдорд╛ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рдЖрд╡рд┐рд╖реНрдХрд╛рд░рд╣рд░реВрдХреЛ рдПрдХ рд╕рд╛рдБрдЪреНрдЪреИ рдареВрд▓реЛ рд╕рдВрдЦреНрдпрд╛ (рдЕрд▓реНрдлрд╛ рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдерд┐рддрд┐рдорд╛) рдкреНрд░рд╕реНрддреБрдд рдЧрд░рд┐рдПрдХреЛ рдЫред

рдкрд╣рд┐рд▓реЛ, рддрдерд╛рдХрдерд┐рдд ┬лрдХреНрд╖рдгрд┐рдХ рдХрдиреНрдЯреЗрдирд░рд╣рд░реВ┬╗ (рдЕрд╕реНрдерд╛рдпреА рдХрдиреНрдЯреЗрдирд░), рдкреЛрдбрд╣рд░реВрдорд╛ рдбрд┐рдмрдЧрд┐рдЩ рдкреНрд░рдХреНрд░рд┐рдпрд╛рд╣рд░реВ рд╕рд░рд▓ рдмрдирд╛рдЙрди рдбрд┐рдЬрд╛рдЗрди рдЧрд░рд┐рдПрдХреЛред рдирдпрд╛рдБ рдореЗрдХрд╛рдирд┐рдЬрдорд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рд╡рд┐рд╢реЗрд╖ рдХрдиреНрдЯреЗрдирд░рд╣рд░реВ рд╕реБрд░реВ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ рдЬреБрди рдЕрд╡рд╕реНрдерд┐рдд рдкреЛрдбрд╣рд░реВрдХреЛ рдиреЗрдорд╕реНрдкреЗрд╕рдорд╛ рд╕реБрд░реБ рд╣реБрдиреНрдЫ рд░ рдЫреЛрдЯреЛ рд╕рдордпрдХреЛ рд▓рд╛рдЧрд┐ рдмрд╛рдБрдЪреНрджрдЫред рддрд┐рдиреАрд╣рд░реВрдХреЛ рдЙрджреНрджреЗрд╢реНрдп рдХреБрдиреИ рдкрдирд┐ рд╕рдорд╕реНрдпрд╛ рд░ рдбрд┐рдмрдЧ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрди рдЕрдиреНрдп рдкреЛрдбрд╣рд░реВ рд░ рдХрдиреНрдЯреЗрдирд░рд╣рд░реВрд╕рдБрдЧ рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛ рдЧрд░реНрдиреБ рд╣реЛред рдпреЛ рд╕реБрд╡рд┐рдзрд╛рдХреЛ рд▓рд╛рдЧрд┐ рдирдпрд╛рдБ рдЖрджреЗрд╢ рд▓рд╛рдЧреВ рдЧрд░рд┐рдПрдХреЛ рдЫ kubectl debug, рд╕рд╛рд░ рдорд╛ рд╕рдорд╛рди kubectl exec: рдХрдиреНрдЯреЗрдирд░рдорд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЪрд▓рд╛рдЙрдиреБрдХреЛ рд╕рдЯреНрдЯрд╛ (рдЬрд╕реНрддреИ exec) рдпрд╕рд▓реЗ рдкреЛрдбрдорд╛ рдХрдиреНрдЯреЗрдирд░ рд╕реБрд░реВ рдЧрд░реНрдЫред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдпреЛ рдЖрджреЗрд╢рд▓реЗ рдирдпрд╛рдБ рдХрдиреНрдЯреЗрдирд░рд▓рд╛рдИ рдкреЛрдбрдорд╛ рдЬрдбрд╛рди рдЧрд░реНрдиреЗрдЫ:

kubectl debug -c debug-shell --image=debian target-pod -- bash

рдЕрд▓реНрдкрдХрд╛рд▓рд┐рдХ рдХрдиреНрдЯреЗрдирд░рд╣рд░реВ (рд░ рддрд┐рдиреАрд╣рд░реВрдХреЛ рдкреНрд░рдпреЛрдЧрдХрд╛ рдЙрджрд╛рд╣рд░рдгрд╣рд░реВ) рдмрд╛рд░реЗ рд╡рд┐рд╡рд░рдгрд╣рд░реВ рдлреЗрд▓рд╛ рдкрд╛рд░реНрди рд╕рдХрд┐рдиреНрдЫ рдЕрдиреБрд░реВрдк KEPред рд╣рд╛рд▓рдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди (K8s 1.16 рдорд╛) рдПрдХ рдЕрд▓реНрдлрд╛ рд╕рдВрд╕реНрдХрд░рдг рд╣реЛ, рд░ рдпрд╕рдХреЛ рдмрд┐рдЯрд╛ рд╕рдВрд╕реНрдХрд░рдгрдорд╛ рд╕реНрдерд╛рдирд╛рдиреНрддрд░рдгрдХреЛ рд▓рд╛рдЧрд┐ рдорд╛рдкрджрдгреНрдбрд╣рд░реВ рдордзреНрдпреЗ "[Kubernetes] рдХреЛ рдХрдореНрддрд┐рдорд╛ 2 рд░рд┐рд▓реАрдЬрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ Ephemeral Containers API рдХреЛ рдкрд░реАрдХреНрд╖рдг рдЧрд░реНрджреИрдЫред"

NB: рдпрд╕рдХреЛ рд╕рд╛рд░ рд░ рдпрд╕рдХреЛ рдирд╛рдордорд╛ рдкрдирд┐, рд╕реБрд╡рд┐рдзрд╛ рдкрд╣рд┐рд▓реЗ рдиреИ рдЕрд╡рд╕реНрдерд┐рдд рдкреНрд▓рдЧрдЗрдирд╕рдБрдЧ рдорд┐рд▓реНрджреЛрдЬреБрд▓реНрджреЛ рдЫ kubectl-debugрдЬрд╕рдХреЛ рдмрд╛рд░реЗрдорд╛ рд╣рд╛рдореА рдкрд╣рд┐рд▓реЗ рдиреИ рд▓реЗрдЦреЗрдХреЛ рдЫред рдпреЛ рдЖрд╢рд╛ рдЧрд░рд┐рдПрдХреЛ рдЫ рдХрд┐ рдЕрд▓реНрдкрдХрд╛рд▓рд┐рдХ рдХрдиреНрдЯреЗрдирд░рдХреЛ рдЖрдЧрдорди рд╕рдВрдЧ, рдПрдХ рдЕрд▓рдЧ рдмрд╛рд╣реНрдп рдкреНрд▓рдЧрдЗрди рдХреЛ рд╡рд┐рдХрд╛рд╕ рдмрдиреНрдж рд╣реБрдиреЗрдЫред

рдЕрд░реНрдХреЛ рдирд╡реАрдирддрд╛ - PodOverhead - рдкреНрд░рджрд╛рди рдЧрд░реНрди рдбрд┐рдЬрд╛рдЗрди рдЧрд░рд┐рдПрдХреЛ рдкреЛрдбрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдЙрдкрд░рд┐ рд▓рд╛рдЧрдд рдЧрдгрдирд╛ рдЧрд░реНрди рд╕рдВрдпрдиреНрддреНрд░, рдЬреБрди рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдПрдХреЛ рд░рдирдЯрд╛рдЗрдордХреЛ рдЖрдзрд╛рд░рдорд╛ рдзреЗрд░реИ рдлрд░рдХ рд╣реБрди рд╕рдХреНрдЫред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд░реВрдкрдорд╛, рд▓реЗрдЦрдХрд╣рд░реВ рдпреЛ KEP рдХрд╛рдЯрд╛ рдХрдиреНрдЯреЗрдирд░рд╣рд░реВрдорд╛ рдкрд░рд┐рдгрд╛рдо, рдЬрд╕рдорд╛ рдЕрддрд┐рдерд┐ рдХрд░реНрдиреЗрд▓, рдХрд╛рдЯрд╛ рдПрдЬреЗрдиреНрдЯ, рдЗрдирд┐рдЯ рдкреНрд░рдгрд╛рд▓реА, рдЖрджрд┐ рдЪрд▓рд╛рдЙрди рдЖрд╡рд╢реНрдпрдХ рдЫред рдЬрдм рдУрднрд░рд╣реЗрдб рдпрддрд┐ рдареВрд▓реЛ рд╣реБрдиреНрдЫ, рдпрд╕рд▓рд╛рдИ рдмреЗрд╡рд╛рд╕реНрддрд╛ рдЧрд░реНрди рд╕рдХрд┐рдБрджреИрди, рдЬрд╕рдХреЛ рдорддрд▓рдм рддреНрдпрд╣рд╛рдБ рдердк рдХреЛрдЯрд╛, рдпреЛрдЬрдирд╛, рдЖрджрд┐рдХреЛ рд▓рд╛рдЧрд┐ рдЦрд╛рддрд╛рдорд╛ рд▓рд┐рдиреЗ рддрд░рд┐рдХрд╛ рд╣реБрди рдЖрд╡рд╢реНрдпрдХ рдЫред рдорд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрди PodSpec рдХреНрд╖реЗрддреНрд░ рдердкрд┐рдпреЛ Overhead *ResourceList (рдорд╛ рдбреЗрдЯрд╛рд╕рдБрдЧ рддреБрд▓рдирд╛ рдЧрд░реНрджрдЫ RuntimeClass, рдпрджрд┐ рдПрдХ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдПрдХреЛ рдЫ)ред

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

Kubernetes 1.16: рдореБрдЦреНрдп рдЖрд╡рд┐рд╖реНрдХрд╛рд░рд╣рд░реВрдХреЛ рд╕рд┐рдВрд╣рд╛рд╡рд▓реЛрдХрди
рдЯреЛрдкреЛрд▓реЛрдЬреА рдкреНрд░рдмрдиреНрдзрдХ рдХрдореНрдкреЛрдиреЗрдиреНрдЯ рд░реЗрдЦрд╛рдЪрд┐рддреНрд░

рдЕрд░реНрдХреЛ рд╡рд┐рд╢реЗрд╖рддрд╛ - рддрд┐рдиреАрд╣рд░реВ рдЪрд▓рд┐рд░рд╣реЗрдХреЛ рдмреЗрд▓рд╛ рдХрдиреНрдЯреЗрдирд░рд╣рд░реВ рдЬрд╛рдБрдЪ рдЧрд░реНрджреИ (рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдЬрд╛рдБрдЪ)ред рддрдкрд╛рдИрд▓рд╛рдИ рдерд╛рд╣рд╛ рдЫ, рдХрдиреНрдЯреЗрдирд░рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдЬреБрди рд╕реБрд░реБ рд╣реБрди рд▓рд╛рдореЛ рд╕рдордп рд▓рд╛рдЧреНрдЫ, рдЕрдк-рдЯреБ-рдбреЗрдЯ рд╕реНрдерд┐рддрд┐ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рдЧрд╛рд╣реНрд░реЛ рдЫ: рддрд┐рдиреАрд╣рд░реВ рдХрд┐ рдд рд╡рд╛рд╕реНрддрд╡рдорд╛ рдХрд╛рдо рд╕реБрд░реБ рдЧрд░реНрдиреБ рдЕрдШрд┐ "рдорд╛рд░рд┐рдПрдХрд╛" рд╣реБрдиреНрдЫрдиреН, рд╡рд╛ рддрд┐рдиреАрд╣рд░реВ рд▓рд╛рдореЛ рд╕рдордпрдХреЛ рд▓рд╛рдЧрд┐ рдЧрддрд┐рд░реЛрдзрдорд╛ рд╕рдорд╛рдкреНрдд рд╣реБрдиреНрдЫрдиреНред рдирдпрд╛рдБ рдЪреЗрдХ (рдлрд┐рдЪрд░ рдЧреЗрдЯ рдорд╛рд░реНрдлрдд рд╕рдХреНрд╖рдо рднрдирд┐рдиреНрдЫ StartupProbeEnabled) рд░рджреНрдж рдЧрд░реНрджрдЫ - рд╡рд╛ рдмрд░реБ, рд╕реНрдердЧрд┐рдд рдЧрд░реНрджрдЫ - рдХреБрдиреИ рдкрдирд┐ рдЕрдиреНрдп рдЬрд╛рдБрдЪрдХреЛ рдкреНрд░рднрд╛рд╡ рдкреЛрдб рдЪрд▓реНрдиреЗ рд╕рдорд╛рдкреНрдд рдирднрдПрд╕рдореНрдоред рдпрд╕ рдХрд╛рд░рдгрд▓реЗ рдЧрд░реНрджрд╛, рд╕реБрд╡рд┐рдзрд╛рд▓рд╛рдИ рдореВрд▓ рд░реВрдкрдорд╛ рдмреЛрд▓рд╛рдЗрдПрдХреЛ рдерд┐рдпреЛ pod-Startup liveness-probe рд╣реЛрд▓реНрдбрдЕрдлред рд╕реБрд░реБ рд╣реБрди рд▓рд╛рдореЛ рд╕рдордп рд▓рд╛рдЧреНрдиреЗ рдкреЛрдбрд╣рд░реВрдХрд╛ рд▓рд╛рдЧрд┐, рддрдкрд╛рдИрдВрд▓реЗ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдЫреЛрдЯреЛ рд╕рдордп рдЕрдиреНрддрд░рд╛рд▓рд╣рд░реВрдорд╛ рд░рд╛рдЬреНрдпрд▓рд╛рдИ рдорддрджрд╛рди рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред

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

рд╕рдЮреНрдЬрд╛рд▓

Kubernetes 1.16 рдорд╛ рдкрд╣рд┐рд▓реЛ рдкрдЯрдХ (рдЕрд▓реНрдлрд╛ рд╕рдВрд╕реНрдХрд░рдгрдорд╛) рджреЗрдЦрд╛ рдкрд░реЗрдХрд╛ рджреБрдИ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдиреЗрдЯрд╡рд░реНрдХрд┐рдЩ рд╕реБрд╡рд┐рдзрд╛рд╣рд░реВ рд╣реБрдиреН:

  • рд╕рдорд░реНрдерди рджреЛрд╣реЛрд░реЛ рдиреЗрдЯрд╡рд░реНрдХ рд╕реНрдЯреНрдпрд╛рдХ - IPv4/IPv6 - рд░ рдкреЛрдбрд╣рд░реВ, рдиреЛрдбрд╣рд░реВ, рд╕реЗрд╡рд╛рд╣рд░реВрдХреЛ рд╕реНрддрд░рдорд╛ рдпрд╕рдХреЛ рд╕рдореНрдмрдиреНрдзрд┐рдд "рдмреБрдЭрд╛рдЗ"ред рдпрд╕рдорд╛ IPv4-to-IPv4 рд░ IPv6-to-IPv6 рдкреЛрдбрд╣рд░реВ рдмреАрдЪрдХреЛ рдЕрдиреНрддрд░рд╕рдЮреНрдЪрд╛рд▓рди, рдкреЛрдбрд╣рд░реВ рджреЗрдЦрд┐ рдмрд╛рд╣реНрдп рд╕реЗрд╡рд╛рд╣рд░реВ, рд╕рдиреНрджрд░реНрдн рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирд╣рд░реВ (рдмреНрд░рд┐рдЬ CNI, PTP CNI рд░ рд╣реЛрд╕реНрдЯ-рд╕реНрдерд╛рдиреАрдп IPAM рдкреНрд▓рдЧрдЗрдирд╣рд░реВ рднрд┐рддреНрд░), рд╕рд╛рдереИ рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдХреНрд▓рд╕реНрдЯрд░рд╣рд░реВ рдЪрд▓рд┐рд░рд╣реЗрдХреЛ рд░рд┐рднрд░реНрд╕ рдХрдореНрдкреНрдпрд╛рдЯрд┐рдмрд▓ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫред IPv4 рд╡рд╛ IPv6 рдорд╛рддреНрд░ред рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡рд┐рд╡рд░рдгрд╣рд░реВ рдЫрдиреН рдХреЗрдИрдкреА.

    рдкреЛрдбрд╣рд░реВрдХреЛ рд╕реВрдЪреАрдорд╛ рджреБрдИ рдкреНрд░рдХрд╛рд░рдХрд╛ IP рдареЗрдЧрд╛рдирд╛рд╣рд░реВ (IPv4 рд░ IPv6) рдкреНрд░рджрд░реНрд╢рди рдЧрд░реНрдиреЗ рдПрдЙрдЯрд╛ рдЙрджрд╛рд╣рд░рдг:

    kube-master# kubectl get pods -o wide
    NAME               READY     STATUS    RESTARTS   AGE       IP                          NODE
    nginx-controller   1/1       Running   0          20m       fd00:db8:1::2,192.168.1.3   kube-minion-1
    kube-master#

  • Endpoint рдХреЛ рд▓рд╛рдЧрд┐ рдирдпрд╛рдБ API - EndpointSlice APIред рдпрд╕рд▓реЗ рдХрдиреНрдЯреНрд░реЛрд▓-рдкреНрд▓реЗрди (apisserver, etcd, endpoints-controller, kube-proxy) рдорд╛ рд╡рд┐рднрд┐рдиреНрди рдХрдореНрдкреЛрдиреЗрдиреНрдЯрд╣рд░реВрд▓рд╛рдИ рдЕрд╕рд░ рдЧрд░реНрдиреЗ рдЕрд╡рд╕реНрдерд┐рдд Endpoint API рдХреЛ рдкреНрд░рджрд░реНрд╢рди/рд╕реНрдХреЗрд▓реЗрдмрд┐рд▓рд┐рдЯреА рд╕рдорд╕реНрдпрд╛рд╣рд░реВ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрдЫред рдирдпрд╛рдБ API рдбрд┐рд╕реНрдХрд╡рд░реА рдПрдкреАрдЖрдИ рд╕рдореВрд╣рдорд╛ рдердкрд┐рдиреЗрдЫ рд░ рд╣рдЬрд╛рд░реМрдВ рдиреЛрдбрд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рднрдПрдХреЛ рдХреНрд▓рд╕реНрдЯрд░рдорд╛ рдкреНрд░рддреНрдпреЗрдХ рд╕реЗрд╡рд╛рдорд╛ рджрд╢реМрдВ рд╣рдЬрд╛рд░ рдмреНрдпрд╛рдХрдЗрдиреНрдб рдПрдиреНрдбрдкреЛрдЗрдиреНрдЯрд╣рд░реВ рд╕реЗрд╡рд╛ рдЧрд░реНрди рд╕рдХреНрд╖рдо рд╣реБрдиреЗрдЫред рдпреЛ рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐, рдкреНрд░рддреНрдпреЗрдХ рд╕реЗрд╡рд╛ N рд╡рд╕реНрддреБрд╣рд░реВрдорд╛ рдореНрдпрд╛рдк рдЧрд░рд┐рдПрдХреЛ рдЫ EndpointSlice, рдЬрд╕рдХреЛ рдкреНрд░рддреНрдпреЗрдХрдорд╛ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд░реВрдкрдорд╛ 100 рднрдиреНрджрд╛ рдмрдвреА рдЕрдиреНрддреНрдп рдмрд┐рдиреНрджреБрд╣рд░реВ рдЫреИрдирдиреН (рдорд╛рди рдХрдиреНрдлрд┐рдЧрд░ рдпреЛрдЧреНрдп рдЫ)ред EndpointSlice API рд▓реЗ рдпрд╕рдХреЛ рднрд╡рд┐рд╖реНрдпрдХреЛ рд╡рд┐рдХрд╛рд╕рдХреЛ рд▓рд╛рдЧрд┐ рдЕрд╡рд╕рд░рд╣рд░реВ рдкрдирд┐ рдкреНрд░рджрд╛рди рдЧрд░реНрдиреЗрдЫ: рдкреНрд░рддреНрдпреЗрдХ рдкреЛрдбрдХреЛ рд▓рд╛рдЧрд┐ рдмрд╣реБ тАЛтАЛрдЖрдИрдкреА рдареЗрдЧрд╛рдирд╛рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди, рдЕрдиреНрддрд┐рдо рдмрд┐рдиреНрджреБрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдирдпрд╛рдБ рд░рд╛рдЬреНрдпрд╣рд░реВ (рдорд╛рддреНрд░ рд╣реЛрдЗрди Ready ╨╕ NotReady), рдЕрдиреНрддрд┐рдо рдмрд┐рдиреНрджреБрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдЧрддрд┐рд╢реАрд▓ рд╕рдмрд╕реЗрдЯрд┐рдЩред

рдкрдЫрд┐рд▓реНрд▓реЛ рд╡рд┐рдореЛрдЪрдирдорд╛ рдкреНрд░рд╕реНрддреБрдд рдЧрд░рд┐рдПрдХреЛ рдмреАрдЯрд╛ рд╕рдВрд╕реНрдХрд░рдгрдорд╛ рдкреБрдЧреЗрдХреЛ рдЫ рдлрд╛рдЗрдирд▓рд╛рдЗрдЬрд░, рдирд╛рдо рджрд┐рдЗрдПрдХреЛ service.kubernetes.io/load-balancer-cleanup рд░ рдкреНрд░рдХрд╛рд░ рд╕рдВрдЧ рдкреНрд░рддреНрдпреЗрдХ рд╕реЗрд╡рд╛ рд╕рдВрд▓рдЧреНрди LoadBalancerред рдпрд╕реНрддреЛ рд╕реЗрд╡рд╛ рдореЗрдЯрд╛рдЙрдиреЗ рд╕рдордпрдорд╛, рдпрд╕рд▓реЗ рд╕рдмреИ рд╕рд╛рдиреНрджрд░реНрднрд┐рдХ рдмреНрдпрд╛рд▓реЗрдиреНрд╕рд░ рд╕реНрд░реЛрддрд╣рд░реВрдХреЛ "рд╕рдлрд╛рдИ" рдкреВрд░рд╛ рдирднрдПрд╕рдореНрдо рд╕реНрд░реЛрддрдХреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдореЗрдЯрд╛рдЙрди рд░реЛрдХреНрдЫред

рдПрдкреАрдЖрдИ рдореЗрд╕рд┐рдирд░реА

рд╡рд╛рд╕реНрддрд╡рд┐рдХ "рд╕реНрдерд┐рд░реАрдХрд░рдг рдорд╛рдЗрд▓рд╕реНрдЯреЛрди" Kubernetes API рд╕рд░реНрднрд░рдХреЛ рдХреНрд╖реЗрддреНрд░рдорд╛ рдЫ рд░ рдпрд╕рдХреЛ рд╕рд╛рде рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛ред рдпреЛ рдзреЗрд░реИ рд╣рджрд╕рдореНрдо рдзрдиреНрдпрд╡рд╛рдж рднрдпреЛ рд╕реНрдерд┐рд░ рд╕реНрдерд┐рддрд┐рдорд╛ рд╕реНрдерд╛рдирд╛рдиреНрддрд░рдг рдЧрд░реНрджреИ рдЬрд╕рд▓рд╛рдИ рд╡рд┐рд╢реЗрд╖ рдкрд░рд┐рдЪрдп рдЖрд╡рд╢реНрдпрдХ рдЫреИрди CustomResourceDefinitions (CRD), рдЬрд╕рдорд╛ Kubernetes 1.7 (рд░ рдпреЛ рдЬреБрди 2017 рд╣реЛ!) рдХреЛ рдЯрд╛рдврд╛рдХрд╛ рджрд┐рдирд╣рд░реВ рджреЗрдЦрд┐ рдмрд┐рдЯрд╛ рд╕реНрдерд┐рддрд┐ рднрдПрдХреЛ рдЫред рд╕рдорд╛рди рд╕реНрдерд┐рд░рддрд╛ рд╕рдореНрдмрдиреНрдзрд┐рдд рд╕реБрд╡рд┐рдзрд╛рд╣рд░реВрдорд╛ рдЖрдпреЛ:

  • "рдЙрдк-рд╕реНрд░реЛрддрд╣рд░реВ" рд╕рдВрдЧ /status ╨╕ /scale CustomResources рдХреЛ рд▓рд╛рдЧрд┐;
  • рд░реВрдкрд╛рдиреНрддрд░рдг рдмрд╛рд╣реНрдп рд╡реЗрдмрд╣реБрдХрдорд╛ рдЖрдзрд╛рд░рд┐рдд CRD рдХреЛ рд▓рд╛рдЧрд┐ рд╕рдВрд╕реНрдХрд░рдгрд╣рд░реВ;
  • рднрд░реНрдЦрд░реИ рдкреНрд░рд╕реНрддреБрдд (K8s 1.15 рдорд╛) рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдорд╛рдирд╣рд░реВ (рдбрд┐рдлрд▓реНрдЯ) рд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХреНрд╖реЗрддреНрд░ рд╣рдЯрд╛рдЙрдиреЗ (рдЫрд╛рдБрдЯреНрдиреЗ) CustomResources рдХреЛ рд▓рд╛рдЧрд┐;
  • рдореМрдХрд╛ рд╕рд░реНрднрд░ рд╕рд╛рдЗрдбрдорд╛ CRD рд╕реНрд░реЛрддрд╣рд░реВ рдорд╛рдиреНрдп рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреЗ OpenAPI рдХрд╛рдЧрдЬрд╛рддрд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рдЧрд░реНрди OpenAPI v3 рд╕реНрдХреАрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджреИред

рдЕрд░реНрдХреЛ рд╕рдВрдпрдиреНрддреНрд░ рдЬреБрди рд▓рд╛рдореЛ рд╕рдордпрджреЗрдЦрд┐ Kubernetes рдкреНрд░рд╢рд╛рд╕рдХрд╣рд░реВрд▓рд╛рдИ рдкрд░рд┐рдЪрд┐рдд рднрдПрдХреЛ рдЫ: рдкреНрд░рд╡реЗрд╢ рд╡реЗрдмрд╣реБрдХ - рдкрдирд┐ рд▓рд╛рдореЛ рд╕рдордп (K8s 1.9 рджреЗрдЦрд┐) рдХреЛ рд▓рд╛рдЧрд┐ рдмреАрдЯрд╛ рд╕реНрдерд┐рддрд┐рдорд╛ рд░рд╣реНрдпреЛ рд░ рдЕрдм рд╕реНрдерд┐рд░ рдШреЛрд╖рд┐рдд рдЧрд░рд┐рдПрдХреЛ рдЫред

рджреБрдИ рдЕрдиреНрдп рд╕реБрд╡рд┐рдзрд╛рд╣рд░реВ рдмрд┐рдЯрд╛рдорд╛ рдкреБрдЧреЗрдХрд╛ рдЫрдиреН: рд╕рд░реНрднрд░-рд╕рд╛рдЗрдб рд▓рд╛рдЧреВ ╨╕ рдмреБрдХрдорд╛рд░реНрдХрд╣рд░реВ рд╣реЗрд░реНрдиреБрд╣реЛрд╕реН.

рд░ рдЕрд▓реНрдлрд╛ рд╕рдВрд╕реНрдХрд░рдг рдорд╛ рдорд╛рддреНрд░ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╡реАрдирддрд╛ рдерд┐рдпреЛ рдЕрд╕реНрд╡реАрдХрд╛рд░ рджреЗрдЦрд┐ SelfLink - рдПрдХ рд╡рд┐рд╢реЗрд╖ URI рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╡рд╕реНрддреБ рдХреЛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рд░ рдХреЛ рднрд╛рдЧ рд╣реБрдиреБ ObjectMeta ╨╕ ListMeta (рдЕрд░реНрдерд╛рдд Kubernetes рдорд╛ рдХреБрдиреИ рдкрдирд┐ рд╡рд╕реНрддреБ рдХреЛ рднрд╛рдЧ)ред рдХрд┐рди рдЫреЛрдбреНрджреИрдЫрдиреН ? рд╕рд░рд▓ рддрд░рд┐рдХрд╛рдорд╛ рдкреНрд░реЗрд░рдгрд╛ рдЖрд╡рд╛рдЬ рдпрд╕ рдХреНрд╖реЗрддреНрд░рдХреЛ рд▓рд╛рдЧрд┐ рд╡рд╛рд╕реНрддрд╡рд┐рдХ (рдЕрддреНрдпрдзрд┐рдХ) рдХрд╛рд░рдгрд╣рд░реВрдХреЛ рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ рдЕрдЭреИ рдЕрд╡рд╕реНрдерд┐рдд рдЫред рдЕрдзрд┐рдХ рдФрдкрдЪрд╛рд░рд┐рдХ рдХрд╛рд░рдгрд╣рд░реВ рдкреНрд░рджрд░реНрд╢рди рдЕрдиреБрдХреВрд▓рди рдЧрд░реНрди (рдЕрдирд╛рд╡рд╢реНрдпрдХ рдХреНрд╖реЗрддреНрд░ рд╣рдЯрд╛рдПрд░) рд░ рдЬреЗрдиреЗрд░рд┐рдХ-рдПрдкрд┐рд╕рд░реНрднрд░рдХреЛ рдХрд╛рдорд▓рд╛рдИ рд╕рд░рд▓ рдмрдирд╛рдЙрдирдХрд╛ рд▓рд╛рдЧрд┐ рд╣реЛ, рдЬреБрди рдпрд╕реНрддреЛ рдХреНрд╖реЗрддреНрд░рд▓рд╛рдИ рд╡рд┐рд╢реЗрд╖ рддрд░рд┐рдХрд╛рдорд╛ рд╣реНрдпрд╛рдиреНрдбрд▓ рдЧрд░реНрди рдмрд╛рдзреНрдп рдкрд╛рд░рд┐рдПрдХреЛ рдЫ (рдпреЛ рдорд╛рддреНрд░ рдХреНрд╖реЗрддреНрд░ рд╣реЛ рдЬреБрди рд╡рд╕реНрддреБрдХреЛ рдареАрдХ рдЕрдЧрд╛рдбрд┐ рд╕реЗрдЯ рдЧрд░рд┐рдПрдХреЛ рдЫред рдХреНрд░рдордмрджреНрдз рдЫ)ред рд╕рд╛рдБрдЪреЛ рдЕрдкреНрд░рдЪрд▓рд┐рддрддрд╛ (рдмреАрдЯрд╛ рднрд┐рддреНрд░) SelfLink Kubernetes рд╕рдВрд╕реНрдХрд░рдг 1.20, рд░ рдЕрдиреНрддрд┐рдо - 1.21 рджреНрд╡рд╛рд░рд╛ рд╣реБрдиреЗрдЫред

рдбрд╛рдЯрд╛ рднрдгреНрдбрд╛рд░рдг

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

  • рдкрд╣рд┐рд▓реЛ рдкрдЯрдХ (рдЕрд▓реНрдлрд╛ рд╕рдВрд╕реНрдХрд░рдгрдорд╛) рджреЗрдЦрд╛ рдкрд░реНтАНрдпреЛ Windows рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдиреЛрдбрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ CSI рдкреНрд▓рдЧрдЗрди рд╕рдорд░реНрдерди: рднрдгреНрдбрд╛рд░рдгрдХреЛ рд╕рд╛рде рдХрд╛рдо рдЧрд░реНрдиреЗ рд╣рд╛рд▓рдХреЛ рддрд░рд┐рдХрд╛рд▓реЗ рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдХреЛрд░рдорд╛ рдЗрди-рдЯреНрд░реА рдкреНрд▓рдЧрдЗрдирд╣рд░реВ рд░ рдорд╛рдЗрдХреНрд░реЛрд╕рдлреНрдЯрдмрд╛рдЯ Powershell рдорд╛ рдЖрдзрд╛рд░рд┐рдд FlexVolume рдкреНрд▓рдЧрдЗрдирд╣рд░реВ рдкрдирд┐ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдЧрд░реНрдиреЗрдЫ;

    Kubernetes 1.16: рдореБрдЦреНрдп рдЖрд╡рд┐рд╖реНрдХрд╛рд░рд╣рд░реВрдХреЛ рд╕рд┐рдВрд╣рд╛рд╡рд▓реЛрдХрди
    Windows рдХреЛ рд▓рд╛рдЧрд┐ Kubernetes рдорд╛ CSI рдкреНрд▓рдЧрдЗрдирд╣рд░реВ рд▓рд╛рдЧреВ рдЧрд░реНрдиреЗ рдпреЛрдЬрдирд╛

  • рдореМрдХрд╛ CSI рднреЛрд▓реНрдпреБрдорд╣рд░реВ рд░рд┐рд╕рд╛рдЗрдЬ рдЧрд░реНрджреИ, K8s 1.12 рдорд╛ рдлрд┐рд░реНрддрд╛ рдкреЗрд╢ рдЧрд░рд┐рдПрдХреЛ, рдмрд┐рдЯрд╛ рд╕рдВрд╕реНрдХрд░рдгрдорд╛ рдмрдвреЗрдХреЛ рдЫ;
  • рдПрдХ рд╕рдорд╛рди "рдкреНрд░рдореЛрд╢рди" (рдЕрд▓реНрдлрд╛ рджреЗрдЦрд┐ рдмреАрдЯрд╛ рд╕рдореНрдо) рд╕реНрдерд╛рдиреАрдп рдЕрд▓реНрдкрдХрд╛рд▓рд┐рдХ рднреЛрд▓реНрдпреБрдорд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди CSI рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╛рдкреНрдд рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛ (CSI рдЗрдирд▓рд╛рдЗрди рднреЛрд▓реНрдпреБрдо рд╕рдорд░реНрдерди).

Kubernetes рдХреЛ рдЕрдШрд┐рд▓реНрд▓реЛ рд╕рдВрд╕реНрдХрд░рдг рдорд╛ рдкреНрд░рд╕реНрддреБрдд рднреЛрд▓реНрдпреБрдо рдХреНрд▓реЛрдирд┐рдЩ рдкреНрд░рдХрд╛рд░реНрдп (рд╡рд┐рджреНрдпрдорд╛рди PVC рдХреЛ рд░реВрдкрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджреИ DataSource рдирдпрд╛рдБ PVC рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди) рд▓реЗ рдЕрдм рдмрд┐рдЯрд╛ рд╕реНрдерд┐рддрд┐ рдкреНрд░рд╛рдкреНрдд рдЧрд░реЗрдХреЛ рдЫред

рдЕрдиреБрд╕реВрдЪреАрдХрд░реНрддрд╛

рддрд╛рд▓рд┐рдХрд╛рдорд╛ рджреБрдИ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ (рджреБрдмреИ рдЕрд▓реНрдлрд╛рдорд╛):

  • EvenPodsSpreading - рдЕрд╡рд╕рд░ рд▓реЛрдбрдХреЛ "рдЙрдЪрд┐рдд рд╡рд┐рддрд░рдг" рдХреЛ рд▓рд╛рдЧрд┐ рддрд╛рд░реНрдХрд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдПрдХрд╛рдЗрд╣рд░реВрдХреЛ рд╕рдЯреНрдЯрд╛ рдкреЛрдбрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрд╣реЛрд╕реН (рдЬрд╕реНрддреИ рдбрд┐рдкреНрд▓реЛрдЗрдореЗрдиреНрдЯ рд░ рд░реЗрдкреНрд▓рд┐рдХрд╛рд╕реЗрдЯ) рд░ рдпреЛ рд╡рд┐рддрд░рдг рд╕рдорд╛рдпреЛрдЬрди (рдХрдбрд╛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╡рд╛ рдирд░рдо рдЕрд╡рд╕реНрдерд╛рдХреЛ рд░реВрдкрдорд╛, рдЕрд░реНрдерд╛рддреН рдкреНрд░рд╛рдердорд┐рдХрддрд╛)ред рд╕реБрд╡рд┐рдзрд╛рд▓реЗ рдпреЛрдЬрдирд╛рдмрджреНрдз рдкреЛрдбрд╣рд░реВрдХреЛ рдЕрд╡рд╕реНрдерд┐рдд рд╡рд┐рддрд░рдг рдХреНрд╖рдорддрд╛рд╣рд░реВ рд╡рд┐рд╕реНрддрд╛рд░ рдЧрд░реНрдиреЗрдЫ, рд╣рд╛рд▓ рд╡рд┐рдХрд▓реНрдкрд╣рд░реВрджреНрд╡рд╛рд░рд╛ рд╕реАрдорд┐рдд рдЫ PodAffinity ╨╕ PodAntiAffinity, рдпрд╕ рдорд╛рдорд┐рд▓рд╛рдорд╛ рдкреНрд░рд╢рд╛рд╕рдХрд╣рд░реВрд▓рд╛рдИ рд░рд╛рдореНрд░реЛ рдирд┐рдпрдиреНрддреНрд░рдг рджрд┐рдБрджреИ, рдЬрд╕рдХреЛ рдЕрд░реНрде рд░рд╛рдореНрд░реЛ рдЙрдЪреНрдЪ рдЙрдкрд▓рдмреНрдзрддрд╛ рд░ рдЕрдиреБрдХреВрд▓рд┐рдд рд╕реНрд░реЛрдд рдЦрдкрддред рд╡рд┐рд╡рд░рдг - рдорд╛ рдХреЗрдИрдкреА.
  • рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрд╣реЛрд╕реН рдмреЗрд╕реНрдЯрдлрд┐рдЯ рдиреАрддрд┐ ╨▓ RequestedToCapacityRatio рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдкреНрд░рдХрд╛рд░реНрдп рдкреЛрдб рдпреЛрдЬрдирд╛ рдХреЛ рд╕рдордпрдорд╛, рдЬрд╕рд▓реЗ рдЕрдиреБрдорддрд┐ рджрд┐рдиреЗрдЫ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрд╣реЛрд╕реН рдмрд┐рди рдкреНрдпрд╛рдХрд┐рдЩ ("рдХрдиреНрдЯреЗрдирд░рд╣рд░реВрдорд╛ рдкреНрдпрд╛рдХрд┐рдЩ") рджреБрд╡реИ рдЖрдзрд╛рд░рднреВрдд рд╕реНрд░реЛрддрд╣рд░реВ (рдкреНрд░реЛрд╕реЗрд╕рд░, рдореЗрдореЛрд░реА) рд░ рд╡рд┐рд╕реНрддрд╛рд░рд┐рддрд╣рд░реВ (рдЬрд╕реНрддреИ GPU) рдХреЛ рд▓рд╛рдЧрд┐ред рдердк рд╡рд┐рд╡рд░рдгрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐, рд╣реЗрд░реНрдиреБрд╣реЛрд╕реН рдХреЗрдИрдкреА.

    Kubernetes 1.16: рдореБрдЦреНрдп рдЖрд╡рд┐рд╖реНрдХрд╛рд░рд╣рд░реВрдХреЛ рд╕рд┐рдВрд╣рд╛рд╡рд▓реЛрдХрди
    рд╢реЗрдбреНрдпреБрд▓рд┐рдВрдЧ рдкреЛрдбрд╣рд░реВ: рдЙрддреНрддрдо рдлрд┐рдЯ рдиреАрддрд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБ рдЕрдШрд┐ (рдбрд┐рдлрд▓реНрдЯ рд╢реЗрдбреНрдпреВрд▓рд░ рдорд╛рд░реНрдлрдд) рд░ рдпрд╕рдХреЛ рдкреНрд░рдпреЛрдЧрдХреЛ рд╕рд╛рде (рд╢реЗрдбреНрдпреБрд▓рд░ рд╡рд┐рд╕реНрддрд╛рд░рдХ рдорд╛рд░реНрдлрдд)

рдпрд╕рдмрд╛рд╣реЗрдХ, рдкреНрд░рд╕реНрддреБрдд рдореБрдЦреНрдп Kubernetes рд╡рд┐рдХрд╛рд╕ рд░реВрдЦ (рд░реБрдЦ рдмрд╛рд╣рд┐рд░) рдмрд╛рд╣рд┐рд░ рдЖрдлреНрдиреЛ рдЖрдлреНрдиреИ рдЕрдиреБрд╕реВрдЪрдХ рдкреНрд▓рдЧрдЗрдирд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛ред

рдЕрдиреНрдп рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реБ

Kubernetes 1.16 рд░рд┐рд▓реАрдЬ рдорд╛ рдкрдирд┐ рдпреЛ рдиреЛрдЯ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ рд▓рд╛рдЧрд┐ рдкрд╣рд▓ рд▓реНрдпрд╛рдЙрдиреЗ рдЙрдкрд▓рдмреНрдз рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдкреВрд░реНрдг рдХреНрд░рдордорд╛, рд╡рд╛ рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рд░реВрдкрдорд╛, рдЕрдиреБрд╕рд╛рд░ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдирд┐рдпрдорд╣рд░реВ K8s рдЗрдиреНрд╕реНрдЯреНрд░реБрдореЗрдиреНрдЯреЗрд╕рдирдорд╛ред рддрд┐рдиреАрд╣рд░реВ рдзреЗрд░реИ рд╣рджрд╕рдореНрдо рд╕рдореНрдмрдиреНрдзрд┐рддрдорд╛ рднрд░ рдкрд░реНрдЫрдиреН рдкреНрд░реЛрдореЗрдерд┐рдпрд╕ рджрд╕реНрддрд╛рд╡реЗрдЬред рд╡рд┐рднрд┐рдиреНрди рдХрд╛рд░рдгрд╣рд░реВрдХрд╛ рд▓рд╛рдЧрд┐ рд╡рд┐рд╕рдВрдЧрддрд┐рд╣рд░реВ рджреЗрдЦрд╛ рдкрд░реНтАНрдпреЛ (рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдХреЗрд╣реА рдореЗрдЯреНрд░рд┐рдХрд╣рд░реВ рд╣рд╛рд▓рдХреЛ рдирд┐рд░реНрджреЗрд╢рдирд╣рд░реВ рджреЗрдЦрд╛ рдкрд░реНрдиреБ рдЕрдШрд┐ рдорд╛рддреНрд░ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛ), рд░ рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реВрд▓реЗ рдирд┐рд░реНрдгрдп рдЧрд░реЗ рдХрд┐ рдпреЛ рд╕рдмреИ рдХреБрд░рд╛рд▓рд╛рдИ рдПрдХ рдорд╛рдирдХрдорд╛ рд▓реНрдпрд╛рдЙрдиреЗ рд╕рдордп рд╣реЛ, "рдмрд╛рдБрдХреА рдкреНрд░реЛрдореЗрдерд┐рдпрд╕ рдЗрдХреЛрд╕рд┐рд╕реНрдЯрдордХреЛ рдЕрдиреБрд░реВрдкред" рдпрд╕ рдкрд╣рд▓рдХреЛ рд╣рд╛рд▓рдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЕрд▓реНрдлрд╛ рд╕реНрдерд┐рддрд┐рдорд╛ рдЫ, рдЬрд╕рд▓рд╛рдИ рдХреНрд░рдорд╢рдГ рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдХреЛ рдкрдЫрд┐рд▓реНрд▓рд╛ рд╕рдВрд╕реНрдХрд░рдгрд╣рд░реВрдорд╛ рдмрд┐рдЯрд╛ (рез.резрен) рд░ рд╕реНрдерд┐рд░ (рез.резрео) рдорд╛ рдкреНрд░рд╡рд░реНрджреНрдзрди рдЧрд░рд┐рдиреЗрдЫред

рд╕рд╛рдереИ, рдирд┐рдореНрди рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ рдиреЛрдЯ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ:

  • рд╡рд┐рдиреНрдбреЛрдЬ рд╕рдорд░реНрдерди рд╡рд┐рдХрд╛рд╕ ╤Б рдЙрдкрд╕реНрдерд┐рддрд┐ рдпреЛ OS (рдЕрд▓реНрдлрд╛ рд╕рдВрд╕реНрдХрд░рдг) рдХреЛ рд▓рд╛рдЧрд┐ Kubeadm рдЙрдкрдпреЛрдЧрд┐рддрд╛рд╣рд░реВ, рдЕрд╡рд╕рд░ RunAsUserName рд╡рд┐рдиреНрдбреЛрдЬ рдХрдиреНрдЯреЗрдирд░рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ (рдЕрд▓реНрдлрд╛ рд╕рдВрд╕реНрдХрд░рдг), рд╕реБрдзрд╛рд░ рд╕рдореВрд╣ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рд╕реЗрд╡рд╛ рдЦрд╛рддрд╛ (gMSA) рдмрд┐рдЯрд╛ рд╕рдВрд╕реНрдХрд░рдг рд╕рдореНрдо рд╕рдорд░реНрдерди, рд╕рдорд░реНрдерди vSphere рднреЛрд▓реНрдпреБрдорд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдорд╛рдЙрдиреНрдЯ/рд╕рдВрд▓рдЧреНрди рдЧрд░реНрдиреБрд╣реЛрд╕реНред
  • рд░рд┐рд╕рд╛рдЗрдХрд▓ API рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рд╣рд░реВрдорд╛ рдбрд╛рдЯрд╛ рд╕рдЩреНрдХреБрдЪрди рддрдВрддреНрд░ред рдкрд╣рд┐рд▓реЗ, рдпреА рдЙрджреНрджреЗрд╢реНрдпрд╣рд░реВрдХрд╛ рд▓рд╛рдЧрд┐ HTTP рдлрд┐рд▓реНрдЯрд░ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛ, рдЬрд╕рд▓реЗ рдпрд╕рд▓рд╛рдИ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд░реВрдкрдорд╛ рд╕рдХреНрд╖рдо рд╣реБрдирдмрд╛рдЯ рд░реЛрдХреНрди рдзреЗрд░реИ рдкреНрд░рддрд┐рдмрдиреНрдзрд╣рд░реВ рд▓рдЧрд╛рдПрдХреЛ рдерд┐рдпреЛред "рдкрд╛рд░рджрд░реНрд╢реА рдЕрдиреБрд░реЛрдз рд╕рдЩреНрдХреБрдЪрди" рдЕрдм рдХрд╛рдо рдЧрд░реНрджрдЫ: рдЧреНрд░рд╛рд╣рдХрд╣рд░реВ рдкрдард╛рдЙрдБрджреИ Accept-Encoding: gzip рд╣реЗрдбрд░рдорд╛, рддрд┐рдиреАрд╣рд░реВрд▓реЗ GZIP-рд╕рдВрдХреБрдЪрд┐рдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдЫрдиреН рдпрджрд┐ рдпрд╕рдХреЛ рдЖрдХрд╛рд░ 128 KB рдирд╛рдШреЗрдХреЛ рдЫред рдЧреЛ рдХреНрд▓рд╛рдЗрдиреНрдЯрд╣рд░реВрд▓реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдкрдорд╛ рдХрдореНрдкреНрд░реЗрд╕рди рд╕рдорд░реНрдерди рдЧрд░реНрджрдЫ (рдЖрд╡рд╢реНрдпрдХ рд╣реЗрдбрд░ рдкрдард╛рдЙрдБрджреИ), рддреНрдпрд╕реИрд▓реЗ рдЙрдиреАрд╣рд░реВрд▓реЗ рддреБрд░реБрдиреНрддреИ рдЯреНрд░рд╛рдлрд┐рдХрдорд╛ рдХрдореА рджреЗрдЦреНрдиреЗрдЫрдиреНред (рдЕрдиреНрдп рднрд╛рд╖рд╛рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдереЛрд░реИ рдкрд░рд┐рдорд╛рд░реНрдЬрди рдЖрд╡рд╢реНрдпрдХ рд╣реБрди рд╕рдХреНрдЫред)
  • рд╕рдореНрднрд╡ рднрдпреЛ рдмрд╛рд╣реНрдп рдореЗрдЯреНрд░рд┐рдХреНрд╕рдорд╛ рдЖрдзрд╛рд░рд┐рдд HPA рдмрд╛рдЯ/рд╢реВрдиреНрдп рдкреЛрдбрд╣рд░реВрдорд╛ рд╕реНрдХреЗрд▓ рдЧрд░реНрджреИред рдпрджрд┐ рддрдкрд╛рдЗрдБ рд╡рд╕реНрддреБрд╣рд░реВ/рдмрд╛рд╣реНрдп рдореЗрдЯреНрд░рд┐рдХреНрд╕рдорд╛ рдЖрдзрд╛рд░рд┐рдд рдорд╛рдкрди рдЧрд░реНрдиреБрд╣реБрдиреНрдЫ рднрдиреЗ, рдЬрдм рдХрд╛рд░реНрдпрднрд╛рд░рд╣рд░реВ рдирд┐рд╖реНрдХреНрд░рд┐рдп рд╣реБрдиреНрдЫрдиреН, рддрдкрд╛рдЗрдБ рд╕реНрд░реЛрддрд╣рд░реВ рдмрдЪрдд рдЧрд░реНрди рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдкрдорд╛ 0 рдкреНрд░рддрд┐рдХреГрддрд┐рд╣рд░реВрдорд╛ рдорд╛рдкрди рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред рдпреЛ рд╕реБрд╡рд┐рдзрд╛ рд╡рд┐рд╢реЗрд╖ рдЧрд░реА рдХрд╛рдорджрд╛рд░рд╣рд░реВрд▓реЗ GPU рд╕реНрд░реЛрддрд╣рд░реВ рдЕрдиреБрд░реЛрдз рдЧрд░реНрдиреЗ рдорд╛рдорд┐рд▓рд╛рд╣рд░реВрдХрд╛ рд▓рд╛рдЧрд┐ рдЙрдкрдпреЛрдЧреА рд╣реБрдиреБрдкрд░реНрджрдЫ, рд░ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░рдХрд╛ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдХрд╛рдорджрд╛рд░рд╣рд░реВрдХреЛ рд╕рдВрдЦреНрдпрд╛ рдЙрдкрд▓рдмреНрдз GPU рд╣рд░реВрдХреЛ рд╕рдВрдЦреНрдпрд╛ рднрдиреНрджрд╛ рдмрдвреА рдЫред
  • рдирдпрд╛рдБ рдЧреНрд░рд╛рд╣рдХ - k8s.io/client-go/metadata.Client - рд╡рд╕реНрддреБрд╣рд░реВрдорд╛ "рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд" рдкрд╣реБрдБрдЪрдХреЛ рд▓рд╛рдЧрд┐ред рдпреЛ рд╕рдЬрд┐рд▓реИ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдкреБрди: рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рдбрд┐рдЬрд╛рдЗрди рдЧрд░рд┐рдПрдХреЛ рд╣реЛ (рдЕрд░реНрдерд╛рддреН рдЙрдкрдЦрдгреНрдб metadata) рдХреНрд▓рд╕реНрдЯрд░ рд╕реНрд░реЛрддрд╣рд░реВрдмрд╛рдЯ рд░ рддрд┐рдиреАрд╣рд░реВрд╕рдБрдЧ рдлреЛрд╣реЛрд░ рд╕рдЩреНрдХрд▓рди рд░ рдХреЛрдЯрд╛ рд╕рдЮреНрдЪрд╛рд▓рдирд╣рд░реВ рдкреНрд░рджрд░реНрд╢рди рдЧрд░реНрдиреБрд╣реЛрд╕реНред
  • Kubernetes рдирд┐рд░реНрдорд╛рдг рдЧрд░реНрдиреБрд╣реЛрд╕реН рдЕрдм рддрдкрд╛рдИрдВ рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рдмрд┐рдирд╛ рд▓рд┐рдЧреЗрд╕реА ("рдмрд┐рд▓реНрдЯ-рдЗрди" рдЗрди-рдЯреНрд░реА) рдХреНрд▓рд╛рдЙрдб рдкреНрд░рджрд╛рдпрдХрд╣рд░реВ (рдЕрд▓реНрдлрд╛ рд╕рдВрд╕реНрдХрд░рдг)ред
  • kubeadm рдЙрдкрдпреЛрдЧрд┐рддрд╛рдорд╛ рдердкреЗ рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ (рдЕрд▓реНрдлрд╛ рд╕рдВрд╕реНрдХрд░рдг) рд╕рдЮреНрдЪрд╛рд▓рдирдХреЛ рд╕рдордпрдорд╛ рдЕрдиреБрдХреВрд▓рди рдкреНрдпрд╛рдЪрд╣рд░реВ рд▓рд╛рдЧреВ рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛ init, join ╨╕ upgradeред рдЭрдгреНрдбрд╛ рдХрд╕рд░реА рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рдмрд╛рд░реЗ рдердк рдЬрд╛рдиреНрдиреБрд╣реЛрд╕реН --experimental-kustomize, рдорд╛ рд╣реЗрд░реНрдиреБрд╣реЛрд╕реН рдХреЗрдИрдкреА.
  • Apiserver рдХреЛ рд▓рд╛рдЧрд┐ рдирдпрд╛рдБ рдЕрдиреНрдд рдмрд┐рдиреНрджреБ - readyz, - рддрдкрд╛рдИрдВрд▓рд╛рдИ рдпрд╕рдХреЛ рддрдпрд╛рд░реА рдмрд╛рд░реЗ рдЬрд╛рдирдХрд╛рд░реА рдирд┐рд░реНрдпрд╛рдд рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред API рд╕рд░реНрднрд░рдорд╛ рдкрдирд┐ рдЭрдгреНрдбрд╛ рдЫ --maximum-startup-sequence-duration, рддрдкрд╛рдИрдВрд▓рд╛рдИ рдпрд╕рдХреЛ рдкреБрди: рд╕реБрд░реБрд╣рд░реВ рд╡рд┐рдирд┐рдпрдорд┐рдд рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдБрджреИред
  • рджреБрдИ Azure рдХреЛ рд▓рд╛рдЧрд┐ рд╕реБрд╡рд┐рдзрд╛рд╣рд░реВ рд╕реНрдерд┐рд░ рдШреЛрд╖рд┐рдд: рд╕рдорд░реНрдерди рдЙрдкрд▓рдмреНрдзрддрд╛ рдХреНрд╖реЗрддреНрд░рд╣рд░реВ (рдЙрдкрд▓рдмреНрдзрддрд╛ рдХреНрд╖реЗрддреНрд░рд╣рд░реВ) рд░ рдХреНрд░рд╕ рд╕рдВрд╕рд╛рдзрди рд╕рдореВрд╣ (рдЖрд░рдЬреА)ред рдердк рд░реВрдкрдорд╛, Azure рдердкрд┐рдПрдХреЛ рдЫ:
  • AWS рдЕрд╣рд┐рд▓реЗ рдЫ рд╕рдорд░реНрдерди рд╡рд┐рдиреНрдбреЛрдЬрдорд╛ EBS рдХреЛ рд▓рд╛рдЧрд┐ рд░ рдЕрдиреБрдХреВрд▓рд┐рдд EC2 API рдХрд▓рд╣рд░реВ DescribeInstances.
  • рдХреБрдмреЗрдбрдо рдЕрдм рд╕реНрд╡рддрдиреНрддреНрд░ рдЫ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдЧрд░реНрдЫ CoreDNS рд╕рдВрд╕реНрдХрд░рдг рдЕрдкрдЧреНрд░реЗрдб рдЧрд░реНрджрд╛ CoreDNS рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рдиред
  • рдмрд╛рдЗрдирд░реАрд╣рд░реВ рдЖрджрд┐ рд╕рдореНрдмрдиреНрдзрд┐рдд рдбрдХрд░ рдЫрд╡рд┐рдорд╛ рдмрдиреЗрдХреЛ рд╡рд┐рд╢реНрд╡-рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдпреЛрдЧреНрдп, рдЬрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рд░реВрдЯ рдЕрдзрд┐рдХрд╛рд░рд╣рд░реВрдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдмрд┐рдирд╛ рдпреЛ рдЫрд╡рд┐ рдЪрд▓рд╛рдЙрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред рд╕рд╛рдереИ, рдЖрджрд┐ рдорд╛рдЗрдЧреНрд░реЗрд╕рди рдЫрд╡рд┐ рд░реЛрдХрд┐рдпреЛ etcd2 рд╕рдВрд╕реНрдХрд░рдг рд╕рдорд░реНрдердиред
  • ╨Т рдХреНрд▓рд╕реНрдЯрд░ рдЕрдЯреЛрд╕реНрдХреЗрд▓рд░ рез.резрем.реж рдЖрдзрд╛рд░ рдЫрд╡рд┐рдХреЛ рд░реВрдкрдорд╛ рдбрд┐рд╕реНрдЯреНрд░реЛрд▓реЗрд╕ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕реНрд╡рд┐рдЪ рдЧрд░рд┐рдпреЛ, рд╕реБрдзрд╛рд░рд┐рдПрдХреЛ рдкреНрд░рджрд░реНрд╢рди, рдирдпрд╛рдБ рдХреНрд▓рд╛рдЙрдб рдкреНрд░рджрд╛рдпрдХрд╣рд░реВ рдердкрд┐рдпреЛ (рдбрд┐рдЬрд┐рдЯрд▓ рдУрд╢рди, рдореНрдпрд╛рдЧреНрдирдо, рдкреНрдпрд╛рдХреЗрдЯ)ред
  • рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдПрдХреЛ/рдирд┐рд░реНрднрд░ рд╕рдлреНрдЯрд╡реЗрдпрд░рдорд╛ рдЕрджреНрдпрд╛рд╡рдзрд┐рдХрд╣рд░реВ: Go 1.12.9, etcd 3.3.15, CoreDNS 1.6.2ред

PS

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

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

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