рдиреЛрдВрдж. рдЕрдиреБрд╡рд╛рдж: рдпрд╛ рд▓реЗрдЦрд╛рдЪреЗ рд▓реЗрдЦрдХ рдкрд╛рдЗрдкрдЯреЗрд▓ рдпрд╛ рдЫреЛрдЯреНрдпрд╛ рдЭреЗрдХ рдХрдВрдкрдиреАрддреАрд▓ рдЕрднрд┐рдпрдВрддреЗ рдЖрд╣реЗрдд. рддреНрдпрд╛рдВрдиреА рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдХреНрд▓рд╕реНрдЯрд░реНрд╕рдЪреНрдпрд╛ рдСрдкрд░реЗрд╢рдирд╢реА рд╕рдВрдмрдВрдзрд┐рдд [рдХрдзреАрдХрдзреА рд╕рд╛рдорд╛рдиреНрдп, рдкрд░рдВрддреБ рддрд░реАрд╣реА] рдЕрддреНрдпрдВрдд рдЧрдВрднреАрд░ рд╕рдорд╕реНрдпрд╛ рдЖрдгрд┐ рдЧреИрд░рд╕рдордЬрд╛рдВрдЪреА рдПрдХ рдЕрджреНрднреБрдд рдпрд╛рджреА рддрдпрд╛рд░ рдХреЗрд▓реА.
Kubernetes рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рд╡рд░реНрд╖рд╛рдиреБрд╡рд░реНрд╖реЗ, рдЖрдореНрд╣реА рдореЛрдареНрдпрд╛ рд╕рдВрдЦреНрдпреЗрдиреЗ рдХреНрд▓рд╕реНрдЯрд░реНрд╕ (рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдЖрдгрд┐ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдирд╕рд▓реЗрд▓реЗ - GCP, AWS рдЖрдгрд┐ Azure рд╡рд░) рдХрд╛рдо рдХреЗрд▓реЗ рдЖрд╣реЗ. рдХрд╛рд▓рд╛рдВрддрд░рд╛рдиреЗ рдХрд╛рд╣реА рдЪреБрдХрд╛рдВрдЪреА рд╕рддрдд рдкреБрдирд░рд╛рд╡реГрддреНрддреА рд╣реЛрдд рдЕрд╕рд▓реНрдпрд╛рдЪреЗ рдЖрдордЪреНрдпрд╛ рд▓рдХреНрд╖рд╛рдд рдпреЗрдК рд▓рд╛рдЧрд▓реЗ. рддрдерд╛рдкрд┐, рдпрд╛рдд рдХреЛрдгрддреАрд╣реА рд▓рд╛рдЬ рдирд╛рд╣реА: рдЖрдореНрд╣реА рддреНрдпрд╛рдкреИрдХреА рдмрд╣реБрддреЗрдХ рд╕реНрд╡рддрдГ рдХреЗрд▓реЗ рдЖрд╣реЗрдд!
рд▓реЗрдЦрд╛рдд рд╕рд░реНрд╡рд╛рдд рд╕рд╛рдорд╛рдиреНрдп рддреНрд░реБрдЯреА рдЖрд╣реЗрдд рдЖрдгрд┐ рддреНрдпрд╛ рдХрд╢рд╛ рджреБрд░реБрд╕реНрдд рдХрд░рд╛рдпрдЪреНрдпрд╛ рд╣реЗ рджреЗрдЦреАрд▓ рдирдореВрдж рдХреЗрд▓реЗ рдЖрд╣реЗ.
1. рд╕рдВрд╕рд╛рдзрдиреЗ: рд╡рд┐рдирдВрддреНрдпрд╛ рдЖрдгрд┐ рдорд░реНрдпрд╛рджрд╛
рд╣рд╛ рдЖрдпрдЯрдо рдирд┐рд╢реНрдЪрд┐рддрдкрдгреЗ рд╕рд░реНрд╡рд╛рдд рдЬрд╡рд│рдЪреЗ рд▓рдХреНрд╖ рдЖрдгрд┐ рдпрд╛рджреАрддреАрд▓ рдкреНрд░рдердо рд╕реНрдерд╛рдирд╛рд╕ рдкрд╛рддреНрд░ рдЖрд╣реЗ.
CPU рд╡рд┐рдирдВрддреА рд╕рд╣рд╕рд╛ рдПрдХрддрд░ рдЕрдЬрд┐рдмрд╛рдд рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╛рд╣реА рдХрд┐рдВрд╡рд╛ рдЦреВрдк рдХрдореА рдореВрд▓реНрдп рдЖрд╣реЗ (рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдбрд╡рд░ рд╢рдХреНрдп рддрд┐рддрдХреНрдпрд╛ рд╢реЗрдВрдЧрд╛ рдареЗрд╡рдгреНрдпрд╛рд╕рд╛рдареА). рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ, рдиреЛрдбреНрд╕ рдУрд╡реНрд╣рд░рд▓реЛрдб рд╣реЛрддрд╛рдд. рдЙрдЪреНрдЪ рднрд╛рд░рд╛рдЪреНрдпрд╛ рдХрд╛рд│рд╛рдд, рдиреЛрдбрдЪреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╢рдХреНрддреА рдкреВрд░реНрдгрдкрдгреЗ рд╡рд╛рдкрд░рд▓реА рдЬрд╛рддреЗ рдЖрдгрд┐ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд░реНрдХрд▓реЛрдбрд▓рд╛ рдлрдХреНрдд рддреЗрдЪ рдорд┐рд│рддреЗ рдЬреЗ рддреНрдпрд╛рдиреЗ "рд╡рд┐рдирдВрддреА" рдХреЗрд▓реА рд╣реЛрддреА. CPU рдереНрд░реЙрдЯрд▓рд┐рдВрдЧ. рдпрд╛рдореБрд│реЗ рдНрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЗрдЯрдиреНрд╕реА, рдХрд╛рд▓рдмрд╛рд╣реНрдпрддрд╛ рдЖрдгрд┐ рдЗрддрд░ рдЕрдкреНрд░рд┐рдп рдкрд░рд┐рдгрд╛рдо рд╡рд╛рдврддрд╛рдд. (рдЖрдордЪреНрдпрд╛ рдЗрддрд░ рдЕрд▓реАрдХрдбреАрд▓ рднрд╛рд╖рд╛рдВрддрд░рд╛рдд рдпрд╛рдмрджреНрджрд▓ рдЕрдзрд┐рдХ рд╡рд╛рдЪрд╛: тАЬ
рд╕рд░реНрд╡реЛрддреНрддрдо рдкреНрд░рдпрддреНрди (рдЕрддреНрдпрдВрдд рдирд╛рд╣реА рд╢рд┐рдлрд╛рд░рд╕ рдХреЗрд▓реЗрд▓реЗ):
resources: {}
рдЕрддреНрдпрдВрдд рдХрдореА CPU рд╡рд┐рдирдВрддреА (рдЕрддреНрдпрдВрдд рдирд╛рд╣реА рд╢рд┐рдлрд╛рд░рд╕ рдХреЗрд▓реЗрд▓реЗ):
resources:
Requests:
cpu: "1m"
рджреБрд╕рд░реАрдХрдбреЗ, рдиреЛрдб рдкреНрд░реЛрд╕реЗрд╕рд░ рдкреВрд░реНрдгрдкрдгреЗ рд▓реЛрдб рдХреЗрд▓реЗрд▓рд╛ рдирд╕рд▓рд╛ рддрд░реАрд╣реА, CPU рдорд░реНрдпрд╛рджреЗрдЪреНрдпрд╛ рдЙрдкрд╕реНрдерд┐рддреАрдореБрд│реЗ рдкреЙрдбреНрд╕рджреНрд╡рд╛рд░реЗ рдШрдбреНрдпрд╛рд│рд╛рдЪреА рдЪрдХреНрд░реЗ рдЕрд╡рд╛рд╕реНрддрд╡ рд╡рдЧрд│рд▓реА рдЬрд╛рдК рд╢рдХрддрд╛рдд. рдкреБрдиреНрд╣рд╛, рдпрд╛рдореБрд│реЗ рд╡рд┐рд▓рдВрдм рд╡рд╛рдвреВ рд╢рдХрддреЛ. рдкреЕрд░рд╛рдореАрдЯрд░ рднреЛрд╡рддреА рд╡рд╛рдж рд╕реБрд░реВ рдЖрд╣реЗ CPU CFS рдХреЛрдЯрд╛ рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдирд▓ рдЖрдгрд┐ CPU рдереНрд░реЙрдЯрд▓рд┐рдВрдЧрдордзреНрдпреЗ рд╕реЗрдЯ рдорд░реНрдпрд╛рджреЗрдиреБрд╕рд╛рд░, рддрд╕реЗрдЪ CFS рдХреЛрдЯрд╛ рдЕрдХреНрд╖рдо рдХрд░рдгреЗ... рдЕрд░реЗрд░реЗ, CPU рдорд░реНрдпрд╛рджрд╛ рд╕реЛрдбрд╡рдгреНрдпрд╛рдкреЗрдХреНрд╖рд╛ рдЬрд╛рд╕реНрдд рд╕рдорд╕реНрдпрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░реВ рд╢рдХрддрд╛рдд. рдпрд╛рд╡рд┐рд╖рдпреА рдЕрдзрд┐рдХ рдорд╛рд╣рд┐рддреА рдЦрд╛рд▓реАрд▓ рд▓рд┐рдВрдХрд╡рд░ рдорд┐рд│реВ рд╢рдХреЗрд▓.
рдЕрддреНрдпрдзрд┐рдХ рдирд┐рд╡рдб (рдЕрддрд┐ рд╡рдЪрдирдмрджреНрдз) рд╕реНрдореГрддреА рд╕рдорд╕реНрдпрд╛ рдореЛрдареНрдпрд╛ рд╕рдорд╕реНрдпрд╛ рд╣реЛрдК рд╢рдХрддреЗ. CPU рдорд░реНрдпрд╛рджреЗрдкрд░реНрдпрдВрдд рдкреЛрд╣реЛрдЪрдгреЗ рдореНрд╣рдгрдЬреЗ рдШрдбреНрдпрд╛рд│рд╛рдЪреА рдЪрдХреНрд░реЗ рд╡рдЧрд│рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ, рддрд░ рдореЗрдорд░реА рдорд░реНрдпрд╛рджреЗрдкрд░реНрдпрдВрдд рдкреЛрд╣реЛрдЪрдгреЗ рдкреЙрдб рдорд╛рд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рддреБрдореНрд╣реА рдХрдзреА рдирд┐рд░реАрдХреНрд╖рдг рдХреЗрд▓реЗ рдЖрд╣реЗ OOMkill? рд╣реЛрдп, рдЖрдкрдг рдиреЗрдордХреЗ рддреЗрдЪ рдмреЛрд▓рдд рдЖрд╣реЛрдд.
рддреБрдореНрд╣рд╛рд▓рд╛ рд╣реЗ рдШрдбрдгреНрдпрд╛рдЪреА рд╢рдХреНрдпрддрд╛ рдХрдореА рдХрд░рд╛рдпрдЪреА рдЖрд╣реЗ рдХрд╛? рдореЗрдорд░реА рдЬрд╛рд╕реНрдд рдкреНрд░рдорд╛рдгрд╛рдд рд╡рд╛рдЯрдк рдХрд░реВ рдирдХрд╛ рдЖрдгрд┐ рдореЗрдорд░реА рд╡рд┐рдирдВрддреА рдорд░реНрдпрд╛рджреЗрдкрд░реНрдпрдВрдд рд╕реЗрдЯ рдХрд░реВрди рдЧреЕрд░рдВрдЯреАрдб QoS (рд╕реЗрд╡реЗрдЪреА рдЧреБрдгрд╡рддреНрддрд╛) рд╡рд╛рдкрд░рд╛ (рдЦрд╛рд▓реАрд▓ рдЙрджрд╛рд╣рд░рдгрд╛рдкреНрд░рдорд╛рдгреЗ). рдордзреНрдпреЗ рдпрд╛рдмрджреНрджрд▓ рдЕрдзрд┐рдХ рд╡рд╛рдЪрд╛
рдлреБрдЯрдгреНрдпрд╛рдпреЛрдЧреНрдп (OOM рдорд╛рд░рд▓реЗ рдЬрд╛рдгреНрдпрд╛рдЪреА рдЙрдЪреНрдЪ рд╢рдХреНрдпрддрд╛):
resources:
requests:
memory: "128Mi"
cpu: "500m"
limits:
memory: "256Mi"
cpu: 2
рд╣рдореА:
resources:
requests:
memory: "128Mi"
cpu: 2
limits:
memory: "128Mi"
cpu: 2
рд╕рдВрд╕рд╛рдзрдиреЗ рд╕реЗрдЯ рдХрд░рддрд╛рдирд╛ рд╕рдВрднрд╛рд╡реНрдпрдд: рдХрд╛рдп рдорджрдд рдХрд░реЗрд▓?
рдЪреНрдпрд╛ рдорджрддреАрдиреЗ рдореЗрдЯреНрд░рд┐рдХреНрд╕-рд╕рд░реНрд╡реНрд╣рд░ рддреБрдореНрд╣реА рд╕рдзреНрдпрд╛рдЪреНрдпрд╛ CPU рд╕рдВрд╕рд╛рдзрдирд╛рдЪрд╛ рд╡рд╛рдкрд░ рдЖрдгрд┐ рдкреЙрдбреНрд╕рджреНрд╡рд╛рд░реЗ рдореЗрдорд░реА рд╡рд╛рдкрд░ рдкрд╛рд╣реВ рд╢рдХрддрд╛ (рдЖрдгрд┐ рддреНрдпрд╛рдВрдЪреНрдпрд╛ рдЖрдд рдЕрд╕рд▓реЗрд▓реЗ рдХрдВрдЯреЗрдирд░). рдмрд╣реБрдзрд╛, рдЖрдкрдг рддреЗ рдЖрдзреАрдЪ рд╡рд╛рдкрд░рдд рдЖрд╣рд╛рдд. рдлрдХреНрдд рдЦрд╛рд▓реАрд▓ рдЖрджреЗрд╢ рдЪрд╛рд▓рд╡рд╛:
kubectl top pods
kubectl top pods --containers
kubectl top nodes
рддрдерд╛рдкрд┐, рддреЗ рдлрдХреНрдд рд╡рд░реНрддрдорд╛рди рд╡рд╛рдкрд░ рджрд░реНрд╢рд╡рддрд╛рдд. рд╣реЗ рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдкрд░рд┐рдорд╛рдгрд╛рдВрдЪреНрдпрд╛ рдХреНрд░рдорд╛рдЪреА рдЕрдВрджрд╛рдЬреЗ рдХрд▓реНрдкрдирд╛ рджреЗрдК рд╢рдХрддреЗ, рдкрд░рдВрддреБ рд╢реЗрд╡рдЯреА рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЕрд╕реЗрд▓ рдХрд╛рд▓рд╛рдВрддрд░рд╛рдиреЗ рдореЗрдЯреНрд░рд┐рдХреНрд╕рдордзреАрд▓ рдмрджрд▓рд╛рдВрдЪрд╛ рдЗрддрд┐рд╣рд╛рд╕ (рдкреНрд░рд╢реНрдирд╛рдВрдЪреА рдЙрддреНрддрд░реЗ рджреЗрдгреНрдпрд╛рд╕рд╛рдареА: тАЬрдкреАрдХ рд╕реАрдкреАрдпреВ рд▓реЛрдб рдХрд╛рдп рд╣реЛрддрд╛?тАЭ, тАЬрдХрд╛рд▓ рд╕рдХрд╛рд│реА рд▓реЛрдб рдХрд┐рддреА рд╣реЛрддрд╛?тАЭ, рдЗ.). рдпрд╛рд╕рд╛рдареА рддреБрдореНрд╣реА рд╡рд╛рдкрд░реВ рд╢рдХрддрд╛ Prometheus, рдбреЗрдЯрд╛рдбреЙрдЧ рдЖрдгрд┐ рдЗрддрд░ рд╕рд╛рдзрдиреЗ. рддреЗ рдлрдХреНрдд рдореЗрдЯреНрд░рд┐рдХреНрд╕-рд╕рд░реНрд╡реНрд╣рд░рдХрдбреВрди рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдорд┐рд│рд╡рддрд╛рдд рдЖрдгрд┐ рддреЗ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рддрд╛рдд рдЖрдгрд┐ рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рддреНрдпрд╛рдВрдирд╛ рдХреНрд╡реЗрд░реА рдХрд░реВ рд╢рдХрддреЛ рдЖрдгрд┐ рддреНрдпрд╛рдиреБрд╕рд╛рд░ рдкреНрд▓реЙрдЯ рдХрд░реВ рд╢рдХрддреЛ.
рд╕рдВрдЧрдгрдХреАрдп рд╢рдХреНрддреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддреЗрдиреЗ рд╡рд╛рдкрд░рдгреЗ рд╕реЛрдкреЗ рдХрд╛рдо рдирд╛рд╣реА. рд╣реЗ рд╕рд░реНрд╡ рд╡реЗрд│ рдЯреЗрдЯреНрд░рд┐рд╕ рдЦреЗрд│рдгреНрдпрд╛рд╕рд╛рд░рдЦреЗ рдЖрд╣реЗ. рддреБрдореНрд╣реА рдХрдореА рд╕рд░рд╛рд╕рд░реА рд╡рд╛рдкрд░рд╛рд╕рд╣ (~10% рдореНрд╣рдгрд╛) рдореЛрдЬрдгреА рдкреЙрд╡рд░рд╕рд╛рдареА рдЦреВрдк рдЬрд╛рд╕реНрдд рдкреИрд╕реЗ рджреЗрдд рдЕрд╕рд▓реНрдпрд╛рд╕, рдЖрдореНрд╣реА AWS Fargate рдХрд┐рдВрд╡рд╛ Virtual Kubelet рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдЙрддреНрдкрд╛рджрдиреЗ рдкрд╛рд╣рдгреНрдпрд╛рдЪреА рд╢рд┐рдлрд╛рд░рд╕ рдХрд░рддреЛ. рддреЗ рд╕рд░реНрд╡реНрд╣рд░рд▓реЗрд╕/рдкреЗ-рдкрд░-рд╡рд╛рдкрд░ рдмрд┐рд▓рд┐рдВрдЧ рдореЙрдбреЗрд▓рд╡рд░ рддрдпрд╛рд░ рдХреЗрд▓реЗ рдЖрд╣реЗрдд, рдЬреЗ рдЕрд╢рд╛ рдкрд░рд┐рд╕реНрдерд┐рддреАрдд рд╕реНрд╡рд╕реНрдд рдЕрд╕реВ рд╢рдХрддрд╛рдд.
2. рд╕рдЬреАрд╡рддрд╛ рдЖрдгрд┐ рддрддреНрдкрд░рддрд╛ рддрдкрд╛рд╕рдгреА
рдбреАрдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░, рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдордзреНрдпреЗ рдЬрд┐рд╡рдВрддрдкрдгрд╛ рдЖрдгрд┐ рддрдпрд╛рд░реА рддрдкрд╛рд╕рдгреЗ рд╕рдХреНрд╖рдо рдирд╛рд╣реАрдд. рдЖрдгрд┐ рдХрдзреА рдХрдзреА рддреЗ рдЪрд╛рд▓реВ рдХрд░рд╛рдпрд▓рд╛ рд╡рд┐рд╕рд░рддрд╛рдд...
рдкрд░рдВрддреБ рдШрд╛рддрдХ рддреНрд░реБрдЯреА рдЖрдврд│рд▓реНрдпрд╛рд╕ рддреБрдореНрд╣реА рд╕реЗрд╡рд╛ рд░реАрд╕реНрдЯрд╛рд░реНрдЯ рдХрд╢реА рдХрд░реВ рд╢рдХрддрд╛? рдЖрдгрд┐ рд▓реЛрдб рдмреЕрд▓рдиреНрд╕рд░рд▓рд╛ рдХрд╕реЗ рдХрд│рддреЗ рдХреА рдкреЙрдб рд░рд╣рджрд╛рд░реА рд╕реНрд╡реАрдХрд╛рд░рдгреНрдпрд╛рд╕ рддрдпрд╛рд░ рдЖрд╣реЗ? рдХрд┐рдВрд╡рд╛ рддреЗ рдЕрдзрд┐рдХ рд░рд╣рджрд╛рд░реА рд╣рд╛рддрд╛рд│реВ рд╢рдХрддреЗ?
рдпрд╛ рдЪрд╛рдЪрдгреНрдпрд╛ рд╕рд╣рд╕рд╛ рдПрдХрдореЗрдХрд╛рдВрд╢реА рдЧреЛрдВрдзрд│рд▓реЗрд▓реНрдпрд╛ рдЕрд╕рддрд╛рдд:
- рдЪреИрддрдиреНрдп тАФ тАЬрдЬрдЧрдгреНрдпрд╛рдЪреАтАЭ рддрдкрд╛рд╕рдгреА, рдЬреЗ рдкреЙрдб рдЕрдпрд╢рд╕реНрд╡реА рдЭрд╛рд▓реНрдпрд╛рд╕ рд░реАрд╕реНрдЯрд╛рд░реНрдЯ рдХрд░рддреЗ;
- рддрддреНрдкрд░рддрд╛ тАФ рддрддреНрдкрд░рддрд╛ рддрдкрд╛рд╕рдгреА, рдЬрд░ рддреЗ рдЕрдпрд╢рд╕реНрд╡реА рдЭрд╛рд▓реЗ, рддрд░ рддреЗ рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рд╕реЗрд╡реЗрдордзреВрди рдкреЙрдб рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░рддреЗ (рд╣реЗ рд╡рд╛рдкрд░реВрди рддрдкрд╛рд╕рд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ
kubectl get endpoints
) рдЖрдгрд┐ рдкреБрдвреАрд▓ рддрдкрд╛рд╕рдгреА рдпрд╢рд╕реНрд╡реАрд░реАрддреНрдпрд╛ рдкреВрд░реНрдг рд╣реЛрдИрдкрд░реНрдпрдВрдд рд░рд╣рджрд╛рд░реА рддреНрдпрд╛рдХрдбреЗ рдпреЗрдд рдирд╛рд╣реА.
рдпрд╛ рджреЛрдиреНрд╣реА рддрдкрд╛рд╕рдгреНрдпрд╛ рдкреЙрдбрдЪреНрдпрд╛ рд╕рдВрдкреВрд░реНрдг рдЬреАрд╡рди рдЪрдХреНрд░рд╛рджрд░рдореНрдпрд╛рди рд╕рд╛рджрд░ рдХреЗрд▓реЗ. рддреЗ рдЦреВрдк рдорд╣рддреНрд╡рд╛рдЪреЗ рдЖрд╣реЗ.
рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдЧреИрд░рд╕рдордЬ рдЕрд╕рд╛ рдЖрд╣реЗ рдХреА рд░реЗрдбрд┐рдиреЗрд╕ рдкреНрд░реЛрдмреНрд╕ рдлрдХреНрдд рд╕реНрдЯрд╛рд░реНрдЯрдЕрдкрд╡рд░ рдЪрд╛рд▓рд╡рд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд рдЬреЗрдгреЗрдХрд░реВрди рдмреЕрд▓рдиреНрд╕рд░рд▓рд╛ рдХрд│реВ рд╢рдХреЗрд▓ рдХреА рдкреЙрдб рддрдпрд╛рд░ рдЖрд╣реЗ (Ready
) рдЖрдгрд┐ рд░рд╣рджрд╛рд░реАрд╡рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рдгреЗ рд╕реБрд░реВ рдХрд░реВ рд╢рдХрддреЗ. рддрдерд╛рдкрд┐, рддреНрдпрд╛рдВрдЪреНрдпрд╛ рд╡рд╛рдкрд░рд╛рд╕рд╛рдареА рд╣рд╛ рдлрдХреНрдд рдПрдХ рдкрд░реНрдпрд╛рдп рдЖрд╣реЗ.
рдЖрдгрдЦреА рдПрдХ рдореНрд╣рдгрдЬреЗ рдкреЙрдбрд╡рд░реАрд▓ рд░рд╣рджрд╛рд░реА рдЬрд╛рд╕реНрдд рдЖрд╣реЗ рд╣реЗ рд╢реЛрдзрдгреНрдпрд╛рдЪреА рд╢рдХреНрдпрддрд╛ рдЖрд╣реЗ рдЖрдгрд┐ рддреЗ рдУрд╡реНрд╣рд░рд▓реЛрдб рдХрд░рддреЗ (рдХрд┐рдВрд╡рд╛ рдкреЙрдб рд╕рдВрд╕рд╛рдзрди-рдХреЗрдВрджреНрд░рд┐рдд рдЧрдгрдирд╛ рдХрд░рддреЗ). рдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд, рддрдпрд╛рд░реА рддрдкрд╛рд╕рдгреА рдорджрдд рдХрд░рддреЗ рдкреЙрдбрд╡рд░реАрд▓ рднрд╛рд░ рдХрдореА рдХрд░рд╛ рдЖрдгрд┐ рддреЗ тАЬрдердВрдбтАЭ рдХрд░рд╛. рднрд╡рд┐рд╖реНрдпрд╛рдд рддрддреНрдкрд░рддрд╛ рддрдкрд╛рд╕рдгреА рдпрд╢рд╕реНрд╡реАрдкрдгреЗ рдкреВрд░реНрдг рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ рдкреЙрдбрд╡рд░реАрд▓ рднрд╛рд░ рдкреБрдиреНрд╣рд╛ рд╡рд╛рдврд╡рд╛. рдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд (рддрддреНрдкрд░рддрд╛ рдЪрд╛рдЪрдгреА рдЕрдпрд╢рд╕реНрд╡реА рдЭрд╛рд▓реНрдпрд╛рд╕), рдЬрд┐рд╡рдВрддрдкрдгрд╛ рдЪрд╛рдЪрдгреА рдЕрдпрд╢рд╕реНрд╡реА рд╣реЛрдгреЗ рдЦреВрдк рдкреНрд░рддрд┐рдХреВрд▓ рдЕрд╕реЗрд▓. рдирд┐рд░реЛрдЧреА рдЖрдгрд┐ рдХрдареЛрд░ рдкрд░рд┐рд╢реНрд░рдо рдХрд░рдгрд╛рд░реА рдкреЙрдб рд░реАрд╕реНрдЯрд╛рд░реНрдЯ рдХрд╛?
рдореНрд╣рдгреВрди, рдХрд╛рд╣реА рдкреНрд░рдХрд░рдгрд╛рдВрдордзреНрдпреЗ, рдЪреБрдХреАрдЪреНрдпрд╛ рдкрджреНрдзрддреАрдиреЗ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕рд╕рд╣ рд╕рдХреНрд╖рдо рдХрд░рдгреНрдпрд╛рдкреЗрдХреНрд╖рд╛ рдХреЛрдгрддреЗрд╣реА рддрдкрд╛рд╕рдгреЗ рдЪрд╛рдВрдЧрд▓реЗ рдирд╛рд╣реА. рд╡рд░ рд╕рд╛рдВрдЧрд┐рддрд▓реНрдпрд╛рдкреНрд░рдорд╛рдгреЗ, рдЬрд░ рдЬрд┐рд╡рдВрддрдкрдгрд╛ рддрдкрд╛рд╕рдгреА рддрдпрд╛рд░реА рддрдкрд╛рд╕рдгреАрдЪреНрдпрд╛ рдкреНрд░рддреА, рддрд░ рддреБрдореНрд╣реА рдореЛрдареНрдпрд╛ рд╕рдВрдХрдЯрд╛рдд рдЖрд╣рд╛рдд. рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рдгреЗ рд╣рд╛ рд╕рдВрднрд╛рд╡реНрдп рдкрд░реНрдпрд╛рдп рдЖрд╣реЗ
рдЬреЗрд╡реНрд╣рд╛ рд╕рд╛рдорд╛рдиреНрдп рдЕрд╡рд▓рдВрдмрд┐рддреНрд╡ рдЕрдпрд╢рд╕реНрд╡реА рд╣реЛрддреЗ рддреЗрд╡реНрд╣рд╛ рджреЛрдиреНрд╣реА рдкреНрд░рдХрд╛рд░рдЪреНрдпрд╛ рддрдкрд╛рд╕рдгреНрдпрд╛ рдЕрдпрд╢рд╕реНрд╡реА рд╣реЛрдК рдирдпреЗрдд, рдЕрдиреНрдпрдерд╛ рдпрд╛рдореБрд│реЗ рд╕рд░реНрд╡ рд╢реЗрдВрдЧрд╛рдВрдЪреЗ рдХреЕрд╕реНрдХреЗрдбрд┐рдВрдЧ (рд╣рд┐рдорд╕реНрдЦрд▓рди рд╕рд╛рд░рдЦреЗ) рдЕрдпрд╢рд╕реНрд╡реА рд╣реЛрдИрд▓. рджреБрд╕рд░рд╝реНрдпрд╛ рд╢рдмреНрджрд╛рдд,
3. рдкреНрд░рддреНрдпреЗрдХ HTTP рд╕реЗрд╡реЗрд╕рд╛рдареА рд▓реЛрдбрдмреЕрд▓рдиреНрд╕рд░
рдмрд╣реБрдзрд╛, рддреБрдордЪреНрдпрд╛ рдХреНрд▓рд╕реНрдЯрд░рдордзреНрдпреЗ рддреБрдордЪреНрдпрд╛ HTTP рд╕реЗрд╡рд╛ рдЖрд╣реЗрдд рдЬреНрдпрд╛ рддреБрдореНрд╣реА рдмрд╛рд╣реЗрд░рдЪреНрдпрд╛ рдЬрдЧрд╛рд▓рд╛ рдлреЙрд░рд╡рд░реНрдб рдХрд░реВ рдЗрдЪреНрдЫрд┐рддрд╛.
рдЖрдкрдг рдореНрд╣рдгреВрди рд╕реЗрд╡рд╛ рдЙрдШрдбрд▓реНрдпрд╛рд╕ type: LoadBalancer
, рддреНрдпрд╛рдЪрд╛ рдирд┐рдпрдВрддреНрд░рдХ (рд╕реЗрд╡рд╛ рдкреНрд░рджрд╛рддреНрдпрд╛рд╡рд░ рдЕрд╡рд▓рдВрдмреВрди) рдмрд╛рд╣реНрдп рд▓реЛрдбрдмреЕрд▓рдиреНрд╕рд░ рдкреНрд░рджрд╛рди рдХрд░реЗрд▓ рдЖрдгрд┐ рд╡рд╛рдЯрд╛рдШрд╛рдЯреА рдХрд░реЗрд▓ (L7 рд╡рд░ рдЪрд╛рд▓рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдирд╛рд╣реА, рдкрд░рдВрддреБ L4 рд╡рд░ рджреЗрдЦреАрд▓ рдЪрд╛рд▓реЗрд▓), рдЖрдгрд┐ рдпрд╛рдореБрд│реЗ рдХрд┐рдВрдорддреАрд╡рд░ рдкрд░рд┐рдгрд╛рдо рд╣реЛрдК рд╢рдХрддреЛ (рдмрд╛рд╣реНрдп рд╕реНрдерд┐рд░ IPv4 рдкрддреНрддрд╛, рд╕рдВрдЧрдгрдХреАрдп рд╢рдХреНрддреА, рдкреНрд░рддрд┐-рд╕реЗрдХрдВрдж рдмрд┐рд▓рд┐рдВрдЧ ) рдореЛрдареНрдпрд╛ рд╕рдВрдЦреНрдпреЗрдиреЗ рдЕрд╢реА рд╕рдВрд╕рд╛рдзрдиреЗ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЕрд╕рд▓реНрдпрд╛рдореБрд│реЗ.
рдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд, рдПрдХ рдмрд╛рд╣реНрдп рд▓реЛрдб рдмреЕрд▓рдиреНрд╕рд░ рд╡рд╛рдкрд░рдгреЗ рдЕрдзрд┐рдХ рддрд░реНрдХрд╕рдВрдЧрдд рдЖрд╣реЗ, рд╕реЗрд╡рд╛ рдЙрдШрдбрдгреЗ type: NodePort
. рдХрд┐рдВрд╡рд╛ рдЕрдЬреВрди рдЪрд╛рдВрдЧрд▓реЗ, рдЕрд╕реЗ рдХрд╛рд╣реАрддрд░реА рд╡рд┐рд╕реНрддреГрдд рдХрд░рд╛ nginx-ingress-рдХрдВрдЯреНрд░реЛрд▓рд░ (рдХрд┐рдВрд╡рд╛ рдЯреНрд░реЕрдлрд┐рдХ), рдЬреЛ рдПрдХрдЯрд╛рдЪ рдЕрд╕реЗрд▓ рдиреЛрдбрдкреЛрд░реНрдЯ рдмрд╛рд╣реНрдп рд▓реЛрдб рдмреЕрд▓рдиреНрд╕рд░рд╢реА рдирд┐рдЧрдбреАрдд рдПрдВрдбрдкреЙрдИрдВрдЯ рдЖрдгрд┐ рд╡рд╛рдкрд░реВрди рдХреНрд▓рд╕реНрдЯрд░рдордзреАрд▓ рд░рд╣рджрд╛рд░реА рдорд╛рд░реНрдЧреА рд▓рд╛рд╡реЗрд▓ рдкреНрд░рд╡реЗрд╢ рдХрд░рдгреЗ-рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рд╕рдВрд╕рд╛рдзрдиреЗ.
рдЗрддрд░ рдЗрдВрдЯреНрд░рд╛-рдХреНрд▓рд╕реНрдЯрд░ (рдорд╛рдпрдХреНрд░реЛ) рд╕реЗрд╡рд╛ рдЬреНрдпрд╛ рдПрдХрдореЗрдХрд╛рдВрд╢реА рд╕рдВрд╡рд╛рдж рд╕рд╛рдзрддрд╛рдд рдЕрд╢рд╛ рд╕реЗрд╡рд╛рдВрдЪрд╛ рд╡рд╛рдкрд░ рдХрд░реВрди "рд╕рдВрд╡рд╛рдж" рдХрд░реВ рд╢рдХрддрд╛рдд рдХреНрд▓рд╕реНрдЯрд░рдЖрдпрдкреА рдЖрдгрд┐ DNS рджреНрд╡рд╛рд░реЗ рдЕрдВрдЧрднреВрдд рд╕реЗрд╡рд╛ рд╢реЛрдз рдпрдВрддреНрд░рдгрд╛. рдлрдХреНрдд рддреНрдпрд╛рдВрдЪрд╛ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ DNS/IP рд╡рд╛рдкрд░реВ рдирдХрд╛, рдХрд╛рд░рдг рдпрд╛рдЪрд╛ рд╡рд┐рд▓рдВрдмрд╛рд╡рд░ рдкрд░рд┐рдгрд╛рдо рд╣реЛрдК рд╢рдХрддреЛ рдЖрдгрд┐ рдХреНрд▓рд╛рдЙрдб рд╕реЗрд╡рд╛рдВрдЪреА рдХрд┐рдВрдордд рд╡рд╛рдвреВ рд╢рдХрддреЗ.
4. рдХреНрд▓рд╕реНрдЯрд░рдЪреА рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ рд╡рд┐рдЪрд╛рд░рд╛рдд рди рдШреЗрддрд╛ рдСрдЯреЛрд╕реНрдХреЗрд▓рд┐рдВрдЧ рдХрд░рдгреЗ
рдХреНрд▓рд╕реНрдЯрд░рдордзреНрдпреЗ рдиреЛрдбреНрд╕ рдЬреЛрдбрддрд╛рдирд╛ рдЖрдгрд┐ рддреНрдпрд╛рдВрдирд╛ рдХрд╛рдвреВрди рдЯрд╛рдХрддрд╛рдирд╛, рддреБрдореНрд╣реА рддреНрдпрд╛ рдиреЛрдбреНрд╕рд╡рд░реАрд▓ CPU рд╡рд╛рдкрд░рд╛рд╕рд╛рд░рдЦреНрдпрд╛ рдХрд╛рд╣реА рдореВрд▓рднреВрдд рдореЗрдЯреНрд░рд┐рдХреНрд╕рд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рд░рд╛рд╣реВ рдирдпреЗ. рдкреЙрдб рдирд┐рдпреЛрдЬрди рдЕрдиреЗрдХ рдЦрд╛рддреНрдпрд╛рдд рдШреЗрдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рдирд┐рд░реНрдмрдВрдз, рдЬрд╕реЗ рдХреА рдкреЙрдб/рдиреЛрдб рдЕреЕрдлрд┐рдирд┐рдЯреА, рдХрд▓рдВрдХ рдЖрдгрд┐ рд╕рд╣рдирд╢реАрд▓рддрд╛, рд╕рдВрд╕рд╛рдзрди рд╡рд┐рдирдВрддреНрдпрд╛, QoS, рдЗ. рдпрд╛ рдмрд╛рд░рдХрд╛рд╡реЗ рд╡рд┐рдЪрд╛рд░рд╛рдд рди рдШреЗрдгрд╛рд░реЗ рдмрд╛рд╣реНрдп рдСрдЯреЛрд╕реНрдХреЗрд▓рд░ рд╡рд╛рдкрд░рд▓реНрдпрд╛рдиреЗ рд╕рдорд╕реНрдпрд╛ рдЙрджреНрднрд╡реВ рд╢рдХрддрд╛рдд.
рдХрд▓реНрдкрдирд╛ рдХрд░рд╛ рдХреА рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреЙрдб рд╢реЗрдбреНрдпреВрд▓ рдХреЗрд▓реЗрд▓рд╛ рдЕрд╕рд╛рд╡рд╛, рдкрд░рдВрддреБ рд╕рд░реНрд╡ рдЙрдкрд▓рдмреНрдз рд╕реАрдкреАрдпреВ рдкреЙрд╡рд░рдЪреА рд╡рд┐рдирдВрддреА рдХреЗрд▓реА рдЬрд╛рддреЗ/рдбрд┐рд╕реЗрдореНрдмрд▓ рдХреЗрд▓реА рдЬрд╛рддреЗ рдЖрдгрд┐ рдкреЙрдб рд░рд╛рдЬреНрдпрд╛рдд рдЕрдбрдХрддреЛ Pending
. рдмрд╛рд╣реНрдп рдСрдЯреЛрд╕реНрдХреЗрд▓рд░ рд╕рд░рд╛рд╕рд░реА рд╡рд░реНрддрдорд╛рди CPU рд▓реЛрдб рдкрд╛рд╣рддреЛ (рд╡рд┐рдирдВрддреА рдХреЗрд▓реЗрд▓рд╛ рдирд╛рд╣реА) рдЖрдгрд┐ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реБрд░реВ рдХрд░рдд рдирд╛рд╣реА (рд╕реНрдХреЗрд▓-рдЖрдЙрдЯ) - рджреБрд╕рд░рд╛ рдиреЛрдб рдЬреЛрдбрдд рдирд╛рд╣реА. рдкрд░рд┐рдгрд╛рдореА, рд╣рд╛ рдкреЙрдб рд╢реЗрдбреНрдпреВрд▓ рд╣реЛрдгрд╛рд░ рдирд╛рд╣реА.
рдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд, рдЙрд▓рдЯ рд╕реНрдХреЗрд▓рд┐рдВрдЧ (рд╕реНрдХреЗрд▓-рдЗрди) тАФ рдХреНрд▓рд╕реНрдЯрд░рдордзреВрди рдиреЛрдб рдХрд╛рдвреВрди рдЯрд╛рдХрдгреЗ рдиреЗрд╣рдореАрдЪ рдЕрдзрд┐рдХ рдХрдареАрдг рдЕрд╕рддреЗ. рдХрд▓реНрдкрдирд╛ рдХрд░рд╛ рдХреА рддреБрдордЪреНрдпрд╛рдХрдбреЗ рд╕реНрдЯреЗрдЯрдлреБрд▓ рдкреЙрдб рдЖрд╣реЗ (рд╕рддрдд рд╕реНрдЯреЛрд░реЗрдЬ рдХрдиреЗрдХреНрдЯ рдХреЗрд▓реЗрд▓реЗ рдЖрд╣реЗ). рд╕рддрдд рдЦрдВрдб рд╕рд╣рд╕рд╛ рд╕рдВрдмрдВрдзрд┐рдд рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрдкрд▓рдмреНрдзрддрд╛ рдХреНрд╖реЗрддреНрд░ рдЖрдгрд┐ рдкреНрд░рджреЗрд╢рд╛рдд рдкреНрд░рддрд┐рд░реВрдкрд┐рдд рдирд╛рд╣реАрдд. рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ, рдЬрд░ рдмрд╛рд╣реНрдп рдСрдЯреЛрд╕реНрдХреЗрд▓рд░рдиреЗ рдпрд╛ рдкреЙрдбрд╕рд╣ рдиреЛрдб рд╣рдЯрд╡рд▓рд╛, рддрд░ рд╢реЗрдбреНрдпреБрд▓рд░ рд╣рд╛ рдкреЙрдб рджреБрд╕рд░реНтАНрдпрд╛ рдиреЛрдбрд╡рд░ рд╢реЗрдбреНрдпреВрд▓ рдХрд░реВ рд╢рдХрдгрд╛рд░ рдирд╛рд╣реА, рдХрд╛рд░рдг рд╣реЗ рдХреЗрд╡рд│ рдЙрдкрд▓рдмреНрдзрддрд╛ рдХреНрд╖реЗрддреНрд░рд╛рдордзреНрдпреЗ рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ рдЬреЗрдереЗ рдкрд░реНрд╕рд┐рд╕реНрдЯрдВрдЯ рд╕реНрдЯреЛрд░реЗрдЬ рдЖрд╣реЗ. рд░рд╛рдЬреНрдпрд╛рдд рдкреЙрдб рдЕрдбрдХреЗрд▓ Pending
.
рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рд╕рдореБрджрд╛рдпрд╛рдд рдЦреВрдк рд▓реЛрдХрдкреНрд░рд┐рдп
5. IAM/RBAC рдХреНрд╖рдорддрд╛рдВрдХрдбреЗ рджреБрд░реНрд▓рдХреНрд╖ рдХрд░рдгреЗ
рд╕рд╛рдареА рд╕рддрдд рдЧреБрдкрд┐рддреЗ IAM рд╡рд╛рдкрд░рдХрд░реНрддреЗ рд╡рд╛рдкрд░рдгреНрдпрд╛рдкрд╛рд╕реВрди рд╕рд╛рд╡рдз рд░рд╣рд╛ рдорд╢реАрди рдЖрдгрд┐ рдЕрдиреБрдкреНрд░рдпреЛрдЧ. рднреВрдорд┐рдХрд╛ рдЖрдгрд┐ рд╕реЗрд╡рд╛ рдЦрд╛рддреА рд╡рд╛рдкрд░реВрди рддрд╛рддреНрдкреБрд░рддрд╛ рдкреНрд░рд╡реЗрд╢ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХрд░рд╛ (рд╕реЗрд╡рд╛ рдЦрд╛рддреА).
рдНрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рдирдордзреНрдпреЗ рдНрдХреНтАНрд╕реЗрд╕ рдХреА (рдЖрдгрд┐ рдЧреБрдкрд┐рддреЗ) рд╣рд╛рд░реНрдбрдХреЛрдб рдХреЗрд▓реНрдпрд╛ рдЖрд╣реЗрдд, рддрд╕реЗрдЪ рдХреНрд▓рд╛рдЙрдб IAM рдордзреНрдпреЗ рдНрдХреНтАНрд╕реЗрд╕ рдЕрд╕реВрдирд╣реА рдЧреБрдкрд┐рддреЗ рдлрд┐рд░рд╡рдгреНрдпрд╛рдХрдбреЗ рджреБрд░реНрд▓рдХреНрд╖ рдХреЗрд▓реНтАНрдпрд╛рдЪреЗ рдЖрдореНтАНрд╣рд╛рд▓рд╛ рдЕрдиреЗрдХрджрд╛ рд╕рдореЛрд░ рдпреЗрддреЗ. рдпреЛрдЧреНрдп рддреЗрдереЗ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдРрд╡рдЬреА IAM рднреВрдорд┐рдХрд╛ рдЖрдгрд┐ рд╕реЗрд╡рд╛ рдЦрд╛рддреА рд╡рд╛рдкрд░рд╛.
kube2iam рдмрджреНрджрд▓ рд╡рд┐рд╕рд░реВрди рдЬрд╛ рдЖрдгрд┐ рд╕реЗрд╡рд╛ рдЦрд╛рддреНрдпрд╛рдВрд╕рд╛рдареА рдереЗрдЯ IAM рднреВрдорд┐рдХрд╛рдВрд╡рд░ рдЬрд╛ (рдордзреНтАНрдпреЗ рд╡рд░реНрдгрди рдХреЗрд▓реНрдпрд╛рдкреНрд░рдорд╛рдгреЗ
apiVersion: v1
kind: ServiceAccount
metadata:
annotations:
eks.amazonaws.com/role-arn: arn:aws:iam::123456789012:role/my-app-role
name: my-serviceaccount
namespace: default
рдПрдХ рднрд╛рд╖реНрдп. рдЗрддрдХреЗ рдХрдареАрдг рдирд╛рд╣реА, рдмрд░реЛрдмрд░?
рддрд╕реЗрдЪ, рд╕реЗрд╡рд╛ рдЦрд╛рддреА рдЖрдгрд┐ рдЙрджрд╛рд╣рд░рдг рдкреНрд░реЛрдлрд╛рдЗрд▓ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рджреЗрдК рдирдХрд╛ admin
╨╕ cluster-admin
рдЬрд░ рддреНрдпрд╛рдВрдирд╛ рддреНрдпрд╛рдЪреА рдЧрд░рдЬ рдирд╕реЗрд▓. рд╣реЗ рдЕрдВрдорд▓рд╛рдд рдЖрдгрдгреЗ рдереЛрдбреЗ рдХрдареАрдг рдЖрд╣реЗ, рд╡рд┐рд╢реЗрд╖рдд: RBAC K8 рдордзреНрдпреЗ, рдкрд░рдВрддреБ рдирд┐рд╢реНрдЪрд┐рддрдкрдгреЗ рдкреНрд░рдпрддреНрди рдХрд░рдгреЗ рдпреЛрдЧреНрдп рдЖрд╣реЗ.
6. рд╢реЗрдВрдЧрд╛рдВрд╕рд╛рдареА рд╕реНрд╡рдпрдВрдЪрд▓рд┐рдд рд╡рд┐рд░реЛрдзреА рдЖрддреНрдореАрдпрддреЗрд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рд░рд╛рд╣реВ рдирдХрд╛
рдХрд▓реНрдкрдирд╛ рдХрд░рд╛ рдХреА рддреБрдордЪреНрдпрд╛рдХрдбреЗ рдиреЛрдбрд╡рд░ рдХрд╛рд╣реА рдЙрдкрдпреЛрдЬрдирд╛рдВрдЪреНрдпрд╛ рддреАрди рдкреНрд░рддрд┐рдХреГрддреА рдЖрд╣реЗрдд. рдиреЛрдб рдкрдбрддреЛ, рдЖрдгрд┐ рддреНрдпрд╛рд╕рд╣ рд╕рд░реНрд╡ рдкреНрд░рддрд┐рдХреГрддреА. рдЕрдкреНрд░рд┐рдп рдкрд░рд┐рд╕реНрдерд┐рддреА, рдмрд░реЛрдмрд░? рдкрдг рд╕рд░реНрд╡ рдкреНрд░рддрд┐рдХреГрддреА рдПрдХрд╛рдЪ рдиреЛрдбрд╡рд░ рдХрд╛ рд╣реЛрддреНрдпрд╛? Kubernetes рдЙрдЪреНрдЪ рдЙрдкрд▓рдмреНрдзрддрд╛ (HA) рдкреНрд░рджрд╛рди рдХрд░рдгрд╛рд░ рдирд╛рд╣реА рдХрд╛?!
рджреБрд░реНрджреИрд╡рд╛рдиреЗ, рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рд╢реЗрдбреНрдпреВрд▓рд░, рд╕реНрд╡рддрдГрдЪреНрдпрд╛ рдкреБрдврд╛рдХрд╛рд░рд╛рдиреЗ, рд╕реНрд╡рддрдВрддреНрд░ рдЕрд╕реНрддрд┐рддреНрд╡рд╛рдЪреНрдпрд╛ рдирд┐рдпрдорд╛рдВрдЪреЗ рдкрд╛рд▓рди рдХрд░рдд рдирд╛рд╣реА (рд╡рд┐рд░реЛрдзрдХ) рд╢реЗрдВрдЧрд╛ рд╕рд╛рдареА. рддреНрдпрд╛рдВрдиреА рд╕реНрдкрд╖реНрдЯрдкрдгреЗ рд╕рд╛рдВрдЧрд┐рддрд▓реЗ рдкрд╛рд╣рд┐рдЬреЗ:
// ╨╛╨┐╤Г╤Й╨╡╨╜╨╛ ╨┤╨╗╤П ╨║╤А╨░╤В╨║╨╛╤Б╤В╨╕
labels:
app: zk
// ╨╛╨┐╤Г╤Й╨╡╨╜╨╛ ╨┤╨╗╤П ╨║╤А╨░╤В╨║╨╛╤Б╤В╨╕
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: "app"
operator: In
values:
- zk
topologyKey: "kubernetes.io/hostname"
рдЗрддрдХрдВрдЪ. рдЖрддрд╛ рдкреЙрдбреНрд╕ рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рдиреЛрдбреНрд╕рд╡рд░ рд╢реЗрдбреНрдпреВрд▓ рдХреЗрд▓реЗ рдЬрд╛рддреАрд▓ (рд╣реА рд╕реНрдерд┐рддреА рдХреЗрд╡рд│ рд╢реЗрдбреНрдпреВрд▓рд┐рдВрдЧ рджрд░рдореНрдпрд╛рди рддрдкрд╛рд╕рд▓реА рдЬрд╛рддреЗ, рдкрд░рдВрддреБ рддреНрдпрд╛рдВрдЪреНрдпрд╛ рдСрдкрд░реЗрд╢рди рджрд░рдореНрдпрд╛рди рдирд╛рд╣реА - рдореНрд╣рдгреВрди requiredDuringSchedulingIgnoredDuringExecution
).
рдпреЗрдереЗ рдЖрдкрдг рдпрд╛рдмрджреНрджрд▓ рдмреЛрд▓рдд рдЖрд╣реЛрдд podAntiAffinity
рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рдиреЛрдбреНрд╕рд╡рд░: topologyKey: "kubernetes.io/hostname"
, - рдЖрдгрд┐ рднрд┐рдиреНрди рдЙрдкрд▓рдмреНрдзрддрд╛ рдХреНрд╖реЗрддреНрд░рд╛рдВрдмрджреНрджрд▓ рдирд╛рд╣реА. рдкреВрд░реНрдг рд╡рд╛рдв рдЭрд╛рд▓реЗрд▓рд╛ HA рд▓рд╛рдЧреВ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рддреБрдореНрд╣рд╛рд▓рд╛ рдпрд╛ рд╡рд┐рд╖рдпрд╛рдд рдЦреЛрд▓рд╡рд░ рдЬрд╛рд╡реЗ рд▓рд╛рдЧреЗрд▓.
7. PodDisruption Budgets рджреБрд░реНрд▓рдХреНрд╖рд┐рдд рдХрд░рдгреЗ
рдХрд▓реНрдкрдирд╛ рдХрд░рд╛ рдХреА рддреБрдордЪреНрдпрд╛рдХрдбреЗ рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдХреНрд▓рд╕реНрдЯрд░рд╡рд░ рдЙрддреНрдкрд╛рджрди рд▓реЛрдб рдЖрд╣реЗ. рдХрд╛рд▓рд╛рдВрддрд░рд╛рдиреЗ, рдиреЛрдбреНрд╕ рдЖрдгрд┐ рдХреНрд▓рд╕реНрдЯрд░ рд╕реНрд╡рддрдГрдЪ рдЕрдкрдбреЗрдЯ рдХрд░рд╛рд╡реЗ рд▓рд╛рдЧрддрд╛рдд (рдХрд┐рдВрд╡рд╛ рдбрд┐рдХрдорд┐рд╢рди рдХреЗрд▓реЗрд▓реЗ). PodDisruptionBudget (PDB) рд╣реЗ рдХреНрд▓рд╕реНрдЯрд░ рдкреНрд░рд╢рд╛рд╕рдХ рдЖрдгрд┐ рд╡рд╛рдкрд░рдХрд░реНрддреЗ рдпрд╛рдВрдЪреНрдпрд╛рддреАрд▓ рд╕реЗрд╡рд╛ рд╣рдореА рдХрд░рд╛рд░рд╛рд╕рд╛рд░рдЦреЗ рдХрд╛рд╣реАрддрд░реА рдЖрд╣реЗ.
PDB рддреБрдореНрд╣рд╛рд▓рд╛ рдиреЛрдбреНрд╕рдЪреНрдпрд╛ рдХрдорддрд░рддреЗрдореБрд│реЗ рд╕реЗрд╡рд╛ рд╡реНрдпрддреНрдпрдп рдЯрд╛рд│рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЛ:
apiVersion: policy/v1beta1
kind: PodDisruptionBudget
metadata:
name: zk-pdb
spec:
minAvailable: 2
selector:
matchLabels:
app: zookeeper
рдпрд╛ рдЙрджрд╛рд╣рд░рдгрд╛рдд, рддреБрдореНрд╣реА, рдХреНрд▓рд╕реНрдЯрд░рдЪрд╛ рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдореНрд╣рдгреВрди, рдкреНрд░рд╢рд╛рд╕рдХрд╛рдВрдирд╛ рд╕рд╛рдВрдЧрддрд╛: "рдЕрд╣реЛ, рдорд╛рдЭреНрдпрд╛рдХрдбреЗ рдПрдХ рдкреНрд░рд╛рдгреАрд╕рдВрдЧреНрд░рд╣рд╛рд▓рдп рд╕реЗрд╡рд╛ рдЖрд╣реЗ рдЖрдгрд┐ рддреБрдореНрд╣реА рдХрд╛рд╣реАрд╣реА рдХреЗрд▓реЗ рддрд░реА, рдорд▓рд╛ рдпрд╛ рд╕реЗрд╡реЗрдЪреНрдпрд╛ рдХрд┐рдорд╛рди 2 рдкреНрд░рддрд┐рдХреГрддреА рдиреЗрд╣рдореА рдЙрдкрд▓рдмреНрдз рдЕрд╕рд╛рдпрд▓рд╛ рдЖрд╡рдбреЗрд▓."
рдЖрдкрдг рдпрд╛рдмрджреНрджрд▓ рдЕрдзрд┐рдХ рд╡рд╛рдЪреВ рд╢рдХрддрд╛
8. рдПрдХрд╛ рд╕рд╛рдорд╛рдиреНрдп рдХреНрд▓рд╕реНрдЯрд░рдордзреНрдпреЗ рдЕрдиреЗрдХ рд╡рд╛рдкрд░рдХрд░реНрддреЗ рдХрд┐рдВрд╡рд╛ рд╡рд╛рддрд╛рд╡рд░рдг
рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдиреЗрдорд╕реНрдкреЗрд╕реЗрд╕ (рдирд╛рдорд╕реНрдерд╛рди) рдордЬрдмреВрдд рдЗрдиреНрд╕реБрд▓реЗрд╢рди рджреЗрдК рдирдХрд╛.
рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдЧреИрд░рд╕рдордЬ рдЕрд╕рд╛ рдЖрд╣реЗ рдХреА рдЬрд░ рддреБрдореНрд╣реА рдиреЙрди-рдкреНрд░реЙрдб рд▓реЛрдб рдПрдХрд╛ рдиреЗрдорд╕реНрдкреЗрд╕рдордзреНрдпреЗ рдЖрдгрд┐ рдкреНрд░реЛрдб рд▓реЛрдб рджреБрд╕рд▒реНрдпрд╛рдордзреНрдпреЗ рдЙрдкрдпреЛрдЬрд┐рдд рдХреЗрд▓реЗ рддрд░ рддреЗ рдПрдХрдореЗрдХрд╛рдВрд╡рд░ рдХреЛрдгрддреНрдпрд╛рд╣реА рдкреНрд░рдХрд╛рд░реЗ рдкреНрд░рднрд╛рд╡ рдЯрд╛рдХрдгрд╛рд░ рдирд╛рд╣реА... рддрдерд╛рдкрд┐, рд╕рдВрд╕рд╛рдзрди рд╡рд┐рдирдВрддреНрдпрд╛/рдорд░реНрдпрд╛рджрд╛, рдХреЛрдЯрд╛ рд╕реЗрдЯ рдХрд░рдгреЗ рдЖрдгрд┐ рдкреНрд░рд╛рдзрд╛рдиреНрдп рд╡рд░реНрдЧ рд╕реЗрдЯ рдХрд░рдгреЗ рд╡рд╛рдкрд░реВрди рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реНрддрд░ рдЕрд▓рдЧрд╛рд╡ рд╕рд╛рдзреНрдп рдХреЗрд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ. рдбреЗрдЯрд╛ рдкреНрд▓реЗрдирдордзреАрд▓ рдХрд╛рд╣реА "рд╢рд╛рд░реАрд░рд┐рдХ" рдЕрд▓рдЧрд╛рд╡ рд╣реЗ рдЖрдкреБрд▓рдХреА, рд╕рд╣рдирд╢реАрд▓рддрд╛, рдХрд▓рдВрдХ (рдХрд┐рдВрд╡рд╛ рдиреЛрдбрд╕реЗрд▓реЗрдХреНрдЯрд░) рджреНрд╡рд╛рд░реЗ рдкреНрд░рджрд╛рди рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд, рдкрд░рдВрддреБ рдЕрд╕реЗ рд╡реЗрдЧрд│реЗ рдХрд░рдгреЗ рдЦреВрдк рдЖрд╣реЗ рдХрдареАрдг рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдХрд░рдгреЗ
рдЬреНрдпрд╛рдВрдирд╛ рдПрдХрд╛рдЪ рдХреНрд▓рд╕реНрдЯрд░рдордзреНрдпреЗ рджреЛрдиреНрд╣реА рдкреНрд░рдХрд╛рд░рдЪреЗ рд╡рд░реНрдХрд▓реЛрдб рдПрдХрддреНрд░ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рддреНрдпрд╛рдВрдирд╛ рдЬрдЯрд┐рд▓рддреЗрд▓рд╛ рд╕рд╛рдореЛрд░реЗ рдЬрд╛рд╡реЗ рд▓рд╛рдЧреЗрд▓. рдЬрд░ рдЕрд╢реА рдХреЛрдгрддреАрд╣реА рдЧрд░рдЬ рдирд╕реЗрд▓, рдЖрдгрд┐ рддреБрдореНрд╣рд╛рд▓рд╛ рддреЗ рдШреЗрдгреЗ рдкрд░рд╡рдбреЗрд▓ рдЖрдгрдЦреА рдПрдХ рдХреНрд▓рд╕реНрдЯрд░ (рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдврдЧрд╛рдд рдореНрд╣рдгрд╛), рддрд░ рддрд╕реЗ рдХрд░рдгреЗ рдЪрд╛рдВрдЧрд▓реЗ. рд╣реЗ рдЗрдиреНрд╕реБрд▓реЗрд╢рдирдЪреА рдЙрдЪреНрдЪ рдкрд╛рддрд│реА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрд▓.
9. рдмрд╛рд╣реНрдп рд╡рд╛рд╣рддреВрдХ рдзреЛрд░рдг: рдХреНрд▓рд╕реНрдЯрд░
рдмрд░реНтАНрдпрд╛рдЪрджрд╛ рдЖрдкрдг рдкрд╛рд╣рддреЛ рдХреА рдХреНрд▓рд╕реНрдЯрд░рдордзреАрд▓ рд╕рд░реНрд╡ рд░рд╣рджрд╛рд░реА NodePort рд╕рд╛рд░рдЦреНрдпрд╛ рд╕реЗрд╡реЗрджреНрд╡рд╛рд░реЗ рдпреЗрддреЗ, рдЬреНрдпрд╛рд╕рд╛рдареА рдбреАрдлреЙрд▓реНрдЯ рдзреЛрд░рдг рд╕реЗрдЯ рдХреЗрд▓реЗ рдЬрд╛рддреЗ. externalTrafficPolicy: Cluster
... рдпрд╛рдЪрд╛ рдЕрд░реНрде рдЕрд╕рд╛ рдХреА рдиреЛрдбрдкреЛрд░реНрдЯ рдХреНрд▓рд╕реНрдЯрд░рдордзреАрд▓ рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдбрд╡рд░ рдЙрдШрдбреЗ рдЖрд╣реЗ, рдЖрдгрд┐ рдЖрдкрдг рдЗрдЪреНрдЫрд┐рдд рд╕реЗрд╡реЗрд╢реА (рдкреЙрдбреНрд╕рдЪрд╛ рд╕рдВрдЪ) рд╕рдВрд╡рд╛рдж рд╕рд╛рдзрдгреНрдпрд╛рд╕рд╛рдареА рддреНрдпрд╛рдкреИрдХреА рдХреЛрдгрддреНрдпрд╛рд╣реА рд╡рд╛рдкрд░реВ рд╢рдХрддрд╛.
рддреНрдпрд╛рдЪ рд╡реЗрд│реА, рд╡рд░ рдирдореВрдж рдХреЗрд▓реЗрд▓реНрдпрд╛ рдиреЛрдбрдкреЛрд░реНрдЯ рд╕реЗрд╡реЗрд╢реА рд╕рдВрдмрдВрдзрд┐рдд рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкреЙрдбреНрд╕ рд╕рд╛рдорд╛рдиреНрдпрдд: рдХреЗрд╡рд│ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдард┐рдХрд╛рдгреА рдЙрдкрд▓рдмреНрдз рдЕрд╕рддрд╛рдд. рдпрд╛ рдиреЛрдбреНрд╕рдЪрд╛ рдЙрдкрд╕рдВрдЪ. рджреБрд╕рд▒реНрдпрд╛ рд╢рдмреНрджрд╛рдВрдд, рдЬрд░ рдореА рдЖрд╡рд╢реНрдпрдХ рдкреЙрдб рдирд╕рд▓реЗрд▓реНрдпрд╛ рдиреЛрдбрд╢реА рдХрдиреЗрдХреНрдЯ рдХреЗрд▓реЗ, рддрд░ рддреЗ рд░рд╣рджрд╛рд░реА рджреБрд╕рд░реНтАНрдпрд╛ рдиреЛрдбрдХрдбреЗ рдкрд╛рдард╡реЗрд▓, рдПрдХ рд╣реЙрдк рдЬреЛрдбрдд рдЖрд╣реЗ рдЖрдгрд┐ рд╡рд╛рдврддреА рд╡рд┐рд▓рдВрдмрддрд╛ (рдЬрд░ рдиреЛрдб рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рдЙрдкрд▓рдмреНрдзрддрд╛ рдЭреЛрди/рдбреЗрдЯрд╛ рдХреЗрдВрджреНрд░рд╛рдВрдордзреНрдпреЗ рд╕реНрдерд┐рдд рдЕрд╕рддреАрд▓ рддрд░, рд╡рд┐рд▓рдВрдмрддрд╛ рдЦреВрдк рдЬрд╛рд╕реНрдд рдЕрд╕реВ рд╢рдХрддреЗ; рдпрд╛рд╢рд┐рд╡рд╛рдп, рдмрд╛рд╣реЗрд░ рдкрдбрдгрд╛рд▒реНрдпрд╛ рд░рд╣рджрд╛рд░реАрдЪрд╛ рдЦрд░реНрдЪ рд╡рд╛рдвреЗрд▓).
рджреБрд╕рд░реАрдХрдбреЗ, рдПрдЦрд╛рджреНрдпрд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ Kubernetes рд╕реЗрд╡реЗрдордзреНрдпреЗ рдзреЛрд░рдг рд╕реЗрдЯ рдЕрд╕рд▓реНрдпрд╛рд╕ externalTrafficPolicy: Local
, рдирдВрддрд░ NodePort рдлрдХреНрдд рддреНрдпрд╛ рдиреЛрдбреНрд╕рд╡рд░ рдЙрдШрдбреЗрд▓ рдЬрд┐рдереЗ рдЖрд╡рд╢реНрдпрдХ рдкреЙрдбреНрд╕ рдкреНрд░рддреНрдпрдХреНрд╖рд╛рдд рдЪрд╛рд▓реВ рдЖрд╣реЗрдд. рдмрд╛рд╣реНрдп рд▓реЛрдб рдмреЕрд▓рдиреНрд╕рд░ рд╡рд╛рдкрд░рддрд╛рдирд╛ рдЬреЗ рд╕реНрдерд┐рддреА рддрдкрд╛рд╕рддреЗ (рдЖрд░реЛрдЧреНрдп рддрдкрд╛рд╕рдгреА) endpoints (рддреЗ рдХрд╕реЗ рдХрд░рддреЗ AWS ELB), рддреЛ рдлрдХреНрдд рдЖрд╡рд╢реНрдпрдХ рдиреЛрдбреНрд╕рд╡рд░ рд░рд╣рджрд╛рд░реА рдкрд╛рдард╡реЗрд▓, рдЬреНрдпрд╛рдЪрд╛ рд╡рд┐рд▓рдВрдм, рд╕рдВрдЧрдгрдХреАрдп рдЧрд░рдЬрд╛, рдмрд╛рд╣реЗрд░ рдкрдбрдгреЗ (рдЖрдгрд┐ рд╕рд╛рдорд╛рдиреНрдп рдЬреНрдЮрд╛рди рддреЗрдЪ рд╕рд╛рдВрдЧрддреЗ) рд╡рд░ рдлрд╛рдпрджреЗрд╢реАрд░ рдкреНрд░рднрд╛рд╡ рдкрдбреЗрд▓.
рддреБрдореНрд╣реА рдЖрдзреАрдЪ рдЕрд╕реЗ рдХрд╛рд╣реАрддрд░реА рд╡рд╛рдкрд░рдд рдЕрд╕рдгреНрдпрд╛рдЪреА рджрд╛рдЯ рд╢рдХреНрдпрддрд╛ рдЖрд╣реЗ рдЯреНрд░реЕрдлрд┐рдХ рдХрд┐рдВрд╡рд╛ nginx-ingress-рдХрдВрдЯреНрд░реЛрд▓рд░ рдиреЛрдбрдкреЛрд░реНрдЯ рдПрдВрдбрдкреЙрдЗрдВрдЯ рдореНрд╣рдгреВрди (рдХрд┐рдВрд╡рд╛ рд▓реЛрдбрдмреЕрд▓рдиреНрд╕рд░, рдЬреЗ рдиреЛрдбрдкреЛрд░реНрдЯ рджреЗрдЦреАрд▓ рд╡рд╛рдкрд░рддреЗ) HTTP рдкреНрд░рд╡реЗрд╢ рдЯреНрд░реЕрдлрд┐рдХрд▓рд╛ рд░реВрдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рд╣рд╛ рдкрд░реНрдпрд╛рдп рд╕реЗрдЯ рдХреЗрд▓реНрдпрд╛рдиреЗ рдЕрд╢рд╛ рд╡рд┐рдирдВрддреНрдпрд╛рдВрд╕рд╛рдареА рд╡рд┐рд▓рдВрдмрддрд╛ рд▓рдХреНрд╖рдгреАрдпрд░реАрддреНрдпрд╛ рдХрдореА рд╣реЛрдК рд╢рдХрддреЗ.
╨Т
10. рдХреНрд▓рд╕реНрдЯрд░реНрд╕рдордзреНрдпреЗ рдмрд╛рдВрдзреВ рдирдХрд╛ рдЖрдгрд┐ рдХрдВрдЯреНрд░реЛрд▓ рдкреНрд▓реЗрдирдЪрд╛ рдЧреИрд░рд╡рд╛рдкрд░ рдХрд░реВ рдирдХрд╛
рдкреВрд░реНрд╡реА, рд╕рд░реНрд╡реНрд╣рд░рд▓рд╛ рдпреЛрдЧреНрдп рдирд╛рд╡рд╛рдиреЗ рдХреЙрд▓ рдХрд░рдгреНрдпрд╛рдЪреА рдкреНрд░рдерд╛ рд╣реЛрддреА:
рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдХрдерд╛ (рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдШрдЯрдирд╛рдВрд╡рд░ рдЖрдзрд╛рд░рд┐рдд): рд╣реЗ рд╕рд░реНрд╡ рд╕рдВрдХрд▓реНрдкрдиреЗрдЪреНрдпрд╛ рдкреБрд░рд╛рд╡реНрдпрд╛рд╕рд╣ рд╕реБрд░реВ рдЭрд╛рд▓реЗ, рдореНрд╣рдгреВрди рдХреНрд▓рд╕реНрдЯрд░рд▓рд╛ рдЕрднрд┐рдорд╛рдирд╛рд╕реНрдкрдж рдирд╛рд╡ рдЖрд╣реЗ рдЪрд╛рдЪрдгреА... рд╡рд░реНрд╖реЗ рдЙрд▓рдЯреВрди рдЧреЗрд▓реА рдЖрд╣реЗрдд рдЖрдгрд┐ рддреА рдЕрджреНрдпрд╛рдк рдЙрддреНрдкрд╛рджрдирд╛рдд рд╡рд╛рдкрд░рд▓реА рдЬрд╛рддреЗ рдЖрдгрд┐ рдкреНрд░рддреНрдпреЗрдХрдЬрдг рддреНрдпрд╛рд▓рд╛ рд╕реНрдкрд░реНрд╢ рдХрд░рдгреНрдпрд╛рд╕ рдШрд╛рдмрд░рддреЛ.
рдХреНрд▓рд╕реНрдЯрд░ рдкрд╛рд│реАрд╡ рдкреНрд░рд╛рдгреНрдпрд╛рдВрдордзреНрдпреЗ рдмрджрд▓рдгреНрдпрд╛рдд рдХрд╛рд╣реАрдЪ рдордЬрд╛ рдирд╛рд╣реА, рдореНрд╣рдгреВрди рдЖрдореНрд╣реА рд╕рд░рд╛рд╡ рдХрд░рддрд╛рдирд╛ рддреНрдпрд╛рдВрдирд╛ рд╡реЗрд│реЛрд╡реЗрд│реА рдХрд╛рдвреВрди рдЯрд╛рдХрдгреНрдпрд╛рдЪреА рд╢рд┐рдлрд╛рд░рд╕ рдХрд░рддреЛ рдЖрдкрддреНрддреА рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддреА (рд╣реЗ рдорджрдд рдХрд░реЗрд▓
рджреБрд╕рд░реАрдХрдбреЗ, рддреБрдореНрд╣реА рддреНрдпрд╛рдд рдлреЗрд░рдлрд╛рд░ рдХрд░реВрди рд╡рд╛рд╣реВрди рдЬрд╛рдК рдирдпреЗ. рдХрд╛рд│рд╛рдмрд░реЛрдмрд░ рдирд┐рдпрдВрддреНрд░рдг рд╕реНрддрд░ рдордВрдж рд╣реЛрдК рд╢рдХрддреЛ. рдмрд╣реБрдзрд╛, рд╣реЗ рддреНрдпрд╛рдВрдЪреНрдпрд╛ рд░реЛрдЯреЗрд╢рдирд╢рд┐рд╡рд╛рдп рдореЛрдареНрдпрд╛ рд╕рдВрдЦреНрдпреЗрдиреЗ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рддрдпрд╛рд░ рдЭрд╛рд▓реНрдпрд╛рдореБрд│реЗ рдЖрд╣реЗ (рдбреАрдлреЙрд▓реНрдЯ рд╕реЗрдЯрд┐рдВрдЧреНрдЬрд╕рд╣ рд╣реЗрд▓реНрдо рд╡рд╛рдкрд░рддрд╛рдирд╛ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдкрд░рд┐рд╕реНрдерд┐рддреА, рдореНрд╣рдгреВрдирдЪ рдХреЙрдиреНрдлрд┐рдЧрдореЕрдкреНрд╕/рд╕рд┐рдХреНрд░реЗрдЯреНрд╕рдордзреНрдпреЗ рддреНрдпрд╛рдЪреА рд╕реНрдерд┐рддреА рдЕрджреНрдпрддрдирд┐рдд рдХреЗрд▓реА рдЬрд╛рдд рдирд╛рд╣реА - рдкрд░рд┐рдгрд╛рдореА, рд╣рдЬрд╛рд░реЛ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕рдордзреНрдпреЗ рдЬрдорд╛ рд╣реЛрддрд╛рдд. рдирд┐рдпрдВрддреНрд░рдг рд╕реНрддрд░) рдХрд┐рдВрд╡рд╛ kube-api рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕рдЪреНрдпрд╛ рд╕рддрдд рд╕рдВрдкрд╛рджрдирд╛рд╕рд╣ (рд╕реНрд╡рдпрдВрдЪрд▓рд┐рдд рд╕реНрдХреЗрд▓рд┐рдВрдЧрд╕рд╛рдареА, CI/CD рд╕рд╛рдареА, рдореЙрдирд┐рдЯрд░рд┐рдВрдЧрд╕рд╛рдареА, рдЗрд╡реНрд╣реЗрдВрдЯ рд▓реЙрдЧ, рдХрдВрдЯреНрд░реЛрд▓рд░реНрд╕ рдЗ.).
рдпрд╛рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд, рдЖрдореНрд╣реА рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд Kubernetes рдкреНрд░рджрд╛рддреНрдпрд╛рд╕рд╣ SLA/SLO рдХрд░рд╛рд░ рддрдкрд╛рд╕рдгреНрдпрд╛рдЪреА рдЖрдгрд┐ рд╣рдореАрдВрд╡рд░ рд▓рдХреНрд╖ рджреЗрдгреНрдпрд╛рдЪреА рд╢рд┐рдлрд╛рд░рд╕ рдХрд░рддреЛ. рд╡рд┐рдХреНрд░реЗрддрд╛ рд╣рдореА рджреЗрдК рд╢рдХрддреЛ рдирд┐рдпрдВрддреНрд░рдг рд╕реНрддрд░ рдЙрдкрд▓рдмреНрдзрддрд╛ (рдХрд┐рдВрд╡рд╛ рддреНрдпрд╛рдЪреЗ рдЙрдкрдШрдЯрдХ), рдкрд░рдВрддреБ рдЖрдкрдг рддреНрдпрд╛рд╕ рдкрд╛рдард╡рд▓реЗрд▓реНрдпрд╛ рд╡рд┐рдирдВрддреНрдпрд╛рдВрдЪрд╛ p99 рд╡рд┐рд▓рдВрдм рдирд╛рд╣реА. рджреБрд╕рд▒реНрдпрд╛ рд╢рдмреНрджрд╛рдВрдд, рдЖрдкрдг рдкреНрд░рд╡рд┐рд╖реНрдЯ рдХрд░реВ рд╢рдХрддрд╛ kubectl get nodes
, рдЖрдгрд┐ рдлрдХреНрдд 10 рдорд┐рдирд┐рдЯрд╛рдВрдирдВрддрд░ рдЙрддреНрддрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рд╛ рдЖрдгрд┐ рд╣реЗ рд╕реЗрд╡рд╛ рдХрд░рд╛рд░рд╛рдЪреНрдпрд╛ рдЕрдЯреАрдВрдЪреЗ рдЙрд▓реНрд▓рдВрдШрди рд╣реЛрдгрд╛рд░ рдирд╛рд╣реА.
11. рдмреЛрдирд╕: рдирд╡реАрдирддрдо рдЯреЕрдЧ рд╡рд╛рдкрд░рдгреЗ
рдкрдг рд╣реЗ рдЖрдзреАрдЪ рдПрдХ рдХреНрд▓рд╛рд╕рд┐рдХ рдЖрд╣реЗ. рдЕрд▓реАрдХрдбреЗ рдЖрдкрдг рд╣реЗ рддрдВрддреНрд░ рдХрдореА рд╡реЗрд│рд╛ рдкрд╛рд╣рд┐рд▓реЗ рдЖрд╣реЗ, рдХрд╛рд░рдг рдЕрдиреЗрдХрд╛рдВрдиреА, рдХрдЯреВ рдЕрдиреБрднрд╡рд╛рддреВрди рд╢рд┐рдХреВрди, рдЯреЕрдЧ рд╡рд╛рдкрд░рдгреЗ рдмрдВрдж рдХреЗрд▓реЗ рдЖрд╣реЗ. :latest
рдЖрдгрд┐ рдЖрд╡реГрддреНрддреНрдпрд╛ рдкрд┐рди рдХрд░рдгреЗ рд╕реБрд░реВ рдХреЗрд▓реЗ. рд╣реБрд░реНрд░реЗ!
ECR
рд╕рд╛рд░рд╛рдВрд╢
рд░рд╛рддреНрд░рднрд░ рд╕рд░реНрд╡рдХрд╛рд╣реА рдХрд╛рд░реНрдп рдХрд░реЗрд▓ рдЕрд╢реА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░реВ рдирдХрд╛: рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рд╣рд╛ рд░рд╛рдордмрд╛рдг рдЙрдкрд╛рдп рдирд╛рд╣реА. рдЦрд░рд╛рдм рдЕреЕрдк
рдордзреАрд▓ рд╡рд┐рд╡рд┐рдз рд╕рдВрдШрд╛рдВрдЪреНрдпрд╛ рдЕрдпрд╢рд╕реНрд╡реА рдЕрдиреБрднрд╡рд╛рдВрд╢реА рдЖрдкрдг рдкрд░рд┐рдЪрд┐рдд рд╣реЛрдК рд╢рдХрддрд╛
рдпрд╛ рд▓реЗрдЦрд╛рдд рджрд┐рд▓реЗрд▓реНрдпрд╛ рддреНрд░реБрдЯреАрдВрдЪреНрдпрд╛ рдпрд╛рджреАрдд рдЬреЛрдбреВ рдЗрдЪреНрдЫрд┐рдгрд╛рд░реЗ рдЖрдордЪреНрдпрд╛рд╢реА Twitter рд╡рд░ рд╕рдВрдкрд░реНрдХ рдХрд░реВ рд╢рдХрддрд╛рдд (
рдЕрдиреБрд╡рд╛рджрдХрд╛рдХрдбреВрди рдкреБрдирд╢реНрдЪ
рдЖрдордЪреНрдпрд╛ рдмреНрд▓реЙрдЧрд╡рд░ рджреЗрдЦреАрд▓ рд╡рд╛рдЪрд╛:
- ┬л
рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдХреНрд▓рд╕реНрдЯрд░реНрд╕ рдбрд┐рдЭрд╛рдЗрди рдХрд░рдгреЗ: рдХрд┐рддреА рдЕрд╕рд╛рд╡реЗрдд? "; - ┬л
рдж рдПрдмреАрд╕реА рдСрдл рд╕рд┐рдХреНрдпреБрд░рд┐рдЯреА рдЗрди рдХреБрдмрд░реНрдиреЗрдЯреНрд╕: рдСрдереЗрдВрдЯрд┐рдХреЗрд╢рди, рдСрдерд░рд╛рдпрдЭреЗрд╢рди, рдСрдбрд┐рдЯрд┐рдВрдЧ "; - ┬л
Kubernetes рдордзреНрдпреЗ рдСрдЯреЛрд╕реНрдХреЗрд▓рд┐рдВрдЧ рдЖрдгрд┐ рд╕рдВрд╕рд╛рдзрди рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди "(рдкреБрдирд░рд╛рд╡рд▓реЛрдХрди рдЖрдгрд┐ рд╡реНрд╣рд┐рдбрд┐рдУ рдЕрд╣рд╡рд╛рд▓); - ┬л
Kubernetes рдордзреНрдпреЗ ConfigMaps: рдЬрд╛рдгреВрди рдШреЗрдгреНрдпрд╛рд╕рд╛рд░рдЦреЗ рдмрд╛рд░рдХрд╛рд╡реЗ ┬╗.
рд╕реНрддреНрд░реЛрдд: www.habr.com