рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рдХрд┐рд╕реА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЙрд╕рдХреЗ рд╕рд╣реА рдФрд░ рд╕реНрдерд┐рд░ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рд╣рдореЗрд╢рд╛ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХрд╛ рдПрдХ рд╕рдорд░реНрдкрд┐рдд рдкреВрд▓ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдХрдИ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдПрдХ рд╣реА рд╢рдХреНрддрд┐ рдкрд░ рдЪрд▓ рд░рд╣реЗ рд╣реЛрдВ? рдЙрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЛ рдиреНрдпреВрдирддрдо рдЖрд╡рд╢реНрдпрдХ рд╕рдВрд╕рд╛рдзрди рдХреИрд╕реЗ рдкреНрд░рджрд╛рди рдХрд░реЗрдВ? рдЖрдк рд╕рдВрд╕рд╛рдзрди рдЦрдкрдд рдХреЛ рдХреИрд╕реЗ рд╕реАрдорд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдиреЛрдбреНрд╕ рдХреЗ рдмреАрдЪ рд▓реЛрдб рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХреИрд╕реЗ рд╡рд┐рддрд░рд┐рдд рдХрд░реЗрдВ? рдпрджрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЛрдб рдмрдврд╝рддрд╛ рд╣реИ рддреЛ рдХреНрд╖реИрддрд┐рдЬ рд╕реНрдХреЗрд▓рд┐рдВрдЧ рддрдВрддреНрд░ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ?
рдЖрдкрдХреЛ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдореМрдЬреВрдж рдореБрдЦреНрдп рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рд╕реЗ рд╢реБрд░реБрдЖрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рдпрд╣, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдкреНрд░реЛрд╕реЗрд╕рд░ рдХрд╛ рд╕рдордп рдФрд░ рд░реИрдо рд╣реИред K8s рдореЗрдирд┐рдлрд╝реЗрд╕реНрдЯ рдореЗрдВ рдЗрди рд╕рдВрд╕рд╛рдзрди рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЗрдХрд╛рдЗрдпреЛрдВ рдореЗрдВ рдорд╛рдкрд╛ рдЬрд╛рддрд╛ рд╣реИ:
- рд╕реАрдкреАрдпреВ - рдХреЛрд░ рдореЗрдВ
- рд░реИрдо - рдмрд╛рдЗрдЯреНрд╕ рдореЗрдВ
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрд╕рд╛рдзрди рдХреЗ рд▓рд┐рдП рджреЛ рдкреНрд░рдХрд╛рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдБ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ - рдЕрдиреБрд░реЛрдзреЛрдВ ╨╕ рд╕реАрдорд╛рдПрдВ. рдЕрдиреБрд░реЛрдз - рдПрдХ рдХрдВрдЯреЗрдирд░ (рдФрд░ рд╕рдордЧреНрд░ рд░реВрдк рд╕реЗ рдкреЙрдб) рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдиреЛрдб рдХреЗ рдореБрдХреНрдд рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдиреНрдпреВрдирддрдо рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рд╕реАрдорд╛рдПрдВ рдХрдВрдЯреЗрдирд░ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдкрд░ рдПрдХ рдХрдард┐рди рд╕реАрдорд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреА рд╣реИрдВред
рдпрд╣ рд╕рдордЭрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдореЗрдирд┐рдлреЗрд╕реНрдЯ рдореЗрдВ рджреЛрдиреЛрдВ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╡реНрдпрд╡рд╣рд╛рд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реЛрдЧрд╛:
- рдпрджрд┐ рдХреЗрд╡рд▓ рдХрд┐рд╕реА рд╕рдВрд╕рд╛рдзрди рдХреА рд╕реАрдорд╛рдПрдБ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╣реИрдВ, рддреЛ рдЗрд╕ рд╕рдВрд╕рд╛рдзрди рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╕реАрдорд╛ рдХреЗ рдмрд░рд╛рдмрд░ рдорд╛рди рд▓реЗрддреЗ рд╣реИрдВ (рдЖрдк рд╡рд░реНрдгрди рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЛ рдХреЙрд▓ рдХрд░рдХреЗ рдЗрд╕реЗ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ)ред рд╡реЗред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдХрдВрдЯреЗрдирд░ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рд╕рдорд╛рди рдорд╛рддреНрд░рд╛ рддрдХ рд╣реА рд╕реАрдорд┐рдд рд╣реЛрдЧрд╛ред
- рдпрджрд┐ рдХрд┐рд╕реА рд╕рдВрд╕рд╛рдзрди рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдЕрдиреБрд░реЛрдз рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╣реИрдВ, рддреЛ рдЗрд╕ рд╕рдВрд╕рд╛рдзрди рдкрд░ рдХреЛрдИ рдКрдкрд░реА рдкреНрд░рддрд┐рдмрдВрдз рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдирд╣реАрдВ рд╣реИрдВ - рдпрд╛рдиреАред рдХрдВрдЯреЗрдирд░ рдХреЗрд╡рд▓ рдиреЛрдб рдХреЗ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рджреНрд╡рд╛рд░рд╛ рд╣реА рд╕реАрдорд┐рдд рд╣реИред
рди рдХреЗрд╡рд▓ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрдВрдЯреЗрдирд░ рдХреЗ рд╕реНрддрд░ рдкрд░, рдмрд▓реНрдХрд┐ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рдВрд╕реНрдерд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдиреЗрдорд╕реНрдкреЗрд╕ рд╕реНрддрд░ рдкрд░ рднреА рд╕рдВрд╕рд╛рдзрди рдкреНрд░рдмрдВрдзрди рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ:
- рд╕реАрдорд╛ рд╕реАрдорд╛ - рдПрдирдПрд╕ рдореЗрдВ рдХрдВрдЯреЗрдирд░/рдкреЙрдб рд╕реНрддрд░ рдкрд░ рдкреНрд░рддрд┐рдмрдВрдз рдиреАрддрд┐ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХрдВрдЯреЗрдирд░/рдкреЙрдб рдкрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реАрдорд╛рдУрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╡рд╕рд╛ рд╡рд╛рд▓реЗ рдХрдВрдЯреЗрдирд░/рдкреЙрдб (рдпрд╛ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд) рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЛ рд░реЛрдХрдиреЗ, рдЙрдирдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдФрд░ рд╕реАрдорд╛ рдФрд░ рдЕрдиреБрд░реЛрдзреЛрдВ рдореЗрдВ рдореВрд▓реНрдпреЛрдВ рдореЗрдВ рд╕рдВрднрд╛рд╡рд┐рдд рдЕрдВрддрд░ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░реЗрдВ
- рд╕рдВрд╕рд╛рдзрди рдХреЛрдЯрд╛ - рдПрдирдПрд╕ рдореЗрдВ рд╕рднреА рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдкреНрд░рддрд┐рдмрдВрдз рдиреАрддрд┐ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реЗрдВ рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ, рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЗ рдмреАрдЪ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЙрдкрдпреЛрдЧреА рдЬрдм рд╡рд╛рддрд╛рд╡рд░рдг рдХреЛ рдиреЛрдб рд╕реНрддрд░ рдкрд░ рд╕рдЦреНрддреА рд╕реЗ рд╕реАрдорд╛рдВрдХрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ)
рд╕рдВрд╕рд╛рдзрди рд╕реАрдорд╛рдПрдБ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдореИрдирд┐рдлрд╝реЗрд╕реНрдЯ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реИрдВ:
-
рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрдВрдЯреЗрдирд░ рд╕реНрддрд░ рдкрд░:
containers: - name: app-nginx image: nginx resources: requests: memory: 1Gi limits: cpu: 200m
рд╡реЗред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, nginx рдХреЗ рд╕рд╛рде рдПрдХ рдХрдВрдЯреЗрдирд░ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдиреЛрдб рдкрд░ рдХрдо рд╕реЗ рдХрдо 1G рдореБрдлреНрдд рд░реИрдо рдФрд░ 0.2 рд╕реАрдкреАрдпреВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдЬрдмрдХрд┐ рдЕрдзрд┐рдХрддрдо рдХрдВрдЯреЗрдирд░ 0.2 рд╕реАрдкреАрдпреВ рдФрд░ рдиреЛрдб рдкрд░ рд╕рднреА рдЙрдкрд▓рдмреНрдз рд░реИрдо рдХрд╛ рдЙрдкрднреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИред
-
рдкреВрд░реНрдгрд╛рдВрдХ рд╕реНрддрд░ рдкрд░ рдПрдирдПрд╕:
apiVersion: v1 kind: ResourceQuota metadata: name: nxs-test spec: hard: requests.cpu: 300m requests.memory: 1Gi limits.cpu: 700m limits.memory: 2Gi
рд╡реЗред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдПрдирдПрд╕ рдореЗрдВ рд╕рднреА рдЕрдиреБрд░реЛрдз рдХрдВрдЯреЗрдирд░реЛрдВ рдХрд╛ рдпреЛрдЧ рд╕реАрдкреАрдпреВ рдХреЗ рд▓рд┐рдП 300 рдореАрдЯрд░ рдФрд░ рдУрдкреА рдХреЗ рд▓рд┐рдП 1 рдЬреА рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рд╕рднреА рд╕реАрдорд╛рдУрдВ рдХрд╛ рдпреЛрдЧ рд╕реАрдкреАрдпреВ рдХреЗ рд▓рд┐рдП 700 рдореАрдЯрд░ рдФрд░ рдУрдкреА рдХреЗ рд▓рд┐рдП 2 рдЬреА рд╣реИред
-
рдПрдирдПрд╕ рдореЗрдВ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реАрдорд╛рдПрдБ:
apiVersion: v1 kind: LimitRange metadata: name: nxs-limit-per-container spec: limits: - type: Container defaultRequest: cpu: 100m memory: 1Gi default: cpu: 1 memory: 2Gi min: cpu: 50m memory: 500Mi max: cpu: 2 memory: 4Gi
рд╡реЗред рд╕рднреА рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдиреЗрдорд╕реНрдкреЗрд╕ рдореЗрдВ, рдЕрдиреБрд░реЛрдз CPU рдХреЗ рд▓рд┐рдП 100m рдФрд░ OP рдХреЗ рд▓рд┐рдП 1G, рд╕реАрдорд╛ - 1 CPU рдФрд░ 2G рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд╕рд╛рде рд╣реА, CPU (50m < x < 2) рдФрд░ RAM (500M < x < 4G) рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз/рд╕реАрдорд╛ рдореЗрдВ рд╕рдВрднрд╛рд╡рд┐рдд рдорд╛рдиреЛрдВ рдкрд░ рднреА рдПрдХ рд╕реАрдорд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХреА рдЧрдИ рд╣реИред
-
рдкреЙрдб-рд╕реНрддрд░ рдкреНрд░рддрд┐рдмрдВрдз рдПрдирдПрд╕:
apiVersion: v1 kind: LimitRange metadata: name: nxs-limit-pod spec: limits: - type: Pod max: cpu: 4 memory: 1Gi
рд╡реЗред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдПрдирдПрд╕ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдкреЙрдб рдХреЗ рд▓рд┐рдП 4 рд╡реАрд╕реАрдкреАрдпреВ рдФрд░ 1рдЬреА рдХреА рд╕реАрдорд╛ рд╣реЛрдЧреАред
рдЕрдм рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ рдЗрди рдкреНрд░рддрд┐рдмрдВрдзреЛрдВ рдХреЛ рд▓рдЧрд╛рдиреЗ рд╕реЗ рд╣рдореЗрдВ рдХреНрдпрд╛ рдлрд╛рдпрджреЗ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред
рдиреЛрдбреНрд╕ рдХреЗ рдмреАрдЪ рд▓реЛрдб рд╕рдВрддреБрд▓рди рддрдВрддреНрд░
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ, k8s рдШрдЯрдХ рдиреЛрдбреНрд╕ рдХреЗ рдмреАрдЪ рдкреЙрдбреНрд╕ рдХреЗ рд╡рд┐рддрд░рдг рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИ, рдЬреИрд╕реЗ рдЕрдиреБрд╕реВрдЪрдХ, рдЬреЛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╖реНрдЯрддрдо рдиреЛрдб рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╕рдордп рдпрд╣ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рджреЛ рдЪрд░рдгреЛрдВ рд╕реЗ рдЧреБрдЬрд░рддрд╛ рд╣реИ:
- рдЫрд╛рдирдиреЗ
- рд▓реЗрдХрд░
рд╡реЗред рд╡рд░реНрдгрд┐рдд рдиреАрддрд┐ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ рдиреЛрдбреНрд╕ рдХрд╛ рдЪрдпрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕ рдкрд░ рд╕реЗрдЯ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдкреЙрдб рд▓реЙрдиреНрдЪ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ рд╡рд┐рдзреЗрдп (рдпрд╣ рдЬрд╛рдБрдЪрдиреЗ рд╕рд╣рд┐рдд рдХрд┐ рдиреЛрдб рдХреЗ рдкрд╛рд╕ рдкреЙрдб рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╕рдВрд╕рд╛рдзрди рд╣реИрдВ - PodFitsResources), рдФрд░ рдлрд┐рд░ рдЗрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдб рдХреЗ рд▓рд┐рдП, рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдЕрдВрдХ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ (рдЗрд╕рдореЗрдВ, рдПрдХ рдиреЛрдб рдХреЗ рдкрд╛рд╕ рдЬрд┐рддрдиреЗ рдЕрдзрд┐рдХ рдореБрдХреНрдд рд╕рдВрд╕рд╛рдзрди рд╣реЛрддреЗ рд╣реИрдВ, рдЙрд╕реЗ рдЙрддрдиреЗ рд╣реА рдЕрдзрд┐рдХ рдЕрдВрдХ рджрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ - LeastResourceAllocation/LeastRequestedPriority/BalancedResourceAllocation) рдФрд░ рдкреЙрдб рдХреЛ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдЕрдВрдХреЛрдВ рдХреЗ рд╕рд╛рде рдиреЛрдб рдкрд░ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдпрджрд┐ рдХрдИ рдиреЛрдб рдПрдХ рд╕рд╛рде рдЗрд╕ рд╢рд░реНрдд рдХреЛ рдкреВрд░рд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ) рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдЪрдпрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ)ред
рдЙрд╕реА рд╕рдордп, рдЖрдкрдХреЛ рдпрд╣ рд╕рдордЭрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рд╢реЗрдбреНрдпреВрд▓рд░, рдХрд┐рд╕реА рдиреЛрдб рдХреЗ рдЙрдкрд▓рдмреНрдз рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХрд╛ рдЖрдХрд▓рди рдХрд░рддреЗ рд╕рдордп, рдЙрд╕ рдбреЗрдЯрд╛ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдЖрджрд┐ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реЛрддрд╛ рд╣реИ - рдпрд╛рдиреАред рдЗрд╕ рдиреЛрдб рдкрд░ рдЪрд▓ рд░рд╣реЗ рдкреНрд░рддреНрдпреЗрдХ рдкреЙрдб рдХреЗ рдЕрдиреБрд░реЛрдзрд┐рдд/рд╕реАрдорд╛ рд╕рдВрд╕рд╛рдзрди рдХреА рдорд╛рддреНрд░рд╛ рдХреЗ рд▓рд┐рдП, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдВрд╕рд╛рдзрди рдЦрдкрдд рдХреЗ рд▓рд┐рдП рдирд╣реАрдВред рдпрд╣ рдЬрд╛рдирдХрд╛рд░реА рдХрдорд╛рдВрдб рдЖрдЙрдЯрдкреБрдЯ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ kubectl describe node $NODE
, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
# kubectl describe nodes nxs-k8s-s1
..
Non-terminated Pods: (9 in total)
Namespace Name CPU Requests CPU Limits Memory Requests Memory Limits AGE
--------- ---- ------------ ---------- --------------- ------------- ---
ingress-nginx nginx-ingress-controller-754b85bf44-qkt2t 0 (0%) 0 (0%) 0 (0%) 0 (0%) 233d
kube-system kube-flannel-26bl4 150m (0%) 300m (1%) 64M (0%) 500M (1%) 233d
kube-system kube-proxy-exporter-cb629 0 (0%) 0 (0%) 0 (0%) 0 (0%) 233d
kube-system kube-proxy-x9fsc 0 (0%) 0 (0%) 0 (0%) 0 (0%) 233d
kube-system nginx-proxy-k8s-worker-s1 25m (0%) 300m (1%) 32M (0%) 512M (1%) 233d
nxs-monitoring alertmanager-main-1 100m (0%) 100m (0%) 425Mi (1%) 25Mi (0%) 233d
nxs-logging filebeat-lmsmp 100m (0%) 0 (0%) 100Mi (0%) 200Mi (0%) 233d
nxs-monitoring node-exporter-v4gdq 112m (0%) 122m (0%) 200Mi (0%) 220Mi (0%) 233d
Allocated resources:
(Total limits may be over 100 percent, i.e., overcommitted.)
Resource Requests Limits
-------- -------- ------
cpu 487m (3%) 822m (5%)
memory 15856217600 (2%) 749976320 (3%)
ephemeral-storage 0 (0%) 0 (0%)
рдпрд╣рд╛рдВ рд╣рдо рд╕рднреА рдкреЙрдбреНрд╕ рдХреЛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдиреЛрдб рдкрд░ рдЪрд▓рддреЗ рд╣реБрдП рджреЗрдЦрддреЗ рд╣реИрдВ, рд╕рд╛рде рд╣реА рд╡реЗ рд╕рдВрд╕рд╛рдзрди рднреА рджреЗрдЦрддреЗ рд╣реИрдВ рдЬреЛ рдкреНрд░рддреНрдпреЗрдХ рдкреЙрдб рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИред рдФрд░ рдпрд╣рд╛рдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдЬрдм cronjob-cron-events-1573793820-xt6q9 рдкреЙрдб рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рд╢реЗрдбреНрдпреВрд▓рд░ рд▓реЙрдЧ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ (рдпрд╣ рдЬрд╛рдирдХрд╛рд░реА рд╢реЗрдбреНрдпреВрд▓рд░ рд▓реЙрдЧ рдореЗрдВ рддрдм рджрд┐рдЦрд╛рдИ рджреЗрдЧреА рдЬрдм рдЖрдк рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдХрдорд╛рдВрдб рддрд░реНрдХ -v=10 рдореЗрдВ 10рд╡рд╛рдВ рд▓реЙрдЧрд┐рдВрдЧ рд╕реНрддрд░ рд╕реЗрдЯ рдХрд░реЗрдВрдЧреЗ):
рд▓реЙрдЧ
I1115 07:57:21.637791 1 scheduling_queue.go:908] About to try and schedule pod nxs-stage/cronjob-cron-events-1573793820-xt6q9
I1115 07:57:21.637804 1 scheduler.go:453] Attempting to schedule pod: nxs-stage/cronjob-cron-events-1573793820-xt6q9
I1115 07:57:21.638285 1 predicates.go:829] Schedule Pod nxs-stage/cronjob-cron-events-1573793820-xt6q9 on Node nxs-k8s-s5 is allowed, Node is running only 16 out of 110 Pods.
I1115 07:57:21.638300 1 predicates.go:829] Schedule Pod nxs-stage/cronjob-cron-events-1573793820-xt6q9 on Node nxs-k8s-s6 is allowed, Node is running only 20 out of 110 Pods.
I1115 07:57:21.638322 1 predicates.go:829] Schedule Pod nxs-stage/cronjob-cron-events-1573793820-xt6q9 on Node nxs-k8s-s3 is allowed, Node is running only 20 out of 110 Pods.
I1115 07:57:21.638322 1 predicates.go:829] Schedule Pod nxs-stage/cronjob-cron-events-1573793820-xt6q9 on Node nxs-k8s-s4 is allowed, Node is running only 17 out of 110 Pods.
I1115 07:57:21.638334 1 predicates.go:829] Schedule Pod nxs-stage/cronjob-cron-events-1573793820-xt6q9 on Node nxs-k8s-s10 is allowed, Node is running only 16 out of 110 Pods.
I1115 07:57:21.638365 1 predicates.go:829] Schedule Pod nxs-stage/cronjob-cron-events-1573793820-xt6q9 on Node nxs-k8s-s12 is allowed, Node is running only 9 out of 110 Pods.
I1115 07:57:21.638334 1 predicates.go:829] Schedule Pod nxs-stage/cronjob-cron-events-1573793820-xt6q9 on Node nxs-k8s-s11 is allowed, Node is running only 11 out of 110 Pods.
I1115 07:57:21.638385 1 predicates.go:829] Schedule Pod nxs-stage/cronjob-cron-events-1573793820-xt6q9 on Node nxs-k8s-s1 is allowed, Node is running only 19 out of 110 Pods.
I1115 07:57:21.638402 1 predicates.go:829] Schedule Pod nxs-stage/cronjob-cron-events-1573793820-xt6q9 on Node nxs-k8s-s2 is allowed, Node is running only 21 out of 110 Pods.
I1115 07:57:21.638383 1 predicates.go:829] Schedule Pod nxs-stage/cronjob-cron-events-1573793820-xt6q9 on Node nxs-k8s-s9 is allowed, Node is running only 16 out of 110 Pods.
I1115 07:57:21.638335 1 predicates.go:829] Schedule Pod nxs-stage/cronjob-cron-events-1573793820-xt6q9 on Node nxs-k8s-s8 is allowed, Node is running only 18 out of 110 Pods.
I1115 07:57:21.638408 1 predicates.go:829] Schedule Pod nxs-stage/cronjob-cron-events-1573793820-xt6q9 on Node nxs-k8s-s13 is allowed, Node is running only 8 out of 110 Pods.
I1115 07:57:21.638478 1 predicates.go:1369] Schedule Pod nxs-stage/cronjob-cron-events-1573793820-xt6q9 on Node nxs-k8s-s10 is allowed, existing pods anti-affinity terms satisfied.
I1115 07:57:21.638505 1 predicates.go:1369] Schedule Pod nxs-stage/cronjob-cron-events-1573793820-xt6q9 on Node nxs-k8s-s8 is allowed, existing pods anti-affinity terms satisfied.
I1115 07:57:21.638577 1 predicates.go:1369] Schedule Pod nxs-stage/cronjob-cron-events-1573793820-xt6q9 on Node nxs-k8s-s9 is allowed, existing pods anti-affinity terms satisfied.
I1115 07:57:21.638583 1 predicates.go:829] Schedule Pod nxs-stage/cronjob-cron-events-1573793820-xt6q9 on Node nxs-k8s-s7 is allowed, Node is running only 25 out of 110 Pods.
I1115 07:57:21.638932 1 resource_allocation.go:78] cronjob-cron-events-1573793820-xt6q9 -> nxs-k8s-s10: BalancedResourceAllocation, capacity 39900 millicores 66620178432 memory bytes, total request 2343 millicores 9640186880 memory bytes, score 9
I1115 07:57:21.638946 1 resource_allocation.go:78] cronjob-cron-events-1573793820-xt6q9 -> nxs-k8s-s10: LeastResourceAllocation, capacity 39900 millicores 66620178432 memory bytes, total request 2343 millicores 9640186880 memory bytes, score 8
I1115 07:57:21.638961 1 resource_allocation.go:78] cronjob-cron-events-1573793820-xt6q9 -> nxs-k8s-s9: BalancedResourceAllocation, capacity 39900 millicores 66620170240 memory bytes, total request 4107 millicores 11307422720 memory bytes, score 9
I1115 07:57:21.638971 1 resource_allocation.go:78] cronjob-cron-events-1573793820-xt6q9 -> nxs-k8s-s8: BalancedResourceAllocation, capacity 39900 millicores 66620178432 memory bytes, total request 5847 millicores 24333637120 memory bytes, score 7
I1115 07:57:21.638975 1 resource_allocation.go:78] cronjob-cron-events-1573793820-xt6q9 -> nxs-k8s-s9: LeastResourceAllocation, capacity 39900 millicores 66620170240 memory bytes, total request 4107 millicores 11307422720 memory bytes, score 8
I1115 07:57:21.638990 1 resource_allocation.go:78] cronjob-cron-events-1573793820-xt6q9 -> nxs-k8s-s8: LeastResourceAllocation, capacity 39900 millicores 66620178432 memory bytes, total request 5847 millicores 24333637120 memory bytes, score 7
I1115 07:57:21.639022 1 generic_scheduler.go:726] cronjob-cron-events-1573793820-xt6q9_nxs-stage -> nxs-k8s-s10: TaintTolerationPriority, Score: (10)
I1115 07:57:21.639030 1 generic_scheduler.go:726] cronjob-cron-events-1573793820-xt6q9_nxs-stage -> nxs-k8s-s8: TaintTolerationPriority, Score: (10)
I1115 07:57:21.639034 1 generic_scheduler.go:726] cronjob-cron-events-1573793820-xt6q9_nxs-stage -> nxs-k8s-s9: TaintTolerationPriority, Score: (10)
I1115 07:57:21.639041 1 generic_scheduler.go:726] cronjob-cron-events-1573793820-xt6q9_nxs-stage -> nxs-k8s-s10: NodeAffinityPriority, Score: (0)
I1115 07:57:21.639053 1 generic_scheduler.go:726] cronjob-cron-events-1573793820-xt6q9_nxs-stage -> nxs-k8s-s8: NodeAffinityPriority, Score: (0)
I1115 07:57:21.639059 1 generic_scheduler.go:726] cronjob-cron-events-1573793820-xt6q9_nxs-stage -> nxs-k8s-s9: NodeAffinityPriority, Score: (0)
I1115 07:57:21.639061 1 interpod_affinity.go:237] cronjob-cron-events-1573793820-xt6q9 -> nxs-k8s-s10: InterPodAffinityPriority, Score: (0)
I1115 07:57:21.639063 1 selector_spreading.go:146] cronjob-cron-events-1573793820-xt6q9 -> nxs-k8s-s10: SelectorSpreadPriority, Score: (10)
I1115 07:57:21.639073 1 interpod_affinity.go:237] cronjob-cron-events-1573793820-xt6q9 -> nxs-k8s-s8: InterPodAffinityPriority, Score: (0)
I1115 07:57:21.639077 1 selector_spreading.go:146] cronjob-cron-events-1573793820-xt6q9 -> nxs-k8s-s8: SelectorSpreadPriority, Score: (10)
I1115 07:57:21.639085 1 interpod_affinity.go:237] cronjob-cron-events-1573793820-xt6q9 -> nxs-k8s-s9: InterPodAffinityPriority, Score: (0)
I1115 07:57:21.639088 1 selector_spreading.go:146] cronjob-cron-events-1573793820-xt6q9 -> nxs-k8s-s9: SelectorSpreadPriority, Score: (10)
I1115 07:57:21.639103 1 generic_scheduler.go:726] cronjob-cron-events-1573793820-xt6q9_nxs-stage -> nxs-k8s-s10: SelectorSpreadPriority, Score: (10)
I1115 07:57:21.639109 1 generic_scheduler.go:726] cronjob-cron-events-1573793820-xt6q9_nxs-stage -> nxs-k8s-s8: SelectorSpreadPriority, Score: (10)
I1115 07:57:21.639114 1 generic_scheduler.go:726] cronjob-cron-events-1573793820-xt6q9_nxs-stage -> nxs-k8s-s9: SelectorSpreadPriority, Score: (10)
I1115 07:57:21.639127 1 generic_scheduler.go:781] Host nxs-k8s-s10 => Score 100037
I1115 07:57:21.639150 1 generic_scheduler.go:781] Host nxs-k8s-s8 => Score 100034
I1115 07:57:21.639154 1 generic_scheduler.go:781] Host nxs-k8s-s9 => Score 100037
I1115 07:57:21.639267 1 scheduler_binder.go:269] AssumePodVolumes for pod "nxs-stage/cronjob-cron-events-1573793820-xt6q9", node "nxs-k8s-s10"
I1115 07:57:21.639286 1 scheduler_binder.go:279] AssumePodVolumes for pod "nxs-stage/cronjob-cron-events-1573793820-xt6q9", node "nxs-k8s-s10": all PVCs bound and nothing to do
I1115 07:57:21.639333 1 factory.go:733] Attempting to bind cronjob-cron-events-1573793820-xt6q9 to nxs-k8s-s10
рдпрд╣рд╛рдВ рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ рд╢реЗрдбреНрдпреВрд▓рд░ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рддрд╛ рд╣реИ рдФрд░ 3 рдиреЛрдбреНрд╕ рдХреА рдПрдХ рд╕реВрдЪреА рдмрдирд╛рддрд╛ рд╣реИ рдЬрд┐рд╕ рдкрд░ рдЗрд╕реЗ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (nxs-k8s-s8, nxs-k8s-s9, nxs-k8s-s10)ред рдлрд┐рд░ рдпрд╣ рд╕рдмрд╕реЗ рдЙрдкрдпреБрдХреНрдд рдиреЛрдб рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдб рдХреЗ рд▓рд┐рдП рдХрдИ рдорд╛рдкрджрдВрдбреЛрдВ (рдмреИрд▓реЗрдВрд╕реНрдб рд░рд┐рд╕реЛрд░реНрд╕ рдПрд▓реЛрдХреЗрд╢рди, рд▓реАрд╕реНрдЯ рд░рд┐рд╕реЛрд░реНрд╕ рдПрд▓реЛрдХреЗрд╢рди рд╕рд╣рд┐рдд) рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕реНрдХреЛрд░ рдХреА рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИред рдЕрдВрддрддрдГ, рдкреЙрдб рдХреЛ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдЕрдВрдХреЛрдВ рд╡рд╛рд▓реЗ рдиреЛрдб рдкрд░ рд╢реЗрдбреНрдпреВрд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдпрд╣рд╛рдВ рджреЛ рдиреЛрдбреНрд╕ рдореЗрдВ рдПрдХ рд╕рд╛рде рдЕрдВрдХреЛрдВ рдХреА рд╕рдорд╛рди рд╕рдВрдЦреНрдпрд╛ 100037 рд╣реЛрддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдЪреБрдирд╛ рдЬрд╛рддрд╛ рд╣реИ - nxs-k8s-s10)ред
рдЙрддреНрдкрд╛рджрди: рдпрджрд┐ рдХреЛрдИ рдиреЛрдб рдкреЙрдб рдЪрд▓рд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдкреНрд░рддрд┐рдмрдВрдз рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдирд╣реАрдВ рд╣реИ, рддреЛ k8s рдХреЗ рд▓рд┐рдП (рд╕рдВрд╕рд╛рдзрди рдЦрдкрдд рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ) рдпрд╣ рдЗрд╕рдХреЗ рдмрд░рд╛рдмрд░ рд╣реЛрдЧрд╛ рдЬреИрд╕реЗ рдХрд┐ рдЗрд╕ рдиреЛрдб рдкрд░ рдРрд╕реЗ рдХреЛрдИ рдкреЙрдб рдереЗ рд╣реА рдирд╣реАрдВред рдЗрд╕рд▓рд┐рдП, рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕, рд╕рд╢рд░реНрдд рд░реВрдк рд╕реЗ, рдПрдХ рд▓реЛрд▓реБрдк рдкреНрд░рдХреНрд░рд┐рдпрд╛ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡рд╛рд╣) рдХреЗ рд╕рд╛рде рдПрдХ рдкреЙрдб рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдкреНрд░рддрд┐рдмрдВрдз рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдирд╣реАрдВ рд╣реИ, рддреЛ рдРрд╕реА рд╕реНрдерд┐рддрд┐ рдЙрддреНрдкрдиреНрди рд╣реЛ рд╕рдХрддреА рд╣реИ рдЬрдм рдпрд╣ рдкреЙрдб рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдиреЛрдб рдХреЗ рд╕рднреА рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдЦрд╛ рдЧрдпрд╛, рд▓реЗрдХрд┐рди k8s рдХреЗ рд▓рд┐рдП рдпрд╣ рдиреЛрдб рдЗрд╕реЗ рдЕрдирд▓реЛрдбреЗрдб рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдПрдХ рдРрд╕реЗ рдиреЛрдб рдХреЗ рд░реВрдк рдореЗрдВ рд░реИрдВрдХрд┐рдВрдЧ (рдЙрдкрд▓рдмреНрдз рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХрд╛ рдЖрдХрд▓рди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдмрд┐рдВрджреБрдУрдВ рдореЗрдВ) рдХреЗ рд╕рдорд╛рди рдЕрдВрдХ рджрд┐рдП рдЬрд╛рдПрдВрдЧреЗ, рдЬрд┐рд╕рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкреЙрдб рдирд╣реАрдВ рд╣реИрдВ, рдЬреЛ рдЕрдВрддрддрдГ рдиреЛрдбреНрд╕ рдХреЗ рдмреАрдЪ рд▓реЛрдб рдХреЗ рдЕрд╕рдорд╛рди рд╡рд┐рддрд░рдг рдХрд╛ рдХрд╛рд░рдг рдмрди рд╕рдХрддрд╛ рд╣реИред
рдкреЙрдб рдХрд╛ рдирд┐рд╖реНрдХрд╛рд╕рди
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ, рдкреНрд░рддреНрдпреЗрдХ рдкреЙрдб рдХреЛ 3 QoS рд╡рд░реНрдЧреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╕реМрдВрдкрд╛ рдЧрдпрд╛ рд╣реИ:
- рдЧрд╛рд░рдВрдЯреАрд╢реБрджрд╛ - рддрдм рдЕрд╕рд╛рдЗрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рдкреЙрдб рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдХрдВрдЯреЗрдирд░ рдХреЗ рд▓рд┐рдП рдореЗрдореЛрд░реА рдФрд░ рд╕реАрдкреАрдпреВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдиреБрд░реЛрдз рдФрд░ рд╕реАрдорд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреА рдЬрд╛рддреА рд╣реИ, рдФрд░ рдпреЗ рдорд╛рди рдореЗрд▓ рдЦрд╛рдиреЗ рдЪрд╛рд╣рд┐рдП
- рдлрдЯрдиреЗ рдпреЛрдЧреНрдп - рдкреЙрдб рдореЗрдВ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдПрдХ рдЕрдиреБрд░реЛрдз рдФрд░ рдПрдХ рд╕реАрдорд╛ рд╣реЛрддреА рд╣реИ, рдЕрдиреБрд░реЛрдз <рд╕реАрдорд╛ рдХреЗ рд╕рд╛рде
- рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдкреНрд░рдпрд╛рд╕ - рдЬрдм рдкреЙрдб рдореЗрдВ рдПрдХ рднреА рдХрдВрдЯреЗрдирд░ рд╕рдВрд╕рд╛рдзрди рд╕реАрдорд┐рдд рди рд╣реЛ
рдЙрд╕реА рд╕рдордп, рдЬрдм рдПрдХ рдиреЛрдб рд╕рдВрд╕рд╛рдзрдиреЛрдВ (рдбрд┐рд╕реНрдХ, рдореЗрдореЛрд░реА) рдХреА рдХрдореА рдХрд╛ рдЕрдиреБрднрд╡ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдХреНрдпреВрдмрд▓реЗрдЯ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдкреЙрдбреНрд╕ рдХреЛ рд░реИрдВрдХ рдХрд░рдирд╛ рдФрд░ рдмреЗрджрдЦрд▓ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИ рдЬреЛ рдкреЙрдб рдФрд░ рдЙрд╕рдХреЗ рдХреНрдпреВрдУрдПрд╕ рд╡рд░реНрдЧ рдХреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рд╣рдо RAM рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ QoS рд╡рд░реНрдЧ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЕрдВрдХ рджрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ:
- рдЧрд╛рд░рдВрдЯреАрдХреГрдд: -998
- рд╕рд░реНрд╡рд╢реНрд░реЗрд╖реНрда рдкреНрд░рдпрд╛рд╕: 1000
- рдлрдЯрдиреЗ рдпреЛрдЧреНрдп: рдиреНрдпреВрдирддрдо(рдЕрдзрд┐рдХрддрдо(2, 1000 - (1000 * рдореЗрдореЛрд░реА рд░рд┐рдХреНрд╡реЗрд╕реНрдЯ рдмрд╛рдЗрдЯреНрд╕) / рдорд╢реАрди рдореЗрдореЛрд░реА рдХреИрдкреЗрд╕рд┐рдЯреА рдмрд╛рдЗрдЯреНрд╕), 999)
рд╡реЗред рдЙрд╕реА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЗ рд╕рд╛рде, рдХреНрдпреВрдмрд▓реЗрдЯ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдиреЛрдб рд╕реЗ рд╕рд░реНрд╡реЛрддреНрддрдо рдкреНрд░рдпрд╛рд╕ QoS рд╡рд░реНрдЧ рдХреЗ рд╕рд╛рде рдкреЙрдбреНрд╕ рдХреЛ рдмрд╛рд╣рд░ рдирд┐рдХрд╛рд▓ рджреЗрдЧрд╛ред
рдЙрддреНрдкрд╛рджрди: рдпрджрд┐ рдЖрдк рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рдХрдореА рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╡рд╛рдВрдЫрд┐рдд рдкреЙрдб рдХреЛ рдиреЛрдб рд╕реЗ рдмрд╛рд╣рд░ рдХрд┐рдП рдЬрд╛рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЛ рдХрдо рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдЖрдкрдХреЛ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз/рд╕реАрдорд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рднреА рдзреНрдпрд╛рди рд░рдЦрдирд╛ рд╣реЛрдЧрд╛ред
рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкреЙрдбреНрд╕ рдХреА рдХреНрд╖реИрддрд┐рдЬ рдСрдЯреЛрд╕реНрдХреЗрд▓рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рддрдВрддреНрд░ (рдПрдЪрдкреАрдП)
рдЬрдм рдХрд╛рд░реНрдп рд╕рдВрд╕рд╛рдзрдиреЛрдВ (рд╕рд┐рд╕реНрдЯрдо - рд╕реАрдкреАрдпреВ/рд░реИрдо рдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ - рдЖрд░рдкреАрдПрд╕) рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдкреЙрдбреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдмрдврд╝рд╛рдирд╛ рдФрд░ рдШрдЯрд╛рдирд╛ рд╣реИ, рддреЛ рдРрд╕реА k8s рдЗрдХрд╛рдИ рдПрдЪрдкреАрдП (рдХреНрд╖реИрддрд┐рдЬ рдкреЙрдб рдСрдЯреЛрд╕реНрдХреЗрд▓рд░)ред рдЬрд┐рд╕рдХрд╛ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:
- рдкреНрд░реЗрдХреНрд╖рд┐рдд рд╕рдВрд╕рд╛рдзрди рдХреА рд╡рд░реНрддрдорд╛рди рд░реАрдбрд┐рдВрдЧ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИ (currentMetricValue)
- рд╕рдВрд╕рд╛рдзрди рдХреЗ рд▓рд┐рдП рд╡рд╛рдВрдЫрд┐рдд рдорд╛рди рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ (desiredMetricValue), рдЬреЛ рд╕рд┐рд╕реНрдЯрдо рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ
- рдкреНрд░рддрд┐рдХреГрддрд┐рдпреЛрдВ рдХреА рд╡рд░реНрддрдорд╛рди рд╕рдВрдЦреНрдпрд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИ (рд╡рд░реНрддрдорд╛рдирдкреНрд░рддрд┐рдХреГрддрд┐рдпрд╛рдБ)
- рдирд┐рдореНрди рд╕реВрддреНрд░ рдкреНрд░рддрд┐рдХреГрддрд┐рдпреЛрдВ рдХреА рд╡рд╛рдВрдЫрд┐рдд рд╕рдВрдЦреНрдпрд╛ рдХреА рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИ (рд╡рд╛рдВрдЫрд┐рддрдкреНрд░рддрд┐рдХреГрддрд┐рдпрд╛рдВ)
рд╡рд╛рдВрдЫрд┐рддрдкреНрд░рддрд┐рдХреГрддрд┐рдпрд╛рдВ = [рд╡рд░реНрддрдорд╛рдирдкреНрд░рддрд┐рдХреГрддрд┐рдпрд╛рдВ* (рд╡рд░реНрддрдорд╛рдирдореЗрдЯреНрд░рд┐рдХрд╡реИрд▓реНрдпреВ/рд╡рд╛рдВрдЫрд┐рддрдореЗрдЯреНрд░рд┐рдХрд╡реИрд▓реНрдпреВ)]
рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕реНрдХреЗрд▓рд┐рдВрдЧ рддрдм рдирд╣реАрдВ рд╣реЛрдЧреА рдЬрдм рдЧреБрдгрд╛рдВрдХ (currentMetricValue / DesiredMetricValue) 1 рдХреЗ рдХрд░реАрдм рд╣реЛ (рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо рдЕрдиреБрдореЗрдп рддреНрд░реБрдЯрд┐ рд╕реНрд╡рдпрдВ рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ; рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдпрд╣ 0.1 рд╣реИ)ред
рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдРрдк-рдЯреЗрд╕реНрдЯ рдПрдкреНрд▓рд┐рдХреЗрд╢рди (рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд░реНрдгрд┐рдд) рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдЪрдкреАрдП рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рд╕реАрдкреАрдпреВ рдЦрдкрдд рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдкреНрд░рддрд┐рдХреГрддрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдмрджрд▓рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ:
-
рдЖрд╡реЗрджрди рдкреНрд░рдХрдЯ
kind: Deployment apiVersion: apps/v1beta2 metadata: name: app-test spec: selector: matchLabels: app: app-test replicas: 2 template: metadata: labels: app: app-test spec: containers: - name: nginx image: registry.nixys.ru/generic-images/nginx imagePullPolicy: Always resources: requests: cpu: 60m ports: - name: http containerPort: 80 - name: nginx-exporter image: nginx/nginx-prometheus-exporter resources: requests: cpu: 30m ports: - name: nginx-exporter containerPort: 9113 args: - -nginx.scrape-uri - http://127.0.0.1:80/nginx-status
рд╡реЗред рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкреЙрдб рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ рджреЛ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдореЗрдВ рджреЛ nginx рдФрд░ nginx-рдирд┐рд░реНрдпрд╛рддрдХ рдХрдВрдЯреЗрдирд░ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╣реИ рдЕрдиреБрд░реЛрдзреЛрдВ рд╕реАрдкреАрдпреВ рдХреЗ рд▓рд┐рдП.
-
рдПрдЪрдкреАрдП рдШреЛрд╖рдгрд╛рдкрддреНрд░
apiVersion: autoscaling/v2beta2 kind: HorizontalPodAutoscaler metadata: name: app-test-hpa spec: maxReplicas: 10 minReplicas: 2 scaleTargetRef: apiVersion: extensions/v1beta1 kind: Deployment name: app-test metrics: - type: Resource resource: name: cpu target: type: Utilization averageUtilization: 30
рд╡реЗред рд╣рдордиреЗ рдПрдХ рдПрдЪрдкреАрдП рдмрдирд╛рдпрд╛ рдЬреЛ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдРрдк-рдкрд░реАрдХреНрд╖рдг рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░реЗрдЧрд╛ рдФрд░ рд╕реАрдкреАрдпреВ рд╕рдВрдХреЗрддрдХ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╕рд╛рде рдкреЙрдб рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░реЗрдЧрд╛ (рд╣рдо рдЙрдореНрдореАрдж рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдкреЙрдб рдХреЛ рдЕрдиреБрд░реЛрдзрд┐рдд рд╕реАрдкреАрдпреВ рдХрд╛ 30% рдЙрдкрднреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП), рдкреНрд░рддрд┐рдХреГрддрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рд╛рде 2-10 рдХреА рд░реЗрдВрдЬ.
рдЕрдм, рдЖрдЗрдП рдПрдЪрдкреАрдП рдСрдкрд░реЗрд╢рди рдХреЗ рддрдВрддреНрд░ рдХреЛ рджреЗрдЦреЗрдВ рдпрджрд┐ рд╣рдо рдХрд┐рд╕реА рдПрдХ рдЪреВрд▓реНрд╣реЗ рдкрд░ рд▓реЛрдб рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ:
# kubectl top pod NAME CPU(cores) MEMORY(bytes) app-test-78559f8f44-pgs58 101m 243Mi app-test-78559f8f44-cj4jz 4m 240Mi
рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реИрдВ:
- рд╡рд╛рдВрдЫрд┐рдд рдорд╛рди (desiredMetricValue) - рдПрдЪрдкреАрдП рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ 30% рд╣реИ
- рд╡рд░реНрддрдорд╛рди рдореВрд▓реНрдп (currentMetricValue) - рдЧрдгрдирд╛ рдХреЗ рд▓рд┐рдП, рдирд┐рдпрдВрддреНрд░рдХ-рдкреНрд░рдмрдВрдзрдХ % рдореЗрдВ рд╕рдВрд╕рд╛рдзрди рдЦрдкрдд рдХреЗ рдФрд╕рдд рдореВрд▓реНрдп рдХреА рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рддред рд╕рд╢рд░реНрдд рд░реВрдк рд╕реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд░рддрд╛ рд╣реИ:
- рдореАрдЯреНрд░рд┐рдХ рд╕рд░реНрд╡рд░ рд╕реЗ рдкреЙрдб рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдХрд╛ рдкреВрд░реНрдг рдорд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рддред 101рдореА рдФрд░ 4рдореА
- рдФрд╕рдд рдирд┐рд░рдкреЗрдХреНрд╖ рдорд╛рди рдХреА рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рддред (101 рдореА + 4 рдореА) / 2 = 53 рдореА
- рд╡рд╛рдВрдЫрд┐рдд рд╕рдВрд╕рд╛рдзрди рдЦрдкрдд рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдг рдореВрд▓реНрдп рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ (рдЗрд╕рдХреЗ рд▓рд┐рдП, рд╕рднреА рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ) 60m + 30m = 90m
- рдЕрдиреБрд░реЛрдз рдкреЙрдб рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рд╕реАрдкреАрдпреВ рдЦрдкрдд рдХреЗ рдФрд╕рдд рдкреНрд░рддрд┐рд╢рдд рдХреА рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рддред 53 рдореА / 90 рдореА * 100% = 59%
рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╡рд╣ рд╕рдм рдХреБрдЫ рд╣реИ рдЬреЛ рд╣рдореЗрдВ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЪрд╛рд╣рд┐рдП рдХрд┐ рдХреНрдпрд╛ рд╣рдореЗрдВ рдкреНрд░рддрд┐рдХреГрддрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ; рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдЧреБрдгрд╛рдВрдХ рдХреА рдЧрдгрдирд╛ рдХрд░рддреЗ рд╣реИрдВ:
ratio = 59% / 30% = 1.96
рд╡реЗред рдкреНрд░рддрд┐рдХреГрддрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ ~2 рдЧреБрдирд╛ рдФрд░ рд░рд╛рд╢рд┐ [2 * 1.96] = 4 рддрдХ рдмрдврд╝рд╛рдИ рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдПред
рдирд┐рд╖реНрдХрд░реНрд╖: рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕ рддрдВрддреНрд░ рдХреЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рдЖрд╡рд╢реНрдпрдХ рд╢рд░реНрдд рдкреНрд░реЗрдХреНрд╖рд┐рдд рдкреЙрдб рдореЗрдВ рд╕рднреА рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рд╣реИред
рдиреЛрдбреНрд╕ рдХреЗ рдХреНрд╖реИрддрд┐рдЬ рдСрдЯреЛрд╕реНрдХреЗрд▓рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рддрдВрддреНрд░ (рдХреНрд▓рд╕реНрдЯрд░ рдСрдЯреЛрд╕реНрдХреЗрд▓рд░)
рд▓реЛрдб рдмрдврд╝рдиреЗ рдХреЗ рджреМрд░рд╛рди рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдкрдбрд╝рдиреЗ рд╡рд╛рд▓реЗ рдирдХрд╛рд░рд╛рддреНрдордХ рдкреНрд░рднрд╛рд╡ рдХреЛ рдмреЗрдЕрд╕рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдПрдЪрдкреАрдП рд╣реЛрдирд╛ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдЪрдкреАрдП рдирд┐рдпрдВрддреНрд░рдХ рдкреНрд░рдмрдВрдзрдХ рдореЗрдВ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдпрд╣ рдирд┐рд░реНрдгрдп рд▓реЗрддрд╛ рд╣реИ рдХрд┐ рдкреНрд░рддрд┐рдХреГрддрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ 2 рдЧреБрдирд╛ рдмрдврд╝рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдиреЛрдбреНрд╕ рдХреЗ рдкрд╛рд╕ рдЗрддрдиреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдкреЙрдбреНрд╕ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдлреНрдд рд╕рдВрд╕рд╛рдзрди рдирд╣реАрдВ рд╣реИрдВ (рдпрд╛рдиреА рдиреЛрдб рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ) рдЕрдиреБрд░реЛрдзрд┐рдд рд╕рдВрд╕рд╛рдзрди рдЕрдиреБрд░реЛрдз рдкреЙрдб рдореЗрдВ) рдФрд░ рдпреЗ рдкреЙрдб рд▓рдВрдмрд┐рдд рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╕реНрд╡рд┐рдЪ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВред
рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрджрд┐ рдкреНрд░рджрд╛рддрд╛ рдХреЗ рдкрд╛рд╕ рд╕рдВрдмрдВрдзрд┐рдд IaaS/PaaS (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, GKE/GCE, AKS, EKS, рдЖрджрд┐) рд╣реИ, рддреЛ рдПрдХ рдЙрдкрдХрд░рдг рдЬреИрд╕реЗ рдиреЛрдб рдСрдЯреЛрд╕реНрдХреЗрд▓рд░. рдпрд╣ рдЖрдкрдХреЛ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдЕрдзрд┐рдХрддрдо рдФрд░ рдиреНрдпреВрдирддрдо рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдиреЛрдбреНрд╕ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдФрд░ рдХреНрд▓рд╕реНрдЯрд░ рдФрд░ рдкреЙрдбреНрд╕ рдореЗрдВ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рдХрдореА рд╣реЛрдиреЗ рдкрд░ рдиреЛрдбреНрд╕ рдХреА рд╡рд░реНрддрдорд╛рди рд╕рдВрдЦреНрдпрд╛ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ (рдиреЛрдб рдХреЛ рдСрд░реНрдбрд░ рдХрд░рдиреЗ/рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд▓рд╛рдЙрдб рдкреНрд░рджрд╛рддрд╛ рдПрдкреАрдЖрдИ рдХреЛ рдХреЙрд▓ рдХрд░рдХреЗ) рд╢реЗрдбреНрдпреВрд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ (рд▓рдВрдмрд┐рдд рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣реИрдВ)ред
рдирд┐рд╖реНрдХрд░реНрд╖: рдиреЛрдбреНрд╕ рдХреЛ рдСрдЯреЛрд╕реНрдХреЗрд▓ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдкреЙрдб рдХрдВрдЯреЗрдирд░реЛрдВ рдореЗрдВ рдЕрдиреБрд░реЛрдз рд╕реЗрдЯ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рддрд╛рдХрд┐ k8s рдиреЛрдбреНрд╕ рдкрд░ рд▓реЛрдб рдХрд╛ рд╕рд╣реА рдЖрдХрд▓рди рдХрд░ рд╕рдХреЗ рдФрд░ рддрджрдиреБрд╕рд╛рд░ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░ рд╕рдХреЗ рдХрд┐ рдЕрдЧрд▓реЗ рдкреЙрдб рдХреЛ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдХреЛрдИ рд╕рдВрд╕рд╛рдзрди рдирд╣реАрдВ рд╣реИрдВред
рдирд┐рд╖реНрдХрд░реНрд╖
рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдВрдЯреЗрдирд░ рд╕рдВрд╕рд╛рдзрди рд╕реАрдорд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ рдПрдХ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛рд░рдгреЛрдВ рд╕реЗ рдРрд╕рд╛ рдХрд░рдирд╛ рдЕрднреА рднреА рдмреЗрд╣рддрд░ рд╣реИ:
- K8s рдиреЛрдбреНрд╕ рдХреЗ рдмреАрдЪ рд▓реЛрдб рд╕рдВрддреБрд▓рди рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рд╢реЗрдбреНрдпреВрд▓рд░ рдХреЗ рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП
- "рдкреЙрдб рдирд┐рд╖реНрдХрд╛рд╕рди" рдШрдЯрдирд╛ рдШрдЯрд┐рдд рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
- рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкреЙрдбреНрд╕ (рдПрдЪрдкреАрдП) рдХреА рдХреНрд╖реИрддрд┐рдЬ рдСрдЯреЛрд╕реНрдХреЗрд▓рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рдирд╛
- рдХреНрд▓рд╛рдЙрдб рдкреНрд░рджрд╛рддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдиреЛрдбреНрд╕ рдХреА рдХреНрд╖реИрддрд┐рдЬ рдСрдЯреЛрд╕реНрдХреЗрд▓рд┐рдВрдЧ (рдХреНрд▓рд╕реНрдЯрд░ рдСрдЯреЛрд╕реНрдХреЗрд▓рд┐рдВрдЧ) рдХреЗ рд▓рд┐рдП
рд╣рдорд╛рд░реЗ рдмреНрд▓реЙрдЧ рдкрд░ рдЕрдиреНрдп рд▓реЗрдЦ рднреА рдкрдврд╝реЗрдВ:
рдЯреЗрдХреНрдЯрди рдкрд╛рдЗрдкрд▓рд╛рдЗрди - рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕-рджреЗрд╢реА рдкрд╛рдЗрдкрд▓рд╛рдЗрди Nginx рдХреЗ рд▓рд┐рдП рдЧрддрд┐рд╢реАрд▓ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреЗ рдмрд┐рдирд╛ ClickHouse рд╕реЗ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреЗ рд╕рд╛рде ClickHouse рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рд╕реЗ рдХреНрдпрд╛ рд╣реБрдЖ? рдЧреЛрд▓рд╛рдВрдЧ рдореЗрдВ рд╕рдВрджрд░реНрдн рдкреИрдХреЗрдЬ рдХреЛ рд╕рдордЭрдирд╛ рдбреЙрдХрд░ рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рд╕рд┐рдХреЛрдбрд╝рдиреЗ рдХреА рддреАрди рд╕рд░рд▓ рддрд░рдХреАрдмреЗрдВ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╡рд┐рд╡рд┐рдз рд╡реЗрдм рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХрд╛ рдмреИрдХрдЕрдк
рд╕реНрд░реЛрдд: www.habr.com