ืฉืœื•ืฉ ืจืžื•ืช ืฉืœ ืงื ื” ืžื™ื“ื” ืื•ื˜ื•ืžื˜ื™ ื‘-Kubernetes: ื›ื™ืฆื“ ืœื”ืฉืชืžืฉ ื‘ื”ืŸ ื‘ื™ืขื™ืœื•ืช

ืฉืœื•ืฉ ืจืžื•ืช ืฉืœ ืงื ื” ืžื™ื“ื” ืื•ื˜ื•ืžื˜ื™ ื‘-Kubernetes: ื›ื™ืฆื“ ืœื”ืฉืชืžืฉ ื‘ื”ืŸ ื‘ื™ืขื™ืœื•ืช
ื›ื“ื™ ืœืฉืœื•ื˜ ื‘ืžืœื•ืื• ื‘-Kubernetes, ืขืœื™ืš ืœื”ื›ื™ืจ ื“ืจื›ื™ื ืฉื•ื ื•ืช ืœื”ืจื—ื™ื‘ ืืช ืžืฉืื‘ื™ ื”ืืฉื›ื•ืœื•ืช: ืœืคื™ ืœืคื™ ืžืคืชื—ื™ ื”ืžืขืจื›ืช, ื–ื•ื”ื™ ืื—ืช ื”ืžืฉื™ืžื•ืช ื”ืขื™ืงืจื™ื•ืช ืฉืœ Kubernetes. ืกื™ืคืงื ื• ืกืงื™ืจื” ื‘ืจืžื” ื’ื‘ื•ื”ื” ืฉืœ ืงื ื” ืžื™ื“ื” ืื•ื˜ื•ืžื˜ื™ ืื•ืคืงื™ ื•ืื ื›ื™ ื•ืžื ื’ื ื•ื ื™ ืฉื™ื ื•ื™ ื’ื•ื“ืœ ืืฉื›ื•ืœ, ื›ืžื• ื’ื ื”ืžืœืฆื•ืช ื›ื™ืฆื“ ืœื”ืฉืชืžืฉ ื‘ื”ื ื‘ื™ืขื™ืœื•ืช.

ืžืืžืจ Kubernetes Autoscaling 101: Cluster Autoscaler, Horizontal Autoscaler ื•-Vertical Pod Autoscaler ืชื•ืจื’ื ืขืœ ื™ื“ื™ ื”ืฆื•ื•ืช ืฉื”ื˜ืžื™ืข ืงื ื” ืžื™ื“ื” ืื•ื˜ื•ืžื˜ื™ Kubernetes aaS ืž-Mail.ru.

ืœืžื” ื—ืฉื•ื‘ ืœื—ืฉื•ื‘ ืขืœ ืงื ื” ืžื™ื“ื”

ืงื•ื‘ืจื ื˜ - ื›ืœื™ ืœื ื™ื”ื•ืœ ืžืฉืื‘ื™ื ื•ืชื–ืžื•ืจ. ื›ืžื•ื‘ืŸ, ื ื—ืžื“ ืœื”ืชืขืกืง ืขื ื”ืชื›ื•ื ื•ืช ื”ืžื’ื ื™ื‘ื•ืช ืฉืœ ืคืจื™ืกื”, ื ื™ื˜ื•ืจ ื•ื ื™ื”ื•ืœ ืคื•ื“ื™ื (ืคื•ื“ ื”ื•ื ืงื‘ื•ืฆื” ืฉืœ ืงื•ื ื˜ื™ื™ื ืจื™ื ืฉืžื•ืฉืงื™ื ื‘ืชื’ื•ื‘ื” ืœื‘ืงืฉื”).

ืขื ื–ืืช, ื›ื“ืื™ ืœื—ืฉื•ื‘ ื’ื ืขืœ ื”ืฉืืœื•ืช ื”ื‘ืื•ืช:

  1. ื›ื™ืฆื“ ืœื”ืชืื™ื ืžื•ื“ื•ืœื™ื ื•ื™ื™ืฉื•ืžื™ื?
  2. ืื™ืš ืœืฉืžื•ืจ ืขืœ ืžื›ื•ืœื•ืช ืชืคืขื•ืœื™ื•ืช ื•ื™ืขื™ืœื•ืช?
  3. ืื™ืš ืœื”ื’ื™ื‘ ืœืฉื™ื ื•ื™ื™ื ืžืชืžื™ื“ื™ื ื‘ืงื•ื“ ื•ืขื•ืžืกื™ ืขื‘ื•ื“ื” ืžื”ืžืฉืชืžืฉื™ื?

ื”ื’ื“ืจืช ืืฉื›ื•ืœื•ืช Kubernetes ื›ื“ื™ ืœืื–ืŸ ื‘ื™ืŸ ืžืฉืื‘ื™ื ื•ื‘ื™ืฆื•ืขื™ื ื™ื›ื•ืœื” ืœื”ื™ื•ืช ืžืืชื’ืจืช ื•ื“ื•ืจืฉืช ื™ื“ืข ืžื•ืžื—ื” ืขืœ ืคืขื•ืœืชื” ื”ืคื ื™ืžื™ืช ืฉืœ Kubernetes. ืขื•ืžืก ื”ืขื‘ื•ื“ื” ืฉืœ ื”ืืคืœื™ืงืฆื™ื” ืื• ื”ืฉื™ืจื•ืชื™ื ืฉืœืš ื™ื›ื•ืœ ืœื”ืฉืชื ื•ืช ืœืื•ืจืš ื”ื™ื•ื ืื• ืืคื™ืœื• ื‘ืžื”ืœืš ืฉืขื”, ื•ืœื›ืŸ ื›ื“ืื™ ืœื—ืฉื•ื‘ ืขืœ ืื™ื–ื•ืŸ ื›ืชื”ืœื™ืš ืžืชืžืฉืš.

ืจืžื•ืช ืงื ื” ืžื™ื“ื” ืื•ื˜ื•ืžื˜ื™ ืฉืœ Kubernetes

ืงื ื” ืžื™ื“ื” ืื•ื˜ื•ืžื˜ื™ ื™ืขื™ืœ ื“ื•ืจืฉ ืชื™ืื•ื ื‘ื™ืŸ ืฉืชื™ ืจืžื•ืช:

  1. ืจืžืช ื”ืคื•ื“, ื›ื•ืœืœ ืื•ืคืงื™ (Horizontal Pod Autoscaler, HPA) ื•ืื•ื˜ื•scaler ืื ื›ื™ (Vertical Pod Autoscaler, VPA). ื–ื” ืžืจื—ื™ื‘ ืืช ื”ืžืฉืื‘ื™ื ื”ื–ืžื™ื ื™ื ืขื‘ื•ืจ ื”ืžื›ื•ืœื•ืช ืฉืœืš.
  2. ืจืžืช Cluster, ื”ืžื ื•ื”ืœืช ืขืœ ื™ื“ื™ Cluster Autoscaler (CA), ืืฉืจ ืžื’ื“ื™ืœ ืื• ืžืงื˜ื™ืŸ ืืช ืžืกืคืจ ื”ืฆืžืชื™ื ื‘ืชื•ืš ื”ืืฉื›ื•ืœ.

ืžื•ื“ื•ืœ Autoscaler ืื•ืคืงื™ (HPA).

ื›ืคื™ ืฉื”ืฉื ืžืจืžื–, HPA ืžื“ืจื’ ืืช ืžืกืคืจ ื”ื”ืขืชืงื™ื ืฉืœ ื”ืชืจืžื™ืœื™ื. ืจื•ื‘ ื”-devops ืžืฉืชืžืฉื™ื ื‘ืขื•ืžืก ืžืขื‘ื“ ื•ื–ื™ื›ืจื•ืŸ ื›ื˜ืจื™ื’ืจื™ื ืœืฉื™ื ื•ื™ ืžืกืคืจ ื”ื”ืขืชืงื™ื. ืขื ื–ืืช, ื ื™ืชืŸ ืœืฉื ื•ืช ืืช ืงื ื” ื”ืžื™ื“ื” ืฉืœ ื”ืžืขืจื›ืช ืขืœ ื‘ืกื™ืก ืžื“ื“ื™ื ืžื•ืชืืžื™ื ืื™ืฉื™ืชืฉืœื”ื ืฉื™ืœื•ื‘ื™ื ืื• ืืคื™ืœื• ืžื“ื“ื™ื ื—ื™ืฆื•ื ื™ื™ื.

ื“ื™ืื’ืจืžืช ื”ืคืขืœื” HPA ื‘ืจืžื” ื’ื‘ื•ื”ื”:

  1. ื”-HPA ื‘ื•ื“ืง ื‘ืจืฆื™ืคื•ืช ืืช ื”ืขืจื›ื™ื ื”ืžื˜ืจื™ื™ื ืฉืฆื•ื™ื ื• ื‘ืžื”ืœืš ื”ื”ืชืงื ื” ื‘ืžืจื•ื•ื— ื‘ืจื™ืจืช ืžื—ื“ืœ ืฉืœ 30 ืฉื ื™ื•ืช.
  2. ื”-HPA ืžื ืกื” ืœื”ื’ื“ื™ืœ ืืช ืžืกืคืจ ื”ืžื•ื“ื•ืœื™ื ืื ืžื’ื™ืขื™ื ืœืกืฃ ืฉืฆื•ื™ืŸ.
  3. ื”-HPA ืžืขื“ื›ืŸ ืืช ืžืกืคืจ ื”ืขืชืงื™ื ื‘ืชื•ืš ื‘ืงืจ ื”ืคืจื™ืกื”/ืฉื›ืคื•ืœ.
  4. ืœืื—ืจ ืžื›ืŸ, ื‘ืงืจ ื”ืคืจื™ืกื”/ืฉื›ืคื•ืœ ืคื•ืจืก ืืช ื›ืœ ื”ืžื•ื“ื•ืœื™ื ื”ื ื•ืกืคื™ื ื”ื“ืจื•ืฉื™ื.

ืฉืœื•ืฉ ืจืžื•ืช ืฉืœ ืงื ื” ืžื™ื“ื” ืื•ื˜ื•ืžื˜ื™ ื‘-Kubernetes: ื›ื™ืฆื“ ืœื”ืฉืชืžืฉ ื‘ื”ืŸ ื‘ื™ืขื™ืœื•ืช
HPA ืžืชื—ื™ืœ ืืช ืชื”ืœื™ืš ืคืจื™ืกืช ื”ืžื•ื“ื•ืœ ื›ืืฉืจ ืžื’ื™ืขื™ื ืœืกืฃ ืžื˜ืจื™

ื‘ืขืช ืฉื™ืžื•ืฉ ื‘-HPA, ืฉืงื•ืœ ืืช ื”ื“ื‘ืจื™ื ื”ื‘ืื™ื:

  • ืžืจื•ื•ื— ื‘ื“ื™ืงืช ื”-HPA ื”ืžื•ื’ื“ืจ ื›ื‘ืจื™ืจืช ืžื—ื“ืœ ื”ื•ื 30 ืฉื ื™ื•ืช. ื–ื” ื ืงื‘ืข ืขืœ ื™ื“ื™ ื”ื“ื’ืœ horizontal-pod-autoscaler-sync-period ื‘ืžื ื”ืœ ื”ื‘ืงืจ.
  • ืฉื’ื™ืืช ื‘ืจื™ืจืช ื”ืžื—ื“ืœ ื”ื™ื—ืกื™ืช ื”ื™ื 10%.
  • ืœืื—ืจ ื”ืขืœื™ื™ื” ื”ืื—ืจื•ื ื” ื‘ืžืกืคืจ ื”ืžื•ื“ื•ืœื™ื, HPA ืฆื•ืคื” ืฉื”ืžื“ื“ื™ื ื™ืชื™ื™ืฆื‘ ืชื•ืš ืฉืœื•ืฉ ื“ืงื•ืช. ืžืจื•ื•ื— ื–ื” ื ืงื‘ืข ืขืœ ื™ื“ื™ ื”ื“ื’ืœ horizontal-pod-autoscaler-upscale-delay.
  • ืœืื—ืจ ื”ื”ืคื—ืชื” ื”ืื—ืจื•ื ื” ื‘ืžืกืคืจ ื”ืžื•ื“ื•ืœื™ื, ื”-HPA ืžืžืชื™ืŸ ื—ืžืฉ ื“ืงื•ืช ืœื”ืชื™ื™ืฆื‘. ืžืจื•ื•ื— ื–ื” ื ืงื‘ืข ืขืœ ื™ื“ื™ ื”ื“ื’ืœ horizontal-pod-autoscaler-downscale-delay.
  • HPA ืขื•ื‘ื“ ื”ื›ื™ ื˜ื•ื‘ ืขื ืื•ื‘ื™ื™ืงื˜ื™ ืคืจื™ืกื” ื•ืœื ืขื ื‘ืงืจื™ ืฉื›ืคื•ืœ. ืงื ื” ืžื™ื“ื” ืื•ื˜ื•ืžื˜ื™ ืื•ืคืงื™ ืื™ื ื• ืชื•ืื ืœืขื“ื›ื•ืŸ ืžืชื’ืœื’ืœ, ืืฉืจ ืžืคืขื™ืœ ื™ืฉื™ืจื•ืช ืืช ื‘ืงืจื™ ื”ืฉื›ืคื•ืœ. ืขื ื”ืคืจื™ืกื”, ืžืกืคืจ ื”ืขืชืงื™ื ืชืœื•ื™ ื™ืฉื™ืจื•ืช ื‘ืื•ื‘ื™ื™ืงื˜ื™ ื”ืคืจื™ืกื”.

ืงื ื” ืžื™ื“ื” ืื•ื˜ื•ืžื˜ื™ ืื ื›ื™ ืฉืœ ืคื•ื“ื™ื

ืงื ื” ืžื™ื“ื” ืื•ื˜ื•ืžื˜ื™ ืื ื›ื™ (VPA) ืžืงืฆื” ื™ื•ืชืจ (ืื• ืคื—ื•ืช) ื–ืžืŸ CPU ืื• ื–ื™ื›ืจื•ืŸ ืœืชืจืžื™ืœื™ื ืงื™ื™ืžื™ื. ืžืชืื™ื ืœืชืจืžื™ืœื™ื ืžืžืœื›ืชื™ื™ื ืื• ื—ืกืจื™ ืžื“ื™ื ื”, ืืš ืžื™ื•ืขื“ ื‘ืขื™ืงืจ ืœืฉื™ืจื•ืชื™ื ืžืžืœื›ืชื™ื™ื. ืขื ื–ืืช, ืืชื” ื™ื›ื•ืœ ื’ื ืœื”ืฉืชืžืฉ ื‘-VPA ืขื‘ื•ืจ ืžื•ื“ื•ืœื™ื ื—ืกืจื™ ืžื“ื™ื ื” ืื ืืชื” ืฆืจื™ืš ืœื”ืชืื™ื ืื•ื˜ื•ืžื˜ื™ืช ืืช ื›ืžื•ืช ื”ืžืฉืื‘ื™ื ืฉื”ื•ืงืฆื• ืชื—ื™ืœื”.

VPA ืžื’ื™ื‘ ื’ื ืœืื™ืจื•ืขื™ OOM (ืœื ื‘ื–ื™ื›ืจื•ืŸ). ืฉื™ื ื•ื™ ื–ืžืŸ ื”ืžืขื‘ื“ ื•ื”ื–ื™ื›ืจื•ืŸ ื“ื•ืจืฉ ื”ืคืขืœื” ืžื—ื“ืฉ ืฉืœ ื”ืคื•ื“ื™ื. ืขื ื”ืคืขืœื” ืžื—ื“ืฉ, ื”-VPA ืžื›ื‘ื“ ืืช ืชืงืฆื™ื‘ ื”ื”ืงืฆืื” (ืชืงืฆื™ื‘ ื—ืœื•ืงืช ื”ืชืจืžื™ืœื™ื, PDB) ื›ื“ื™ ืœื”ื‘ื˜ื™ื— ืืช ื”ืžืกืคืจ ื”ืžื™ื ื™ืžืœื™ ื”ื ื“ืจืฉ ืฉืœ ืžื•ื“ื•ืœื™ื.

ืืชื” ื™ื›ื•ืœ ืœื”ื’ื“ื™ืจ ืืช ื”ืžืฉืื‘ื™ื ื”ืžื™ื ื™ืžืœื™ื™ื ื•ื”ืžืงืกื™ืžืœื™ื™ื ืขื‘ื•ืจ ื›ืœ ืžื•ื“ื•ืœ. ืœืคื™ื›ืš, ืืชื” ื™ื›ื•ืœ ืœื”ื’ื‘ื™ืœ ืืช ื”ื›ืžื•ืช ื”ืžืงืกื™ืžืœื™ืช ืฉืœ ื–ื™ื›ืจื•ืŸ ืฉื”ื•ืงืฆื” ืœ-8 GB. ื–ื” ืฉื™ืžื•ืฉื™ ืื ื”ืฆืžืชื™ื ื”ื ื•ื›ื—ื™ื™ื ื‘ื”ื—ืœื˜ ืœื ื™ื›ื•ืœื™ื ืœื”ืงืฆื•ืช ื™ื•ืชืจ ืž-8 GB ืฉืœ ื–ื™ื›ืจื•ืŸ ืœื›ืœ ืžื™ื›ืœ. ืžืคืจื˜ื™ื ืžืคื•ืจื˜ื™ื ื•ืžื ื’ื ื•ืŸ ื”ืคืขืœื” ืžืชื•ืืจื™ื ื‘ ื•ื™ืงื™ VPA ื”ืจืฉืžื™.

ื‘ื ื•ืกืฃ, ืœ-VPA ื™ืฉ ืคื•ื ืงืฆื™ื™ืช ื”ืžืœืฆื” ืžืขื ื™ื™ื ืช (VPA Recommender). ื”ื•ื ืขื•ืงื‘ ืื—ืจ ืฉื™ืžื•ืฉ ื‘ืžืฉืื‘ื™ื ื•ืื™ืจื•ืขื™ OOM ืฉืœ ื›ืœ ื”ืžื•ื“ื•ืœื™ื ื›ื“ื™ ืœื”ืฆื™ืข ืขืจื›ื™ ื–ืžืŸ ื—ื“ืฉื™ื ืฉืœ ื–ื™ื›ืจื•ืŸ ื•-CPU ื”ืžื‘ื•ืกืกื™ื ืขืœ ืืœื’ื•ืจื™ืชื ื—ื›ื ื”ืžื‘ื•ืกืก ืขืœ ืžื“ื“ื™ื ื”ื™ืกื˜ื•ืจื™ื™ื. ื™ืฉ ื’ื ืžืžืฉืง API ืฉืœื•ืงื— ื™ื“ื™ืช ืคื•ื“ ื•ืžื—ื–ื™ืจ ืขืจื›ื™ ืžืฉืื‘ื™ื ืžื•ืฆืขื™ื.

ืจืื•ื™ ืœืฆื™ื™ืŸ ื›ื™ VPA Recommender ืื™ื ื• ืขื•ืงื‘ ืื—ืจ "ื”ื’ื‘ืœื”" ืฉืœ ืžืฉืื‘ื™ื. ื–ื” ืขืœื•ืœ ืœื’ืจื•ื ืœื›ืš ืฉื”ืžื•ื“ื•ืœ ื™ืงื‘ืœ ืžื•ื ื•ืคื•ืœ ืขืœ ืžืฉืื‘ื™ื ื‘ืชื•ืš ืฆืžืชื™ื. ืขื“ื™ืฃ ืœื”ื’ื“ื™ืจ ืืช ื”ืžื’ื‘ืœื” ื‘ืจืžืช ืžืจื—ื‘ ื”ืฉืžื•ืช ื›ื“ื™ ืœื”ื™ืžื ืข ืžืฆืจื™ื›ืช ื–ื™ื›ืจื•ืŸ ืื• CPU ืขืฆื•ืžื”.

ืขืจื›ืช ืชืคืขื•ืœ VPA ื‘ืจืžื” ื’ื‘ื•ื”ื”:

  1. VPA ื‘ื•ื“ืง ื‘ืื•ืคืŸ ืจืฆื™ืฃ ืืช ื”ืขืจื›ื™ื ื”ืžื˜ืจื™ื™ื ืฉืฆื•ื™ื ื• ื‘ืžื”ืœืš ื”ื”ืชืงื ื” ื‘ืžืจื•ื•ื— ื‘ืจื™ืจืช ืžื—ื“ืœ ืฉืœ 10 ืฉื ื™ื•ืช.
  2. ืื ื”ืกืฃ ืฉืฆื•ื™ืŸ ื”ื•ืฉื’, ื”-VPA ืžื ืกื” ืœืฉื ื•ืช ืืช ื›ืžื•ืช ื”ืžืฉืื‘ื™ื ืฉื”ื•ืงืฆื•.
  3. ื”-VPA ืžืขื“ื›ืŸ ืืช ืžืกืคืจ ื”ืžืฉืื‘ื™ื ื‘ืชื•ืš ื‘ืงืจ ื”ืคืจื™ืกื”/ืฉื›ืคื•ืœ.
  4. ื›ืืฉืจ ืžื•ื“ื•ืœื™ื ืžื•ืคืขืœื™ื ืžื—ื“ืฉ, ื›ืœ ื”ืžืฉืื‘ื™ื ื”ื—ื“ืฉื™ื ืžื•ื—ืœื™ื ืขืœ ื”ืžื•ืคืขื™ื ืฉื ื•ืฆืจื•.

ืฉืœื•ืฉ ืจืžื•ืช ืฉืœ ืงื ื” ืžื™ื“ื” ืื•ื˜ื•ืžื˜ื™ ื‘-Kubernetes: ื›ื™ืฆื“ ืœื”ืฉืชืžืฉ ื‘ื”ืŸ ื‘ื™ืขื™ืœื•ืช
VPA ืžื•ืกื™ืฃ ืืช ื›ืžื•ืช ื”ืžืฉืื‘ื™ื ื”ื ื“ืจืฉืช

ืื ื ื–ื›ื•ืจ ืืช ื”ื ืงื•ื“ื•ืช ื”ื‘ืื•ืช ื‘ืขืช ื”ืฉื™ืžื•ืฉ ื‘-VPA:

  • ืฉื™ื ื•ื™ ืงื ื” ืžื™ื“ื” ืžื—ื™ื™ื‘ ื”ืคืขืœื” ืžื—ื“ืฉ ืฉืœ ื”ืคื•ื“. ื–ื” ื”ื›ืจื—ื™ ื›ื“ื™ ืœืžื ื•ืข ืคืขื•ืœื” ืœื ื™ืฆื™ื‘ื” ืœืื—ืจ ื‘ื™ืฆื•ืข ืฉื™ื ื•ื™ื™ื. ืœืฆื•ืจืš ืืžื™ื ื•ืช, ืžื•ื“ื•ืœื™ื ืžื•ืคืขืœื™ื ืžื—ื“ืฉ ื•ืžื•ืคืฆื™ื ืขืœ ืคื ื™ ืฆืžืชื™ื ื‘ื”ืชื‘ืกืก ืขืœ ืžืฉืื‘ื™ื ืฉื”ื•ืงืฆื• ืœืื—ืจื•ื ื”.
  • VPA ื•-HPA ืขื“ื™ื™ืŸ ืื™ื ื ืชื•ืืžื™ื ื–ื” ืœื–ื” ื•ืื™ื ื ื™ื›ื•ืœื™ื ืœืคืขื•ืœ ืขืœ ืื•ืชื ืคื•ื“ื™ื. ืื ืืชื” ืžืฉืชืžืฉ ื‘ืฉื ื™ ืžื ื’ื ื•ื ื™ ืงื ื” ื”ืžื™ื“ื” ื‘ืื•ืชื• ืืฉื›ื•ืœ, ื•ื“ื ืฉื”ื”ื’ื“ืจื•ืช ืฉืœืš ืžื•ื ืขื•ืช ืžื”ื ืœื”ื™ื•ืช ืžื•ืคืขืœื™ื ืขืœ ืื•ืชื ืื•ื‘ื™ื™ืงื˜ื™ื.
  • VPA ืžื›ื•ื•ืŸ ื‘ืงืฉื•ืช ืžื™ื›ืœ ืœืžืฉืื‘ื™ื ื‘ื”ืชื‘ืกืก ืจืง ืขืœ ืฉื™ืžื•ืฉ ื‘ืขื‘ืจ ื•ื‘ื”ื•ื•ื”. ื–ื” ืœื ืžื’ื“ื™ืจ ืžื’ื‘ืœื•ืช ืฉื™ืžื•ืฉ ื‘ืžืฉืื‘ื™ื. ื™ื™ืชื›ื ื• ื‘ืขื™ื•ืช ืขื ื™ื™ืฉื•ืžื™ื ืฉืื™ื ื ืคื•ืขืœื™ื ื›ื”ืœื›ื” ื•ืžืชื—ื™ืœื™ื ืœื”ืฉืชืœื˜ ืขืœ ืขื•ื“ ื•ืขื•ื“ ืžืฉืื‘ื™ื, ื–ื” ื™ื•ื‘ื™ืœ ืœื›ืš ืฉ-Kubernetes ืชื›ื‘ื” ืืช ื”ืคื•ื“ ื”ื–ื”.
  • VPA ืขื“ื™ื™ืŸ ื‘ืฉืœื‘ ืžื•ืงื“ื ืฉืœ ืคื™ืชื•ื—. ื”ื™ื• ืžื•ื›ื ื™ื ืœื›ืš ืฉื”ืžืขืจื›ืช ืขืฉื•ื™ื” ืœืขื‘ื•ืจ ืฉื™ื ื•ื™ื™ื ืžืกื•ื™ืžื™ื ื‘ืขืชื™ื“ ื”ืงืจื•ื‘. ืืชื” ื™ื›ื•ืœ ืœืงืจื•ื ืขืœ ืžื’ื‘ืœื•ืช ื™ื“ื•ืขื•ืช ะธ ืชื•ื›ื ื™ื•ืช ืคื™ืชื•ื—. ืœืคื™ื›ืš, ื™ืฉื ืŸ ืชื•ื›ื ื™ื•ืช ืœื™ื™ืฉื ืืช ื”ืคืขื•ืœื” ื”ืžืฉื•ืชืคืช ืฉืœ VPA ื•-HPA, ื›ืžื• ื’ื ืคืจื™ืกืช ืžื•ื“ื•ืœื™ื ื™ื—ื“ ืขื ืžื“ื™ื ื™ื•ืช ืงื ื” ืžื™ื“ื” ืื•ื˜ื•ืžื˜ื™ ืื ื›ื™ ืขื‘ื•ืจื (ืœื“ื•ื’ืžื”, ืชื•ื•ื™ืช ืžื™ื•ื—ื“ืช 'ืžื—ื™ื™ื‘ืช VPA').

ืงื ื” ืžื™ื“ื” ืื•ื˜ื•ืžื˜ื™ ืฉืœ ืืฉื›ื•ืœ Kubernetes

Cluster Autoscaler (CA) ืžืฉื ื” ืืช ืžืกืคืจ ื”ืฆืžืชื™ื ื‘ื”ืชื‘ืกืก ืขืœ ืžืกืคืจ ื”ืชืจืžื™ืœื™ื ื”ืžืžืชื™ื ื™ื. ื”ืžืขืจื›ืช ื‘ื•ื“ืงืช ืžืขืช ืœืขืช ืžื•ื“ื•ืœื™ื ืžืžืชื™ื ื™ื - ื•ืžื’ื“ื™ืœื” ืืช ื’ื•ื“ืœ ื”ืืฉื›ื•ืœ ืื ื™ืฉ ืฆื•ืจืš ื‘ืžืฉืื‘ื™ื ื ื•ืกืคื™ื ื•ืื ื”ืืฉื›ื•ืœ ืื™ื ื• ื—ื•ืจื’ ืžื”ืžื’ื‘ืœื•ืช ืฉื ืงื‘ืขื•. ื”-CA ืžืชืงืฉืจ ืขื ืกืคืง ืฉื™ืจื•ืชื™ ื”ืขื ืŸ, ืžื‘ืงืฉ ืžืžื ื• ืฆืžืชื™ื ื ื•ืกืคื™ื ืื• ืžืฉื—ืจืจ ืฆืžืชื™ื ืœื ืคืขื™ืœื™ื. ื”ื’ืจืกื” ื”ืจืืฉื•ื ื” ื”ื–ืžื™ื ื” ื‘ืื•ืคืŸ ื›ืœืœื™ ืฉืœ CA ื”ื•ืฆื’ื” ื‘-Kubernetes 1.8.

ืกื›ื™ืžื” ื‘ืจืžื” ื’ื‘ื•ื”ื” ืฉืœ ืคืขื•ืœืช SA:

  1. CA ื‘ื•ื“ืง ืžื•ื“ื•ืœื™ื ืžืžืชื™ื ื™ื ื‘ืžืจื•ื•ื— ื‘ืจื™ืจืช ืžื—ื“ืœ ืฉืœ 10 ืฉื ื™ื•ืช.
  2. ืื ืคื•ื“ ืื—ื“ ืื• ื™ื•ืชืจ ื ืžืฆืื™ื ื‘ืžืฆื‘ ื”ืžืชื ื” ืžื›ื™ื•ื•ืŸ ืฉืœืืฉื›ื•ืœ ืื™ืŸ ืžืกืคื™ืง ืžืฉืื‘ื™ื ื–ืžื™ื ื™ื ื›ื“ื™ ืœื”ืงืฆื•ืช ืื•ืชื, ื”ื•ื ืžื ืกื” ืœืกืคืง ืฆืžืชื™ื ื ื•ืกืคื™ื ืื—ื“ ืื• ื™ื•ืชืจ.
  3. ื›ืืฉืจ ืกืคืง ืฉื™ืจื•ืชื™ ื”ืขื ืŸ ืžืงืฆื” ืืช ื”ืฆื•ืžืช ื”ื ื“ืจืฉ, ื”ื•ื ืžืฆื˜ืจืฃ ืœืืฉื›ื•ืœ ื•ืžื•ื›ืŸ ืœืฉืจืช ืืช ื”ืคื•ื“ื™ื.
  4. ืžืชื–ืžืŸ Kubernetes ืžืคื™ืฅ ืชืจืžื™ืœื™ื ืžืžืชื™ื ื™ื ืœืฆื•ืžืช ื”ื—ื“ืฉ. ืื ืœืื—ืจ ืžื›ืŸ ื—ืœืง ืžื”ืžื•ื“ื•ืœื™ื ืขื“ื™ื™ืŸ ื ืฉืืจื™ื ื‘ืžืฆื‘ ื”ืžืชื ื”, ื”ืชื”ืœื™ืš ื—ื•ื–ืจ ืขืœ ืขืฆืžื• ื•ืฆืžืชื™ื ื—ื“ืฉื™ื ืžืชื•ื•ืกืคื™ื ืœืืฉื›ื•ืœ.

ืฉืœื•ืฉ ืจืžื•ืช ืฉืœ ืงื ื” ืžื™ื“ื” ืื•ื˜ื•ืžื˜ื™ ื‘-Kubernetes: ื›ื™ืฆื“ ืœื”ืฉืชืžืฉ ื‘ื”ืŸ ื‘ื™ืขื™ืœื•ืช
ื”ืงืฆืื” ืื•ื˜ื•ืžื˜ื™ืช ืฉืœ ืฆืžืชื™ ืืฉื›ื•ืœื•ืช ื‘ืขื ืŸ

ืฉืงื•ืœ ืืช ื”ื“ื‘ืจื™ื ื”ื‘ืื™ื ื‘ืขืช ืฉื™ืžื•ืฉ ื‘-CA:

  • CA ืžื‘ื˜ื™ื— ืฉืœื›ืœ ื”ืคื•ื“ื™ื ื‘ืืฉื›ื•ืœ ื™ื”ื™ื” ืžืงื•ื ืœืคืขื•ืœ, ืœืœื ืงืฉืจ ืœืขื•ืžืก ื”ืžืขื‘ื“. ื”ื•ื ื’ื ืžื ืกื” ืœื”ื‘ื˜ื™ื— ืฉืœื ื™ื”ื™ื• ืฆืžืชื™ื ืžื™ื•ืชืจื™ื ื‘ืืฉื›ื•ืœ.
  • CA ืจื•ืฉื ืืช ื”ืฆื•ืจืš ื‘ืงื ื” ืžื™ื“ื” ืœืื—ืจ ื›-30 ืฉื ื™ื•ืช.
  • ื‘ืจื’ืข ืฉื›ื‘ืจ ืื™ืŸ ืฆื•ืจืš ื‘ืฆื•ืžืช, ื‘ืจื™ืจืช ื”ืžื—ื“ืœ ืฉืœ ื”-CA ื”ื™ื ื”ืžืชื ื” ืฉืœ 10 ื“ืงื•ืช ืœืคื ื™ ืงื ื” ื”ืžื™ื“ื” ืฉืœ ื”ืžืขืจื›ืช.
  • ืœืžืขืจื›ืช ืงื ื” ื”ืžื™ื“ื” ื”ืื•ื˜ื•ืžื˜ื™ ื™ืฉ ืืช ื”ืจืขื™ื•ืŸ ืฉืœ ืžืจื—ื™ื‘ื™ื. ืืœื• ื”ืŸ ืืกื˜ืจื˜ื’ื™ื•ืช ืฉื•ื ื•ืช ืœื‘ื—ื™ืจืช ืงื‘ื•ืฆืช ืฆืžืชื™ื ืฉืืœื™ื” ื™ืชื•ื•ืกืคื• ืฆืžืชื™ื ื—ื“ืฉื™ื.
  • ื”ืฉืชืžืฉ ื‘ืืคืฉืจื•ืช ื‘ืื—ืจื™ื•ืช cluster-autoscaler.kubernetes.io/safe-to-evict (true). ืื ืชืชืงื™ืŸ ื”ืจื‘ื” ืคื•ื“ื™ื, ืื• ืื ืจื‘ื™ื ืžื”ื ืžืคื•ื–ืจื™ื ืขืœ ืคื ื™ ื›ืœ ื”ืฆืžืชื™ื, ืชืื‘ื“ ื‘ืžื™ื“ื” ืจื‘ื” ืืช ื”ื™ื›ื•ืœืช ืœื”ืจื—ื™ื‘ ืืช ื”ืืฉื›ื•ืœ.
  • ื”ืฉืชืžืฉ PodDisruptionBudgetsื›ื“ื™ ืœืžื ื•ืข ืžื—ื™ืงืช ืชืจืžื™ืœื™ื, ืžื” ืฉืขืœื•ืœ ืœื’ืจื•ื ืœื—ืœืงื™ื ืžื”ืืคืœื™ืงืฆื™ื” ืฉืœืš ืœื”ื™ืฉื‘ืจ ืœื—ืœื•ื˜ื™ืŸ.

ื›ื™ืฆื“ ืงื•ื‘ืจื ื˜ืก ืื•ื˜ื•ืžื˜ื™ scalers ืžืชืงืฉืจื™ื ื–ื” ืขื ื–ื”

ืœื”ืจืžื•ื ื™ื” ืžื•ืฉืœืžืช, ื™ืฉ ืœื”ื—ื™ืœ ืงื ื” ืžื™ื“ื” ืื•ื˜ื•ืžื˜ื™ ื’ื ื‘ืจืžืช ื”ืชืจืžื™ืœ (HPA/VPA) ื•ื’ื ื‘ืจืžืช ื”ืืฉื›ื•ืœ. ื”ื ืžืงื™ื™ืžื™ื ืื™ื ื˜ืจืืงืฆื™ื” ื–ื” ืขื ื–ื” ื‘ืฆื•ืจื” ืคืฉื•ื˜ื” ื™ื—ืกื™ืช:

  1. HPAs ืื• VPAs ืžืขื“ื›ื ื™ื ื”ืขืชืงื™ื ืฉืœ ืคื•ื“ื™ื ืื• ืžืฉืื‘ื™ื ื”ืžื•ืงืฆื™ื ืœืชืจืžื™ืœื™ื ืงื™ื™ืžื™ื.
  2. ืื ืื™ืŸ ืžืกืคื™ืง ืฆืžืชื™ื ืขื‘ื•ืจ ืงื ื” ื”ืžื™ื“ื” ื”ืžืชื•ื›ื ืŸ, ื”-CA ืžื‘ื—ื™ืŸ ื‘ื ื•ื›ื—ื•ืช ืฉืœ ืชืจืžื™ืœื™ื ื‘ืžืฆื‘ ื”ืžืชื ื”.
  3. ื”-CA ืžืงืฆื” ืฆืžืชื™ื ื—ื“ืฉื™ื.
  4. ืžื•ื“ื•ืœื™ื ืžื•ืคืฆื™ื ืœืฆืžืชื™ื ื—ื“ืฉื™ื.

ืฉืœื•ืฉ ืจืžื•ืช ืฉืœ ืงื ื” ืžื™ื“ื” ืื•ื˜ื•ืžื˜ื™ ื‘-Kubernetes: ื›ื™ืฆื“ ืœื”ืฉืชืžืฉ ื‘ื”ืŸ ื‘ื™ืขื™ืœื•ืช
ืžืขืจื›ืช ื”ืจื—ื‘ืช Kubernetes ืฉื™ืชื•ืคื™ืช

ื˜ืขื•ื™ื•ืช ื ืคื•ืฆื•ืช ื‘ืงื ื” ืžื™ื“ื” ืื•ื˜ื•ืžื˜ื™ ืฉืœ Kubernetes

ื™ืฉื ืŸ ืžืกืคืจ ื‘ืขื™ื•ืช ื ืคื•ืฆื•ืช ืฉื‘ื”ืŸ ื ืชืงืœื™ื ื›ืืฉืจ ืžื ืกื™ื ืœื™ื™ืฉื ืงื ื” ืžื™ื“ื” ืื•ื˜ื•ืžื˜ื™.

HPA ื•-VPA ืชืœื•ื™ื™ื ื‘ืžื“ื“ื™ื ื•ื‘ื›ืžื” ื ืชื•ื ื™ื ื”ื™ืกื˜ื•ืจื™ื™ื. ืื ืœื ื”ื•ืงืฆื• ืžืฉืื‘ื™ื ืžืกืคื™ืงื™ื, ื”ืžื•ื“ื•ืœื™ื ื™ืฆื˜ืžืฆืžื• ื•ืœื ื™ื•ื›ืœื• ืœื™ืฆื•ืจ ืžื“ื“ื™ื. ื‘ืžืงืจื” ื–ื”, ืงื ื” ืžื™ื“ื” ืื•ื˜ื•ืžื˜ื™ ืœืขื•ืœื ืœื ื™ืงืจื”.

ืคืขื•ืœืช ืงื ื” ื”ืžื™ื“ื” ืขืฆืžื” ืจื’ื™ืฉื” ืœื–ืžืŸ. ืื ื• ืจื•ืฆื™ื ืฉื”ืžื•ื“ื•ืœื™ื ื•ื”ืืฉื›ื•ืœ ื™ื’ื“ืœื• ื‘ืžื”ื™ืจื•ืช - ืœืคื ื™ ืฉื”ืžืฉืชืžืฉื™ื ื™ื‘ื—ื™ื ื• ื‘ื‘ืขื™ื•ืช ืื• ื›ืฉืœื™ื ื›ืœืฉื”ื. ืœื›ืŸ, ื™ืฉ ืœืงื—ืช ื‘ื—ืฉื‘ื•ืŸ ืืช ื–ืžืŸ ืงื ื” ื”ืžื™ื“ื” ื”ืžืžื•ืฆืข ืขื‘ื•ืจ ืชืจืžื™ืœื™ื ื•ืืฉื›ื•ืœ.

ืชืจื—ื™ืฉ ืื™ื“ื™ืืœื™ - 4 ื“ืงื•ืช:

  1. 30 ืฉื ื™ื•ืช. ืขื“ื›ื•ืŸ ืžื“ื“ื™ ื™ืขื“: 30-60 ืฉื ื™ื•ืช.
  2. 30 ืฉื ื™ื•ืช. HPA ื‘ื•ื“ืง ืขืจื›ื™ ืžื“ื“ื™ื: 30 ืฉื ื™ื•ืช.
  3. ืคื—ื•ืช ืž-2 ืฉื ื™ื•ืช. ืชืจืžื™ืœื™ื ื ื•ืฆืจื™ื ื•ืขื•ื‘ืจื™ื ืœืžืฆื‘ ื”ืžืชื ื”: ืฉื ื™ื™ื” ืื—ืช.
  4. ืคื—ื•ืช ืž-2 ืฉื ื™ื•ืช. CA ืจื•ืื” ืžื•ื“ื•ืœื™ื ืžืžืชื™ื ื™ื ื•ืฉื•ืœื— ืฉื™ื—ื•ืช ืœืฆืžืชื™ ืืกืคืงื”: ืฉื ื™ื™ื” ืื—ืช.
  5. 3 ื“ืงื•ืช. ืกืคืง ื”ืขื ืŸ ืžืงืฆื” ืฆืžืชื™ื. K8s ืžืžืชื™ื ื™ื ืขื“ ืฉื”ื ืžื•ื›ื ื™ื: ืขื“ 10 ื“ืงื•ืช (ืชืœื•ื™ ื‘ืžืกืคืจ ื’ื•ืจืžื™ื).

ื”ืชืจื—ื™ืฉ ื”ื’ืจื•ืข ื‘ื™ื•ืชืจ (ืจื™ืืœื™ืกื˜ื™ ื™ื•ืชืจ) - 12 ื“ืงื•ืช:

  1. 30 ืฉื ื™ื•ืช. ืขื“ื›ื•ืŸ ืžื“ื“ื™ ื™ืขื“.
  2. 30 ืฉื ื™ื•ืช. HPA ื‘ื•ื“ืง ืืช ื”ืขืจื›ื™ื ื”ืžื˜ืจื™ื™ื.
  3. ืคื—ื•ืช ืž-2 ืฉื ื™ื•ืช. ื”ืคื•ื“ื™ื ื ื•ืฆืจื™ื ื•ื ื›ื ืกื™ื ืœืžืฆื‘ ื”ืžืชื ื”.
  4. ืคื—ื•ืช ืž-2 ืฉื ื™ื•ืช. ื”-CA ืจื•ืื” ืืช ืžื•ื“ื•ืœื™ ื”ื”ืžืชื ื” ื•ืžื‘ืฆืข ืฉื™ื—ื•ืช ืœืืกืคืงืช ื”ืฆืžืชื™ื.
  5. 10 ื“ืงื•ืช. ืกืคืง ื”ืขื ืŸ ืžืงืฆื” ืฆืžืชื™ื. K8s ืžื—ื›ื” ืขื“ ืฉื”ื ืžื•ื›ื ื™ื. ื–ืžืŸ ื”ื”ืžืชื ื” ืชืœื•ื™ ื‘ืžืกืคืจ ื’ื•ืจืžื™ื, ื›ื’ื•ืŸ ืขื™ื›ื•ื‘ ืฉืœ ืกืคืงื™ื, ืขื™ื›ื•ื‘ ื‘ืžืขืจื›ืช ื”ื”ืคืขืœื” ื•ื›ืœื™ ืชืžื™ื›ื”.

ืืœ ืชื‘ืœื‘ืœ ื‘ื™ืŸ ืžื ื’ื ื•ื ื™ ืงื ื” ื”ืžื™ื“ื” ืฉืœ ืกืคืงื™ ืขื ืŸ ืœื‘ื™ืŸ ื”-CA ืฉืœื ื•. ื”ืื—ืจื•ืŸ ืคื•ืขืœ ื‘ืชื•ืš ืืฉื›ื•ืœ Kubernetes, ื‘ืขื•ื“ ืฉืžื ื•ืข ืกืคืง ื”ืขื ืŸ ืคื•ืขืœ ืขืœ ื‘ืกื™ืก ื”ืคืฆืช ืฆืžืชื™ื. ื–ื” ืœื ื™ื•ื“ืข ืžื” ืงื•ืจื” ืขื ื”ืชืจืžื™ืœื™ื ืื• ื”ืืคืœื™ืงืฆื™ื” ืฉืœืš. ืžืขืจื›ื•ืช ืืœื• ืคื•ืขืœื•ืช ื‘ืžืงื‘ื™ืœ.

ื›ื™ืฆื“ ืœื ื”ืœ ืงื ื” ืžื™ื“ื” ื‘-Kubernetes

  1. Kubernetes ื”ื•ื ื›ืœื™ ืœื ื™ื”ื•ืœ ืžืฉืื‘ื™ื ื•ืชื–ืžื•ืจ. ืคืขื•ืœื•ืช ืœื ื™ื”ื•ืœ ืคื•ื“ื™ื ื•ืžืฉืื‘ื™ ืืฉื›ื•ืœ ื”ืŸ ืื‘ืŸ ื“ืจืš ืžืจื›ื–ื™ืช ื‘ืฉืœื™ื˜ื” ื‘-Kubernetes.
  2. ื”ื‘ืŸ ืืช ื”ื”ื™ื’ื™ื•ืŸ ืฉืœ ืžื“ืจื’ื™ื•ืช ืชืจืžื™ืœื™ื ืชื•ืš ื”ืชื—ืฉื‘ื•ืช ื‘-HPA ื•-VPA.
  3. ื™ืฉ ืœื”ืฉืชืžืฉ ื‘-CA ืจืง ืื ื™ืฉ ืœืš ื”ื‘ื ื” ื˜ื•ื‘ื” ืฉืœ ื”ืฆืจื›ื™ื ืฉืœ ื”ืชืจืžื™ืœื™ื ื•ื”ืžื™ื›ืœื™ื ืฉืœืš.
  4. ื›ื“ื™ ืœื”ื’ื“ื™ืจ ื‘ืฆื•ืจื” ืื•ืคื˜ื™ืžืœื™ืช ืืฉื›ื•ืœ, ืขืœื™ืš ืœื”ื‘ื™ืŸ ื›ื™ืฆื“ ืžืขืจื›ื•ืช ืงื ื” ืžื™ื“ื” ืฉื•ื ื•ืช ืคื•ืขืœื•ืช ื™ื—ื“.
  5. ื‘ืขืช ื”ืขืจื›ืช ื–ืžืŸ ืงื ื” ื”ืžื™ื“ื”, ื–ื›ื•ืจ ืชืจื—ื™ืฉื™ื ืฉืœ ื”ืžืงืจื” ื”ื’ืจื•ืข ื•ื”ืžืงืจื” ื”ื˜ื•ื‘ ื‘ื™ื•ืชืจ.

ืžืงื•ืจ: www.habr.com

ื”ื•ืกืคืช ืชื’ื•ื‘ื”