рдХреНрд▓рд╛рдЙрдбрдорд╛ Kubernetes рдорд╛ рдкреИрд╕рд╛ рдмрдЪрддрдХреЛ рд▓рд╛рдЧрд┐ Kubecost рд╕рдореАрдХреНрд╖рд╛

рдХреНрд▓рд╛рдЙрдбрдорд╛ Kubernetes рдорд╛ рдкреИрд╕рд╛ рдмрдЪрддрдХреЛ рд▓рд╛рдЧрд┐ Kubecost рд╕рдореАрдХреНрд╖рд╛

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

рд╡рд┐рддреНрддреАрдп рдкрдХреНрд╖ рд╕рдзреИрдВ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдЫред рдпрд╕ рд▓реЗрдЦрдорд╛ рдЫрд▓рдлрд▓ рдЧрд░рд┐рдПрдХреЛ рдЙрдкрдХрд░рдг Kubernetes рд╕рдБрдЧ рдХреНрд▓рд╛рдЙрдб рдкреВрд░реНрд╡рд╛рдзрд╛рд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрд╛ рдмрдЬреЗрдЯ рдХрдо рдЧрд░реНрди рдорджреНрджрдд рдЧрд░реНрди рдбрд┐рдЬрд╛рдЗрди рдЧрд░рд┐рдПрдХреЛ рд╣реЛред

рдкрд░рд┐рдЪрдп

рдХреБрдмреЗрдХреЛрд╕реНрдЯ Google рдмрд╛рдЯ рдХреНрдпрд╛рд▓рд┐рдлреЛрд░реНрдирд┐рдпрд╛рдХреЛ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рд╣реЛ, рдХреНрд▓рд╛рдЙрдб рд╕реЗрд╡рд╛рд╣рд░реВрдорд╛ рдкреВрд░реНрд╡рд╛рдзрд╛рд░ рд▓рд╛рдЧрддрд╣рд░реВ рдЧрдгрдирд╛ рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ рд╕рдорд╛рдзрд╛рди рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрджреИ (рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдХреНрд▓рд╕реНрдЯрд░ + рд╕рд╛рдЭрд╛ рд╕реНрд░реЛрддрд╣рд░реВ рднрд┐рддреНрд░), рдХреНрд▓рд╕реНрдЯрд░ рд╕реЗрдЯрд┐рдЩрд╣рд░реВрдорд╛ рдЕрд╡рд░реЛрдзрд╣рд░реВ рдЦреЛрдЬреНрджреИ рд░ Slack рд▓рд╛рдИ рдЙрдкрдпреБрдХреНрдд рд╕реВрдЪрдирд╛рд╣рд░реВ рдкрдард╛рдЙрдБрджреИред

рд╣рд╛рдореАрд╕рдБрдЧ рдкрд░рд┐рдЪрд┐рдд AWS рд░ GCP рдХреНрд▓рд╛рдЙрдб рджреБрд╡реИрдорд╛ Kubernetes рдХрд╛ рдЧреНрд░рд╛рд╣рдХрд╣рд░реВ рдЫрдиреН, рд░, рд▓рд┐рдирдХреНрд╕ рд╕рдореБрджрд╛рдп, Azure - рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛, Kubecost рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рд╕рдмреИ рдкреНрд▓реЗрдЯрдлрд░реНрдорд╣рд░реВрдорд╛ рд╡рд┐рд░рд▓реИред рддрд┐рдиреАрд╣рд░реВрдордзреНрдпреЗ рдХреЗрд╣реАрдХреЛ рд▓рд╛рдЧрд┐, рд╣рд╛рдореА рдЖрдлреИрдВ рдЗрдиреНрдЯреНрд░рд╛-рдХреНрд▓рд╕реНрдЯрд░ рд╕реЗрд╡рд╛рд╣рд░реВрдХреЛ рд▓рд╛рдЧрдд рдЧрдгрдирд╛ рдЧрд░реНрдЫреМрдВ (рдХреБрдмреЗрдХреЛрд╕реНрдЯрд▓реЗ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрдХреЛ рдЬрд╕реНрддреИ рд╡рд┐рдзрд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░), рд░ рдкреВрд░реНрд╡рд╛рдзрд╛рд░ рд▓рд╛рдЧрддрд╣рд░реВ рдкрдирд┐ рдирд┐рдЧрд░рд╛рдиреА рдЧрд░реНрдЫреМрдВ рд░ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдЕрдиреБрдХреВрд▓рди рдЧрд░реНрдиреЗ рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрдЫреМрдВред рддреНрдпрд╕рдХрд╛рд░рдг, рдпреЛ рддрд╛рд░реНрдХрд┐рдХ рдЫ рдХрд┐ рд╣рд╛рдореАрд▓реЗ рддреНрдпрд╕реНрддрд╛ рдХрд╛рд░реНрдпрд╣рд░реВ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЧрд░реНрдиреЗ рд╕рдореНрднрд╛рд╡рдирд╛рдорд╛ рд░реБрдЪрд┐ рд░рд╛рдЦреЗрдХрд╛ рдерд┐рдпреМрдВред

рдореБрдЦреНрдп Kubecost рдореЛрдбреНрдпреБрд▓рдХреЛ рд╕реНрд░реЛрдд рдХреЛрдб рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдЗрдЬрд╛рдЬрддрдкрддреНрд░ (Apache License 2.0) рдХреЛ рд╕рд░реНрддрд╣рд░реВ рдЕрдиреНрддрд░реНрдЧрдд рдЦреБрд▓рд╛ рдЫред рдпрд╕рд▓рд╛рдИ рд╕реНрд╡рддрдиреНрддреНрд░ рд░реВрдкрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ рд░ рдЙрдкрд▓рдмреНрдз рд╕реБрд╡рд┐рдзрд╛рд╣рд░реВ рд╕рд╛рдирд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдкрд░реНрдпрд╛рдкреНрдд рд╣реБрдиреБрдкрд░реНрдЫред рддрд░, рд╡реНрдпрд╛рдкрд╛рд░ рд╡реНрдпрд╡рд╕рд╛рдп рд╣реЛ: рдмрд╛рдБрдХреА рдЙрддреНрдкрд╛рджрди рдмрдиреНрдж рдЫ, рдпрд╕рд▓рд╛рдИ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ рд╕рд╢реБрд▓реНрдХ рд╕рджрд╕реНрдпрддрд╛рд╣рд░реВ, рдЬрд╕рд▓реЗ рд╡реНрдпрд╛рдкрд╛рд░рд┐рдХ рд╕рд╣рдпреЛрдЧрд▓рд╛рдИ рдкрдирд┐ рдЬрдирд╛рдЙрдБрдЫред рдердк рд░реВрдкрдорд╛, рд▓реЗрдЦрдХрд╣рд░реВрд▓реЗ рд╕рд╛рдирд╛ рдХреНрд▓рд╕реНрдЯрд░рд╣рд░реВрдХрд╛ рд▓рд╛рдЧрд┐ рдирд┐:рд╢реБрд▓реНрдХ рдЗрдЬрд╛рдЬрддрдкрддреНрд░ рдкреНрд░рд╕реНрддрд╛рд╡ рдЧрд░реНрдЫрдиреН (1 рдиреЛрдбрд╣рд░реВ рднрдПрдХреЛ 10 рдХреНрд▓рд╕реНрдЯрд░ - рдпреЛ рд▓реЗрдЦ рд▓реЗрдЦреНрдиреЗ рдХреНрд░рдордорд╛, рдпреЛ рд╕реАрдорд╛ 20 рдиреЛрдбрд╣рд░реВрдорд╛ рд╡рд┐рд╕реНрддрд╛рд░ рднрдПрдХреЛ рдЫ) рд╡рд╛ 1 рдорд╣рд┐рдирд╛рдХреЛ рд▓рд╛рдЧрд┐ рдкреВрд░реНрдг рдХреНрд╖рдорддрд╛рд╣рд░реВрдХреЛ рд╕рд╛рде рдкрд░реАрдХреНрд╖рдг рдЕрд╡рдзрд┐ред

рдпреЛ рд╕рдмреИ рдХрд╕рд░реА рдХрд╛рдо рдЧрд░реНрджрдЫ

рддреНрдпрд╕реИрд▓реЗ, Kubecost рдХреЛ рдореБрдЦреНрдп рднрд╛рдЧ рдЖрд╡реЗрджрди рдЫ рд▓рд╛рдЧрдд рдореЛрдбреЗрд▓, Go рдорд╛ рд▓реЗрдЦрд┐рдПрдХреЛ рдЫред рд╕рдореНрдкреВрд░реНрдг рдкреНрд░рдгрд╛рд▓реАрдХреЛ рд╡рд░реНрдгрди рдЧрд░реНрдиреЗ рд╣реЗрд▓рдо рдЪрд╛рд░реНрдЯ рднрдирд┐рдиреНрдЫ рд▓рд╛рдЧрдд рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рд░ рдпрд╕рдХреЛ рдореВрд▓ рднрд╛рдЧрдорд╛ рдкреНрд░реЛрдореЗрдерд┐рдпрд╕, рдЧреНрд░рд╛рдлрд╛рдирд╛ рд░ рдзреЗрд░реИ рдбреНрдпрд╛рд╕рдмреЛрд░реНрдбрд╣рд░реВ рд╕рд╣рд┐рддрдХреЛ рд▓рд╛рдЧрдд-рдореЛрдбреЗрд▓рдХреЛ рдПрдХ рд╕рднрд╛ рд╣реЛред

рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛, рд▓рд╛рдЧрдд-рдореЛрдбреЗрд▓рдХреЛ рдЖрдлреНрдиреИ рд╡реЗрдм рдЗрдиреНрдЯрд░рдлреЗрд╕ рд╣реБрдиреНрдЫ, рдЬрд╕рд▓реЗ рдЯреНрдпрд╛рдмреБрд▓рд░ рдлрд╛рд░рдордорд╛ рд▓рд╛рдЧрддрд╣рд░реВрдорд╛ рдЧреНрд░рд╛рдлрд╣рд░реВ рд░ рд╡рд┐рд╕реНрддреГрдд рддрдереНрдпрд╛рдЩреНрдХрд╣рд░реВ рджреЗрдЦрд╛рдЙрдБрдЫ, рд╕рд╛рдереИ, рдирд┐рд╕реНрд╕рдиреНрджреЗрд╣, рд▓рд╛рдЧрдд рдЕрдиреБрдХреВрд▓рдирдХрд╛ рд▓рд╛рдЧрд┐ рд╕реБрдЭрд╛рд╡рд╣рд░реВред Grafana рдорд╛ рдкреНрд░рд╕реНрддреБрдд рдЧрд░рд┐рдПрдХреЛ рдбреНрдпрд╛рд╕рдмреЛрд░реНрдбрд╣рд░реВ Kubecost рдХреЛ рд╡рд┐рдХрд╛рд╕рдХреЛ рдкреНрд░рд╛рд░рдореНрднрд┐рдХ рдЪрд░рдг рд╣реЛ рд░ рд▓рд╛рдЧрдд-рдореЛрдбреЗрд▓ рдЬрд╕реНрддреИ рдзреЗрд░реИ рдбреЗрдЯрд╛ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫ, рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдХреНрд▓рд╕реНрдЯрд░ рд░ рдпрд╕рдХрд╛ рдХрдореНрдкреЛрдиреЗрдиреНрдЯрд╣рд░реВрдорд╛ CPU/рдореЗрдореЛрд░реА/рдиреЗрдЯрд╡рд░реНрдХ/рдбрд┐рд╕реНрдХ рд╕реНрдкреЗрд╕рдХреЛ рдЦрдкрддрдорд╛ рд╕рд╛рдорд╛рдиреНрдп рддрдереНрдпрд╛рдЩреНрдХрд╣рд░реВрдХреЛ рд╕рд╛рде рдкреВрд░рдХ рдмрдирд╛рдЙрдБрдЫред ред

Kubecost рдХрд╕рд░реА рдХрд╛рдо рдЧрд░реНрдЫ?

  • рд▓рд╛рдЧрдд-рдореЛрдбреЗрд▓рд▓реЗ рдХреНрд▓рд╛рдЙрдб рдкреНрд░рджрд╛рдпрдХрд╣рд░реВрдХреЛ API рдорд╛рд░реНрдлрдд рд╕реЗрд╡рд╛рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдореВрд▓реНрдпрд╣рд░реВ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрджрдЫред
  • рдпрд╕рдмрд╛рд╣реЗрдХ, рдиреЛрдбрдХреЛ рдлрд▓рд╛рдордХреЛ рдкреНрд░рдХрд╛рд░ рд░ рдХреНрд╖реЗрддреНрд░рдХреЛ рдЖрдзрд╛рд░рдорд╛, рдкреНрд░рддрд┐ рдиреЛрдбрдХреЛ рд▓рд╛рдЧрдд рдЧрдгрдирд╛ рдЧрд░рд┐рдиреНрдЫред
  • рдиреЛрдбрд╣рд░реВ рдЪрд▓реНрдиреЗ рд▓рд╛рдЧрддрдХреЛ рдЖрдзрд╛рд░рдорд╛, рдкреНрд░рддреНрдпреЗрдХ рдкрд╛рдд рдкреЛрдбрд▓реЗ CPU рдЙрдкрдпреЛрдЧрдХреЛ рдкреНрд░рддрд┐ рдШрдгреНрдЯрд╛ рд▓рд╛рдЧрдд, рдореЗрдореЛрд░реА рдЦрдкрддрдХреЛ рдкреНрд░рддрд┐ рдЧрд┐рдЧрд╛рдмрд╛рдЗрдЯ, рд░ рднрдгреНрдбрд╛рд░рдг рдЧрд░рд┐рдПрдХреЛ рдбрд╛рдЯрд╛рдХреЛ рдкреНрд░рддрд┐ рдШрдгреНрдЯрд╛ рдкреНрд░рддрд┐ рдЧрд┐рдЧрд╛рдмрд╛рдЗрдЯ - рдпреЛ рдЪрд▓рд┐рд░рд╣реЗрдХреЛ рдиреЛрдб рд╡рд╛ рднрдгреНрдбрд╛рд░рдгрдХреЛ рд╡рд░реНрдЧрдорд╛ рдирд┐рд░реНрднрд░ рдЧрд░реНрджрдЫред
  • рд╡реНрдпрдХреНрддрд┐рдЧрдд рдкреЛрдбрд╣рд░реВ рд╕рдЮреНрдЪрд╛рд▓рди рдЧрд░реНрдиреЗ рд▓рд╛рдЧрддрдХреЛ рдЖрдзрд╛рд░рдорд╛, рдиреЗрдорд╕реНрдкреЗрд╕рд╣рд░реВ, рд╕реЗрд╡рд╛рд╣рд░реВ, рдбрд┐рдкреНрд▓реЛрдпрдореЗрдиреНрдЯрд╣рд░реВ, рд╕реНрдЯреЗрдЯрдлреБрд▓ рд╕реЗрдЯрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рднреБрдХреНрддрд╛рдиреА рдЧрдгрдирд╛ рдЧрд░рд┐рдиреНрдЫред
  • рддрдереНрдпрд╛рдЩреНрдХрд╣рд░реВ kube-state-metrics рд░ node-exporter рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдЧрд░рд┐рдПрдХреЛ рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдЧрдгрдирд╛ рдЧрд░рд┐рдиреНрдЫред

рдпреЛ рдХреБрдмреЗрдХреЛрд╕реНрдЯ рд╡рд┐рдЪрд╛рд░ рдЧрд░реНрди рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдЫ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд░реВрдкрдорд╛ Kubernetes рдорд╛ рдЙрдкрд▓рдмреНрдз рд╕реНрд░реЛрддрд╣рд░реВ рдорд╛рддреНрд░ рдЧрдгрдирд╛ рдЧрд░реНрджрдЫред рдмрд╛рд╣реНрдп рдбрд╛рдЯрд╛рдмреЗрд╕рд╣рд░реВ, GitLab рд╕рд░реНрднрд░рд╣рд░реВ, S3 рднрдгреНрдбрд╛рд░рдгрд╣рд░реВ рд░ рдЕрдиреНрдп рд╕реЗрд╡рд╛рд╣рд░реВ рдЬреБрди рдХреНрд▓рд╕реНрдЯрд░рдорд╛ рдЫреИрдирдиреН (рдПрдЙрдЯреИ рдХреНрд▓рд╛рдЙрдбрдорд╛ рдЕрд╡рд╕реНрдерд┐рдд рднрдП рдкрдирд┐) рдпрд╕рдорд╛ рджреЗрдЦрд┐рдБрджреИрдиред рдпрджреНрдпрдкрд┐ GCP рд░ AWS рдХреЛ рд▓рд╛рдЧрд┐ рддрдкрд╛рдИрдВрд▓реЗ рдЖрдлреНрдиреЛ рд╕реЗрд╡рд╛ рдЦрд╛рддрд╛рд╣рд░реВрдХреЛ рдХреБрдЮреНрдЬреАрд╣рд░реВ рдердкреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рд░ рд╕рдмреИ рдХреБрд░рд╛ рд╕рдБрдЧреИ рдЧрдгрдирд╛ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред

рд╕реЗрдЯрд┐рдЩ

Kubecost рдЖрд╡рд╢реНрдпрдХ рдЫ:

  • Kubernetes рд╕рдВрд╕реНрдХрд░рдг 1.8 рд░ рдЙрдЪреНрдЪ;
  • kube-state-metrics;
  • рдкреНрд░реЛрдореЗрдерд┐рдпрд╕;
  • рдиреЛрдб-рдирд┐рд░реНрдпрд╛рддрдХрд░реНрддрд╛ред

рдпреЛ рдпрд╕реНрддреЛ рднрдпреЛ рдХрд┐ рд╣рд╛рдореНрд░реЛ рдХреНрд▓рд╕реНрдЯрд░рд╣рд░реВрдорд╛ рдпреА рд╕рдмреИ рд╕рд░реНрддрд╣рд░реВ рдкрд╣рд┐рд▓реЗ рдиреИ рднреЗрдЯрд┐рдПрдХрд╛ рдерд┐рдП, рддреНрдпрд╕реИрд▓реЗ рдпреЛ рдмрд╛рд╣рд┐рд░рд┐рдпреЛ рдХрд┐ рдпреЛ рдкреНрд░реЛрдореЗрдерд┐рдпрд╕рдорд╛ рдкрд╣реБрдБрдЪрдХреЛ рд▓рд╛рдЧрд┐ рд╕рд╣реА рдЕрдиреНрддрд┐рдо рдмрд┐рдиреНрджреБ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрди рдкрд░реНрдпрд╛рдкреНрдд рдерд┐рдпреЛред рдпрджреНрдпрдкрд┐, рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдХреНрдпреБрдмреЗрдХреЛрд╕реНрдЯ рд╣реЗрд▓реНрдо рдЪрд╛рд░реНрдЯрдорд╛ рддрдкрд╛рдИрд▓реЗ рдЦрд╛рд▓реА рдХреНрд▓рд╕реНрдЯрд░рдорд╛ рдЪрд▓рд╛рдЙрди рдЖрд╡рд╢реНрдпрдХ рдкрд░реНрдиреЗ рд╕рдмреИ рдХреБрд░рд╛ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫред

Kubecost рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрди рдзреЗрд░реИ рддрд░рд┐рдХрд╛рд╣рд░реВ рдЫрдиреН:

  1. рдорд╛рдирдХ рд╕реНрдерд╛рдкрдирд╛ рд╡рд┐рдзрд┐ рдорд╛ рд╡рд░реНрдгрди рдЧрд░рд┐рдПрдХреЛ рдЫ рдирд┐рд░реНрджреЗрд╢рдирд╣рд░реВ рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рдХреЛ рд╡реЗрдмрд╕рд╛рдЗрдЯрдорд╛ред рдЖрд╡рд╢реНрдпрдХ рдЫ рд╣реЗрд▓реНрдордорд╛ рд▓рд╛рдЧрдд-рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рднрдгреНрдбрд╛рд░ рдердкреНрдиреБрд╣реЛрд╕реН, рд░ рддреНрдпрд╕рдкрдЫрд┐ рдЪрд╛рд░реНрдЯ рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реНред рдмрд╛рдБрдХреА рд░рд╣реНрдпреЛ рддрдкрд╛рдИрдХреЛ рдкреЛрд░реНрдЯ рдлрд░реНрд╡рд╛рд░реНрдб рдЧрд░реНрди рд░ рд╕реЗрдЯрд┐рдЩрд╣рд░реВрд▓рд╛рдИ рдореНрдпрд╛рдиреБрдЕрд▓ рд░реВрдкрдорд╛ (kubectl рдорд╛рд░реНрдлрдд) рд░/рд╡рд╛ рд▓рд╛рдЧрдд-рдореЛрдбреЗрд▓ рд╡реЗрдм рдЗрдиреНрдЯрд░рдлреЗрд╕ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдЗрдЪреНрдЫрд┐рдд рд╕реНрдерд┐рддрд┐рдорд╛ рд╕рдорд╛рдпреЛрдЬрди рдЧрд░реНрдиреБрд╣реЛрд╕реНред

    рд╣рд╛рдореАрд▓реЗ рдпреЛ рд╡рд┐рдзрд┐ рдкрдирд┐ рдкреНрд░рдпрд╛рд╕ рдЧрд░реЗрдХрд╛ рдЫреИрдиреМрдВ, рдХрд┐рдирдХрд┐ рд╣рд╛рдореА рддреЗрд╕реНрд░реЛ-рдкрдХреНрд╖ рддрдпрд╛рд░ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рдирд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджреИрдиреМрдВ, рддрд░ рдпреЛ рд░рд╛рдореНрд░реЛ рдЬрд╕реНрддреЛ рджреЗрдЦрд┐рдиреНрдЫ "рдХреЗрд╡рд▓ рдпрд╕рд▓рд╛рдИ рдЖрдлреНрдиреИ рд▓рд╛рдЧрд┐ рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрдиреБрд╣реЛрд╕реН" рд╡рд┐рдХрд▓реНрдкред рдпрджрд┐ рддрдкрд╛рдЗрдБрд╕рдБрдЧ рдкрд╣рд┐рд▓реЗ рдиреИ рдкреНрд░рдгрд╛рд▓реА рдХрдореНрдкреЛрдиреЗрдиреНрдЯрд╣рд░реВ рд╕реНрдерд╛рдкрдирд╛ рдЧрд░рд┐рдПрдХреЛ рдЫ рд╡рд╛ рддрдкрд╛рдЗрдБ рдердк рдлрд╛рдЗрди-рдЯреНрдпреБрдирд┐рдЩ рдЪрд╛рд╣рдиреБрд╣реБрдиреНрдЫ рднрдиреЗ, рдпреЛ рджреЛрд╕реНрд░реЛ рдорд╛рд░реНрдЧ рд╡рд┐рдЪрд╛рд░ рдЧрд░реНрди рд░рд╛рдореНрд░реЛ рдЫред

  2. рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдкрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрд╣реЛрд╕реН рдПрдЙрдЯреИ рдЪрд╛рд░реНрдЯ, рддрд░ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░реНрдиреБрд╣реЛрд╕реН рд░ рдпрд╕рд▓рд╛рдИ рдЖрдлреИрдВ рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реН рдХреБрдиреИ рдкрдирд┐ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рддрд░рд┐рдХрд╛рдорд╛ред

    рдкрд╣рд┐рд▓реЗ рдиреИ рдЙрд▓реНрд▓реЗрдЦ рдЧрд░рд┐рдПрдЭреИрдВ, kubecost рдЖрдлреИрдВрдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд, рдпреЛ рдЪрд╛рд░реНрдЯрдорд╛ Grafana рд░ Prometheus рдЪрд╛рд░реНрдЯрд╣рд░реВ рдЫрдиреН, рдЬрд╕рд▓рд╛рдИ рдЗрдЪреНрдЫрд┐рдд рд░реВрдкрдорд╛ рдЕрдиреБрдХреВрд▓рд┐рдд рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред

    рдЪрд╛рд░реНрдЯрдорд╛ рдЙрдкрд▓рдмреНрдз рдЫ values.yaml рд▓рд╛рдЧрдд-рд╡рд┐рд╢реНрд▓реЗрд╖рдХрдХреЛ рд▓рд╛рдЧрд┐ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ:

    • рд▓рд╛рдЧрдд-рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдШрдЯрдХрд╣рд░реВрдХреЛ рд╕реВрдЪреА рдЬреБрди рддреИрдирд╛рдд рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ;
    • рдкреНрд░реЛрдореЗрдерд┐рдпрд╕рдХреЛ рд▓рд╛рдЧрд┐ рддрдкрд╛рдИрдВрдХреЛ рдЕрдиреНрддрд┐рдо рдмрд┐рдиреНрджреБ (рдпрджрд┐ рддрдкрд╛рдИрдВрд╕рдБрдЧ рдкрд╣рд┐рд▓реЗ рдиреИ рдЫ рднрдиреЗ);
    • рд▓рд╛рдЧрдд-рдореЛрдбреЗрд▓ рд░ рдЧреНрд░рд╛рдлрд╛рдирд╛рдХрд╛ рд▓рд╛рдЧрд┐ рдбреЛрдореЗрди рд░ рдЕрдиреНрдп рдкреНрд░рд╡реЗрд╢ рд╕реЗрдЯрд┐рдЩрд╣рд░реВ;
    • рдкреЛрдбрдХрд╛ рд▓рд╛рдЧрд┐ рдПрдиреЛрдЯреЗрд╢рдирд╣рд░реВ;
    • рд╕реНрдерд╛рдпреА рднрдгреНрдбрд╛рд░рдг рд░ рдпрд╕рдХреЛ рдЖрдХрд╛рд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред

    рд╡рд┐рд╡рд░рдг рд╕рд╣рд┐рдд рдЙрдкрд▓рдмреНрдз рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рд╡рд┐рдХрд▓реНрдкрд╣рд░реВрдХреЛ рдкреВрд░реНрдг рд╕реВрдЪреА рдЙрдкрд▓рдмреНрдз рдЫ рдХрд╛рдЧрдЬрд╛рдд.

    рдпрд╕рдХреЛ рдЖрдзрд╛рд░рднреВрдд рд╕рдВрд╕реНрдХрд░рдгрдорд╛ kubecost рд▓реЗ рдкрд╣реБрдБрдЪрд▓рд╛рдИ рдкреНрд░рддрд┐рдмрдиреНрдз рд▓рдЧрд╛рдЙрди рд╕рдХреНрджреИрди, рддрдкрд╛рдИрдВрд▓реЗ рддреБрд░реБрдиреНрддреИ рд╡реЗрдм рдкреНрдпрд╛рдирд▓рдХреЛ рд▓рд╛рдЧрд┐ рдЖрдзрд╛рд░рднреВрдд-рдкреБрд╖реНрдЯрд┐ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рд╣реБрдиреЗрдЫред

  3. рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реН рдХреЗрд╡рд▓ рдкреНрд░рдгрд╛рд▓реА рдХреЛрд░ - рд▓рд╛рдЧрдд рдореЛрдбреЗрд▓ред рдпреЛ рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐, рддрдкрд╛рдИрдВрд▓реЗ рдХреНрд▓рд╕реНрдЯрд░рдорд╛ рдкреНрд░реЛрдорд┐рдерд┐рдпрд╕ рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реЗрдХреЛ рд╣реБрдиреБрдкрд░реНрдЫ рд░ рдЪрд░рдорд╛ рдпрд╕рдХреЛ рдареЗрдЧрд╛рдирд╛рдХреЛ рд╕рдореНрдмрдиреНрдзрд┐рдд рдорд╛рди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрдиреБрд╣реЛрд╕реНред prometheusEndpoint рд╣реЗрд▓рдо рдХреЛ рд▓рд╛рдЧреАред рддреНрдпрд╕ рдкрдЫрд┐ - рд▓рд╛рдЧреВ рдЧрд░реНрдиреБрд╣реЛрд╕реН YAML рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рдирд╣рд░реВрдХреЛ рд╕реЗрдЯ рдХреНрд▓рд╕реНрдЯрд░ рдорд╛ред

    рдлреЗрд░рд┐, рддрдкрд╛рдИрдВрд▓реЗ рдореНрдпрд╛рдиреБрдЕрд▓ рд░реВрдкрдорд╛ рдЖрдзрд╛рд░рднреВрдд-рд▓реЗрдЦрдирдХреЛ рд╕рд╛рде Ingress рдердкреНрдиреБрдкрд░реНрдиреЗрдЫред рдЕрдиреНрддрдорд╛, рддрдкрд╛рдИрдВрд▓реЗ рд▓рд╛рдЧрдд-рдореЛрдбреЗрд▓ рдореЗрдЯреНрд░рд┐рдХреНрд╕ рд╕рдЩреНрдХрд▓рди рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рдПрдЙрдЯрд╛ рдЦрдгреНрдб рдердкреНрдиреБрдкрд░реНрдЫ extraScrapeConfigs рдкреНрд░реЛрдореЗрдерд┐рдпрд╕ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рдирдорд╛:

    - job_name: kubecost
      honor_labels: true
      scrape_interval: 1m
      scrape_timeout: 10s
      metrics_path: /metrics
      scheme: http
      dns_sd_configs:
      - names:
        - <╨░╨┤╤А╨╡╤Б ╨▓╨░╤И╨╡╨│╨╛ ╤Б╨╡╤А╨▓╨╕╤Б╨░ kubecost>
        type: 'A'
        port: 9003

рд╣рд╛рдореАрд▓реЗ рдХреЗ рдкрд╛рдЙрдБрдЫреМрдВ?

рдкреВрд░реНрдг рд╕реНрдерд╛рдкрдирд╛рдХреЛ рд╕рд╛рде, рд╣рд╛рдореАрд╕рдБрдЧ рдбреНрдпрд╛рд╕рдмреЛрд░реНрдбрд╣рд░реВрдХреЛ рд╕реЗрдЯрдХреЛ рд╕рд╛рде kubecost рд░ Grafana рд╡реЗрдм рдкреНрдпрд╛рдирд▓ рдЫред

рдХреБрд▓ рдЦрд░реНрдЪ, рдореБрдЦреНрдп рд╕реНрдХреНрд░рд┐рдирдорд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд, рд╡рд╛рд╕реНрддрд╡рдорд╛ рдорд╣рд┐рдирд╛рдХреЛ рд▓рд╛рдЧрд┐ рд╕реНрд░реЛрддрд╣рд░реВрдХреЛ рдЕрдиреБрдорд╛рдирд┐рдд рд▓рд╛рдЧрдд рджреЗрдЦрд╛рдЙрдБрдЫред рдпреЛ рдкреНрд░рдХреНрд╖реЗрдкрд┐рдд рд╕реНрд░реЛрдд рдЙрдкрднреЛрдЧрдХреЛ рд╣рд╛рд▓рдХреЛ рд╕реНрддрд░рдорд╛ рдХреНрд▓рд╕реНрдЯрд░ (рдкреНрд░рддрд┐ рдорд╣рд┐рдирд╛) рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рд▓рд╛рдЧрдд рдкреНрд░рддрд┐рдмрд┐рдореНрдмрд┐рдд рдЧрд░реНрдиреЗ рдореВрд▓реНрдпред

рдпреЛ рдореЗрдЯреНрд░рд┐рдХ рдЦрд░реНрдЪ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд░ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдЕрдиреБрдХреВрд▓рди рдХреЛ рд▓рд╛рдЧреА рдЕрдзрд┐рдХ рдЫред рдХреНрдпреБрдмреЗрдХреЛрд╕реНрдЯрдорд╛ рдЕрдореВрд░реНрдд рдЬреБрд▓рд╛рдИрдХреЛ рд▓рд╛рдЧрд┐ рдХреБрд▓ рд▓рд╛рдЧрддрд╣рд░реВ рд╣реЗрд░реНрди рдпреЛ рдзреЗрд░реИ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЫреИрди: рддрдкрд╛рдИрдВрд▓реЗ рдЧрд░реНрдиреБрдкрд░реНрдиреЗрдЫ рдмрд┐рд▓рд┐рдЩрдорд╛ рдЬрд╛рдиреБрд╣реЛрд╕реНред рддрд░ рддрдкрд╛рдИрд▓реЗ 1/2/7/30/90 рджрд┐рдирдХреЛ рд▓рд╛рдЧрд┐ рдиреЗрдорд╕реНрдкреЗрд╕, рд▓реЗрдмрд▓, рдкреЛрдбрд╣рд░реВ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рднрд╛рдЬрд┐рдд рд▓рд╛рдЧрддрд╣рд░реВ рджреЗрдЦреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рдЬреБрди рдмрд┐рд▓рд┐рдЩрд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдХрд╣рд┐рд▓реНрдпреИ рджреЗрдЦрд╛рдЙрдБрджреИрдиред

рдХреНрд▓рд╛рдЙрдбрдорд╛ Kubernetes рдорд╛ рдкреИрд╕рд╛ рдмрдЪрддрдХреЛ рд▓рд╛рдЧрд┐ Kubecost рд╕рдореАрдХреНрд╖рд╛

рдХреЛ рдХреБрд░рд╛ рдЧрд░реНрджреИ рд▓реЗрдмрд▓рд╣рд░реВред рддрдкрд╛рдИрдВрд▓реЗ рддреБрд░реБрдиреНрддреИ рд╕реЗрдЯрд┐рдЩрд╣рд░реВрдорд╛ рдЬрд╛рдиреБ рдкрд░реНрдЫ рд░ рд▓реЗрдмрд▓рд╣рд░реВрдХреЛ рдирд╛рдорд╣рд░реВ рд╕реЗрдЯ рдЧрд░реНрдиреБрдкрд░реНрдЫ рдЬреБрди рд╕рдореВрд╣ рд▓рд╛рдЧрддрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдЕрддрд┐рд░рд┐рдХреНрдд рдХреЛрдЯреАрд╣рд░реВрдХреЛ рд░реВрдкрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреЗрдЫ:

рдХреНрд▓рд╛рдЙрдбрдорд╛ Kubernetes рдорд╛ рдкреИрд╕рд╛ рдмрдЪрддрдХреЛ рд▓рд╛рдЧрд┐ Kubecost рд╕рдореАрдХреНрд╖рд╛

рддрдкрд╛рдИрдВрд▓реЗ рддрд┐рдиреАрд╣рд░реВрдорд╛ рдХреБрдиреИ рдкрдирд┐ рд▓реЗрдмрд▓рд╣рд░реВ рдЭреБрдгреНрдбреНрдпрд╛рдЙрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ - рдпрджрд┐ рддрдкрд╛рдИрдВрд╕рдБрдЧ рдкрд╣рд┐рд▓реЗ рдиреИ рдЖрдлреНрдиреИ рд▓реЗрдмрд▓рд┐рдЩ рдкреНрд░рдгрд╛рд▓реА рдЫ рднрдиреЗ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХред

рд╕рд╛рдереИ рддреНрдпрд╣рд╛рдБ рддрдкрд╛рдИрд▓реЗ рд▓рд╛рдЧрдд-рдореЛрдбреЗрд▓ рдЬрдбрд╛рди рднрдПрдХреЛ API рдЕрдиреНрддреНрдп рдмрд┐рдиреНрджреБрдХреЛ рдареЗрдЧрд╛рдирд╛ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, GCP рдорд╛ рдЫреБрдЯ рдЖрдХрд╛рд░ рд╕рдорд╛рдпреЛрдЬрди рдЧрд░реНрдиреБрд╣реЛрд╕реН рд░ рддрд┐рдиреАрд╣рд░реВрдХреЛ рдорд╛рдкрдирдХреЛ рд▓рд╛рдЧрд┐ рд╕реНрд░реЛрдд рд░ рдореБрджреНрд░рд╛рдХреЛ рд▓рд╛рдЧрд┐ рдЖрдлреНрдиреИ рдореВрд▓реНрдпрд╣рд░реВ рд╕реЗрдЯ рдЧрд░реНрдиреБрд╣реЛрд╕реН (рдХреЗрд╣реА рдХрд╛рд░рдгрд▓реЗ рдЧрд░реНрджрд╛ рд╕реБрд╡рд┐рдзрд╛рд▓реЗ рдХреБрд▓ рд▓рд╛рдЧрддрд▓рд╛рдИ рдЕрд╕рд░ рдЧрд░реНрджреИрди)ред

Kubecost рд╡рд┐рднрд┐рдиреНрди рджреЗрдЦрд╛рдЙрди рд╕рдХреНрдЫ рдХреНрд▓рд╕реНрдЯрд░рдорд╛ рд╕рдорд╕реНрдпрд╛рд╣рд░реВ (рд░ рдЦрддрд░рд╛рдХреЛ рдЕрд╡рд╕реНрдерд╛рдорд╛ рдкрдирд┐ рд╕рдЪреЗрдд)ред рджреБрд░реНрднрд╛рдЧреНрдпрд╡рд╢, рд╡рд┐рдХрд▓реНрдк рдХрдиреНрдлрд┐рдЧрд░ рдпреЛрдЧреНрдп рдЫреИрди, рд░ рдпрд╕реИрд▓реЗ, рдпрджрд┐ рддрдкрд╛рдЗрдБрд╕рдБрдЧ рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╡рд╛рддрд╛рд╡рд░рдг рдЫ рд░ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрд╣реБрдиреНрдЫ рднрдиреЗ, рддрдкрд╛рдЗрдБ рдирд┐рд░рдиреНрддрд░ рдпреЛ рдЬрд╕реНрддреИ рдХреЗрд╣рд┐ рджреЗрдЦреНрдиреБрд╣реБрдиреЗрдЫ:

рдХреНрд▓рд╛рдЙрдбрдорд╛ Kubernetes рдорд╛ рдкреИрд╕рд╛ рдмрдЪрддрдХреЛ рд▓рд╛рдЧрд┐ Kubecost рд╕рдореАрдХреНрд╖рд╛

рдПрдХ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдЙрдкрдХрд░рдг - рдХреНрд▓рд╕реНрдЯрд░ рдмрдЪрддред рдпрд╕рд▓реЗ рдкреЛрдбрд╣рд░реВрдХреЛ рдЧрддрд┐рд╡рд┐рдзрд┐ (рд╕рдЮреНрдЬрд╛рд▓рд╣рд░реВ рд╕рд╣рд┐рдд рд╕рдВрд╕рд╛рдзрдирд╣рд░реВрдХреЛ рдЦрдкрдд) рдорд╛рдкрди рдЧрд░реНрджрдЫ, рд░ рдХрддрд┐ рдкреИрд╕рд╛ рд░ рддрдкрд╛рдИрдВрд▓реЗ рдмрдЪрдд рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рднрдиреЗрд░ рдкрдирд┐ рдЧрдгрдирд╛ рдЧрд░реНрджрдЫред

рдпреЛ рдЕрдкреНрдЯрд┐рдорд╛рдЗрдЬреЗрд╕рди рд╕реБрдЭрд╛рд╡рд╣рд░реВ рдПрдХрджрдо рд╕реНрдкрд╖реНрдЯ рдЫ рдЬрд╕реНрддреЛ рд▓рд╛рдЧреНрди рд╕рдХреНрдЫ, рддрд░ рдЕрдиреБрднрд╡рд▓реЗ рд╕реБрдЭрд╛рд╡ рджрд┐рдиреНрдЫ рдХрд┐ рддреНрдпрд╣рд╛рдБ рд╣реЗрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рдЕрдЭреИ рдХреЗрд╣рд┐ рдЫред рд╡рд┐рд╢реЗрд╖ рдЧрд░реА, рдкреЛрдбрд╣рд░реВрдХреЛ рдиреЗрдЯрд╡рд░реНрдХ рдЧрддрд┐рд╡рд┐рдзрд┐ рдирд┐рдЧрд░рд╛рдиреА рдЧрд░рд┐рдиреНрдЫ (рдХреБрдмреЗрдХреЛрд╕реНрдЯрд▓реЗ рдирд┐рд╖реНрдХреНрд░рд┐рдпрд╣рд░реВрд▓рд╛рдИ рдзреНрдпрд╛рди рджрд┐рди рд╕реБрдЭрд╛рд╡ рджрд┐рдиреНрдЫ), рдЕрдиреБрд░реЛрдз рдЧрд░рд┐рдПрдХреЛ рд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдореЗрдореЛрд░реА рд░ CPU рдЦрдкрдд рддреБрд▓рдирд╛ рдЧрд░рд┐рдПрдХреЛ рдЫ, рд╕рд╛рдереИ рдХреНрд▓рд╕реНрдЯрд░ рдиреЛрдбрд╣рд░реВ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдПрдХреЛ CPU (рдПрдХрдорд╛ рдзреЗрд░реИ рдиреЛрдбрд╣рд░реВ рдкрддрди рдЧрд░реНрди рд╕реБрдЭрд╛рд╡ рджрд┐рдиреНрдЫ), рдбрд┐рд╕реНрдХред рд▓реЛрдб рд░ рдПрдХ рджрд░реНрдЬрди рдердк рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░рд╣рд░реВред

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

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

рдХреЗрд╣реА рдкрд░рд┐рдпреЛрдЬрдирд╛рд╣рд░реВрдорд╛ рдПрдХ рдорд╣рд┐рдирд╛рдХреЛ рд▓рд╛рдЧрд┐ kubecost рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрдкрдЫрд┐, рд╣рд╛рдореА рдпреЛ рдирд┐рд╖реНрдХрд░реНрд╖рдорд╛ рдкреБрдЧреНрди рд╕рдХреНрдЫреМрдВ рдХрд┐ рдпреЛ Kubernetes рдХреНрд▓рд╕реНрдЯрд░рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдПрдХрд╛ рдХреНрд▓рд╛рдЙрдб рдкреНрд░рджрд╛рдпрдХрд╣рд░реВрдХреЛ рд╕реЗрд╡рд╛рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд░ рдЕрдиреБрдХреВрд▓рди рд▓рд╛рдЧрддрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдПрдХ рд░реЛрдЪрдХ (рд░ рд╕рд┐рдХреНрди рд░ рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрди рд╕рдЬрд┐рд▓реЛ) рдЙрдкрдХрд░рдг рд╣реЛред рдЧрдгрдирд╛рд╣рд░реВ рдзреЗрд░реИ рд╕рд╣рд┐ рд╣реБрдиреНрдЫрдиреН: рд╣рд╛рдореНрд░рд╛ рдкреНрд░рдпреЛрдЧрд╣рд░реВрдорд╛ рддрд┐рдиреАрд╣рд░реВрд▓реЗ рдкреНрд░рджрд╛рдпрдХрд╣рд░реВрд▓рд╛рдИ рд╡рд╛рд╕реНрддрд╡рдорд╛ рдЖрд╡рд╢реНрдпрдХ рдкрд░реНрдиреЗ рдХреБрд░рд╛рд╕рдБрдЧ рдореЗрд▓ рдЦрд╛рдПред

рддреНрдпрд╣рд╛рдБ рдХреЗрд╣реА рдбрд╛рдЙрдирд╕рд╛рдЗрдбрд╣рд░реВ рдкрдирд┐ рдЫрдиреН: рддреНрдпрд╣рд╛рдБ рдЧреИрд░-рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрдЧрд╣рд░реВ рдЫрдиреН, рд░ рдХреЗрд╣реА рдард╛рдЙрдБрд╣рд░реВрдорд╛ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛рд▓реЗ рдХреЗрд╣реА рдкрд░рд┐рдпреЛрдЬрдирд╛рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╡рд┐рд╢реЗрд╖ рдЖрд╡рд╢реНрдпрдХрддрд╛рд╣рд░реВ рдХрднрд░ рдЧрд░реНрджреИрдиред рдпрджреНрдпрдкрд┐, рдпрджрд┐ рддрдкрд╛рдИрдВрд▓реЗ рджреНрд░реБрдд рд░реВрдкрдорд╛ рдмреБрдЭреНрдиреБ рдЖрд╡рд╢реНрдпрдХ рдЫ рдХрд┐ рдкреИрд╕рд╛ рдХрд╣рд╛рдБ рдЬрд╛рдБрджреИрдЫ рд░ рдХреЗ "рдХрдЯ" рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ рддрд╛рдХрд┐ рдХреНрд▓рд╛рдЙрдб рд╕реЗрд╡рд╛рд╣рд░реВрдХреЛ рдмрд┐рд▓ 5-30% рд▓реЗ рд▓рдЧрд╛рддрд╛рд░ рдШрдЯрд╛рдЙрдирдХреЛ рд▓рд╛рдЧрд┐ (рд╣рд╛рдореНрд░реЛ рдорд╛рдорд▓рд╛рдорд╛ рдпрд╕реНрддреИ рднрдпреЛ), рдпреЛ рдЙрддреНрддрдо рд╡рд┐рдХрд▓реНрдк рд╣реЛред ред

PS

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

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

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