рдирдК рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдХрд╛рдордЧрд┐рд░реА рдЯрд┐рдкрд╛

рдирдК рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдХрд╛рдордЧрд┐рд░реА рдЯрд┐рдкрд╛

рд╕рд░реНрд╡рд╛рдВрдирд╛ рдирдорд╕реНрдХрд╛рд░! рдорд╛рдЭреЗ рдирд╛рд╡ рдУрд▓реЗрдЧ рд╕рд┐рджреЛрд░реЗрдиреНрдХреЛрд╡реНрд╣ рдЖрд╣реЗ, рдореА рдбреЛрдордХреНрд▓рд┐рдХ рдпреЗрдереЗ рдЗрдиреНрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдЯреАрдо рд▓реАрдбрд░ рдореНрд╣рдгреВрди рдХрд╛рдо рдХрд░рддреЛ. рдЖрдореНрд╣реА рддреАрди рд╡рд░реНрд╖рд╛рдВрд╣реВрди рдЕрдзрд┐рдХ рдХрд╛рд│ рд╡рд┐рдХреНрд░реАрд╕рд╛рдареА рдХреНрдпреВрдм рд╡рд╛рдкрд░рдд рдЖрд╣реЛрдд рдЖрдгрд┐ рдпрд╛ рдХрд╛рд│рд╛рдд рдЖрдореНрд╣реА рддреНрдпрд╛рдЪреНрдпрд╛рд╕реЛрдмрдд рдЕрдиреЗрдХ рдордиреЛрд░рдВрдЬрдХ рдХреНрд╖рдг рдЕрдиреБрднрд╡рд▓реЗ рдЖрд╣реЗрдд. рдЖрдЬ рдореА рддреБрдореНрд╣рд╛рд▓рд╛ рд╕рд╛рдВрдЧреЗрди рдХреА, рдпреЛрдЧреНрдп рдкрдзреНрджрддреАрдиреЗ, рддреБрдореНрд╣реА рддреБрдордЪреНрдпрд╛ рдХреНрд▓рд╕реНрдЯрд░рд╕рд╛рдареА рд╡реНрд╣реЕрдирд┐рд▓рд╛ рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдордзреВрди рдЖрдгрдЦреА рдкрд░рдлреЙрд░реНрдордиреНрд╕ рдХрд╕реЗ рдкрд┐рд│реВрди рдХрд╛рдвреВ рд╢рдХрддрд╛. рдПрдХ рджреЛрди рд╕рд╛рдбреЗ рдорд╛рдбреЗ рддреАрди!

рддреБрдореНрд╣рд╛ рд╕рд░реНрд╡рд╛рдВрдирд╛ рд╣реЗ рдЪрд╛рдВрдЧрд▓рдВрдЪ рдорд╛рд╣реАрдд рдЖрд╣реЗ рдХреА рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рд╣реА рдХрдВрдЯреЗрдирд░ рдСрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрд╢рдирд╕рд╛рдареА рд╕реНрдХреЗрд▓реЗрдмрд▓ рдУрдкрди рд╕реЛрд░реНрд╕ рд╕рд┐рд╕реНрдЯреАрдо рдЖрд╣реЗ; рддрд╕реЗрдЪ, рдХрд┐рдВрд╡рд╛ 5 рдмрд╛рдпрдирд░реАрдЬ рдЬреЗ рд╕рд░реНрд╡реНрд╣рд░ рд╡рд╛рддрд╛рд╡рд░рдгрд╛рдд рддреБрдордЪреНрдпрд╛ рдорд╛рдпрдХреНрд░реЛрд╕рд░реНрд╡реНрд╣рд┐рд╕реЗрд╕рдЪреЗ рдЬреАрд╡рди рдЪрдХреНрд░ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХрд░реВрди рдЬрд╛рджреВ рдХрд░рддрд╛рдд. рдпрд╛ рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд, рд╣реЗ рдмрд░реНтАНрдпрд╛рдкреИрдХреА рд▓рд╡рдЪрд┐рдХ рд╕рд╛рдзрди рдЖрд╣реЗ рдЬреЗ рд╡рд┐рд╡рд┐рдз рдХрд╛рд░реНрдпрд╛рдВрд╕рд╛рдареА рдЬрд╛рд╕реНрддреАрдд рдЬрд╛рд╕реНрдд рд╕рд╛рдиреБрдХреВрд▓рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд▓реЗрдЧреЛ рдХрдиреНрд╕реНрдЯреНрд░рдХреНрдЯрд░рд╕рд╛рд░рдЦреЗ рдПрдХрддреНрд░ рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ.

рдЖрдгрд┐ рд╕рд░реНрд╡ рдХрд╛рд╣реА рдареАрдХ рдЖрд╣реЗ рдЕрд╕реЗ рджрд┐рд╕рддреЗ: рд╕рд░реНрд╡реНрд╣рд░рд▓рд╛ рдХреНрд▓рд╕реНрдЯрд░рдордзреНрдпреЗ рдЯрд╛рдХрд╛, рдЬрд╕реЗ рдлрд╛рдпрд░рдмреЙрдХреНрд╕рдордзреНрдпреЗ рд╕рд░рдкрдг, рдЖрдгрд┐ рджреБ: рдЦ рдорд╛рд╣рд┐рдд рдирд╛рд╣реА. рдкрд░рдВрддреБ рдЬрд░ рдЖрдкрдг рдкрд░реНрдпрд╛рд╡рд░рдгрд╛рд╕рд╛рдареА рдЕрд╕рд╛рд▓ рддрд░ рдЖрдкрдг рд╡рд┐рдЪрд╛рд░ рдХрд░рд╛рд▓: "рдореА рд╕реНрдЯреЛрд╡реНрд╣рдордзреНрдпреЗ рдЖрдЧ рдХрд╢реА рдареЗрд╡реВ рдЖрдгрд┐ рдЬрдВрдЧрд▓рд╛рдмрджреНрджрд▓ рдЦреЗрдж рдХрд╕рд╛ рдХрд░реВ?". рджреБрд╕рд▒реНрдпрд╛ рд╢рдмреНрджрд╛рдВрдд, рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛ рд╕реБрдзрд╛рд░рдгреНрдпрд╛рдЪреЗ рдЖрдгрд┐ рдЦрд░реНрдЪ рдХрдореА рдХрд░рдгреНрдпрд╛рдЪреЗ рдорд╛рд░реНрдЧ рдХрд╕реЗ рд╢реЛрдзрд╛рдпрдЪреЗ.

1. рдХрд╛рд░реНрдпрд╕рдВрдШ рдЖрдгрд┐ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕рдВрд╕рд╛рдзрдирд╛рдВрдЪрд╛ рдорд╛рдЧреЛрд╡рд╛ рдареЗрд╡рд╛

рдирдК рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдХрд╛рдордЧрд┐рд░реА рдЯрд┐рдкрд╛

рд╕рд░реНрд╡рд╛рдд рд╕рд╛рдорд╛рдиреНрдп рдкрд░рдВрддреБ рдкреНрд░рднрд╛рд╡реА рдкрджреНрдзрддреАрдВрдкреИрдХреА рдПрдХ рдореНрд╣рдгрдЬреЗ рд╡рд┐рдирдВрддреНрдпрд╛/рдорд░реНрдпрд╛рджрд╛ рд╕рд╛рджрд░ рдХрд░рдгреЗ. рдбреЗрд╡реНрд╣рд▓рдкрдореЗрдВрдЯ рдЯреАрдореНрд╕рджреНрд╡рд╛рд░реЗ рдиреЗрдорд╕реНрдкреЗрд╕реЗрд╕ рдЖрдгрд┐ рдиреЗрдорд╕реНрдкреЗрд╕реЗрд╕рджреНрд╡рд╛рд░реЗ рд╡реЗрдЧрд│реЗ рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕. рдкреНрд░реЛрд╕реЗрд╕рд░ рд╡реЗрд│, рдореЗрдорд░реА, рдХреНрд╖рдгрд┐рдХ рд╕реНрдЯреЛрд░реЗрдЬрдЪреНрдпрд╛ рд╡рд╛рдкрд░рд╛рд╕рд╛рдареА рдореВрд▓реНрдпреЗ рдЙрдкрдпреЛрдЬрд┐рдд рдХрд░рдгреНрдпрд╛рдкреВрд░реНрд╡реА рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕реЗрдЯ рдХрд░рд╛.

resources:
   requests:
     memory: 2Gi
     cpu: 250m
   limits:
     memory: 4Gi
     cpu: 500m

рдЕрдиреБрднрд╡рд╛рдиреБрд╕рд╛рд░, рдЖрдореНрд╣реА рдирд┐рд╖реНрдХрд░реНрд╖рд╛рдкрд░реНрдпрдВрдд рдкреЛрд╣реЛрдЪрд▓реЛ: рдорд░реНрдпрд╛рджреЗрдЪреНрдпрд╛ рд╡рд┐рдирдВрддреНрдпрд╛ рджреЛрдирдкреЗрдХреНрд╖рд╛ рдЬрд╛рд╕реНрдд рд╡реЗрд│рд╛ рд╡рд╛рдврд╡рдгреЗ рдлрд╛рдпрджреЗрд╢реАрд░ рдирд╛рд╣реА. рдХреНрд▓рд╕реНрдЯрд░рдЪреНрдпрд╛ рдЖрдХрд╛рд░рд╛рдЪреА рдЧрдгрдирд╛ рд╡рд┐рдирдВрддреНрдпрд╛рдВрд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдХреЗрд▓реА рдЬрд╛рддреЗ рдЖрдгрд┐ рдЬрд░ рддреБрдореНрд╣реА рдЕреЕрдкреНрд▓рд┐рдХреЗрд╢рдирд▓рд╛ рд╕рдВрд╕рд╛рдзрдирд╛рдВрдордзреАрд▓ рдлрд░рдХрд╛рд╡рд░ рд╕реЗрдЯ рдХреЗрд▓реЗ рдЕрд╕реЗрд▓, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, 5-10 рд╡реЗрд│рд╛, рддрд░ рдХрд▓реНрдкрдирд╛ рдХрд░рд╛ рдХреА рдЬреЗрд╡реНрд╣рд╛ рддреБрдордЪреНрдпрд╛ рдиреЛрдбрдордзреНрдпреЗ рд╢реЗрдВрдЧрд╛ рднрд░рд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд рдЖрдгрд┐ рдЕрдЪрд╛рдирдХ рд▓реЛрдб рдпреЗрддреЛ рддреЗрд╡реНрд╣рд╛ рддреНрдпрд╛рдЪреЗ рдХрд╛рдп рд╣реЛрдИрд▓. рдХрд╛рд╣реАрд╣реА рдЪрд╛рдВрдЧрд▓реЗ рдирд╛рд╣реА. рдХрдореАрддрдХрдореА, рдереНрд░реЙрдЯрд▓рд┐рдВрдЧ рдЖрдгрд┐ рдЬрд╛рд╕реНрддреАрдд рдЬрд╛рд╕реНрдд, рдХрд╛рдордЧрд╛рд░рд╛рд▓рд╛ рдирд┐рд░реЛрдк рджреНрдпрд╛ рдЖрдгрд┐ рд╢реЗрдВрдЧрд╛ рд╣рд▓реВ рд▓рд╛рдЧрд▓реНрдпрд╛рдирдВрддрд░ рдЙрд░реНрд╡рд░рд┐рдд рдиреЛрдбреНрд╕рд╡рд░ рдЪрдХреНрд░реАрдп рднрд╛рд░ рдорд┐рд│рд╡рд╛.

рдпрд╛рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд, рдорджрддреАрдиреЗ limitranges рдЖрдкрдг рд╕реБрд░реБрд╡рд╛рддреАрд▓рд╛ рдХрдВрдЯреЗрдирд░рд╕рд╛рдареА рд╕рдВрд╕рд╛рдзрди рдореВрд▓реНрдпреЗ рд╕реЗрдЯ рдХрд░реВ рд╢рдХрддрд╛ - рдХрд┐рдорд╛рди, рдХрдорд╛рд▓ рдЖрдгрд┐ рдбреАрдлреЙрд▓реНрдЯ:

тЮЬ  ~ kubectl describe limitranges --namespace ops
Name:       limit-range
Namespace:  ops
Type        Resource           Min   Max   Default Request  Default Limit  Max Limit/Request Ratio
----        --------           ---   ---   ---------------  -------------  -----------------------
Container   cpu                50m   10    100m             100m           2
Container   ephemeral-storage  12Mi  8Gi   128Mi            4Gi            -
Container   memory             64Mi  40Gi  128Mi            128Mi          2

рдиреЗрдорд╕реНрдкреЗрд╕ рд╕рдВрд╕рд╛рдзрдиреЗ рдорд░реНрдпрд╛рджрд┐рдд рдХрд░рдгреНрдпрд╛рдЪреЗ рд▓рдХреНрд╖рд╛рдд рдареЗрд╡рд╛ рдЬреЗрдгреЗрдХрд░реВрди рдПрдХ рдХрдорд╛рдВрдб рдХреНрд▓рд╕реНрдЯрд░рдЪреА рд╕рд░реНрд╡ рд╕рдВрд╕рд╛рдзрдиреЗ рдШреЗрдК рд╢рдХрдд рдирд╛рд╣реА:

тЮЬ  ~ kubectl describe resourcequotas --namespace ops
Name:                   resource-quota
Namespace:              ops
Resource                Used          Hard
--------                ----          ----
limits.cpu              77250m        80
limits.memory           124814367488  150Gi
pods                    31            45
requests.cpu            53850m        80
requests.memory         75613234944   150Gi
services                26            50
services.loadbalancers  0             0
services.nodeports      0             0

рдЬрд╕реЗ рдЖрдкрдг рд╡рд░реНрдгрдирд╛рд╡рд░реВрди рдкрд╛рд╣реВ рд╢рдХрддрд╛ resourcequotas, рдЬрд░ ops рдХрдорд╛рдВрдбрд▓рд╛ рдкреЙрдбреНрд╕ рддреИрдирд╛рдд рдХрд░рд╛рдпрдЪреЗ рдЕрд╕рддреАрд▓ рдЬреЗ рдЖрдгрдЦреА 10 cpu рд╡рд╛рдкрд░рддреАрд▓, рддрд░ рд╢реЗрдбреНрдпреБрд▓рд░ рддреЗ рдХрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрдгрд╛рд░ рдирд╛рд╣реА рдЖрдгрд┐ рддреНрд░реБрдЯреА рдЬрд╛рд░реА рдХрд░реЗрд▓:

Error creating: pods "nginx-proxy-9967d8d78-nh4fs" is forbidden: exceeded quota: resource-quota, requested: limits.cpu=5,requests.cpu=5, used: limits.cpu=77250m,requests.cpu=53850m, limited: limits.cpu=10,requests.cpu=10

рддрддреНрд╕рдо рд╕рдорд╕реНрдпреЗрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдЖрдкрдг рдПрдХ рд╕рд╛рдзрди рд▓рд┐рд╣реВ рд╢рдХрддрд╛, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдореНрд╣рдгреВрди рд╣реЗ, рдЬреЗ рдХрдорд╛рдВрдб рд╕рдВрд╕рд╛рдзрдирд╛рдВрдЪреА рд╕реНрдерд┐рддреА рд╕рдВрдЪрдпрд┐рдд рдЖрдгрд┐ рд╡рдЪрдирдмрджреНрдз рдХрд░реВ рд╢рдХрддреЗ.

2. рд╕рд░реНрд╡реЛрддреНрддрдо рдлрд╛рдЗрд▓ рд╕реНрдЯреЛрд░реЗрдЬ рдирд┐рд╡рдбрд╛

рдирдК рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдХрд╛рдордЧрд┐рд░реА рдЯрд┐рдкрд╛

рдпреЗрдереЗ рдорд▓рд╛ рдкрд░реНрд╕рд┐рд╕реНрдЯрдВрдЯ рд╡реНрд╣реЙрд▓реНрдпреВрдореНрд╕ рдЖрдгрд┐ рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рд╡рд░реНрдХрд░ рдиреЛрдбреНрд╕рдЪреНрдпрд╛ рдбрд┐рд╕реНрдХ рд╕рдмрд╕рд┐рд╕реНрдЯрдордЪреНрдпрд╛ рд╡рд┐рд╖рдпрд╛рд╡рд░ рд╕реНрдкрд░реНрд╢ рдХрд░рд╛рдпрдЪрд╛ рдЖрд╣реЗ. рдорд▓рд╛ рдЖрд╢рд╛ рдЖрд╣реЗ рдХреА рдЙрддреНрдкрд╛рджрдирд╛рдд рдХреЛрдгреАрд╣реА рдПрдЪрдбреАрдбреАрд╡рд░ "рдХреНрдпреВрдм" рд╡рд╛рдкрд░рдд рдирд╛рд╣реА, рдкрд░рдВрддреБ рдХрдзреАрдХрдзреА рдирд┐рдпрдорд┐рдд рдПрд╕рдПрд╕рдбреА рджреЗрдЦреАрд▓ рдкреБрд░реЗрд╕реЗ рдирд╕рддреЗ. рдЖрдореНрд╣рд╛рд▓рд╛ рдЕрд╢рд╛ рд╕рдорд╕реНрдпреЗрдЪрд╛ рд╕рд╛рдордирд╛ рдХрд░рд╛рд╡рд╛ рд▓рд╛рдЧрд▓рд╛ рдХреА рд▓реЙрдЧ I/O рдСрдкрд░реЗрд╢рдиреНрд╕рджреНрд╡рд╛рд░реЗ рдбрд┐рд╕реНрдХ рдирд╖реНрдЯ рдХрд░рдд рдЖрд╣реЗрдд рдЖрдгрд┐ рдпреЗрдереЗ рдмрд░реЗрдЪ рдЙрдкрд╛рдп рдирд╛рд╣реАрдд:

  • рдЙрдЪреНрдЪ-рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ SSDs рд╡рд╛рдкрд░рд╛ рдХрд┐рдВрд╡рд╛ NVMe рд╡рд░ рд╕реНрд╡рд┐рдЪ рдХрд░рд╛ (рдЬрд░ рддреБрдореНрд╣реА рддреБрдордЪреЗ рд╕реНрд╡рддрдГрдЪреЗ рд╣рд╛рд░реНрдбрд╡реЗрдЕрд░ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХрд░рд╛).

  • рд▓реЙрдЧрд┐рдВрдЧрдЪреА рдкрд╛рддрд│реА рдХрдореА рдХрд░рд╛.

  • рдбрд┐рд╕реНрдХрд╡рд░ рдмрд▓рд╛рддреНрдХрд╛рд░ рдХрд░рдгрд╛рд▒реНрдпрд╛ рдкреЙрдбреНрд╕рдЪреЗ "рд╕реНрдорд╛рд░реНрдЯ" рдмреЕрд▓рдиреНрд╕рд┐рдВрдЧ рдХрд░рд╛ (podAntiAffinity).

рдЬреЗрд╡реНрд╣рд╛ access_logs рд╕рдХреНрд╖рдо рдХреЗрд▓реЗ рдЬрд╛рддреЗ (~12k logs/sec) рддреЗрд╡реНрд╣рд╛ рдбрд┐рд╕реНрдХрд╕рд╣ nginx-ingress-controller рдЕрдВрддрд░реНрдЧрдд рдХрд╛рдп рд╣реЛрддреЗ рд╣реЗ рд╡рд░реАрд▓ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рджрд╛рдЦрд╡рддреЗ. рдЕрд╢рд╛ рдЕрд╡рд╕реНрдереЗрдореБрд│реЗ, рдЕрд░реНрдерд╛рддрдЪ, рдпрд╛ рдиреЛрдбрд╡рд░реАрд▓ рд╕рд░реНрд╡ рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕рдЪреЗ рд▒реНрд╣рд╛рд╕ рд╣реЛрдК рд╢рдХрддреЗ.

рдкреАрд╡реНрд╣реАрд╕рд╛рдареА, рдЕрд░реЗрд░реЗ, рдореА рд╕рд░реНрд╡рдХрд╛рд╣реА рдкреНрд░рдпрддреНрди рдХреЗрд▓реЗ рдирд╛рд╣реА. рдкреНрд░рдХрд╛рд░ рд╕рддрдд рдЦрдВрдб. рдЖрдкрд▓реНрдпрд╛рд╕ рдЕрдиреБрдХреВрд▓ рдЕрд╕рд▓реЗрд▓рд╛ рд╕рд░реНрд╡реЛрддреНрддрдо рдкрд░реНрдпрд╛рдп рд╡рд╛рдкрд░рд╛. рдЖрдкрд▓реНрдпрд╛ рджреЗрд╢рд╛рдд рд╣реЗ рдРрддрд┐рд╣рд╛рд╕рд┐рдХрджреГрд╖реНрдЯреНрдпрд╛ рдШрдбрд▓реЗ рдЖрд╣реЗ рдХреА рд╕реЗрд╡рд╛рдВрдЪреНрдпрд╛ рдПрдХрд╛ рдЫреЛрдЯреНрдпрд╛ рднрд╛рдЧрд╛рд▓рд╛ RWX рд╡реНрд╣реЙрд▓реНрдпреВрдордЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЖрд╣реЗ рдЖрдгрд┐ рдмрд░реНрдпрд╛рдЪ рдХрд╛рд│рд╛рдкреВрд░реНрд╡реА рддреНрдпрд╛рдВрдиреА рдпрд╛ рдХрд╛рд░реНрдпрд╛рд╕рд╛рдареА NFS рд╕реНрдЯреЛрд░реЗрдЬ рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕ рд╕реБрд░реБрд╡рд╛рдд рдХреЗрд▓реА. рд╕реНрд╡рд╕реНрдд рдЖрдгрд┐ ... рдкреБрд░реЗрд╢реА. рдирдХреНрдХреАрдЪ, рдЖрдореНрд╣реА рддреНрдпрд╛рдЪреНрдпрд╛рдмрд░реЛрдмрд░ рдШрд╛рдг рдЦрд╛рд▓реНрд▓реЗ - рдирд┐рд░реЛрдЧреА рд░рд╣рд╛, рдкрд░рдВрддреБ рдЖрдореНрд╣реА рддреНрдпрд╛рд▓рд╛ рдХрд╕реЗ рдЯреНрдпреВрди рдХрд░рд╛рд╡реЗ рд╣реЗ рд╢рд┐рдХрд▓реЛ рдЖрдгрд┐ рддреНрдпрд╛рдЪреЗ рдбреЛрдХреЗ рдпрд╛рдкреБрдвреЗ рджреБрдЦрдд рдирд╛рд╣реА. рдЖрдгрд┐ рд╢рдХреНрдп рдЕрд╕рд▓реНрдпрд╛рд╕, S3 рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реНрдЯреЛрд░реЗрдЬрд╡рд░ рд╕реНрд╡рд┐рдЪ рдХрд░рд╛.

3. рдСрдкреНрдЯрд┐рдорд╛рдЗрдЭ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдкреНрд░рддрд┐рдорд╛ рддрдпрд╛рд░ рдХрд░рд╛

рдирдК рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдХрд╛рдордЧрд┐рд░реА рдЯрд┐рдкрд╛

рдХрдВрдЯреЗрдирд░-рдСрдкреНрдЯрд┐рдорд╛рдЗрдЭ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдкреНрд░рддрд┐рдорд╛ рд╡рд╛рдкрд░рдгреЗ рд╕рд░реНрд╡реЛрддреНрддрдо рдЖрд╣реЗ рдЬреЗрдгреЗрдХрд░реБрди Kubernetes рддреНрдпрд╛ рдЬрд▓рдж рдЖрдгреВ рд╢рдХрддреАрд▓ рдЖрдгрд┐ рддреНрдпрд╛ рдЕрдзрд┐рдХ рдХрд╛рд░реНрдпрдХреНрд╖рдорддреЗрдиреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░реВ рд╢рдХрддреАрд▓. 

рдСрдкреНрдЯрд┐рдорд╛рдпрдЭреЗрд╢рди рдореНрд╣рдгрдЬреЗ рдкреНрд░рддрд┐рдорд╛:

  • рдлрдХреНрдд рдПрдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдХрд░рд╛ рдХрд┐рдВрд╡рд╛ рдлрдХреНрдд рдПрдХ рдХрд╛рд░реНрдп рдХрд░рд╛;

  • рд▓рд╣рд╛рди рдЖрдХрд╛рд░, рдХрд╛рд░рдг рдореЛрдареНрдпрд╛ рдкреНрд░рддрд┐рдорд╛ рдиреЗрдЯрд╡рд░реНрдХрд╡рд░ рд╡рд╛рдИрдЯ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХреЗрд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд;

  • рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдбрд╛рдЙрдирдЯрд╛рдЗрдордЪреНрдпрд╛ рдкреНрд░рд╕рдВрдЧреА рдХрд╛рд░рд╡рд╛рдИ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡рд╛рдкрд░реВ рд╢рдХрддреАрд▓ рдЕрд╕реЗ рдЖрд░реЛрдЧреНрдп рдЖрдгрд┐ рддрддреНрдкрд░рддреЗрдЪреЗ рдЕрдВрддрд┐рдо рдмрд┐рдВрджреВ рдЖрд╣реЗрдд;

  • рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рддреНрд░реБрдЯреАрдВрдирд╛ рдЕрдзрд┐рдХ рдкреНрд░рддрд┐рд░реЛрдзрдХ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдХрдВрдЯреЗрдирд░-рдлреНрд░реЗрдВрдбрд▓реА рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо (рдЬрд╕реЗ рдХреА рдЕрд▓реНрдкрд╛рдЗрди рдХрд┐рдВрд╡рд╛ CoreOS) рд╡рд╛рдкрд░рд╛;

  • рдорд▓реНрдЯреА-рд╕реНрдЯреЗрдЬ рдмрд┐рд▓реНрдбреНрд╕ рд╡рд╛рдкрд░рд╛ рдЬреЗрдгреЗрдХрд░реВрди рддреБрдореНрд╣реА рдлрдХреНрдд рд╕рдВрдХрд▓рд┐рдд рдЕрдиреБрдкреНрд░рдпреЛрдЧ рддреИрдирд╛рдд рдХрд░реВ рд╢рдХрддрд╛ рдЖрдгрд┐ рд╕реЛрдмрддрдЪреЗ рд╕реНрддреНрд░реЛрдд рдирд╛рд╣реА.

рдЕрд╢реА рдЕрдиреЗрдХ рд╕рд╛рдзрдиреЗ рдЖрдгрд┐ рд╕реЗрд╡рд╛ рдЖрд╣реЗрдд рдЬреА рддреБрдореНрд╣рд╛рд▓рд╛ рдлреНрд▓рд╛рдпрд╡рд░ рдкреНрд░рддрд┐рдорд╛ рддрдкрд╛рд╕рдгреНрдпрд╛рдЪреА рдЖрдгрд┐ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЭ рдХрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддрд╛рдд. рддреНрдпрд╛рдВрдирд╛ рдиреЗрд╣рдореА рдЕрджреНрдпрдпрд╛рд╡рдд рдЖрдгрд┐ рд╕реБрд░рдХреНрд╖рд┐рдд рдареЗрд╡рдгреЗ рдорд╣рддреНрддреНрд╡рд╛рдЪреЗ рдЖрд╣реЗ. рдкрд░рд┐рдгрд╛рдореА, рддреБрдореНрд╣рд╛рд▓рд╛ рдорд┐рд│реЗрд▓:

  1. рд╕рдВрдкреВрд░реНрдг рдХреНрд▓рд╕реНрдЯрд░рд╡рд░реАрд▓ рдиреЗрдЯрд╡рд░реНрдХ рд▓реЛрдб рдХрдореА рдХреЗрд▓реЗ.

  2. рдХрдВрдЯреЗрдирд░ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдкрдЪреА рд╡реЗрд│ рдХрдореА рдЭрд╛рд▓реА.

  3. рддреБрдордЪреНрдпрд╛ рд╕рдВрдкреВрд░реНрдг рдбреЙрдХрд░ рд░реЗрдЬрд┐рд╕реНрдЯреНрд░реАрдЪрд╛ рд▓рд╣рд╛рди рдЖрдХрд╛рд░.

4. DNS рдХреЕрд╢реЗ рд╡рд╛рдкрд░рд╛

рдирдК рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдХрд╛рдордЧрд┐рд░реА рдЯрд┐рдкрд╛

рдЬрд░ рдЖрдкрдг рдЙрдЪреНрдЪ рднрд╛рд░рд╛рдВрдмрджреНрджрд▓ рдмреЛрд▓рд▓реЛ, рддрд░ рдХреНрд▓рд╕реНрдЯрд░рдЪреА DNS рдкреНрд░рдгрд╛рд▓реА рдЯреНрдпреВрди рдХреЗрд▓реНрдпрд╛рд╢рд┐рд╡рд╛рдп, рдЬреАрд╡рди рдЦреВрдкрдЪ рдЦрд░рд╛рдм рдЖрд╣реЗ. рдПрдХреЗ рдХрд╛рд│реА, рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдбреЗрд╡реНрд╣рд▓рдкрд░реНрд╕рдиреА рддреНрдпрд╛рдВрдЪреНрдпрд╛ kube-dns рд╕реЛрд▓реНрдпреВрд╢рдирд▓рд╛ рд╕рдорд░реНрдерди рджрд┐рд▓реЗ. рд╣реЗ рдЖрдкрд▓реНрдпрд╛ рджреЗрд╢рд╛рдд рджреЗрдЦреАрд▓ рд▓рд╛рдЧреВ рдХреЗрд▓реЗ рдЧреЗрд▓реЗ, рдкрд░рдВрддреБ рдпрд╛ рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░рдиреЗ рд╡рд┐рд╢реЗрд╖рддрдГ рдЯреНрдпреВрди рдХреЗрд▓реЗ рдирд╛рд╣реА рдЖрдгрд┐ рдЖрд╡рд╢реНрдпрдХ рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рджрд┐рд▓реЗ рдирд╛рд╣реА, рдЬрд░реА рдЕрд╕реЗ рджрд┐рд╕рддреЗ рдХреА рдХрд╛рд░реНрдп рд╕реЛрдкреЗ рдЖрд╣реЗ. рдирдВрддрд░ рдХреЙрд░реНрдбрдиреНрд╕ рджрд┐рд╕реВ рд▓рд╛рдЧрд▓реЗ, рдЬреНрдпрд╛рд╡рд░ рдЖрдореНрд╣реА рд╕реНрд╡рд┐рдЪ рдХреЗрд▓реЗ рдЖрдгрд┐ рджреБрдГрдЦ рдорд╛рд╣рд┐рдд рдирд╡реНрд╣рддреЗ, рдирдВрддрд░ рддреА K8s рдордзреНрдпреЗ рдбреАрдлреЙрд▓реНрдЯ рдбреАрдПрдирдПрд╕ рд╕реЗрд╡рд╛ рдмрдирд▓реА. рдХрд╛рд╣реА рдХреНрд╖рдгреА, рдЖрдореНрд╣реА DNS рд╕рд┐рд╕реНрдЯрдордордзреНрдпреЗ 40 рд╣рдЬрд╛рд░ рдЖрд░рдкреАрдПрд╕ рдкрд░реНрдпрдВрдд рд╡рд╛рдврд▓реЛ рдЖрдгрд┐ рд╣реЗ рд╕рдорд╛рдзрд╛рди рджреЗрдЦреАрд▓ рдкреБрд░реЗрд╕реЗ рдирд╡реНрд╣рддреЗ. рдкрдг, рдПрдХрд╛ рднрд╛рдЧреНрдпрд╡рд╛рди рд╕рдВрдзреАрдиреЗ, Nodelocaldns рдмрд╛рд╣реЗрд░ рдЖрд▓реЗ, рдЙрд░реНрдл тАЛтАЛрдиреЛрдб рд▓реЛрдХрд▓ рдХреЕрд╢реЗ, рдЙрд░реНрдл рдиреЛрдбрд▓реЛрдХрд▓ DNSCache.

рдЖрдореНрд╣реА рддреЗ рдХрд╛ рд╡рд╛рдкрд░рдд рдЖрд╣реЛрдд? рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдирд▓рдордзреНрдпреЗ рдПрдХ рдмрдЧ рдЖрд╣реЗ рдХреА, UDP рд╡рд░ рдХреЙрдиреНрдЯреНрд░реЕрдХ NAT рджреНрд╡рд╛рд░реЗ рдПрдХрд╛рдзрд┐рдХ рдкреНрд░рд╡реЗрд╢ рдХреЗрд▓реНрдпрд╛рд╡рд░, рдХреЙрдиреНрдЯреНрд░реЕрдХ рдЯреЗрдмрд▓рд╡рд░ рд▓рд┐рд╣рд┐рдгреНрдпрд╛рд╕рд╛рдареА рд╢рд░реНрдпрддреАрдЪреА рд╕реНрдерд┐рддреА рдирд┐рд░реНрдорд╛рдг рд╣реЛрддреЗ рдЖрдгрд┐ NAT рджреНрд╡рд╛рд░реЗ рд░рд╣рджрд╛рд░реАрдЪрд╛ рдХрд╛рд╣реА рднрд╛рдЧ рдЧрдорд╛рд╡рд▓рд╛ рдЬрд╛рддреЛ (рд╕реЗрд╡реЗрджреНрд╡рд╛рд░реЗ рдкреНрд░рддреНрдпреЗрдХ рдЯреНрд░рд┐рдк NAT рдЖрд╣реЗ). Nodelocaldns NAT рдордзреВрди рд╕реБрдЯрдХрд╛ рдХрд░реВрди рдЖрдгрд┐ TCP рдХрдиреЗрдХреНрдЯрд┐рд╡реНрд╣рд┐рдЯреА рдЕрдкрд╕реНрдЯреНрд░реАрдо DNS рд╡рд░ рдЕрдкрдЧреНрд░реЗрдб рдХрд░реВрди, рддрд╕реЗрдЪ рдЕрдкрд╕реНрдЯреНрд░реАрдо DNS рдХреНрд╡реЗрд░реА рд╕реНрдерд╛рдирд┐рдХ рдкрд╛рддрд│реАрд╡рд░ рдХреЕрд╢ рдХрд░реВрди (рд▓рд╣рд╛рди 5 рд╕реЗрдХрдВрджрд╛рдЪреНрдпрд╛ рдирдХрд╛рд░рд╛рддреНрдордХ рдХреЕрд╢реЗрд╕рд╣) рд╣реА рд╕рдорд╕реНрдпрд╛ рд╕реЛрдбрд╡рддреЗ.

5. рд╢реЗрдВрдЧрд╛ рдХреНрд╖реИрддрд┐рдЬ рдЖрдгрд┐ рдЕрдиреБрд▓рдВрдм рдЖрдкреЛрдЖрдк рд╕реНрдХреЗрд▓ рдХрд░рд╛

рдирдК рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдХрд╛рдордЧрд┐рд░реА рдЯрд┐рдкрд╛

рддреБрдордЪреНрдпрд╛ рд╕рд░реНрд╡ рдорд╛рдпрдХреНрд░реЛрд╕рд░реНрд╡реНрд╣рд┐рд╕реЗрд╕ рд▓реЛрдбрдордзреНрдпреЗ рджреЛрди-рддреАрди рдкрдЯ рд╡рд╛рдв рд╣реЛрдгреНрдпрд╛рд╕ рддрдпрд╛рд░ рдЖрд╣реЗрдд рдЕрд╕реЗ рддреБрдореНрд╣реА рдЖрддреНрдорд╡рд┐рд╢реНрд╡рд╛рд╕рд╛рдиреЗ рдореНрд╣рдгреВ рд╢рдХрддрд╛ рдХрд╛? рдЖрдкрд▓реНрдпрд╛ рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕рд╕рд╛рдареА рд╕рдВрд╕рд╛рдзрдирд╛рдВрдЪреЗ рдпреЛрдЧреНрдпрд░рд┐рддреНрдпрд╛ рд╡рд╛рдЯрдк рдХрд╕реЗ рдХрд░рд╛рд╡реЗ? рдХрд╛рдорд╛рдЪреНрдпрд╛ рдУрдЭреНрдпрд╛рдкреЗрдХреНрд╖рд╛ рдХрд╛рд╣реА рдкреЙрдбреНрд╕ рдЪрд╛рд▓реВ рдареЗрд╡рдгреЗ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдЕрд╕реВ рд╢рдХрддреЗ рдЖрдгрд┐ рддреНрдпрд╛рдВрдирд╛ рдкрд░рдд рдареЗрд╡рд▓реНрдпрд╛рдиреЗ рд╕реЗрд╡реЗрдХрдбреЗ рдЕрдЪрд╛рдирдХ рд╡рд╛рдврд▓реЗрд▓реНрдпрд╛ рд░рд╣рджрд╛рд░реАрдкрд╛рд╕реВрди рдбрд╛рдЙрдирдЯрд╛рдЗрдордЪрд╛ рдзреЛрдХрд╛ рдЕрд╕рддреЛ. рдЧреЛрд▓реНрдбрди рдореАрди рдЧреБрдгрд╛рдХрд╛рд░рд╛рдЪреЗ рд╢рдмреНрджрд▓реЗрдЦрди рд╕рд╛рдзреНрдп рдХрд░рдгреНрдпрд╛рдд рдорджрдд рдХрд░рддреЗ рдЬрд╕реЗ рдХреА рд╕реЗрд╡рд╛ рдХреНрд╖реИрддрд┐рдЬ рдкреЙрдб рдСрдЯреЛрд╕реНрдХреЗрд▓рд░ ╨╕ рдЕрдиреБрд▓рдВрдм рдкреЙрдб рдСрдЯреЛрд╕реНрдХреЗрд▓рд░.

VPA рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡рд╛рдкрд░рд╛рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдкреЙрдбрдордзреНрдпреЗ рддреБрдореНрд╣рд╛рд▓рд╛ рддреБрдордЪреНрдпрд╛ рдХрдВрдЯреЗрдирд░рдЪреНрдпрд╛ рд╡рд┐рдирдВрддреНрдпрд╛/рдорд░реНрдпрд╛рджрд╛ рд╕реНрд╡рдпрдВрдЪрд▓рд┐рддрдкрдгреЗ рд╡рд╛рдврд╡рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ. рддреНрдпрд╛рдЪрд╛ рдЙрдкрдпреЛрдЧ рдХрд╕рд╛ рд╣реЛрдК рд╢рдХрддреЛ? рдЬрд░ рддреБрдордЪреНрдпрд╛рдХрдбреЗ рдкреЙрдбреНрд╕ рдЕрд╕рддреАрд▓ рдЬреЗ рдХрд╛рд╣реА рдХрд╛рд░рдгрд╛рд╕реНрддрд╡ рдХреНрд╖реИрддрд┐рдЬрд░рд┐рддреНрдпрд╛ рдореЛрдЬрд▓реЗ рдЬрд╛рдК рд╢рдХрдд рдирд╛рд╣реАрдд (рдЬреЗ рдкреВрд░реНрдгрдкрдгреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕рд╛рд░реНрд╣ рдирд╛рд╣реА), рддрд░ рддреБрдореНрд╣реА рддреНрдпрд╛рдЪреЗ рд╕рдВрд╕рд╛рдзрдиреЗ рдмрджрд▓рдгреНрдпрд╛рд╕рд╛рдареА VPA рд╡рд░ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдареЗрд╡рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░реВ рд╢рдХрддрд╛. рддреНрдпрд╛рдЪреЗ рд╡реИрд╢рд┐рд╖реНрдЯреНрдп рдореЗрдЯреНрд░рд┐рдХ-рд╕рд░реНрд╡реНрд╣рд░рд╡рд░реАрд▓ рдРрддрд┐рд╣рд╛рд╕рд┐рдХ рдЖрдгрд┐ рд╡рд░реНрддрдорд╛рди рдбреЗрдЯрд╛рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдПрдХ рд╢рд┐рдлрд╛рд░рд╕ рдкреНрд░рдгрд╛рд▓реА рдЖрд╣реЗ, рдореНрд╣рдгреВрди рдЬрд░ рддреБрдореНрд╣рд╛рд▓рд╛ рд╡рд┐рдирдВрддреНрдпрд╛/рдорд░реНрдпрд╛рджрд╛ рдЖрдкреЛрдЖрдк рдмрджрд▓рд╛рдпрдЪреА рдирд╕реЗрд▓, рддрд░ рддреБрдореНрд╣реА рддреБрдордЪреНрдпрд╛ рдХрдВрдЯреЗрдирд░рд╕рд╛рдареА рд╢рд┐рдлрд╛рд░рд╕ рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╕рдВрд╕рд╛рдзрдирд╛рдВрдЪреЗ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░реВ рд╢рдХрддрд╛ рдЖрдгрд┐ CPU рдЖрдгрд┐ рдореЗрдорд░реА рдЬрддрди рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕реЗрдЯрд┐рдВрдЧреНрдЬ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЭ рдХрд░реВ рд╢рдХрддрд╛. рдХреНрд▓рд╕реНрдЯрд░ рдордзреНрдпреЗ.

рдирдК рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдХрд╛рдордЧрд┐рд░реА рдЯрд┐рдкрд╛https://levelup.gitconnected.com/kubernetes-autoscaling-101-cluster-autoscaler-horizontal-pod-autoscaler-and-vertical-pod-2a441d9ad231 рд╡рд░реВрди рдШреЗрддрд▓реЗрд▓реА рдкреНрд░рддрд┐рдорд╛

Kubernetes рдордзреАрд▓ рд╢реЗрдбреНрдпреБрд▓рд░ рдиреЗрд╣рдореА рд╡рд┐рдирдВрддреНрдпрд╛рдВрд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдЕрд╕рддреЛ. рддреБрдореНрд╣реА рддреЗрдереЗ рдХреЛрдгрддреЗрд╣реА рдореВрд▓реНрдп рдареЗрд╡рд▓реЗ рддрд░реА рд╢реЗрдбреНрдпреБрд▓рд░ рддреНрдпрд╛рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдпреЛрдЧреНрдп рдиреЛрдб рд╢реЛрдзреЗрд▓. рдкреЙрдб рдХрдзреА рдереНрд░реЙрдЯрд▓ рдХрд░рд╛рдпрдЪрд╛ рдХрд┐рдВрд╡рд╛ рдорд╛рд░рд╛рдпрдЪрд╛ рд╣реЗ рдЬрд╛рдгреВрди рдШреЗрдгреНрдпрд╛рд╕рд╛рдареА рдХреБрдмрд▓реЗрдЯрд▓рд╛ рдорд░реНрдпрд╛рджрд╛ рдореВрд▓реНрдп рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдЖрдгрд┐ рд╡рд┐рдирдВрддреНрдпрд╛ рдореВрд▓реНрдп рд╣реЗ рдПрдХрдореЗрд╡ рдорд╣рддреНрддреНрд╡рд╛рдЪреЗ рдкреЕрд░рд╛рдореАрдЯрд░ рдЕрд╕рд▓реНрдпрд╛рдиреЗ, VPA рддреНрдпрд╛рдЪреНрдпрд╛рд╕рд╣ рдХрд╛рд░реНрдп рдХрд░реЗрд▓. рдЬреЗрд╡реНрд╣рд╛ рддреБрдореНрд╣реА рддреБрдордЪрд╛ рдЕрд░реНрдЬ рдЕрдиреБрд▓рдВрдм рд╕реНрдХреЗрд▓ рдХрд░рддрд╛, рддреЗрд╡реНрд╣рд╛ рддреБрдореНрд╣реА рд╡рд┐рдирдВрддреНрдпрд╛ рдХреЛрдгрддреНрдпрд╛ рдЕрд╕рд╛рд╡реНрдпрд╛рдд рддреЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛. рдЖрдгрд┐ рдордЧ рдорд░реНрдпрд╛рджрд╛рдВрдЪреЗ рдХрд╛рдп рд╣реЛрдИрд▓? рд╣реЗ рдкреЕрд░рд╛рдореАрдЯрд░ рджреЗрдЦреАрд▓ рдкреНрд░рдорд╛рдгрд╛рдиреБрд╕рд╛рд░ рдореЛрдЬрд▓реЗ рдЬрд╛рдИрд▓.

рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдпреЗрдереЗ рдард░рд╛рд╡рд┐рдХ рдкреЙрдб рд╕реЗрдЯрд┐рдВрдЧреНрдЬ рдЖрд╣реЗрдд:

resources:
   requests:
     memory: 250Mi
     cpu: 200m
   limits:
     memory: 500Mi
     cpu: 350m

рд╢рд┐рдлрд╛рд░рд╢реА рдЗрдВрдЬрд┐рди рд╣реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рдХреА рддреБрдордЪрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдпреЛрдЧреНрдпрд░рд┐рддреНрдпрд╛ рдЪрд╛рд▓рдгреНрдпрд╛рд╕рд╛рдареА 300m CPU рдЖрдгрд┐ 500Mi рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рддреБрдореНрд╣рд╛рд▓рд╛ рдпрд╛ рд╕реЗрдЯрд┐рдВрдЧреНрдЬ рдорд┐рд│рддреАрд▓:

resources:
   requests:
     memory: 500Mi
     cpu: 300m
   limits:
     memory: 1000Mi
     cpu: 525m

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

  • CPU: 200m тЖТ 300m: рдкреНрд░рдорд╛рдг 1:1.75;

  • рдореЗрдорд░реА: 250Mi тЖТ 500Mi: 1:2 рдЧреБрдгреЛрддреНрддрд░.

рд╕рдВрдмрдВрдзрд┐рдд рдЖрд╣реЗ рдПрдЪрдкреАрдП, рдирдВрддрд░ рдСрдкрд░реЗрд╢рдирдЪреА рдпрдВрддреНрд░рдгрд╛ рдЕрдзрд┐рдХ рдкрд╛рд░рджрд░реНрд╢рдХ рдЖрд╣реЗ. рдкреНрд░реЛрд╕реЗрд╕рд░ рдЖрдгрд┐ рдореЗрдорд░реА рдпрд╛рдВрд╕рд╛рд░рдЦреНрдпрд╛ рдореЗрдЯреНрд░рд┐рдХреНрд╕рд╕рд╛рдареА рдереНрд░реЗрд╢реЛрд▓реНрдб рд╕реЗрдЯ рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд рдЖрдгрд┐ рдЬрд░ рд╕рд░реНрд╡ рдкреНрд░рддрд┐рдХреГрддреАрдВрдЪреА рд╕рд░рд╛рд╕рд░реА рдереНрд░реЗрд╢реЛрд▓реНрдбрдкреЗрдХреНрд╖рд╛ рдЬрд╛рд╕реНрдд рдЕрд╕реЗрд▓, рддрд░ рдореВрд▓реНрдп рдереНрд░реЗрд╢реЛрд▓реНрдбрдЪреНрдпрд╛ рдЦрд╛рд▓реА рдпреЗрдИрдкрд░реНрдпрдВрдд рдХрд┐рдВрд╡рд╛ рдкреНрд░рддрд┐рдХреГрддреАрдВрдЪреА рдХрдорд╛рд▓ рд╕рдВрдЦреНрдпрд╛ рдЧрд╛рдареЗрдкрд░реНрдпрдВрдд рдЕрдиреБрдкреНрд░рдпреЛрдЧ +1 рдкреЙрдбрдиреЗ рд╕реНрдХреЗрд▓ рдХрд░рддреЛ.

рдирдК рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдХрд╛рдордЧрд┐рд░реА рдЯрд┐рдкрд╛https://levelup.gitconnected.com/kubernetes-autoscaling-101-cluster-autoscaler-horizontal-pod-autoscaler-and-vertical-pod-2a441d9ad231 рд╡рд░реВрди рдШреЗрддрд▓реЗрд▓реА рдкреНрд░рддрд┐рдорд╛

CPU рдЖрдгрд┐ рдореЗрдорд░реА рд╕рд╛рд░рдЦреНрдпрд╛ рдиреЗрд╣рдореАрдЪреНрдпрд╛ рдореЗрдЯреНрд░рд┐рдХреНрд╕ рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд, рддреБрдореНрд╣реА рддреБрдордЪреНрдпрд╛ рд╕рд╛рдиреБрдХреВрд▓ Prometheus рдореЗрдЯреНрд░рд┐рдХреНрд╕рд╡рд░ рдереНрд░реЗрд╢реЛрд▓реНрдб рд╕реЗрдЯ рдХрд░реВ рд╢рдХрддрд╛ рдЖрдгрд┐ рддреБрдордЪрд╛ рдЕрд░реНрдЬ рдХрдзреА рд╕реНрдХреЗрд▓ рдХрд░рд╛рдпрдЪрд╛ рд╣реЗ рдард░рд╡рдгреНрдпрд╛рдЪрд╛ рд╣рд╛ рд╕рд░реНрд╡рд╛рдд рдЕрдЪреВрдХ рдорд╛рд░реНрдЧ рдЖрд╣реЗ рдЕрд╕реЗ рддреБрдореНрд╣рд╛рд▓рд╛ рд╡рд╛рдЯрдд рдЕрд╕рд▓реНрдпрд╛рд╕ рддреНрдпрд╛рдВрдЪреНрдпрд╛рд╕реЛрдмрдд рдХрд╛рд░реНрдп рдХрд░реВ рд╢рдХрддрд╛. рдПрдХрджрд╛ рдЕрд░реНрдЬ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдореЗрдЯреНрд░рд┐рдХ рдереНрд░реЗрд╢реЛрд▓реНрдбрдЪреНрдпрд╛ рдЦрд╛рд▓реА рд╕реНрдерд┐рд░ рдЭрд╛рд▓реНрдпрд╛рд╡рд░, HPA рдкреЙрдбреНрд╕рдирд╛ рдкреНрд░рддрд┐рдХреГрддреАрдВрдЪреНрдпрд╛ рдХрд┐рдорд╛рди рд╕рдВрдЦреНрдпреЗрдкрд░реНрдпрдВрдд рдХрд┐рдВрд╡рд╛ рд▓реЛрдб рдереНрд░реЗрд╢реЛрд▓реНрдб рдкреВрд░реНрдг рдХрд░реЗрдкрд░реНрдпрдВрдд рд╕реНрдХреЗрд▓ рдХрд░рдгреЗ рд╕реБрд░реВ рдХрд░реЗрд▓.

6. рдиреЛрдб рдЕреЕрдлрд┐рдирд┐рдЯреА рдЖрдгрд┐ рдкреЙрдб рдЕреЕрдлрд┐рдирд┐рдЯреА рдмрджреНрджрд▓ рд╡рд┐рд╕рд░реВ рдирдХрд╛

рдирдК рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдХрд╛рдордЧрд┐рд░реА рдЯрд┐рдкрд╛

рд╕рд░реНрд╡ рдиреЛрдбреНрд╕ рдПрдХрд╛рдЪ рд╣рд╛рд░реНрдбрд╡реЗрдЕрд░рд╡рд░ рдЪрд╛рд▓рдд рдирд╛рд╣реАрдд рдЖрдгрд┐ рд╕рд░реНрд╡ рдкреЙрдбреНрд╕рд▓рд╛ рдЧрдгрдирд╛-рдХреЗрдВрджреНрд░рд┐рдд рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЪрд╛рд▓рд╡рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╛рд╣реА. рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рд╡рд╛рдкрд░реВрди рдиреЛрдбреНрд╕ рдЖрдгрд┐ рдкреЙрдбреНрд╕рдЪреЗ рд╕реНрдкреЗрд╢рд▓рд╛рдпрдЭреЗрд╢рди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ рдиреЛрдб рдЖрддреНрдореАрдпрддрд╛ ╨╕ рдкреЙрдб рдЕреЕрдлрд┐рдирд┐рдЯреА.

рддреБрдордЪреНрдпрд╛рдХрдбреЗ рдореЛрдЬрдгреА-рдХреЗрдВрджреНрд░рд┐рдд рдСрдкрд░реЗрд╢рдиреНрд╕рд╕рд╛рдареА рдпреЛрдЧреНрдп рдиреЛрдбреНрд╕ рдЕрд╕рд▓реНрдпрд╛рд╕, рдЬрд╛рд╕реНрддреАрдд рдЬрд╛рд╕реНрдд рдХрд╛рд░реНрдпрдХреНрд╖рдорддреЗрд╕рд╛рдареА, рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рдВрдирд╛ рдпреЛрдЧреНрдп рдиреЛрдбреНрд╕рд╢реА рдмрд╛рдВрдзрдгреЗ рдЪрд╛рдВрдЧрд▓реЗ рдЖрд╣реЗ. рд╣реЗ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рд╡рд╛рдкрд░рд╛ nodeSelector рдиреЛрдб рд▓реЗрдмрд▓рд╕рд╣.

рд╕рдордЬрд╛ рддреБрдордЪреНрдпрд╛рдХрдбреЗ рджреЛрди рдиреЛрдб рдЖрд╣реЗрдд: рдПрдХ рд╕рд╣ CPUType=HIGHFREQ рдЖрдгрд┐ рдореЛрдареНрдпрд╛ рд╕рдВрдЦреНрдпреЗрдиреЗ рдЬрд▓рдж рдХреЛрд░, рджреБрд╕рд░рд╛ рд╕рд╣ MemoryType=HIGHMEMORY рдЕрдзрд┐рдХ рд╕реНрдореГрддреА рдЖрдгрд┐ рдЬрд▓рдж рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди. рдиреЛрдбрд▓рд╛ рдкреЙрдб рдбрд┐рдкреНрд▓реЙрдпрдореЗрдВрдЯ рдирд┐рдпреБрдХреНрдд рдХрд░рдгреЗ рд╣рд╛ рд╕рд░реНрд╡рд╛рдд рд╕реЛрдкрд╛ рдорд╛рд░реНрдЧ рдЖрд╣реЗ HIGHFREQрд╡рд┐рднрд╛рдЧрд╛рдд рдЬреЛрдбреВрди spec рдпрд╛рд╕рд╛рд░рдЦрд╛ рдирд┐рд╡рдбрдХрд░реНрддрд╛:

тАж
nodeSelector:
	CPUType: HIGHFREQ

рд╣реЗ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЕрдзрд┐рдХ рдорд╣рд╛рдЧ рдЖрдгрд┐ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдорд╛рд░реНрдЧ рд╡рд╛рдкрд░рдгреЗ рдЖрд╣реЗ nodeAffinity рд╢реЗрддрд╛рдд affinity рд░рд╛рдЭрдбреЗрд▓рд╛ spec. рджреЛрди рдкрд░реНрдпрд╛рдп рдЖрд╣реЗрдд:

  • requiredDuringSchedulingIgnoredDuringExecution: рд╣рд╛рд░реНрдб рд╕реЗрдЯрд┐рдВрдЧ (рд╢реЗрдбреНрдпреВрд▓рд░ рдХреЗрд╡рд│ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдиреЛрдбреНрд╕рд╡рд░ рдкреЙрдб рддреИрдирд╛рдд рдХрд░реЗрд▓ (рдЖрдгрд┐ рдЗрддрд░ рдХреБрдареЗрд╣реА рдирд╛рд╣реА));

  • preferredDuringSchedulingIgnoredDuringExecution: рд╕реЙрдлреНрдЯ рд╕реЗрдЯрд┐рдВрдЧ (рд╢реЗрдбреНрдпреБрд▓рд░ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдиреЛрдбреНрд╕рд╡рд░ рдЙрдкрдпреЛрдЬрд┐рдд рдХрд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░реЗрд▓, рдЖрдгрд┐ рддреЛ рдЕрдпрд╢рд╕реНрд╡реА рдЭрд╛рд▓реНрдпрд╛рд╕, рддреЛ рдкреБрдвреАрд▓ рдЙрдкрд▓рдмреНрдз рдиреЛрдбрд╡рд░ рддреИрдирд╛рдд рдХрд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░реЗрд▓).

рдиреЛрдб рд▓реЗрдмрд▓реНрд╕ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рддреБрдореНрд╣реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд╛рдХреНрдпрд░рдЪрдирд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реВ рд╢рдХрддрд╛, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, In, NotIn, Exists, DoesNotExist, Gt рдХрд┐рдВрд╡рд╛ Lt. рддрдерд╛рдкрд┐, рд▓рдХреНрд╖рд╛рдд рдареЗрд╡рд╛ рдХреА рд▓реЗрдмрд▓рд╛рдВрдЪреНрдпрд╛ рд▓рд╛рдВрдмрд▓рдЪрдХ рдпрд╛рджреНрдпрд╛рдВрдордзреАрд▓ рдЬрдЯрд┐рд▓ рдкрджреНрдзрддреА рдЧрдВрднреАрд░ рдкрд░рд┐рд╕реНрдерд┐рддреАрдд рдирд┐рд░реНрдгрдп рдШреЗрдгреНрдпрд╛рд╕ рдордВрдж рдХрд░рддрд╛рдд. рджреБрд╕рд▒реНрдпрд╛ рд╢рдмреНрджрд╛рдВрдд, рдЬрд╛рд╕реНрдд рдЧреБрдВрддрд╛рдЧреБрдВрдд рдХрд░реВ рдирдХрд╛.

рд╡рд░ рдирдореВрдж рдХреЗрд▓реНрдпрд╛рдкреНрд░рдорд╛рдгреЗ, рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рддреБрдореНрд╣рд╛рд▓рд╛ рд╡рд░реНрддрдорд╛рди рд╢реЗрдВрдЧрд╛рдВрдЪреЗ рдмрдВрдзрди рд╕реЗрдЯ рдХрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ. рдореНрд╣рдгрдЬреЗрдЪ, рддреБрдореНрд╣реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреЙрдбреНрд╕ рд╕рдорд╛рди рдЙрдкрд▓рдмреНрдзрддрд╛ рдЭреЛрди (рдврдЧрд╛рдВрд╕рд╛рдареА рд╕рдВрдмрдВрдзрд┐рдд) рдХрд┐рдВрд╡рд╛ рдиреЛрдбреНрд╕рдордзреНрдпреЗ рдЗрддрд░ рдкреЙрдбреНрд╕рд╕рд╣ рдПрдХрддреНрд░ рдХрд╛рдо рдХрд░реВ рд╢рдХрддрд╛.

╨Т podAffinity рдлреАрд▓реНрдб affinity рд░рд╛рдЭрдбреЗрд▓рд╛ spec рдЪреНрдпрд╛ рдмрд╛рдмрддреАрдд рд╕рдорд╛рди рдлреАрд▓реНрдб рдЙрдкрд▓рдмреНрдз рдЖрд╣реЗрдд nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution ╨╕ preferredDuringSchedulingIgnoredDuringExecution. рдлрд░рдХ рдПрд╡рдврд╛рдЪ рдЖрд╣реЗ matchExpressions рдкреЙрдбреНрд╕ рдПрдХрд╛ рдиреЛрдбрд╢реА рдмрд╛рдВрдзреЗрд▓ рдЬреЗ рдЖрдзреАрдкрд╛рд╕реВрдирдЪ рддреНрдпрд╛ рд▓реЗрдмрд▓рд╕рд╣ рдкреЙрдб рдЪрд╛рд▓рд╡рдд рдЖрд╣реЗ.

рдЕрдзрд┐рдХ Kubernetes рдПрдХ рдлреАрд▓реНрдб рдСрдлрд░ podAntiAffinity, рдЬреЗ, рдпрд╛рдЙрд▓рдЯ, рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╢реЗрдВрдЧрд╛ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдиреЛрдбрд▓рд╛ рдкреЙрдб рдмрд╛рдВрдзрдд рдирд╛рд╣реА.

рдЕрднрд┐рд╡реНрдпрдХреНрддреА рдмрджреНрджрд▓ nodeAffinity рд╕рдорд╛рди рд╕рд▓реНрд▓рд╛ рджрд┐рд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ: рдирд┐рдпрдо рд╕реЛрдкреЗ рдЖрдгрд┐ рддрд╛рд░реНрдХрд┐рдХ рдареЗрд╡рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░рд╛, рдирд┐рдпрдорд╛рдВрдЪреНрдпрд╛ рдЬрдЯрд┐рд▓ рд╕рдВрдЪрд╛рд╕рд╣ рдкреЙрдб рддрдкрд╢реАрд▓ рдУрд╡реНрд╣рд░рд▓реЛрдб рдХрд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░реВ рдирдХрд╛. рдХреНрд▓рд╕реНрдЯрд░рдЪреНрдпрд╛ рдкрд░рд┐рд╕реНрдерд┐рддреАрд╢реА рдЬреБрд│рдд рдирд╕рд▓реЗрд▓рд╛ рдирд┐рдпрдо рддрдпрд╛рд░ рдХрд░рдгреЗ, рд╢реЗрдбреНрдпреБрд▓рд░рд╡рд░ рдЕрддрд┐рд░рд┐рдХреНрдд рднрд╛рд░ рдЯрд╛рдХрдгреЗ рдЖрдгрд┐ рдПрдХреВрдг рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рдЦрд░рд╛рдм рдХрд░рдгреЗ рдЦреВрдк рд╕реЛрдкреЗ рдЖрд╣реЗ.

7. рдХрд▓рдВрдХ рдЖрдгрд┐ рд╕рд╣рдирд╢реАрд▓рддрд╛

рд╢реЗрдбреНрдпреВрд▓рд░ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреНрдпрд╛рдЪрд╛ рджреБрд╕рд░рд╛ рдорд╛рд░реНрдЧ рдЖрд╣реЗ. рддреБрдордЪреНрдпрд╛рдХрдбреЗ рд╢реЗрдХрдбреЛ рдиреЛрдбреНрд╕ рдЖрдгрд┐ рд╣рдЬрд╛рд░реЛ рдорд╛рдпрдХреНрд░реЛрд╕рд░реНрд╡реНрд╣рд┐рд╕реЗрд╕ рдЕрд╕рд▓реЗрд▓реЗ рдореЛрдареЗ рдХреНрд▓рд╕реНрдЯрд░ рдЕрд╕рд▓реНрдпрд╛рд╕, рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреЙрдбреНрд╕ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдиреЛрдбреНрд╕рджреНрд╡рд╛рд░реЗ рд╣реЛрд╕реНрдЯ рдХрд░рдгреНрдпрд╛рдкрд╛рд╕реВрди рд░реЛрдЦрдгреЗ рдЦреВрдк рдХрдареАрдг рдЖрд╣реЗ.

рдХрд▓рдВрдХрд╛рдВрдЪреА рдпрдВрддреНрд░рдгрд╛ - рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдирд┐рдпрдо - рдпрд╛рд╕ рдорджрдд рдХрд░рддреЗ. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рддреБрдореНрд╣реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд░рд┐рд╕реНрдерд┐рддреАрдВрдордзреНрдпреЗ рдХрд╛рд╣реА рдиреЛрдбреНрд╕рд▓рд╛ рдкреЙрдбреНрд╕ рдЪрд╛рд▓рд╡рдгреНрдпрд╛рдкрд╛рд╕реВрди рд░реЛрдЦреВ рд╢рдХрддрд╛. рд╡рд┐рд╢рд┐рд╖реНрдЯ рдиреЛрдбрд╡рд░ рдХрд▓рдВрдХ рд▓рд╛рдЧреВ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдкрд░реНрдпрд╛рдп рд╡рд╛рдкрд░рд╛ taint kubectl рдордзреНрдпреЗ. рдХреА рдЖрдгрд┐ рдореВрд▓реНрдп рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рд╛ рдЖрдгрд┐ рдирдВрддрд░ рдХрд▓рдВрдХрд┐рдд рдХрд░рд╛ NoSchedule рдХрд┐рдВрд╡рд╛ NoExecute:

$ kubectl taint nodes node10 node-role.kubernetes.io/ingress=true:NoSchedule

рд╣реЗ рджреЗрдЦреАрд▓ рд▓рдХреНрд╖рд╛рдд рдШреЗрдгреНрдпрд╛рд╕рд╛рд░рдЦреЗ рдЖрд╣реЗ рдХреА рдХрд▓рдВрдХ рдпрдВрддреНрд░рдгрд╛ рддреАрди рдореБрдЦреНрдп рдкреНрд░рднрд╛рд╡рд╛рдВрдирд╛ рд╕рдорд░реНрдерди рджреЗрддреЗ: NoSchedule, NoExecute ╨╕ PreferNoSchedule.

  • NoSchedule рдореНрд╣рдгрдЬреЗ рдкреЙрдб рд╕реНрдкреЗрд╕рд┐рдлрд┐рдХреЗрд╢рдирдордзреНрдпреЗ рд╕рдВрдмрдВрдзрд┐рдд рдПрдВрдЯреНрд░реА рд╣реЛрдИрдкрд░реНрдпрдВрдд tolerations, рддреЗ рдиреЛрдбрд╡рд░ рдЙрдкрдпреЛрдЬрд┐рдд рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрдд рдирд╛рд╣реА (рдпрд╛ рдЙрджрд╛рд╣рд░рдгрд╛рдд node10).

  • PreferNoSchedule - рд╕рд░рд▓реАрдХреГрдд рдЖрд╡реГрддреНрддреА NoSchedule. рдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд, рд╢реЗрдбреНрдпреБрд▓рд░ рдореЕрдЪрд┐рдВрдЧ рдПрдВрдЯреНрд░реА рдирд╕рд▓реЗрд▓реНрдпрд╛ рдкреЙрдбреНрд╕рдЪреЗ рд╡рд╛рдЯрдк рди рдХрд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░реЗрд▓. tolerations рдкреНрд░рддрд┐ рдиреЛрдб, рдкрд░рдВрддреБ рд╣реА рдХрдареЛрд░ рдорд░реНрдпрд╛рджрд╛ рдирд╛рд╣реА. рдХреНрд▓рд╕реНрдЯрд░рдордзреНрдпреЗ рдХреЛрдгрддреАрд╣реА рд╕рдВрд╕рд╛рдзрдиреЗ рдирд╕рд▓реНрдпрд╛рд╕, рдпрд╛ рдиреЛрдбрд╡рд░ рд╢реЗрдВрдЧрд╛ рддреИрдирд╛рдд рдХрд░рдгреЗ рд╕реБрд░реВ рд╣реЛрдИрд▓.

  • NoExecute - рдпрд╛ рдкрд░рд┐рдгрд╛рдорд╛рдореБрд│реЗ рд╢реЗрдВрдЧрд╛ рддрд╛рддреНрдХрд╛рд│ рдмрд╛рд╣реЗрд░ рдХрд╛рдврдгреЗ рд╕реБрд░реВ рд╣реЛрддреЗ рдЬреНрдпрд╛рдд рдЬреБрд│рдгрд╛рд░реА рдиреЛрдВрдж рдирд╛рд╣реА tolerations.

рдЙрддреНрд╕реБрдХрддреЗрдиреЗ, рд╣реЗ рд╡рд░реНрддрди рд╕рд╣рди рдХрд░рдгреНрдпрд╛рдЪреА рдпрдВрддреНрд░рдгрд╛ рд╡рд╛рдкрд░реВрди рдкреВрд░реНрд╡рд╡рдд рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ. рдЬреЗрд╡реНрд╣рд╛ "рдирд┐рд╖рд┐рджреНрдз" рдиреЛрдб рдЕрд╕реЗрд▓ рддреЗрд╡реНрд╣рд╛ рд╣реЗ рд╕реЛрдпреАрд╕реНрдХрд░ рдЖрд╣реЗ рдЖрдгрд┐ рддреБрдореНрд╣рд╛рд▓рд╛ рддреНрдпрд╛рд╡рд░ рдлрдХреНрдд рдкрд╛рдпрд╛рднреВрдд рд╕реЗрд╡рд╛ рдареЗрд╡рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЖрд╣реЗ. рддреЗ рдХрд╕реЗ рдХрд░рд╛рдпрдЪреЗ? рдЬреНрдпрд╛ рд╢реЗрдВрдЧрд╛рдВрд╕рд╛рдареА рдпреЛрдЧреНрдп рд╕рд╣рд┐рд╖реНрдгреБрддрд╛ рдЖрд╣реЗ рдлрдХреНрдд рддреНрдпрд╛ рд╢реЗрдВрдЧрд╛рдВрдирд╛ рдкрд░рд╡рд╛рдирдЧреА рджреНрдпрд╛.

рдкреЙрдб рд╕реНрдкреЗрдХ рдХрд╕рд╛ рджрд┐рд╕реЗрд▓ рддреЗ рдпреЗрдереЗ рдЖрд╣реЗ:

spec:
   tolerations:
     - key: "node-role.kubernetes.io/ingress"
        operator: "Equal"
        value: "true"
        effect: "NoSchedule"

рдпрд╛рдЪрд╛ рдЕрд░реНрде рдЕрд╕рд╛ рдирд╛рд╣реА рдХреА рдкреБрдвреАрд▓ рдкреБрдирд░реНрдирд┐рдпреЛрдЬрдирд╛рджрд░рдореНрдпрд╛рди, рдкреЙрдб рдиреЗрдордХрд╛ рдпрд╛ рдиреЛрдбрд▓рд╛ рдорд╛рд░реЗрд▓, рд╣реА рдиреЛрдб рдЕреЕрдлрд┐рдирд┐рдЯреА рдпрдВрддреНрд░рдгрд╛ рдирд╛рд╣реА рдЖрдгрд┐ nodeSelector. рдкрд░рдВрддреБ рдЕрдиреЗрдХ рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ рдПрдХрддреНрд░ рдХрд░реВрди, рддреБрдореНрд╣реА рдЕрддрд┐рд╢рдп рд▓рд╡рдЪрд┐рдХ рд╢реЗрдбреНрдпреБрд▓рд░ рд╕реЗрдЯрдЕрдк рдкреНрд░рд╛рдкреНрдд рдХрд░реВ рд╢рдХрддрд╛.

8. рдкреЙрдб рдЙрдкрдпреЛрдЬрди рдкреНрд░рд╛рдзрд╛рдиреНрдп рд╕реЗрдЯ рдХрд░рд╛

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

рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдкреЙрдб рдкреНрд░рд╛рдпреЙрд░рд┐рдЯреА рдЖрдгрд┐ рдкреНрд░реАрдореНрдкреНрд╢рди рд╕реЗрдЯ рдХрд░рдгреНрдпрд╛рдЪреЗ рд╡реЗрдЧрд╡реЗрдЧрд│реЗ рдорд╛рд░реНрдЧ рджреЗрддрд╛рдд. рд╕реЗрдЯрд┐рдВрдЧрдордзреНрдпреЗ рдЕрдиреЗрдХ рднрд╛рдЧ рдЕрд╕рддрд╛рдд: рдСрдмреНрдЬреЗрдХреНрдЯ PriorityClass рдЖрдгрд┐ рдлреАрд▓реНрдб рд╡рд░реНрдгрди priorityClassName рдкреЙрдб рддрдкрд╢реАрд▓рд╛рдд. рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╡рд┐рдЪрд╛рд░рд╛рдд рдШреНрдпрд╛:

apiVersion: scheduling.k8s.io/v1
kind: PriorityClass
metadata:
  name: high-priority
value: 99999
globalDefault: false
description: "This priority class should be used for very important pods only"

рдЖрдореНрд╣реА рддрдпрд╛рд░ рдХрд░рддреЛ PriorityClass, рддреНрдпрд╛рд▓рд╛ рдирд╛рд╡, рд╡рд░реНрдгрди рдЖрдгрд┐ рдореВрд▓реНрдп рджреНрдпрд╛. рдЙрдЪреНрдЪ value, рдкреНрд░рд╛рдзрд╛рдиреНрдп рдЬрд╛рд╕реНрдд. рдореВрд▓реНрдп 32 рдкреЗрдХреНрд╖рд╛ рдХрдореА рдХрд┐рдВрд╡рд╛ рдмрд░реЛрдмрд░реАрдЪреЗ рдХреЛрдгрддреЗрд╣реА 1-рдмрд┐рдЯ рдкреВрд░реНрдгрд╛рдВрдХ рдЕрд╕реВ рд╢рдХрддреЗ. рдЙрдЪреНрдЪ рдореВрд▓реНрдпреЗ рдорд┐рд╢рди-рдХреНрд░рд┐рдЯрд┐рдХрд▓ рд╕рд┐рд╕реНрдЯрдо рдкреЙрдбреНрд╕рд╕рд╛рдареА рд░рд╛рдЦреАрд╡ рдЖрд╣реЗрдд, рдЬреНрдпрд╛рдВрдирд╛ рд╡рд┐рд╢реЗрд╖рдд: рдкреНрд░реАрдореНрдкреНрдЯ рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрдд рдирд╛рд╣реА. рдЙрдЪреНрдЪ-рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдкреЙрдбрд▓рд╛ рдХреБрдареЗрд╣реА рд╡рд│рдгреЗ рдирд╕реЗрд▓ рддрд░рдЪ рдирд┐рд╖реНрдХрд╛рд╕рди рд╣реЛрдИрд▓, рдирдВрддрд░ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдиреЛрдбрдордзреАрд▓ рдХрд╛рд╣реА рдкреЙрдбреНрд╕ рд░рд┐рдХрд╛рдореА рдХреЗрд▓реНрдпрд╛ рдЬрд╛рддреАрд▓. рдЬрд░ рд╣реА рдпрдВрддреНрд░рдгрд╛ рддреБрдордЪреНрдпрд╛рд╕рд╛рдареА рдЦреВрдк рдХрдареЛрд░ рдЕрд╕реЗрд▓ рддрд░ рддреБрдореНрд╣реА рдкрд░реНрдпрд╛рдп рдЬреЛрдбреВ рд╢рдХрддрд╛ preemptionPolicy: Never, рдЖрдгрд┐ рдирдВрддрд░ рдХреЛрдгрддреАрд╣реА рдкреВрд░реНрд╡рдХрд▓реНрдкрдирд╛ рд╣реЛрдгрд╛рд░ рдирд╛рд╣реА, рдкреЙрдб рд░рд╛рдВрдЧреЗрдд рдкреНрд░рдердо рдЕрд╕реЗрд▓ рдЖрдгрд┐ рд╢реЗрдбреНрдпреВрд▓рд░рд▓рд╛ рддреНрдпрд╛рд╕рд╛рдареА рд╡рд┐рдирд╛рдореВрд▓реНрдп рд╕рдВрд╕рд╛рдзрдиреЗ рд╢реЛрдзрдгреНрдпрд╛рдЪреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рд╛.

рдкреБрдвреЗ, рдЖрдореНрд╣реА рдПрдХ рдкреЙрдб рддрдпрд╛рд░ рдХрд░рддреЛ, рдЬреНрдпрд╛рдордзреНрдпреЗ рдЖрдореНрд╣реА рдирд╛рд╡ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЛ priorityClassName:

apiVersion: v1
kind: Pod
metadata:
  name: static-web
  labels:
    role: myrole
 spec:
  containers:
    - name: web
      image: nginx
      ports:
        - name: web
          containerPort: 80
          protocol: TCP
  priorityClassName: high-priority
          

рддреБрдореНрд╣реА рддреБрдореНрд╣рд╛рд▓рд╛ рдЖрд╡рдбреЗрд▓ рддрд┐рддрдХреЗ рдкреНрд░рд╛рдзрд╛рдиреНрдп рд╡рд░реНрдЧ рддрдпрд╛рд░ рдХрд░реВ рд╢рдХрддрд╛, рдЬрд░реА рдпрд╛рд╕рд╣ рд╡рд╛рд╣реВрди рдЬрд╛рдК рдирдпреЗ рдЕрд╢реА рд╢рд┐рдлрд╛рд░рд╕ рдХреЗрд▓реА рдЬрд╛рддреЗ (рдореНрд╣рдгрдЬреЗ, рд╕реНрд╡рддрдГрд▓рд╛ рдХрдореА, рдордзреНрдпрдо рдЖрдгрд┐ рдЙрдЪреНрдЪ рдкреНрд░рд╛рдзрд╛рдиреНрдпрд╛рдкрд░реНрдпрдВрдд рдорд░реНрдпрд╛рджрд┐рдд рдХрд░рд╛).

рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ, рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рд▓реНрдпрд╛рд╕, рдЖрдкрдг nginx-ingress-controller, coredns, рдЗрддреНрдпрд╛рджреА рдЧрдВрднреАрд░ рд╕реЗрд╡рд╛ рддреИрдирд╛рдд рдХрд░рдгреНрдпрд╛рдЪреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╡рд╛рдврд╡реВ рд╢рдХрддрд╛.

9. рддреБрдордЪреЗ ETCD рдХреНрд▓рд╕реНрдЯрд░ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЭ рдХрд░рд╛

рдирдК рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдХрд╛рдордЧрд┐рд░реА рдЯрд┐рдкрд╛

ETCD рд▓рд╛ рд╕рдВрдкреВрд░реНрдг рдХреНрд▓рд╕реНрдЯрд░рдЪрд╛ рдореЗрдВрджреВ рдореНрд╣рдгрддрд╛ рдпреЗрдИрд▓. рдпрд╛ рдбреЗрдЯрд╛рдмреЗрд╕рдЪреЗ рдСрдкрд░реЗрд╢рди рдЙрдЪреНрдЪ рд╕реНрддрд░рд╛рд╡рд░ рд░рд╛рдЦрдгреЗ рдлрд╛рд░ рдорд╣рддреНрд╡рд╛рдЪреЗ рдЖрд╣реЗ, рдХрд╛рд░рдг "рдХреНрдпреВрдм" рдордзреАрд▓ рдСрдкрд░реЗрд╢рдиреНрд╕рдЪреА рдЧрддреА рдпрд╛рд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рдЕрд╕рддреЗ. рдмрд▒реНрдпрд╛рдкреИрдХреА рдорд╛рдирдХ, рдЖрдгрд┐ рддреНрдпрд╛рдЪ рд╡реЗрд│реА, рдХреБрдмреЗ-рдПрдкрд┐рд╕рд░реНрд╡реНрд╣рд░рд▓рд╛ рдХрд┐рдорд╛рди рд╡рд┐рд▓рдВрдм рд╣реЛрдгреНрдпрд╛рд╕рд╛рдареА рдорд╛рд╕реНрдЯрд░ рдиреЛрдбреНрд╕рд╡рд░ ETCD рдХреНрд▓рд╕реНрдЯрд░ рдареЗрд╡рдгреЗ рд╣рд╛ рдПрдХ рдЪрд╛рдВрдЧрд▓рд╛ рдЙрдкрд╛рдп рдЖрд╣реЗ. рд╣реЗ рд╢рдХреНрдп рдирд╕рд▓реНрдпрд╛рд╕, ETCD рд╢рдХреНрдп рддрд┐рддрдХреНрдпрд╛ рдЬрд╡рд│ рдареЗрд╡рд╛, рд╕рд╣рднрд╛рдЧреАрдВрдордзреНрдпреЗ рдЪрд╛рдВрдЧрд▓реА рдмрдБрдбрд╡рд┐рдбреНрде рдареЗрд╡рд╛. рдХреНрд▓рд╕реНрдЯрд░рд▓рд╛ рд╣рд╛рдиреА рди рд╣реЛрддрд╛ ETCD рдордзреАрд▓ рдХрд┐рддреА рдиреЛрдбреНрд╕ рдмрд╛рд╣реЗрд░ рдкрдбреВ рд╢рдХрддрд╛рдд рдпрд╛рд╡рд░ рджреЗрдЦреАрд▓ рд▓рдХреНрд╖ рджреНрдпрд╛.

рдирдК рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдХрд╛рдордЧрд┐рд░реА рдЯрд┐рдкрд╛

рд▓рдХреНрд╖рд╛рдд рдареЗрд╡рд╛ рдХреА рдХреНрд▓рд╕реНрдЯрд░рдордзреАрд▓ рд╕рд╣рднрд╛рдЧреАрдВрдЪреНрдпрд╛ рд╕рдВрдЦреНрдпреЗрдд рдЕрддреНрдпрд╛рдзрд┐рдХ рд╡рд╛рдв рдХрд╛рд░реНрдпрдХреНрд╖рдорддреЗрдЪреНрдпрд╛ рдЦрд░реНрдЪрд╛рд╡рд░ рджреЛрд╖ рд╕рд╣рд┐рд╖реНрдгреБрддрд╛ рд╡рд╛рдврд╡реВ рд╢рдХрддреЗ, рд╕рд░реНрд╡рдХрд╛рд╣реА рд╕рдВрдпрдорд╛рдд рдЕрд╕рд╛рд╡реЗ.

рдЬрд░ рдЖрдореНрд╣реА рд╕реЗрд╡рд╛ рд╕реЗрдЯ рдХрд░рдгреНрдпрд╛рдмрджреНрджрд▓ рдмреЛрд▓рд▓реЛ рддрд░ рдХрд╛рд╣реА рд╢рд┐рдлрд╛рд░рд╕реА рдЖрд╣реЗрдд:

  1. рдХреНрд▓рд╕реНрдЯрд░рдЪреНрдпрд╛ рдЖрдХрд╛рд░рд╛рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдЪрд╛рдВрдЧрд▓реЗ рд╣рд╛рд░реНрдбрд╡реЗрдЕрд░ (рддреБрдореНрд╣реА рд╡рд╛рдЪреВ рд╢рдХрддрд╛ рдпреЗрдереЗ).

  2. рдЬрд░ рддреБрдореНрд╣реА рдбреАрд╕реАрдЪреНрдпрд╛ рдЬреЛрдбреАрдордзреНрдпреЗ рдХрд┐рдВрд╡рд╛ рддреБрдордЪреНрдпрд╛ рдиреЗрдЯрд╡рд░реНрдХрдордзреНрдпреЗ рдХреНрд▓рд╕реНрдЯрд░ рдкрд╕рд░рд╡рд▓реЗ рдЕрд╕реЗрд▓ рддрд░ рдХрд╛рд╣реА рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕ рдЯреНрд╡реАрдХ рдХрд░рд╛ рдЖрдгрд┐ рдбрд┐рд╕реНрдХреНрд╕рдордзреНрдпреЗ рдмрд░реЗрдЪ рдХрд╛рд╣реА рд╣рд╡реЗ рдЕрд╕реЗрд▓ (рддреБрдореНрд╣реА рд╡рд╛рдЪреВ рд╢рдХрддрд╛ рдпреЗрдереЗ).

рдирд┐рд╖реНрдХрд░реНрд╖

рд╣рд╛ рд▓реЗрдЦ рдЖрдордЪрд╛ рдХрд╛рд░реНрдпрд╕рдВрдШ рдЬреНрдпрд╛ рдореБрджреНрджреНрдпрд╛рдВрдЪреЗ рдкрд╛рд▓рди рдХрд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░рддреЛ рддреНрдпрд╛рдЪреЗ рд╡рд░реНрдгрди рдХрд░рддреЛ. рд╣реЗ рдХреГрддреАрдВрдЪреЗ рдЪрд░рдг-рджрд░-рдЪрд░рдг рд╡рд░реНрдгрди рдирд╛рд╣реА, рдкрд░рдВрддреБ рдХреНрд▓рд╕реНрдЯрд░рдЪреЗ рдУрд╡реНрд╣рд░рд╣реЗрдб рдСрдкреНрдЯрд┐рдорд╛рдЗрдЭ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЙрдкрдпреБрдХреНрдд рдард░рдгрд╛рд░реЗ рдкрд░реНрдпрд╛рдп рдЖрд╣реЗрдд. рд╣реЗ рд╕реНрдкрд╖реНрдЯ рдЖрд╣реЗ рдХреА рдкреНрд░рддреНрдпреЗрдХ рдХреНрд▓рд╕реНрдЯрд░ рддреНрдпрд╛рдЪреНрдпрд╛ рд╕реНрд╡рдд: рдЪреНрдпрд╛ рдорд╛рд░реНрдЧрд╛рдиреЗ рдЕрджреНрд╡рд┐рддреАрдп рдЖрд╣реЗ, рдЖрдгрд┐ рдЯреНрдпреВрдирд┐рдВрдЧ рд╕реЛрд▓реНрдпреВрд╢рдиреНрд╕ рдореЛрдареНрдпрд╛ рдкреНрд░рдорд╛рдгрд╛рдд рдмрджрд▓реВ рд╢рдХрддрд╛рдд, рдореНрд╣рдгреВрди рддреБрдордЪреНрдпрд╛рдХрдбреВрди рдЕрднрд┐рдкреНрд░рд╛рдп рдорд┐рд│рдгреЗ рдордиреЛрд░рдВрдЬрдХ рдЕрд╕реЗрд▓: рддреБрдореНрд╣реА рддреБрдордЪреНрдпрд╛ рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдХреНрд▓рд╕реНрдЯрд░рдЪреЗ рдирд┐рд░реАрдХреНрд╖рдг рдХрд╕реЗ рдХрд░рддрд╛, рддреБрдореНрд╣реА рддреНрдпрд╛рдЪреЗ рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рдХрд╕реЗ рд╕реБрдзрд╛рд░рддрд╛. рдЯрд┐рдкреНрдкрдгреНрдпрд╛рдВрдордзреНрдпреЗ рдЖрдкрд▓рд╛ рдЕрдиреБрднрд╡ рд╕рд╛рдорд╛рдпрд┐рдХ рдХрд░рд╛, рд╣реЗ рдЬрд╛рдгреВрди рдШреЗрдгреЗ рдордиреЛрд░рдВрдЬрдХ рдЕрд╕реЗрд▓.

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