เบงเบดเบ—เบตเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™ Kubernetes Pod

เบงเบดเบ—เบตเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™ Kubernetes Podเบฅเบฒเบ‡เบงเบฑเบ™เป‚เบ”เบ Tohad

เป€เบกเบทเปˆเบญเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ”เป‰เบงเบ Kubernetes, เบกเบฑเบ™เป€เบ›เบฑเบ™เป€เบฅเบทเปˆเบญเบ‡เบ›เบปเบเบเบฐเบ•เบดเบ—เบตเปˆเบˆเบฐเบฅเบทเบกเบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบšเบฑเบ™เบˆเบธ. เปƒเบ™เบˆเบธเบ”เบ™เบตเป‰, เบกเบฑเบ™เบžเบฝเบ‡เบžเปเบ—เบตเปˆเบˆเบฐเบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบงเปˆเบฒเบฎเบนเบšเบžเบฒเบš Docker เป€เบฎเบฑเบ”เบงเบฝเบเปเบฅเบฐเบชเบฒเบกเบฒเบ”เบ–เบทเบเบ™เปเบฒเป„เบ›เปƒเบŠเป‰เบเบฑเบšเบเบธเปˆเบก Kubernetes.

เปเบ•เปˆเบ•เปเปˆเบกเบฒ เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเปˆเบ™เบ•เป‰เบญเบ‡เบ–เบทเบเบ™เบณเปƒเบŠเป‰เบขเบนเปˆเปƒเบ™เบเบธเปˆเบกเบเบฒเบ™เบœเบฐเบฅเบดเบ”เบžเป‰เบญเบกเบเบฑเบšเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเปˆเบ™เบญเบทเปˆเบ™เป†. เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เบชเบดเปˆเบ‡เบ™เบตเป‰, เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป„เบ”เป‰เบˆเบฑเบ”เบชเบฑเบ™เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบชเปเบฒเบฅเบฑเบšเบšเบฑเบ™เบˆเบธเปเบฅเบฐเปƒเบซเป‰เปเบ™เปˆเปƒเบˆเบงเปˆเบฒเบกเบตเบžเบฝเบ‡เบžเปเบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒเป€เบžเบทเปˆเบญเปƒเบซเป‰เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เปเบฅเบฐเปเบฅเปˆเบ™, เปเบฅเบฐเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบเบญเบทเปˆเบ™เป†เบˆเบฐเบšเปเปˆเบ›เบฐเบชเบปเบšเบšเบฑเบ™เบซเบฒ.

เบ—เบตเบกเบ‡เบฒเบ™ Kubernetes aaS เบˆเบฒเบ Mail.ru เปเบ›เบšเบปเบ”เบ„เบงเบฒเบกเบเปˆเบฝเบงเบเบฑเบšเบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบšเบฑเบ™เบˆเบธ (CPU & MEM), เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เป เปเบฅเบฐเบ‚เปเป‰เบˆเปเบฒเบเบฑเบ”เบ‚เบญเบ‡เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™. เบ—เปˆเบฒเบ™เบˆเบฐเป„เบ”เป‰เบฎเบฝเบ™เบฎเบนเป‰เบœเบปเบ™เบ›เบฐเป‚เบซเบเบ”เบ‚เบญเบ‡เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰ เปเบฅเบฐเบˆเบฐเป€เบเบตเบ”เบซเบเบฑเบ‡เบ‚เบถเป‰เบ™เบซเบฒเบเบ—เปˆเบฒเบ™เบšเปเปˆเบ•เบฑเป‰เบ‡เบžเบงเบเบกเบฑเบ™.

เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบ„เบญเบกเบžเบดเบงเป€เบ•เบต

เบžเบงเบเป€เบฎเบปเบฒเบกเบตเบชเบญเบ‡เบ›เบฐเป€เบžเบ”เบ‚เบญเบ‡เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบ—เบตเปˆเบกเบตเบซเบ™เปˆเบงเบเบ‡เบฒเบ™เบ”เบฑเปˆเบ‡เบ•เปเปˆเป„เบ›เบ™เบตเป‰:

  • เบซเบ™เปˆเบงเบเบ›เบฐเบกเบงเบ™เบœเบปเบ™เบเบฒเบ‡ (CPU) - เปเบเบ™;
  • เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒ (MEM) - bytes.

เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เปเบกเปˆเบ™เบฅเบฐเบšเบธเป„เบงเป‰เบชเปเบฒเบฅเบฑเบšเปเบ•เปˆเบฅเบฐเบ–เบฑเบ‡. เปƒเบ™เป„เบŸเบฅเปŒ Pod YAML เบ•เปเปˆเป„เบ›เบ™เบตเป‰, เบ—เปˆเบฒเบ™เบˆเบฐเป€เบซเบฑเบ™เบžเบฒเบเบชเปˆเบงเบ™เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบ—เบตเปˆเบ›เบฐเบเบญเบšเบ”เป‰เบงเบเบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบ—เบตเปˆเบฎเป‰เบญเบ‡เบ‚เป เปเบฅเบฐเบˆเปเบฒเบเบฑเบ”:

  • Requested Pod Resources = sum of requested resources of all containers;
  • Pod Resource Limit = เบœเบปเบ™เบฅเบงเบกเบ‚เบญเบ‡เบ‚เบญเบšเป€เบ‚เบ”เบˆเปเบฒเบเบฑเบ”เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™ Pod เบ—เบฑเบ‡เปเบปเบ”.

apiVersion: v1
kind: Pod
metadata:
  name: backend-pod-name
  labels:
    application: backend
spec:
  containers:
    โ€” name: main-container
      image: my-backend
      tag: v1
      ports:
      โ€” containerPort: 8080
      resources:
        requests:
          cpu: 0.2 # REQUESTED CPU: 200m cores
          memory: "1Gi" # REQUESTED MEM: 1Gi
        limits:
          cpu: 1 # MAX CPU USAGE: 1 core
          memory: "1Gi" # MAX MEM USAGE:  1Gi
    โ€” name: other-container
      image: other-app
      tag: v1
      ports:
      โ€” containerPort: 8000
      resources:
        requests:
          cpu: "200m" # REQUESTED CPU: 200m cores
          memory: "0.5Gi" # REQUESTED MEM: 0.5Gi
        limits:
          cpu: 1 # MAX CPU USAGE: 1 core
          memory: "1Gi" # MAX MEM USAGE:  1Gi

เบ•เบปเบงเบขเปˆเบฒเบ‡เบ‚เบญเบ‡เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบ—เบตเปˆเบฎเป‰เบญเบ‡เบ‚เปเปเบฅเบฐเบˆเปเบฒเบเบฑเบ”

เบžเบฒเบเบชเบฐเบซเบ™เบฒเบก resources.requested เบˆเบฒเบเบ‚เปเป‰เบเปเบฒเบซเบ™เบปเบ” Pod เปเบกเปˆเบ™เบซเบ™เบถเปˆเบ‡เปƒเบ™เบญเบปเบ‡เบ›เบฐเบเบญเบšเบ—เบตเปˆเบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบžเบทเปˆเบญเบŠเบญเบเบซเบฒ node เบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™. เป€เบˆเบปเป‰เบฒเบชเบฒเบกเบฒเบ”เบงเบฒเบ‡เปเบœเบ™เบเบฒเบ™เบ™เบณเปƒเบŠเป‰ Pod เบชเปเบฒเบฅเบฑเบšเบกเบฑเบ™เป„เบ”เป‰เปเบฅเป‰เบง. เป€เบˆเบปเป‰เบฒเบŠเบญเบเบซเบฒเป‚เบ™เบ”เบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบกเปเบ™เบงเปƒเบ”?

Kubernetes เบ›เบฐเบเบญเบšเบ”เป‰เบงเบเบซเบผเบฒเบเบญเบปเบ‡เบ›เบฐเบเบญเบš, เบฅเบงเบกเบ—เบฑเบ‡ node เบ•เบปเป‰เบ™เบชเบฐเบšเบฑเบšเบซเบผเบท master node (Kubernetes Control Plane). เป‚เบซเบ™เบ”เบ•เบปเป‰เบ™เบชเบฐเบšเบฑเบšเบกเบตเบซเบผเบฒเบเบ‚เบฐเบšเบงเบ™เบเบฒเบ™: kube-apiserver, kube-controller-manager เปเบฅเบฐ kube-scheduler.

เบ‚เบฐเบšเบงเบ™เบเบฒเบ™ kube-scheduler เปเบกเปˆเบ™เบฎเบฑเบšเบœเบดเบ”เบŠเบญเบšเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ—เบปเบšเบ—เบงเบ™เบ„เบทเบ™ pods เบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เปƒเบซเบกเปˆเปเบฅเบฐเบŠเบญเบเบซเบฒ nodes เบžเบฐเบ™เบฑเบเบ‡เบฒเบ™เบ—เบตเปˆเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบตเปˆเบเบปเบ‡เบเบฑเบšเบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เป pods เบ—เบฑเบ‡เบซเบกเบปเบ”, เบฅเบงเบกเบ—เบฑเบ‡เบˆเปเบฒเบ™เบงเบ™เบ‚เบญเบ‡เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบ—เบตเปˆเบฎเป‰เบญเบ‡เบ‚เป. เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ‚เบญเบ‡ nodes เบ—เบตเปˆเบžเบปเบšเป€เบซเบฑเบ™เป‚เบ”เบ kube-scheduler เปเบกเปˆเบ™เบˆเบฑเบ”เบญเบฑเบ™เบ”เบฑเบš. เบเบฑเบเปเบกเปˆเบ™เบเปเบฒเบ™เบปเบ”เบขเบนเปˆเปƒเบ™ node เบ—เบตเปˆเบกเบตเบ„เบฐเปเบ™เบ™เบชเบนเบ‡เบชเบธเบ”.

เบงเบดเบ—เบตเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™ Kubernetes Podเบเบฑเบเบชเบตเบกเปˆเบงเบ‡เบˆเบฐเบขเบนเปˆเปƒเบช?

เปƒเบ™เบฎเบนเบšเบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบซเบฑเบ™เป„เบ”เป‰เบงเปˆเบฒ kube-scheduler เบ„เบงเบ™เบˆเบฑเบ”เบ•เบฒเบ•เบฐเบฅเบฒเบ‡ Pod เบชเบตเบกเปˆเบงเบ‡เปƒเบซเบกเปˆ. เบเบธเปˆเบก Kubernetes เบ›เบฐเบเบญเบšเบกเบตเบชเบญเบ‡ nodes: A เปเบฅเบฐ B. เบ”เบฑเปˆเบ‡เบ—เบตเปˆเป€เบˆเบปเป‰เบฒเป€เบซเบฑเบ™, kube-scheduler เบšเปเปˆเบชเบฒเบกเบฒเบ”เบˆเบฑเบ”เบ•เบฒเบ•เบฐเบฅเบฒเบ‡ Pod เปƒเบ™ node A - เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบ—เบตเปˆเบกเบตเบขเบนเปˆ (เบšเปเปˆเป„เบ”เป‰เบฎเป‰เบญเบ‡เบ‚เป) เบšเปเปˆเบเบปเบ‡เบเบฑเบšเบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเบ‚เบญเบ‡ Pod เบชเบตเบกเปˆเบงเบ‡. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒ 1 GB เบ—เบตเปˆเบฎเป‰เบญเบ‡เบ‚เปเป‚เบ”เบ Pod เบชเบตเบกเปˆเบงเบ‡เบˆเบฐเบšเปเปˆเป€เบซเบกเบฒเบฐเบชเบปเบกเบเบฑเบš node A, เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒเบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบ—เบตเปˆเบกเบตเบขเบนเปˆเปเบกเปˆเบ™ 0,5 GB. เปเบ•เปˆ node B เบกเบตเบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบžเบฝเบ‡เบžเป. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, kube-scheduler เบ•เบฑเบ”เบชเบดเบ™เปƒเบˆเบงเปˆเบฒเบˆเบธเบ”เบซเบกเบฒเบเบ›เบฒเบเบ—เบฒเบ‡เบ‚เบญเบ‡ Pod เบชเบตเบกเปˆเบงเบ‡เปเบกเปˆเบ™ node B.

เบ•เบญเบ™เบ™เบตเป‰เบžเบงเบเป€เบฎเบปเบฒเบฎเบนเป‰เบงเปˆเบฒเบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบ—เบตเปˆเบฎเป‰เบญเบ‡เบ‚เปเบกเบตเบœเบปเบ™เบเบฐเบ—เบปเบšเปเบ™เบงเปƒเบ”เบ•เปเปˆเบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ‚เบญเบ‡ node เป€เบžเบทเปˆเบญเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™ Pod. เปเบ•เปˆเบœเบปเบ™เบเบฐเบ—เบปเบšเบ‚เบญเบ‡เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบ‚เบญเบšเปเบกเปˆเบ™เบซเบเบฑเบ‡?

เบ‚เบตเบ”เบˆเบณเบเบฑเบ”เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เปเบกเปˆเบ™เบ‚เบญเบšเป€เบ‚เบ”เบ—เบตเปˆ CPU/MEM เบšเปเปˆเบชเบฒเบกเบฒเบ”เบ‚เป‰เบฒเบกเป„เบ”เป‰. เบขเปˆเบฒเบ‡เปƒเบ”เบเปเบ•เบฒเบก, เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™ CPU เบกเบตเบ„เบงเบฒเบกเบเบทเบ”เบซเบเบธเปˆเบ™, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบšเบฑเบ™เบˆเบธเบ—เบตเปˆเบšเบฑเบ™เบฅเบธเบ‚เบญเบšเป€เบ‚เบ”เบˆเปเบฒเบเบฑเบ” CPU เบ‚เบญเบ‡เป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเบˆเบฐเบšเปเปˆเป€เบฎเบฑเบ”เปƒเบซเป‰ Pod เบญเบญเบเป„เบ›. เปเบ—เบ™เบ—เบตเปˆเบˆเบฐ, CPU throttling เบˆเบฐเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™. เบ–เป‰เบฒเป€เบ–เบดเบ‡เบ‚เบตเบ”เบˆเบณเบเบฑเบ”เบเบฒเบ™เบ™เบณเปƒเบŠเป‰ MEM, เบเปˆเบญเบ‡เบšเบฑเบ™เบˆเบธเบˆเบฐเบ–เบทเบเบขเบธเบ”เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบ OOM-Killer เปเบฅเบฐเบฃเบตเบชเบฐเบ•เบฒเบ”เบ–เป‰เบฒเบญเบฐเบ™เบธเบเบฒเบ”เบˆเบฒเบเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ RestartPolicy.

เบฎเป‰เบญเบ‡เบ‚เปเปเบฅเบฐเบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบชเบนเบ‡เบชเบธเบ”เปƒเบ™เบฅเบฒเบเบฅเบฐเบญเบฝเบ”

เบงเบดเบ—เบตเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™ Kubernetes Podเบเบฒเบ™เบชเบทเปˆเบชเบฒเบ™เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡ Docker เปเบฅเบฐ Kubernetes

เบงเบดเบ—เบตเบ—เบตเปˆเบ”เบตเบ—เบตเปˆเบชเบธเบ”เบ—เบตเปˆเบˆเบฐเบญเบฐเบ—เบดเบšเบฒเบเบงเบดเบ—เบตเบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เปเบฅเบฐเบเบฒเบ™เบˆเปเบฒเบเบฑเบ”เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เป€เบฎเบฑเบ”เบงเบฝเบเปเบกเปˆเบ™เป€เบžเบทเปˆเบญเปเบ™เบฐเบ™เปเบฒเบ„เบงเบฒเบกเบชเปเบฒเบžเบฑเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡ Kubernetes เปเบฅเบฐ Docker. เปƒเบ™เบฎเบนเบšเบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบซเบฑเบ™เป„เบ”เป‰เบงเปˆเบฒเบŠเปˆเบญเบ‡เบ‚เปเป‰เบกเบนเบ™ Kubernetes เปเบฅเบฐเบ—เบธเบ‡เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™ Docker เบกเบตเบ„เบงเบฒเบกเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบ™เปเบ™เบงเปƒเบ”.

เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒ: เบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเปเบฅเบฐเบ‚เปเป‰เบˆเปเบฒเบเบฑเบ”

containers:
...
 resources:
   requests:
     memory: "0.5Gi"
   limits:
     memory: "1Gi"

เบ”เบฑเปˆเบ‡เบ—เบตเปˆเป„เบ”เป‰เบเปˆเบฒเบงเบกเบฒเบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡, เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบ–เบทเบเบงเบฑเบ”เปเบ—เบเป€เบ›เบฑเบ™ bytes. เบญเบตเบ‡เปƒเบชเปˆ เป€เบญเบเบฐเบชเบฒเบ™ Kubernetes, เบžเบงเบเป€เบฎเบปเบฒเบชเบฒเบกเบฒเบ”เบฅเบฐเบšเบธเบ„เบงเบฒเบกเบŠเบปเบ‡เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เบปเบงเป€เบฅเบ. เบ›เบปเบเบเบฐเบ•เบดเปเบฅเป‰เบงเบกเบฑเบ™เป€เบ›เบฑเบ™เบˆเปเบฒเบ™เบงเบ™เป€เบ•เบฑเบก, เบ•เบปเบงเบขเปˆเบฒเบ‡ 2678 - เบ™เบฑเป‰เบ™เปเบกเปˆเบ™, 2678 bytes. เบ—เปˆเบฒเบ™เบเบฑเบ‡เบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เบ„เปเบฒเบ•เปเปˆเบ—เป‰เบฒเบเป„เบ”เป‰ G ะธ Gi, เบชเบดเปˆเบ‡เบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เปเบกเปˆเบ™เป€เบžเบทเปˆเบญเบˆเบทเปˆเบˆเปเบฒเบงเปˆเบฒเบžเบงเบเป€เบ‚เบปเบฒเบšเปเปˆเบ—เบฝเบšเป€เบ—เบปเปˆเบฒ. เบญเบฑเบ™เบ—เปเบฒเบญเบดเบ”เปเบกเปˆเบ™เบ—เบปเบ”เบชเบฐเบ™เบดเบเบปเบก เปเบฅเบฐเบญเบฑเบ™เบ—เบตเบชเบญเบ‡เปเบกเปˆเบ™เป€เบฅเบเบ–เบฒเบ™เบชเบญเบ‡. เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบ•เบปเบงเบขเปˆเบฒเบ‡เบ—เบตเปˆเป„เบ”เป‰เบเปˆเบฒเบงเบกเบฒเปƒเบ™เป€เบญเบเบฐเบชเบฒเบ™ k8s: 128974848, 129e6, 129M, 123Mi - เบžเบงเบเป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเปเบกเปˆเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ—เบฝเบšเป€เบ—เบปเปˆเบฒ.

เบ—เบฒเบ‡เป€เบฅเบทเบญเบ Kubernetes limits.memory เบเบปเบ‡เบเบฑเบšเบ—เบธเบ‡เบŠเบฒเบ” --memory เบˆเบฒเบ Docker. เปƒเบ™โ€‹เบเปโ€‹เบฅเบฐโ€‹เบ™เบตโ€‹เบ‚เบญเบ‡ request.memory เบšเปเปˆเบกเบตเบฅเบนเบเบชเบญเบ™เบชเปเบฒเบฅเบฑเบš Docker เป€เบžเบฒเบฐเบงเปˆเบฒ Docker เบšเปเปˆเป„เบ”เป‰เปƒเบŠเป‰เบŠเปˆเบญเบ‡เบ‚เปเป‰เบกเบนเบ™เบ™เบตเป‰. เป€เบˆเบปเป‰เบฒโ€‹เบญเบฒเบ”โ€‹เบˆเบฐโ€‹เบ–เบฒเบกโ€‹เบงเปˆเบฒ, เบ™เบตเป‰โ€‹เปเบกเปˆเบ™โ€‹เป€เบ–เบดเบ‡โ€‹เปเบกเปˆเบ™โ€‹เบงเปˆเบฒโ€‹เบˆเปเบฒโ€‹เป€เบ›เบฑเบ™? เปเบกเปˆเบ™เปเบฅเป‰เบงเบ•เป‰เบญเบ‡เบเบฒเบ™. เบ”เบฑเปˆเบ‡เบ—เบตเปˆเบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เบเปˆเบฒเบงเบกเบฒเบเปˆเบญเบ™, เบžเบฒเบเบชเบฐเบซเบ™เบฒเบกเปเบกเปˆเบ™เบชเปเบฒเบ„เบฑเบ™เบชเปเบฒเบฅเบฑเบš Kubernetes. เบญเบตเบ‡เบ•เบฒเบกเบ‚เปเป‰เบกเบนเบ™เบˆเบฒเบเบกเบฑเบ™, kube-scheduler เบ•เบฑเบ”เบชเบดเบ™เปƒเบˆเบงเปˆเบฒ node เปƒเบ”เบ—เบตเปˆเบˆเบฐเบˆเบฑเบ”เบ•เบฒเบ•เบฐเบฅเบฒเบ‡ Pod.

เบˆเบฐเป€เบเบตเบ”เบซเบเบฑเบ‡เบ‚เบถเป‰เบ™เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบ•เบฑเป‰เบ‡เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบšเปเปˆเบžเบฝเบ‡เบžเปเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เป?

เบ–เป‰เบฒเบšเบฑเบ™เบˆเบธเป„เบ”เป‰เป€เบ–เบดเบ‡เบ‚เบญเบšเป€เบ‚เบ”เบˆเปเบฒเบเบฑเบ”เบ‚เบญเบ‡เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบ—เบตเปˆเบฎเป‰เบญเบ‡เบ‚เป, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™ Pod เบˆเบฐเบ–เบทเบเบˆเบฑเบ”เปƒเบชเปˆเปƒเบ™เบเบธเปˆเบกเบ‚เบญเบ‡ Pods เบ—เบตเปˆเบขเบธเบ”เป€เบŠเบปเบฒเปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบšเปเปˆเบกเบตเบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบžเบฝเบ‡เบžเปเปƒเบ™ node.

เบˆเบฐเป€เบเบตเบ”เบซเบเบฑเบ‡เบ‚เบถเป‰เบ™เบซเบฒเบเป€เบˆเบปเป‰เบฒเบ•เบฑเป‰เบ‡เบ‚เบตเบ”เบˆเบณเบเบฑเบ”เบ„เบงเบฒเบกเบˆเบณเบ•เปเปˆเบฒเป€เบเบตเบ™เป„เบ›?

เบ–เป‰เบฒเบšเบฑเบ™เบˆเบธเป€เบเบตเบ™เบ‚เบตเบ”เบˆเบณเบเบฑเบ”เบ„เบงเบฒเบกเบˆเบณ, เบกเบฑเบ™เบˆเบฐเบ–เบทเบเบ›เบดเบ”เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบ OOM-Killed. เปเบฅเบฐเบˆเบฐ restart เบ–เป‰เบฒเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆ RestartPolicy เบ—เบตเปˆเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปเบกเปˆเบ™ Always.

เบˆเบฐเป€เบเบตเบ”เบซเบเบฑเบ‡เบ‚เบถเป‰เบ™เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบšเปเปˆเบฅเบฐเบšเบธเบ„เบงเบฒเบกเบŠเบปเบ‡เบˆเปเบฒเบ—เบตเปˆเบฎเป‰เบญเบ‡เบ‚เป?

Kubernetes เบˆเบฐเป€เบญเบปเบฒเบ„เปˆเบฒเบˆเบณเบเบฑเบ” เปเบฅเบฐเบ•เบฑเป‰เบ‡เบกเบฑเบ™เป€เบ›เบฑเบ™เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™.

เบˆเบฐเป€เบเบตเบ”เบซเบเบฑเบ‡เบ‚เบถเป‰เบ™เบซเบฒเบเป€เบˆเบปเป‰เบฒเบšเปเปˆเบฅเบฐเบšเบธเบ‚เบตเบ”เบˆเบณเบเบฑเบ”เบ„เบงเบฒเบกเบˆเบณ?

เบเปˆเบญเบ‡เบšเบฑเบ™เบˆเบธเบšเปเปˆเบกเบตเบ‚เปเป‰เบˆเปเบฒเบเบฑเบ”; เบกเบฑเบ™เบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเป„เบ”เป‰เบซเบผเบฒเบเป€เบ—เบปเปˆเบฒเบ—เบตเปˆเบกเบฑเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™. เบ–เป‰เบฒเบฅเบฒเบงเป€เบฅเบตเปˆเบกเปƒเบŠเป‰เบ„เบงเบฒเบกเบŠเบปเบ‡เบˆเปเบฒเบ—เบตเปˆเบกเบตเบขเบนเปˆเบ—เบฑเบ‡เบซเบกเบปเบ”เบ‚เบญเบ‡ node, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™ OOM เบˆเบฐเบ‚เป‰เบฒเบฅเบฒเบง. เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เบเปˆเบญเบ‡เบšเบฑเบ™เบˆเบธเบˆเบฐเบ–เบทเบเป€เบ›เบตเบ”เปƒเบซเบกเปˆเบ–เป‰เบฒเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆ RestartPolicy.

เบˆเบฐเป€เบเบตเบ”เบซเบเบฑเบ‡เบ‚เบถเป‰เบ™เบซเบฒเบเบ—เปˆเบฒเบ™เบšเปเปˆเบฅเบฐเบšเบธเบ‚เบตเบ”เบˆเบณเบเบฑเบ”เบ„เบงเบฒเบกเบˆเบณ?

เบ™เบตเป‰เปเบกเปˆเบ™เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบเปเบฅเบฐเบ™เบตเบ—เบตเปˆเบฎเป‰เบฒเบเปเบฎเบ‡เบ—เบตเปˆเบชเบธเบ”: เบœเบนเป‰เบˆเบฑเบ”เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบšเปเปˆเบฎเบนเป‰เบงเปˆเบฒเบกเบตเบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบˆเปเบฒเบ™เบงเบ™เป€เบ—เบปเปˆเบฒเปƒเบ”เบ—เบตเปˆเบšเบฑเบ™เบˆเบธเบ•เป‰เบญเบ‡เบเบฒเบ™, เปเบฅเบฐเบ™เบตเป‰เบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เปƒเบซเป‰เป€เบเบตเบ”เบšเบฑเบ™เบซเบฒเบฎเป‰เบฒเบเปเบฎเบ‡เปƒเบ™ node. เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ™เบตเป‰, เบกเบฑเบ™เบˆเบฐเบ”เบตเบ—เบตเปˆเบˆเบฐเบกเบตเบ‚เบญเบšเป€เบ‚เบ”เบˆเปเบฒเบเบฑเบ”เปƒเบ™เบ•เบญเบ™เบ•เบปเป‰เบ™เบ‚เบญเบ‡ namespace (เบเปเบฒเบ™เบปเบ”เป‚เบ”เบ LimitRange). เบšเปเปˆเบกเบตเบ‚เปเป‰เบˆเปเบฒเบเบฑเบ”เปƒเบ™เบ•เบญเบ™เบ•เบปเป‰เบ™ - Pod เบšเปเปˆเบกเบตเบ‚เบญเบšเป€เบ‚เบ”เบˆเปเบฒเบเบฑเบ”, เบกเบฑเบ™เบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเป„เบ”เป‰เบซเบผเบฒเบเป€เบ—เบปเปˆเบฒเบ—เบตเปˆเบกเบฑเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™.

เบ–เป‰เบฒเบ„เบงเบฒเบกเบŠเบปเบ‡เบˆเปเบฒเบ—เบตเปˆเบฎเป‰เบญเบ‡เบ‚เปเปเบกเปˆเบ™เบซเบผเบฒเบเบเปˆเบงเบฒเบ—เบตเปˆ node เบชเบฒเบกเบฒเบ”เบชเบฐเป€เบซเบ™เบตเป„เบ”เป‰, Pod เบˆเบฐเบšเปเปˆเบ–เบทเบเบเปเบฒเบ™เบปเบ”. เบกเบฑเบ™เป€เบ›เบฑเบ™เบชเบดเปˆเบ‡เบชเปเบฒเบ„เบฑเบ™เบ—เบตเปˆเบˆเบฐเบˆเบทเปˆเบˆเปเบฒเบงเปˆเบฒ Requests.memory - เบšเปเปˆเปเบกเปˆเบ™เบ„เปˆเบฒเบ•เปเปˆเบฒเบชเบธเบ”. เบ™เบตเป‰เปเบกเปˆเบ™เบ„เปเบฒเบญเบฐเบ—เบดเบšเบฒเบเบเปˆเบฝเบงเบเบฑเบšเบˆเปเบฒเบ™เบงเบ™เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบ—เบตเปˆเบžเบฝเบ‡เบžเปเป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เปƒเบซเป‰เบ–เบฑเบ‡เปเบฅเปˆเบ™เบขเปˆเบฒเบ‡เบ•เปเปˆเป€เบ™เบทเปˆเบญเบ‡.

เบกเบฑเบ™เบ›เบปเบเบเบฐเบ•เบดเปเบฅเป‰เบงเปเบ™เบฐเบ™เปเบฒเปƒเบซเป‰เบเปเบฒเบ™เบปเบ”เบ„เปˆเบฒเบ”เบฝเบงเบเบฑเบ™เบชเปเบฒเบฅเบฑเบš request.memory ะธ limit.memory. เบ™เบตเป‰เบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบงเปˆเบฒ Kubernetes เบˆเบฐเบšเปเปˆเบˆเบฑเบ”เบ•เบฒเบ•เบฐเบฅเบฒเบ‡ Pod เปƒเบ™ node เบ—เบตเปˆเบกเบตเบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบžเบฝเบ‡เบžเปเป€เบžเบทเปˆเบญเปเบฅเปˆเบ™ Pod เปเบ•เปˆเบšเปเปˆเบžเบฝเบ‡เบžเปเบ—เบตเปˆเบˆเบฐเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เป„เบ”เป‰. เบˆเบปเปˆเบ‡เบˆเบทเปˆเป„เบงเป‰เบงเปˆเบฒ: เบเบฒเบ™เบงเบฒเบ‡เปเบœเบ™ Kubernetes Pod เบžเบฝเบ‡เปเบ•เปˆเบ„เปเบฒเบ™เบถเบ‡เป€เบ–เบดเบ‡ requests.memoryเปเบฅเบฐ limits.memory เบšเปเปˆเป„เบ”เป‰เบ„เปเบฒเบ™เบถเบ‡เป€เบ–เบดเบ‡.

CPU: เบฎเป‰เบญเบ‡เบ‚เปเปเบฅเบฐเบˆเปเบฒเบเบฑเบ”

containers:
...
 resources:
   requests:
     cpu: 1
   limits:
     cpu: "1200m"

เบ”เป‰เบงเบ CPU เบ—เบธเบเบขเปˆเบฒเบ‡เปเบกเปˆเบ™เบชเบฑเบšเบชเบปเบ™เบซเบผเบฒเบ. เบเบฑเบšเบ„เบทเบ™เป„เบ›เบซเบฒเบฎเบนเบšเบžเบฒเบšเบ‚เบญเบ‡เบ„เบงเบฒเบกเบชเปเบฒเบžเบฑเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡ Kubernetes เปเบฅเบฐ Docker, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบšเบดเปˆเบ‡เบงเปˆเบฒ request.cpu เบเบปเบ‡เบเบฑเบš --cpu-shares, เปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆ limit.cpu เบเบปเบ‡เบเบฑเบšเบ—เบธเบ‡เบŠเบฒเบ” cpus เปƒเบ™ Docker.

CPU เบ—เบตเปˆ Kubernetes เบฎเป‰เบญเบ‡เบ‚เปเปเบกเปˆเบ™เบ„เบนเบ™เบ”เป‰เบงเบ 1024, เบญเบฑเบ”เบ•เบฒเบชเปˆเบงเบ™เบ‚เบญเบ‡เบฎเบญเบšเบงเบฝเบ™ CPU. เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เป 1 เบซเบผเบฑเบเป€เบ•เบฑเบก, เบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เป€เบžเบตเปˆเบก cpu: 1เบ”เบฑเปˆเบ‡เบ—เบตเปˆเบชเบฐเปเบ”เบ‡เบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡.

เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเปƒเบซเป‰เบกเบตเปเบเปˆเบ™เป€เบ•เบฑเบกเบฎเบนเบšเปเบšเบš (เบญเบฑเบ”เบ•เบฒเบชเปˆเบงเบ™ = 1024) เบšเปเปˆเป„เบ”เป‰เบซเบกเบฒเบเบ„เบงเบฒเบกเบงเปˆเบฒเบšเบฑเบ™เบˆเบธเบ‚เบญเบ‡เบ—เปˆเบฒเบ™เบˆเบฐเป„เบ”เป‰เบฎเบฑเบšเบกเบฑเบ™. เบ–เป‰เบฒเป€เบ„เบทเปˆเบญเบ‡เป‚เบฎเบ”เบ‚เบญเบ‡เป€เบˆเบปเป‰เบฒเบกเบตเบžเบฝเบ‡เปเบ•เปˆเปเบเบ™เบ”เบฝเบงเปเบฅเบฐเป€เบˆเบปเป‰เบฒเบเปเบฒเบฅเบฑเบ‡เปเบฅเปˆเบ™เบซเบผเบฒเบเบเบงเปˆเบฒเบซเบ™เบถเปˆเบ‡เบ–เบฑเบ‡, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบ–เบฑเบ‡เบ—เบฑเบ‡เบซเบกเบปเบ”เบˆเบฐเบ•เป‰เบญเบ‡เปเบšเปˆเบ‡เบ›เบฑเบ™ CPU เบ—เบตเปˆเบกเบตเบขเบนเปˆเบฅเบฐเบซเบงเปˆเบฒเบ‡เบžเบงเบเบกเบฑเบ™. เบ™เบตเป‰เป€เบเบตเบ”เบ‚เบถเป‰เบ™เปเบ™เบงเปƒเบ”? เบ‚เปเปƒเบซเป‰เป€เบšเบดเปˆเบ‡เบฎเบนเบš.

เบงเบดเบ—เบตเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™ Kubernetes Pod
เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เป CPU - เบฅเบฐเบšเบปเบšเบซเบผเบฑเบเบ”เบฝเบง

เปƒเบซเป‰เบˆเบดเบ™เบ•เบฐเบ™เบฒเบเบฒเบ™เบงเปˆเบฒเบ—เปˆเบฒเบ™เบกเบตเบฅเบฐเบšเบปเบšเป‚เบฎเบ”เบซเบผเบฑเบเบ”เบฝเบงเบ—เบตเปˆเปเบฅเปˆเบ™เบšเบฑเบ™เบˆเบธเบšเบฑเบ™เบˆเบธ. เปเบกเปˆ (Kubernetes) baked pie (CPU) เปเบฅเบฐเบ•เป‰เบญเบ‡เบเบฒเบ™เปเบšเปˆเบ‡เบกเบฑเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เป€เบ”เบฑเบเบ™เป‰เบญเบ (เบšเบฑเบ™เบˆเบธ). เป€เบ”เบฑเบเบ™เป‰เบญเบเบชเบฒเบกเบ„เบปเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™ pie เบ—เบฑเบ‡เบซเบกเบปเบ” (เบญเบฑเบ”เบ•เบฒเบชเปˆเบงเบ™ = 1024), เป€เบ”เบฑเบเบ™เป‰เบญเบเบ„เบปเบ™เบญเบทเปˆเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™ pie เป€เบ„เบดเปˆเบ‡เบซเบ™เบถเปˆเบ‡ (512). เบšเป‰เบฒเบ™เบกเบญเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เบ„เบงเบฒเบกเบเบธเบ•เบดเบ—เปเบฒเปเบฅเบฐเป€เบฎเบฑเบ”เปƒเบซเป‰เบเบฒเบ™เบ„เบดเบ”เป„เบฅเปˆเบ‡เปˆเบฒเบเบ”เบฒเบ.

# ะกะบะพะปัŒะบะพ ะฟะธั€ะพะณะพะฒ ั…ะพั‚ัั‚ ะดะตั‚ะธ?
# 3 ั€ะตะฑะตะฝะบะฐ ั…ะพั‚ัั‚ ะฟะพ ั†ะตะปะพะผัƒ ะฟะธั€ะพะณัƒ ะธ ะตั‰ะต ะพะดะธะฝ ั…ะพั‡ะตั‚ ะฟะพะปะพะฒะธะฝัƒ ะฟะธั€ะพะณะฐ
cakesNumberKidsWant = (3 * 1) + (1 * 0.5) = 3.5
# ะ’ั‹ั€ะฐะถะตะฝะธะต ะฟะพะปัƒั‡ะฐะตั‚ัั ั‚ะฐะบ:
3 (ั€ะตะฑะตะฝะบะฐ/ะบะพะฝั‚ะตะนะฝะตั€ะฐ) * 1 (ั†ะตะปั‹ะน ะฟะธั€ะพะณ/ะฟะพะปะฝะพะต ัะดั€ะพ) + 1 (ั€ะตะฑะตะฝะพะบ/ะบะพะฝั‚ะตะนะฝะตั€) * 0.5 (ะฟะพะปะพะฒะธะฝะฐ ะฟะธั€ะพะณะฐ/ะฟะพะปะพะฒะธะฝะฐ ัะดั€ะฐ)
# ะกะบะพะปัŒะบะพ ะฟะธั€ะพะณะพะฒ ะธัะฟะตั‡ะตะฝะพ?
availableCakesNumber = 1
# ะกะบะพะปัŒะบะพ ะฟะธั€ะพะณะฐ (ะผะฐะบัะธะผะฐะปัŒะฝะพ) ะดะตั‚ะธ ั€ะตะฐะปัŒะฝะพ ะผะพะณัƒั‚ ะฟะพะปัƒั‡ะธั‚ัŒ?
newMaxRequest = 1 / 3.5 =~ 28%

เบญเบตเบ‡เบ•เบฒเบกเบเบฒเบ™เบ„เบดเบ”เป„เบฅเปˆ, เบชเบฒเบกเป€เบ”เบฑเบเบˆเบฐเป„เบ”เป‰เบฎเบฑเบš 28% เบ‚เบญเบ‡เบซเบผเบฑเบ, เปเบฅเบฐเบšเปเปˆเปเบกเปˆเบ™เบซเบผเบฑเบเบ—เบฑเบ‡เบซเบกเบปเบ”. เป€เบ”เบฑเบเบ—เบตเปˆเบชเบตเปˆเบˆเบฐเป„เบ”เป‰เบฎเบฑเบš 14% เบ‚เบญเบ‡เปเบเปˆเบ™เป€เบ•เบฑเบก, เบšเปเปˆเปเบกเปˆเบ™เป€เบ„เบดเปˆเบ‡เบซเบ™เบถเปˆเบ‡. เปเบ•เปˆเบชเบดเปˆเบ‡เบ•เปˆเบฒเบ‡เป†เบˆเบฐเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบกเบตเบฅเบฐเบšเบปเบšเบซเบผเบฒเบเบซเบผเบฑเบ.

เบงเบดเบ—เบตเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™ Kubernetes Pod
CPU Request - Multi-Core (4) System

เปƒเบ™เบฎเบนเบšเบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡เบ™เบตเป‰เป€เบˆเบปเป‰เบฒเบชเบฒเบกเบฒเบ”เป€เบซเบฑเบ™เป„เบ”เป‰เบงเปˆเบฒเป€เบ”เบฑเบเบ™เป‰เบญเบเบชเบฒเบกเบ„เบปเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™ pie เบ—เบฑเบ‡เบซเบกเบปเบ”, เปเบฅเบฐเบซเบ™เบถเปˆเบ‡เบ•เป‰เบญเบ‡เบเบฒเบ™เป€เบ„เบดเปˆเบ‡เบซเบ™เบถเปˆเบ‡. เบ™เบฑเบšเบ•เบฑเป‰เบ‡เปเบ•เปˆเบšเป‰เบฒเบ™เบกเบญเบก baked เบชเบตเปˆ pies, เบฅเบนเบเปเบ•เปˆเบฅเบฐเบ„เบปเบ™เบ‚เบญเบ‡เบ™เบฒเบ‡เบˆเบฐเป„เบ”เป‰เบฎเบฑเบšเบซเบผเบฒเบเป€เบ—เบปเปˆเบฒเบ—เบตเปˆเป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเบ•เป‰เบญเบ‡เบเบฒเบ™. เปƒเบ™เบฅเบฐเบšเบปเบšเบซเบผเบฒเบเปเบเบ™, เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบ‚เบญเบ‡เป‚เบ›เป€เบŠเบ”เป€เบŠเบตเป„เบ”เป‰เบ–เบทเบเปเบˆเบเบขเบฒเบเปƒเบ™เบ—เบปเปˆเบงเบ—เบธเบเปเบเบ™เบ‚เบญเบ‡เป‚เบ›เป€เบŠเบ”เป€เบŠเบตเบ—เบตเปˆเบกเบตเบขเบนเปˆ. เบ–เป‰เบฒเบเปˆเบญเบ‡เบšเบฑเบ™เบˆเบธเบ–เบทเบเบˆเปเบฒเบเบฑเบ”เบซเบ™เป‰เบญเบเบเบงเปˆเบฒเบซเบ™เบถเปˆเบ‡เบซเบผเบฑเบ CPU เป€เบ•เบฑเบก, เบกเบฑเบ™เบเบฑเบ‡เบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เบกเบฑเบ™เป„เบ”เป‰ 100%.

เบเบฒเบ™เบ„เบดเบ”เป„เบฅเปˆเบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡เบ™เบตเป‰เปเบกเปˆเบ™เบ‡เปˆเบฒเบเบ”เบฒเบเป€เบžเบทเปˆเบญเป€เบ‚เบปเป‰เบฒเปƒเบˆเบงเบดเบ—เบตเบเบฒเบ™เบเบฐเบˆเบฒเบ CPU เปƒเบ™เบšเบฑเบ™เบ”เบฒเบšเบฑเบ™เบˆเบธ. เปเบ™เปˆเบ™เบญเบ™, เบ™เบญเบเบˆเบฒเบเบ•เบปเบงเบšเบฑเบ™เบˆเบธเป€เบญเบ‡, เบเบฑเบ‡เบกเบตเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบญเบทเปˆเบ™เป†เบ—เบตเปˆเบเบฑเบ‡เปƒเบŠเป‰เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™ CPU. เป€เบกเบทเปˆเบญเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ•เปˆเบฒเบ‡เป†เบขเบนเปˆเปƒเบ™เบเปˆเบญเบ‡เบšเบฑเบ™เบˆเบธเปœเบถเปˆเบ‡เบšเปเปˆเป€เบฎเบฑเบ”เบงเบฝเบ, เบ„เบปเบ™เบญเบทเปˆเบ™เบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบ‚เบญเบ‡เบกเบฑเบ™เป„เบ”เป‰. CPU: "200m" เบเบปเบ‡เบเบฑเบš CPU: 0,2, เบŠเบถเปˆเบ‡เบซเบกเบฒเบเบ„เบงเบฒเบกเบงเปˆเบฒเบ›เบฐเบกเบฒเบ™ 20% เบ‚เบญเบ‡เบซเบ™เบถเปˆเบ‡เบซเบผเบฑเบ.

เบ•เบญเบ™เบ™เบตเป‰เปƒเบซเป‰เป€เบงเบปเป‰เบฒเบเปˆเบฝเบงเบเบฑเบš limit.cpu. CPU เบ—เบตเปˆ Kubernetes เบˆเบณเบเบฑเบ”เปเบกเปˆเบ™เบ„เบนเบ™เบ”เป‰เบงเบ 100. เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเปเบกเปˆเบ™เบˆเบณเบ™เบงเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบšเบฑเบ™เบˆเบธเบชเบฒเบกเบฒเบ”เบ™เบณเปƒเบŠเป‰เบ—เบธเบเป† 100 ยตs (cpu-period).

limit.cpu เบเบปเบ‡เบเบฑเบšเบ—เบธเบ‡ Docker --cpus. เบ™เบตเป‰เปเบกเปˆเบ™เบเบฒเบ™เบ›เบฐเบชเบปเบกเบ›เบฐเบชเบฒเบ™เปƒเบซเบกเปˆเบ‚เบญเบ‡เป€เบเบปเปˆเบฒ --cpu-period ะธ --cpu-quota. เป‚เบ”เบเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบกเบฑเบ™, เบžเบงเบเป€เบฎเบปเบฒเบŠเบตเป‰เบšเบญเบเบˆเปเบฒเบ™เบงเบ™เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™ CPU เบ—เบตเปˆเบกเบตเบขเบนเปˆเบ—เบตเปˆเบšเบฑเบ™เบˆเบธเบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰เป„เบ”เป‰เบชเบนเบ‡เบชเบธเบ”เบเปˆเบญเบ™เบ—เบตเปˆเบˆเบฐเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบเบฒเบ™เบ›เบดเบ”เบเบฑเป‰เบ™:

  • CPU - เบ›เบฐเบชเบปเบกเบ›เบฐเบชเบฒเบ™ cpu-period ะธ cpu-quota. cpus = 1.5 เบ—เบฝเบšโ€‹เป€เบ—เบปเปˆเบฒโ€‹เบเบฑเบšโ€‹เบเบฒเบ™โ€‹เบ•เบฑเป‰เบ‡โ€‹เบ„เปˆเบฒโ€‹ cpu-period = 100000 ะธ cpu-quota = 150000;
  • CPU-เป„เบฅเบเบฐเป€เบงเบฅเบฒ - เป„เบฅเบเบฐเป€เบงเบฅเบฒ CPU CFS เบเปเบฒเบ™เบปเบ”เป€เบงเบฅเบฒ, เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™ 100 microseconds;
  • cpu-เป‚เบ„เบ•เป‰เบฒ - เบˆเปเบฒโ€‹เบ™เบงเบ™ microseconds เบžเบฒเบโ€‹เปƒเบ™โ€‹ cpu-period, เป€เบŠเบดเปˆเบ‡เบ–เบทเบเบœเบนเบเบกเบฑเบ”เป‚เบ”เบเบ•เบนเป‰เบ„เบญเบ™เป€เบ—เบ™เป€เบ™เบต.

เบˆเบฐเป€เบเบตเบ”เบซเบเบฑเบ‡เบ‚เบถเป‰เบ™เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡ CPU เบ—เบตเปˆเบฎเป‰เบญเบ‡เบ‚เปเบšเปเปˆเบžเบฝเบ‡เบžเป?

เบ–เป‰เบฒเบšเบฑเบ™เบˆเบธเบ•เป‰เบญเบ‡เบเบฒเบ™เบซเบผเบฒเบเบเปˆเบงเบฒเบ—เบตเปˆเบกเบฑเบ™เป„เบ”เป‰เบ•เบดเบ”เบ•เบฑเป‰เบ‡, เบกเบฑเบ™เบˆเบฐเบฅเบฑเบ CPU เบˆเบฒเบเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบญเบทเปˆเบ™เป†.

เบˆเบฐเป€เบเบตเบ”เบซเบเบฑเบ‡เบ‚เบถเป‰เบ™เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบ•เบฑเป‰เบ‡เบ‚เบตเบ”เบˆเปเบฒเบเบฑเบ” CPU เบ•เปเปˆเบฒเป€เบเบตเบ™เป„เบ›?

เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™ CPU เบชเบฒเบกเบฒเบ”เบ›เบฑเบšเป„เบ”เป‰, เบเบฒเบ™เบ›เบดเบ”เบเบฑเป‰เบ™เบˆเบฐเป€เบ›เบตเบ”เบ‚เบถเป‰เบ™.

เบˆเบฐเป€เบเบตเบ”เบซเบเบฑเบ‡เบ‚เบถเป‰เบ™เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบšเปเปˆเบฅเบฐเบšเบธเบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เป CPU?

เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒ, เบกเบนเบ™เบ„เปˆเบฒเบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเปเบกเปˆเบ™เป€เบ—เบปเปˆเบฒเบเบฑเบšเบ‚เบญเบšเป€เบ‚เบ”เบˆเปเบฒเบเบฑเบ”.

เบˆเบฐเป€เบเบตเบ”เบซเบเบฑเบ‡เบ‚เบถเป‰เบ™เบซเบฒเบเบ—เปˆเบฒเบ™เบšเปเปˆเบฅเบฐเบšเบธเบ‚เบตเบ”เบˆเบณเบเบฑเบ” CPU?

เบ•เบนเป‰เบ„เบญเบ™เป€เบ—เบ™เป€เบ™เบตเบˆเบฐเปƒเบŠเป‰ CPU เบซเบผเบฒเบเป€เบ—เบปเปˆเบฒเบ—เบตเปˆเบกเบฑเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™. เบ–เป‰เบฒเบ™เบฐเป‚เบเบšเบฒเบ CPU เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™ (LimitRange) เบ–เบทเบเบเปเบฒเบ™เบปเบ”เป„เบงเป‰เปƒเบ™ namespace, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เบ‚เบญเบšเป€เบ‚เบ”เบˆเปเบฒเบเบฑเบ”เบ™เบตเป‰เบเบฑเบ‡เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เบชเปเบฒเบฅเบฑเบš container เป„เบ”เป‰.

เบˆเบฐเป€เบเบตเบ”เบซเบเบฑเบ‡เบ‚เบถเป‰เบ™เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบšเปเปˆเบฅเบฐเบšเบธเบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบซเบผเบทเบ‚เบญเบšเป€เบ‚เบ”เบˆเปเบฒเบเบฑเบ” CPU?

เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบ„เบงเบฒเบกเบŠเบปเบ‡เบˆเปเบฒ, เบ™เบตเป‰เปเบกเปˆเบ™เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบ—เบตเปˆเบฎเป‰เบฒเบเปเบฎเบ‡เบ—เบตเปˆเบชเบธเบ”. เบ•เบปเบงเบเปเบฒเบ™เบปเบ”เป€เบงเบฅเบฒเบšเปเปˆเบฎเบนเป‰เบงเปˆเบฒเบกเบตเบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบ—เบตเปˆเบšเบฑเบ™เบˆเบธเบ‚เบญเบ‡เบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เบซเบผเบฒเบเบ›เบฒเบ™เปƒเบ”, เปเบฅเบฐเบ™เบตเป‰เบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เปƒเบซเป‰เป€เบเบตเบ”เบšเบฑเบ™เบซเบฒเบฎเป‰เบฒเบเปเบฎเบ‡เปƒเบ™ node. เป€เบžเบทเปˆเบญเบซเบผเบตเบเป€เบงเบฑเป‰เบ™เบเบฒเบ™เบ™เบตเป‰, เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบเปเบฒเบ™เบปเบ”เบ‚เบญเบšเป€เบ‚เบ”เบˆเปเบฒเบเบฑเบ”เปƒเบ™เบ•เบญเบ™เบ•เบปเป‰เบ™เบชเปเบฒเบฅเบฑเบš namespaces (LimitRange).

เบˆเบทเบ‚เปเป‰เบกเบนเบ™เบเบฒเบ™: เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เป CPU เบซเบผเบฒเบเบเบงเปˆเบฒเบ—เบตเปˆ nodes เบชเบฒเบกเบฒเบ”เบชเบฐเบซเบ™เบญเบ‡เป„เบ”เป‰, Pod เบˆเบฐเบšเปเปˆเบ–เบทเบเบเปเบฒเบ™เบปเบ”. Requests.cpu - เบšเปเปˆโ€‹เปเบกเปˆเบ™โ€‹เบ„เปˆเบฒโ€‹เบ•เปเบฒโ€‹เปˆโ€‹เบชเบธเบ”โ€‹เบ—เบตเปˆโ€‹, เปเบ•เปˆโ€‹เป€เบ›เบฑเบ™โ€‹เบกเบนเบ™โ€‹เบ„เปˆเบฒโ€‹เบžเบฝเบ‡โ€‹เบžเปโ€‹เบ—เบตเปˆโ€‹เบˆเบฐโ€‹เป€เบฅเบตเปˆเบกโ€‹เบ•เบปเป‰เบ™ Pod เปเบฅเบฐโ€‹เป€เบฎเบฑเบ”โ€‹เบงเบฝเบโ€‹เป‚เบ”เบโ€‹เบšเปเปˆโ€‹เบกเบตโ€‹เบเบฒเบ™โ€‹เบฅเบปเป‰เบกโ€‹เป€เบซเบผเบงโ€‹. เบ–เป‰เบฒเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบšเปเปˆเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ„เบดเบ”เป„เบฅเปˆเบ—เบตเปˆเบชเบฑเบšเบชเบปเบ™, เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ—เบตเปˆเบ”เบตเบ—เบตเปˆเบชเบธเบ”เปเบกเปˆเบ™เบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡ request.cpu <= 1 เปเบฅเบฐเป€เบ›เบตเบ”เบ•เบปเบงเปเบšเบšเบˆเปเบฒเบฅเบญเบ‡เบซเบผเบฒเบเป€เบ—เบปเปˆเบฒเบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™.

เบˆเปเบฒเบ™เบงเบ™เบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบกเบ‚เบญเบ‡เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบ—เบตเปˆเบฎเป‰เบญเบ‡เบ‚เปเบซเบผเบทเบˆเปเบฒเบเบฑเบ”เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™

เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบฎเบฝเบ™เบฎเบนเป‰เบเปˆเบฝเบงเบเบฑเบšเบ‚เปเป‰เบˆเปเบฒเบเบฑเบ”เบ‚เบญเบ‡เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบ„เบญเบกเบžเบดเบงเป€เบ•เบต. เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบกเบฑเบ™เป€เบ–เบดเบ‡เป€เบงเบฅเบฒเบ—เบตเปˆเบˆเบฐเบ•เบญเบšเบ„เปเบฒเบ–เบฒเบก: "Pod เบ‚เบญเบ‡เบ‚เป‰เบญเบเบ•เป‰เบญเบ‡เบเบฒเบ™เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบซเบผเบฒเบเบ›เบฒเบ™เปƒเบ”เป€เบžเบทเปˆเบญเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เป‚เบ”เบเบšเปเปˆเบกเบตเบšเบฑเบ™เบซเบฒเปƒเบ”เป†? เบˆเปเบฒเบ™เบงเบ™เบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบกเปเบกเปˆเบ™เบซเบเบฑเบ‡?

เปเบ•เปˆเบซเบ™เป‰เบฒเป€เบชเบเบ”เบฒเบ, เบšเปเปˆเบกเบตเบ„เปเบฒเบ•เบญเบšเบ—เบตเปˆเบŠเบฑเบ”เป€เบˆเบ™เบชเปเบฒเบฅเบฑเบšเบ„เปเบฒเบ–เบฒเบกเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰. เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบšเปเปˆเบฎเบนเป‰เบงเปˆเบฒเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบ‚เบญเบ‡เบ—เปˆเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเปเบ™เบงเปƒเบ”เบซเบผเบทเบ•เป‰เบญเบ‡เบเบฒเบ™ CPU เบซเบผเบทเบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบซเบผเบฒเบเบ›เบฒเบ™เปƒเบ”, เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ—เบตเปˆเบ”เบตเบ—เบตเปˆเบชเบธเบ”เปเบกเปˆเบ™เปƒเบซเป‰เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบซเบผเบฒเบเบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเปเบฅเบฐ CPU เปเบฅเบฐเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบš.

เบ™เบญเบเป€เบซเบ™เบทเบญเบˆเบฒเบเบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”, เบ•เบดเบ”เบ•เบฒเบกเบžเบถเบ”เบ•เบดเบเปเบฒเบ‚เบญเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเปƒเบ™เบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบกเบชเปเบฒเบฅเบฑเบšเบญเบฒเบ—เบดเบ”. เบ–เป‰เบฒเบเบฒเบŸเบŠเบตเป‰เบšเบญเบเบงเปˆเบฒเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบ‚เบญเบ‡เป€เบˆเบปเป‰เบฒเปƒเบŠเป‰เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบซเบ™เป‰เบญเบเบเบงเปˆเบฒเบ—เบตเปˆเป€เบˆเบปเป‰เบฒเบฎเป‰เบญเบ‡เบ‚เป, เป€เบˆเบปเป‰เบฒเบชเบฒเบกเบฒเบ”เบซเบผเบธเบ”เบˆเปเบฒเบ™เบงเบ™ CPU เบซเบผเบทเบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบ—เบตเปˆเบฎเป‰เบญเบ‡เบ‚เป.

เป€เบ›เบฑเบ™เบ•เบปเบงเบขเปˆเบฒเบ‡เป€เบšเบดเปˆเบ‡เบ™เบตเป‰ เปเบœเบ‡เปœเป‰เบฒเบ›เบฑเบ” Grafana. เบกเบฑเบ™เบชเบฐเปเบ”เบ‡เบ„เบงเบฒเบกเปเบ•เบเบ•เปˆเบฒเบ‡เบฅเบฐเบซเบงเปˆเบฒเบ‡เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบ—เบตเปˆเบฎเป‰เบญเบ‡เบ‚เปเบซเบผเบทเบ‚เบญเบšเป€เบ‚เบ”เบˆเปเบฒเบเบฑเบ”เบ‚เบญเบ‡เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เปเบฅเบฐเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เปƒเบ™เบ›เบฐเบˆเบธเบšเบฑเบ™.

เบชเบฐเบซเบฅเบธเบš

เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเปเบฅเบฐเบเบฒเบ™เบˆเปเบฒเบเบฑเบ”เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบŠเปˆเบงเบเปƒเบซเป‰เบเบธเปˆเบก Kubernetes เบ‚เบญเบ‡เบ—เปˆเบฒเบ™เบกเบตเบชเบธเบ‚เบฐเบžเบฒเบšเบ”เบต. เบเบฒเบ™เบเปเบฒเบ™เบปเบ”เบ‚เบญเบšเป€เบ‚เบ”เบˆเปเบฒเบเบฑเบ”เบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบกเป€เบฎเบฑเบ”เปƒเบซเป‰เบ„เปˆเบฒเปƒเบŠเป‰เบˆเปˆเบฒเบเบซเบ™เป‰เบญเบเบฅเบปเบ‡เปเบฅเบฐเป€เบฎเบฑเบ”เปƒเบซเป‰เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบขเบนเปˆเบ•เบฐเบซเบผเบญเบ”เป€เบงเบฅเบฒ.

เปƒเบ™เบชเบฑเป‰เบ™, เบกเบตเบšเบฒเบ‡เบชเบดเปˆเบ‡เบ—เบตเปˆเบ„เบงเบ™เบˆเบทเปˆ:

  1. เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบ—เบตเปˆเบฎเป‰เบญเบ‡เบ‚เปเปเบกเปˆเบ™เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ—เบตเปˆเบ–เบทเบเบžเบดเบˆเบฒเบฅเบฐเบ™เบฒเปƒเบ™เป€เบงเบฅเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™ (เป€เบกเบทเปˆเบญ Kubernetes เบงเบฒเบ‡เปเบœเบ™เบ—เบตเปˆเบˆเบฐเป€เบ›เบฑเบ™เป€เบˆเบปเป‰เบฒเบžเบฒเบšเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™). เปƒเบ™เบ—เบฒเบ‡เบเบปเบ‡เบเบฑเบ™เบ‚เป‰เบฒเบก, เบเบฒเบ™เบˆเปเบฒเบเบฑเบ”เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เปเบกเปˆเบ™เบกเบตเบ„เบงเบฒเบกเบชเปเบฒเบ„เบฑเบ™เปƒเบ™เป€เบงเบฅเบฒเปเบฅเปˆเบ™ - เป€เบกเบทเปˆเบญเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบเปเบฒเบฅเบฑเบ‡เปเบฅเปˆเบ™เบขเบนเปˆเปƒเบ™ node.
  2. เป€เบกเบทเปˆเบญเบ›เบฝเบšเบ—เบฝเบšเบเบฑเบšเบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒ, CPU เป€เบ›เบฑเบ™เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบ—เบตเปˆเบกเบตเบเบฒเบ™เบ„เบงเบšเบ„เบธเบก. เบ–เป‰เบฒเบกเบต CPU เบšเปเปˆเบžเบฝเบ‡เบžเป, Pod เบ‚เบญเบ‡เป€เบˆเบปเป‰เบฒเบˆเบฐเบšเปเปˆเบ›เบดเบ”เปเบฅเบฐเบเบปเบ™เป„เบเบเบฒเบ™เบ›เบดเบ”เบšเบฑเบ‡เบˆเบฐเป€เบ›เบตเบ”.
  3. เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบ—เบตเปˆเบฎเป‰เบญเบ‡เบ‚เปเปเบฅเบฐเบ‚เบญเบšเป€เบ‚เบ”เบˆเปเบฒเบเบฑเบ”เบ‚เบญเบ‡เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบšเปเปˆเปเบกเปˆเบ™เบ„เปˆเบฒเบ•เปเปˆเบฒเบชเบธเบ”เปเบฅเบฐเบชเบนเบ‡เบชเบธเบ”! เป‚เบ”เบเบเบฒเบ™เบเปเบฒเบ™เบปเบ”เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบ—เบตเปˆเบฎเป‰เบญเบ‡เบ‚เป, เบ—เปˆเบฒเบ™เบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบงเปˆเบฒเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบˆเบฐเป€เบฎเบฑเบ”เบงเบฝเบเป‚เบ”เบเบšเปเปˆเบกเบตเบšเบฑเบ™เบซเบฒ.
  4. เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ—เบตเปˆเบ”เบตเปเบกเปˆเบ™เบเปเบฒเบ™เบปเบ”เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเป€เบ—เบปเปˆเบฒเบเบฑเบšเบˆเปเบฒเบเบฑเบ”เบ„เบงเบฒเบกเบˆเปเบฒ.
  5. Ok เบ‚เปเบ•เบดเบ”เบ•เบฑเป‰เบ‡เปเบฅเป‰เบง CPU <=1, เบ–เป‰เบฒเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบšเปเปˆเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ„เบดเบ”เป„เบฅเปˆเบ—เบตเปˆเบชเบฑเบšเบชเบปเบ™.
  6. เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบซเบผเบฒเบเบเบงเปˆเบฒเบ—เบตเปˆเบกเบตเบขเบนเปˆเปƒเบ™ node, Pod เบˆเบฐเบšเปเปˆเบ–เบทเบเบเปเบฒเบ™เบปเบ”เปƒเบซเป‰ node.
  7. เป€เบžเบทเปˆเบญเบเปเบฒเบ™เบปเบ”เบˆเปเบฒเบ™เบงเบ™เบ—เบตเปˆเบ–เบทเบเบ•เป‰เบญเบ‡เบ‚เบญเบ‡เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบ—เบตเปˆเบฎเป‰เบญเบ‡เบ‚เป / เบ‚เบญเบšเป€เบ‚เบ”เบˆเปเบฒเบเบฑเบ”, เปƒเบŠเป‰เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบเบฒเบ™เป‚เบซเบผเบ”เปเบฅเบฐเบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบก.

เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบซเบงเบฑเบ‡เบงเปˆเบฒเบšเบปเบ”เบ„เบงเบฒเบกเบ™เบตเป‰เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เป€เบ‚เบปเป‰เบฒเปƒเบˆเปเบ™เบงเบ„เบงเบฒเบกเบ„เบดเบ”เบžเบทเป‰เบ™เบ–เบฒเบ™เบ‚เบญเบ‡เบเบฒเบ™เบˆเปเบฒเบเบฑเบ”เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™. เปเบฅเบฐเป€เบˆเบปเป‰เบฒเบˆเบฐเบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เบ„เบงเบฒเบกเบฎเบนเป‰เบ™เบตเป‰เป€เบ‚เบปเป‰เบฒเปƒเบ™เบงเบฝเบเบ‡เบฒเบ™เบ‚เบญเบ‡เป€เบˆเบปเป‰เบฒ.

เป‚เบŠเบเบ”เบต!

เบกเบตเบซเบเบฑเบ‡เบญเบตเบเปเบ”เปˆเบ—เบตเปˆเบˆเบฐเบญเปˆเบฒเบ™:

  1. SRE Observability: Namespaces เปเบฅเบฐเป‚เบ„เบ‡เบชเป‰เบฒเบ‡ Metric.
  2. 90+ เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบ—เบตเปˆเป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”เบชเปเบฒเบฅเบฑเบš Kubernetes: เบเบฒเบ™เบ™เบณเปƒเบŠเป‰, เบเบฒเบ™เบˆเบฑเบ”เบเบฒเบ™, เบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบก, เบ„เบงเบฒเบกเบ›เบญเบ”เป„เบž เปเบฅเบฐเบญเบทเปˆเบ™เป†เบญเบตเบ.
  3. เบŠเปˆเบญเบ‡เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบ›เบฐเบกเบฒเบ™ Kubernetes เปƒเบ™ Telegram.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™