ื•ื•ื™ ืฆื• ืึทืงืกืขืก Kubernetes Pod ืจืขืกื•ืจืกืŸ

ื•ื•ื™ ืฆื• ืึทืงืกืขืก Kubernetes Pod ืจืขืกื•ืจืกืŸื“ื™ ื‘ืึทืœื•ื™ื ื•ื ื’ ื“ื•ืจืš Tohad

ื•ื•ืขืŸ ืื™ืจ ืึธื ื”ื™ื™ื‘ืŸ ืžื™ื˜ Kubernetes, ืขืก ืื™ื– ืคึผืจืึธืกื˜ ืฆื• ืคืึทืจื’ืขืกืŸ ื•ื•ืขื’ืŸ ื‘ืึทืฉื˜ืขื˜ื™ืงืŸ ืงืึทื ื˜ื™ื™ื ืขืจ ืจืขืกื•ืจืกืŸ. ืื™ืŸ ื“ืขื ืคื•ื ื˜, ืขืก ืื™ื– ื’ืขื ื•ื’ ืฆื• ืขื ืฉื•ืจ ืึทื– ื“ื™ ื“ืึธืงืงืขืจ ื‘ื™ืœื“ ืึทืจื‘ืขื˜ ืื•ืŸ ืงืขื ืขืŸ ื–ื™ื™ืŸ ื“ื™ืคึผืœื•ื™ื“ ืฆื• ื“ื™ Kubernetes ืงื ื•ื™ืœ.

ืึธื‘ืขืจ ืฉืคึผืขื˜ืขืจ ื“ื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ื“ืึทืจืฃ ื–ื™ื™ืŸ ื“ื™ืคึผืœื•ื™ื“ ืื™ืŸ ืึท ืคึผืจืึธื“ื•ืงืฆื™ืข ืงื ื•ื™ืœ ืฆื•ื–ืืžืขืŸ ืžื™ื˜ ืื ื“ืขืจืข ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื–. ืฆื• ื˜ืึธืŸ ื“ืึธืก, ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ืึทืœืึทืงื™ื™ื˜ ืจืขืกื•ืจืกืŸ ืคึฟืึทืจ ื“ืขื ืงืึทื ื˜ื™ื™ื ืขืจ ืื•ืŸ ืžืึทื›ืŸ ื–ื™ื›ืขืจ ืึทื– ืขืก ื–ืขื ืขืŸ ื’ืขื ื•ื’ ืคื•ืŸ ื–ื™ื™ ืฆื• ื‘ืึทืงื•ืžืขืŸ ื“ื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืึทืจื•ื™ืฃ ืื•ืŸ ืคืœื™ืกื ื“ื™ืง, ืื•ืŸ ืึทื– ืื ื“ืขืจืข ืคืœื™ืกื ื“ื™ืง ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ื•ื•ืขื˜ ื ื™ืฉื˜ ื”ืึธื‘ืŸ ืคึผืจืึธื‘ืœืขืžืก.

ืงืึธืœืขืงื˜ื™ื•ื• Kubernetes aaS ืคึฟื•ืŸ Mail.ru ืื™ื‘ืขืจื’ืขื–ืขืฆื˜ ืึทืŸ ืึทืจื˜ื™ืงืœ ื•ื•ืขื’ืŸ ืงืึทื ื˜ื™ื™ื ืขืจ ืจืขืกื•ืจืกืŸ (CPU & MEM), ืจื™ืงื•ื•ืขืก ืื•ืŸ ืžื™ื˜ืœ ืœื™ืžื™ื˜ื™ื™ืฉืึทื ื–. ืื™ืจ ื•ื•ืขื˜ ืœืขืจื ืขืŸ ื“ื™ ื‘ืขื ืขืคื™ืฅ ืคื•ืŸ ื“ื™ ืกืขื˜ื˜ื™ื ื’ืก ืื•ืŸ ื•ื•ืึธืก ื›ืึทืคึผืึทื ื– ืื•ื™ื‘ ืื™ืจ ื˜ืึธืŸ ื ื™ื˜ ืฉื˜ืขืœืŸ ื–ื™ื™.

ืงืึทืžืคึผื™ื•ื˜ื™ื ื’ ืจืขืกื•ืจืกืŸ

ืžื™ืจ ื”ืึธื‘ืŸ ืฆื•ื•ื™ื™ ื˜ื™ื™ืคึผืก ืคื•ืŸ ืจืขืกื•ืจืกืŸ ืžื™ื˜ ื“ื™ ืคืืœื’ืขื ื“ืข ื•ื ื™ืฅ:

  • ื”ื•ื™ืคื˜ ืคึผืจืึทืกืขืกื™ื ื’ ืึทืคึผืึทืจืึทื˜ (ืงืคึผื•) - ืงืึธืจืขืก;
  • ื–ื›ึผืจื•ืŸ (ืžืขื) - ื‘ื™ื˜ืขืก.

ืจืขืกืึธื•ืจืกืขืก ื–ืขื ืขืŸ ืกืคึผืขืกื™ืคื™ืขื“ ืคึฟืึทืจ ื™ืขื“ืขืจ ืงืึทื ื˜ื™ื™ื ืขืจ. ืื™ืŸ ื“ื™ ืคืืœื’ืขื ื“ืข Pod YAML ื˜ืขืงืข, ืื™ืจ ื•ื•ืขื˜ ื–ืขืŸ ืึท ืžื™ื˜ืœ ืึธืคึผื˜ื™ื™ืœื•ื ื’ ื•ื•ืึธืก ื›ึผื•ืœืœ ื“ื™ ื’ืขื‘ืขื˜ืŸ ืื•ืŸ ื‘ืึทื’ืจืขื ืขืฆืŸ ืจืขืกื•ืจืกืŸ:

  • ื’ืขื‘ืขื˜ืŸ ืคึผืึธื“ ืจืขืกืึธื•ืจืกืขืก = ืกืึทื›ืึทืงืœ ืคื•ืŸ ื’ืขื‘ืขื˜ืŸ ืจืขืกื•ืจืกืŸ ืคื•ืŸ ืึทืœืข ืงืึทื ื˜ื™ื™ื ืขืจื–;
  • ืคึผืึธื“ ืจื™ืกืึธืจืก ืœื™ืžื™ื˜ = ืกืึทื›ืึทืงืœ ืคื•ืŸ ืึทืœืข ืคึผืึธื“ ืจื™ืกืึธืจืก ืœื™ืžื™ืฅ.

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 ืคึฟื•ืŸ ื“ื™ ืกืคึผืขืกื™ืคื™ืงืึทื˜ื™ืึธืŸ ืคึผืึธื“ ืื™ื– ืื™ื™ื ืขืจ ืคื•ืŸ ื“ื™ ืขืœืขืžืขื ื˜ืŸ ื•ื•ืึธืก ืื™ื– ื’ืขื ื™ืฆื˜ ืฆื• ื’ืขืคึฟื™ื ืขืŸ ื“ื™ ื’ืขื‘ืขื˜ืŸ ื ืึธื“ืข. ืื™ืจ ืงืขื ืขืŸ ืฉื•ื™ืŸ ืคึผืœืึทืŸ ืคึผืึธื“ ื“ื™ืคึผืœื•ื™ืžืึทื ื˜ ืคึฟืึทืจ ืขืก. ื•ื•ื™ ื˜ืึธืŸ ืื™ืจ ื’ืขืคึฟื™ื ืขืŸ ืึท ืคึผืึทืกื™ืง ื ืึธื“ืข?

Kubernetes ื‘ืืฉื˜ื™ื™ื˜ ืคื•ืŸ ืขื˜ืœืขื›ืข ืงืึทืžืคึผืึธื•ื ืึทื ืฅ, ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜ ืึท ื‘ืขืœ ื ืึธื“ืข ืึธื“ืขืจ ื‘ืขืœ ื ืึธื“ืข (Kubernetes Control Plane). ื“ืขืจ ื‘ืขืœ ื ืึธื“ืข ื”ืื˜ ืขื˜ืœืขื›ืข ืคึผืจืึทืกืขืกืึทื–: ืงื•ื‘-ืึทืคึผื™ืกืขืจื•ื•ืขืจ, ืงื•ื‘-ืงืึธื ื˜ืจืึธืœืœืขืจ-ืคืึทืจื•ื•ืึทืœื˜ืขืจ ืื•ืŸ ืงื•ื‘-ืกืงืขื“ื–ืฉื•ืœืขืจ.

ื“ืขืจ ืงื•ื‘ืข-ืกืงืขื“ื–ืฉื•ืœืขืจ ืคึผืจืึธืฆืขืก ืื™ื– ืคืึทืจืึทื ื˜ื•ื•ืึธืจื˜ืœืขืš ืคึฟืึทืจ ืจื™ื•ื•ื™ื•ื™ื ื’ ื ื™ื™ ื‘ืืฉืืคืŸ ืคึผืึธื“ืก ืื•ืŸ ื’ืขืคึฟื™ื ืขืŸ ืžืขื’ืœืขืš ืึทืจื‘ืขื˜ืขืจ ื ืึธื•ื“ื– ื•ื•ืึธืก ื’ืœื™ื™ึทื›ืŸ ืึทืœืข ืคึผืึธื“ ืจื™ืงื•ื•ืขืก, ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜ ื“ื™ ื ื•ืžืขืจ ืคื•ืŸ ืจืขืกื•ืจืกืŸ ื’ืขื‘ืขื˜ืŸ. ื“ื™ ืจืฉื™ืžื” ืคื•ืŸ ื ืึธื•ื“ื– ื’ืขืคึฟื•ื ืขืŸ ื“ื•ืจืš ืงื•ื‘-ืกืงืขื“ื–ืฉื•ืœืขืจ ืื™ื– ืจืึทื ื’ืงื˜. ื“ื™ ืคึผืึธื“ ืื™ื– ืกืงืขื“ื–ืฉื•ืœื“ ืื•ื™ืฃ ื“ื™ ื ืึธื“ืข ืžื™ื˜ ื“ื™ ื”ืขื›ืกื˜ืŸ ืกืงืึธืจื–.

ื•ื•ื™ ืฆื• ืึทืงืกืขืก Kubernetes Pod ืจืขืกื•ืจืกืŸื•ื•ื• ื•ื•ืขื˜ ื–ื™ื™ืŸ ืฉื˜ืขืœืŸ ื“ื™ ืœื™ืœืึท ืคึผืึธื“?

ืื™ืŸ ื“ื™ ื‘ื™ืœื“ ืื™ืจ ืงืขื ืขืŸ ื–ืขืŸ ืึทื– ืงื•ื‘ืข-ืกืงืขื“ื–ืฉื•ืœืขืจ ื–ืึธืœ ืคึผืœืึทืŸ ืึท ื ื™ื™ึท ืœื™ืœืึท ืคึผืึธื“. ื“ื™ Kubernetes ืงื ื•ื™ืœ ื›ึผื•ืœืœ ืฆื•ื•ื™ื™ ื ืึธื•ื“ื–: ื ืื•ืŸ ื‘. ื•ื•ื™ ืื™ืจ ืงืขื ืขืŸ ื–ืขืŸ, kube-scheduler ืงืขืŸ ื ื™ืฉื˜ ืคึผืœืึทืŸ ืึท ืคึผืึธื“ ืื•ื™ืฃ ื ืึธื“ืข ื - ื“ื™ ื‘ื ื™ืžืฆื (ืึทื ืจื™ืงื•ื•ืขืกื˜ื™ื“) ืจืขืกื•ืจืกืŸ ื˜ืึธืŸ ื ื™ื˜ ื’ืœื™ื™ึทื›ืŸ ื“ื™ ืจื™ืงื•ื•ืขืก ืคื•ืŸ ื“ื™ ืœื™ืœืึท ืคึผืึธื“. ืึทื–ื•ื™, ื“ื™ 1 ื’ื™ื’ืื‘ื™ื™ื˜ ืคื•ืŸ ื–ื›ึผืจื•ืŸ ื’ืขื‘ืขื˜ืŸ ื“ื•ืจืš ื“ื™ ืœื™ืœืึท ืคึผืึธื“ ื•ื•ืขื˜ ื ื™ืฉื˜ ืคึผืึทืกื™ืง ืื•ื™ืฃ ื ืึธื“ืข ื, ื•ื•ื™ื™ึทืœ ื“ื™ ื‘ื ื™ืžืฆื ื–ื›ึผืจื•ืŸ ืื™ื– 0,5 ื’ื™ื’ืื‘ื™ื™ื˜. ืึธื‘ืขืจ ื ืึธื“ืข ื‘ ื”ืื˜ ื’ืขื ื•ื’ ืจืขืกื•ืจืกืŸ. ื•ื•ื™ ืึท ืจืขื–ื•ืœื˜ืึทื˜, ืงื•ื‘ืข-ืกืงืขื“ื–ืฉื•ืœืขืจ ื“ื™ืกื™ื™ื“ื– ืึทื– ื“ื™ ื“ืขืกื˜ื™ื ื™ื™ืฉืึทืŸ ืคื•ืŸ ื“ื™ ืœื™ืœืึท ืคึผืึธื“ ืื™ื– ื ืึธื“ืข ื‘.

ืื™ืฆื˜ ืžื™ืจ ื•ื•ื™ืกืŸ ื•ื•ื™ ื“ื™ ื’ืขื‘ืขื˜ืŸ ืจืขืกื•ืจืกืŸ ื•ื•ื™ืจืงืŸ ื“ื™ ื‘ืจื™ืจื” ืคื•ืŸ ื ืึธื“ืข ืฆื• ืœื•ื™ืคืŸ ื“ื™ ืคึผืึธื“. ืึธื‘ืขืจ ื•ื•ืึธืก ืื™ื– ื“ื™ ืคึผืจืึทืœ ืคื•ืŸ ืžืึทืจื“ื–ืฉืึทื ืึทืœ ืจืขืกื•ืจืกืŸ?

ื“ื™ ืžื™ื˜ืœ ืฉื™ืขื•ืจ ืื™ื– ืึท ื’ืจืขื ืขืฅ ืึทื– ื“ื™ ืงืคึผื• / ืžืขื ืงืขื ืขืŸ ื ื™ืฉื˜ ืงืจื™ื™ึทื–. ืึธื‘ืขืจ, ื“ื™ ืงืคึผื• ืžื™ื˜ืœ ืื™ื– ืคืœืขืงืกืึทื‘ืึทืœ, ืึทื–ื•ื™ ืงืึทื ื˜ื™ื™ื ืขืจื– ื•ื•ืึธืก ื“ืขืจื’ืจื™ื™ื›ืŸ ื–ื™ื™ืขืจ ืงืคึผื• ืœื™ืžืึทืฅ ื•ื•ืขื˜ ื ื™ืฉื˜ ืคืึทืจืฉืึทืคืŸ ื“ื™ ืคึผืึธื“ ืฆื• ืึทืจื•ื™ืกื’ืึทื ื’. ืึทื ืฉื˜ืึธื˜, ืงืคึผื• ื’ืขืจื’ืœ ื•ื•ืขื˜ ืึธื ื”ื™ื™ื‘ืŸ. ืื•ื™ื‘ ื“ื™ MEM ื‘ืึทื ื™ืฅ ืœื™ืžื™ื˜ ืื™ื– ืจื™ื˜ืฉื˜, ื“ืขืจ ืงืึทื ื˜ื™ื™ื ืขืจ ื•ื•ืขื˜ ื–ื™ื™ืŸ ืกื˜ืึทืคึผื˜ ืจืขื›ื˜ ืฆื• OOM-Killer ืื•ืŸ ืจื™ืกื˜ืึทืจื˜ื™ื“ ืื•ื™ื‘ ืขืจืœื•ื™ื‘ื˜ ื“ื•ืจืš ื“ื™ RestartPolicy ื‘ืึทืฉื˜ืขื˜ื™ืงืŸ.

ืคืืจืœืื ื’ื˜ ืื•ืŸ ืžืึทืงืกื™ืžื•ื ืจืขืกื•ืจืกืŸ ืื™ืŸ ื“ืขื˜ืึทืœ

ื•ื•ื™ ืฆื• ืึทืงืกืขืก Kubernetes Pod ืจืขืกื•ืจืกืŸืžื™ื˜ืœ ืงืึธืžื•ื ื™ืงืึทืฆื™ืข ืฆื•ื•ื™ืฉืŸ Docker ืื•ืŸ Kubernetes

ื“ืขืจ ื‘ืขืกื˜ืขืจ ื•ื•ืขื’ ืฆื• ื“ืขืจืงืœืขืจืŸ ื•ื•ื™ ืžื™ื˜ืœ ืจื™ืงื•ื•ืขืก ืื•ืŸ ืžื™ื˜ืœ ืœื™ืžืึทืฅ ืึทืจื‘ืขื˜ ืื™ื– ืฆื• ื‘ืึทืงืขื ืขืŸ ื“ื™ ืฉื™ื™ื›ื•ืช ืฆื•ื•ื™ืฉืŸ Kubernetes ืื•ืŸ Docker. ืื™ืŸ ื“ื™ ื‘ื™ืœื“ ืื•ื™ื‘ืŸ ืื™ืจ ืงืขื ืขืŸ ื–ืขืŸ ื•ื•ื™ ื“ื™ Kubernetes ืคืขืœื“ืขืจ ืื•ืŸ Docker ืกื˜ืึทืจื˜ืึทืคึผ ืคืœืึทื’ืก ื–ืขื ืขืŸ ืฉื™ื™ึทื›ื•ืช.

ื–ื›ึผืจื•ืŸ: ื‘ืขื˜ืŸ ืื•ืŸ ื‘ืึทื’ืจืขื ืขืฆื•ื ื’

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

ื•ื•ื™ ื“ืขืจืžืื ื˜ ืื•ื™ื‘ืŸ, ื–ื›ึผืจื•ืŸ ืื™ื– ื’ืขืžืืกื˜ืŸ ืื™ืŸ ื‘ื™ื˜ืขืก. ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ Kubernetes ื“ืึทืงื™ื•ืžืขื ื˜ื™ื™ืฉืึทืŸ, ืžื™ืจ ืงืขื ืขืŸ ืกืคึผืขืฆื™ืคื™ืฆื™ืจืŸ ื–ื›ึผืจื•ืŸ ื•ื•ื™ ืึท ื ื•ืžืขืจ. ื™ื•ื–ืฉืึทื•ื•ืึทืœื™ ืขืก ืื™ื– ืึท ื’ืึทื ืฅ ื ื•ืžืขืจ, ืœืžืฉืœ 2678 - ื“ืึธืก ืื™ื–, 2678 ื‘ื™ื˜ืขืก. ืื™ืจ ืงืขื ืขืŸ ืื•ื™ืš ื ื•ืฆืŸ ืกืึทืคื™ืงืกื™ื– G ะธ Gi, ื“ื™ ื”ื•ื™ืคึผื˜ ื–ืึทืš ืื™ื– ืฆื• ื’ืขื“ืขื ืงืขืŸ ืึทื– ื–ื™ื™ ื–ืขื ืขืŸ ื ื™ืฉื˜ ืขืงื•ื•ื™ื•ื•ืึทืœืขื ื˜. ื“ืขืจ ืขืจืฉื˜ืขืจ ืื™ื– ื“ืขืฆื™ืžืึทืœ ืื•ืŸ ื“ืขืจ ืฆื•ื•ื™ื™ื˜ืขืจ ืื™ื– ื‘ื™ื™ื ืขืจื™. ื•ื•ื™ ื“ื™ ื‘ื™ื™ืฉืคึผื™ืœ ื“ืขืจืžืื ื˜ ืื™ืŸ ื“ื™ ืง8ืก ื“ืึทืงื™ื•ืžืขื ื˜ื™ื™ืฉืึทืŸ: 128974848, 129e6, 129M, 123Mi - ื–ื™ื™ ื–ืขื ืขืŸ ืคึผืจืึทืงื˜ืึทืงืœื™ ืขืงื•ื•ื™ื•ื•ืึทืœืขื ื˜.

ืงื•ื‘ืขืจื ืขื˜ืขืก ืึธืคึผืฆื™ืข limits.memory ืฉื•ื•ืขื‘ืขืœืขืš ื“ื™ ืคืึธืŸ --memory ืคื•ืŸ ื“ืึธืงืงืขืจ. ืื™ืŸ ืคืึทืœ ืคื•ืŸ request.memory ืขืก ืื™ื– ืงื™ื™ืŸ ืคื™ื™ึทืœ ืคึฟืึทืจ ื“ืึธืงืขืจ ื•ื•ื™ื™ึทืœ ื“ืึธืงืขืจ ื˜ื•ื˜ ื ื™ืฉื˜ ื ื•ืฆืŸ ื“ืขื ืคืขืœื“. ืื™ืจ ืงืขืŸ ืคืจืขื’ืŸ, ืื™ื– ื“ืึธืก ืืคื™ืœื• ื ื™ื™ื˜ื™ืง? ื™ืึธ ื“ืึทืจืคึฟืŸ. ื•ื•ื™ ืื™ืš ื’ืขื–ืื’ื˜ ืคืจื™ืขืจ, ื“ื™ ืคืขืœื“ ืื™ื– ื•ื•ื™ื›ื˜ื™ืง ืคึฟืึทืจ ืงื•ื‘ืขืจื ืขื˜ืขืก. ื‘ืึทื–ื™ืจื˜ ืื•ื™ืฃ ื“ื™ ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ืคื•ืŸ โ€‹โ€‹ืขืก, kube-scheduler ื“ื™ืกื™ื™ื“ื– ืื•ื™ืฃ ื•ื•ืึธืก ื ืึธื“ืข ืฆื• ืคึผืœืึทืŸ ื“ื™ ืคึผืึธื“.

ื•ื•ืึธืก ื›ืึทืคึผืึทื ื– ืื•ื™ื‘ ืื™ืจ ืฉื˜ืขืœืŸ ื ื™ื˜ ื’ืขื ื•ื’ื™ืง ื–ื›ึผืจื•ืŸ ืคึฟืึทืจ ืึท ื‘ืงืฉื”?

ืื•ื™ื‘ ื“ืขืจ ืงืึทื ื˜ื™ื™ื ืขืจ ื”ืื˜ ืจื™ื˜ืฉื˜ ื“ื™ ืœื™ืžืึทืฅ ืคื•ืŸ ื“ื™ ื’ืขื‘ืขื˜ืŸ ื–ื›ึผืจื•ืŸ, ื“ื™ ืคึผืึธื“ ืื™ื– ื’ืขืฉื˜ืขืœื˜ ืื™ืŸ ืึท ื’ืจื•ืคึผืข ืคื•ืŸ โ€‹โ€‹ืคึผืึธื“ืก ื•ื•ืึธืก ื”ืึทืœื˜ืŸ ื•ื•ืขืŸ ืขืก ืื™ื– ื ื™ืฉื˜ ื’ืขื ื•ื’ ื–ื›ึผืจื•ืŸ ืื™ืŸ ื“ื™ ื ืึธื“ืข.

ื•ื•ืึธืก ื›ืึทืคึผืึทื ื– ืื•ื™ื‘ ืื™ืจ ืฉื˜ืขืœืŸ ื“ื™ ื–ื›ึผืจื•ืŸ ืฉื™ืขื•ืจ ืฆื• ื ื™ื“ืขืจื™ืง?

ืื•ื™ื‘ ื“ืขืจ ืงืึทื ื˜ื™ื™ื ืขืจ ื™ืงืกื™ื“ื– ื“ื™ ื–ื™ืงืึธืจืŸ ืœื™ืžื™ื˜, ืขืก ื•ื•ืขื˜ ื–ื™ื™ืŸ ื˜ืขืจืžืึทื ื™ื™ื˜ื™ื“ ืจืขื›ื˜ ืฆื• OOM-Killed. ืื•ืŸ ื•ื•ืขื˜ ืจื™ืกื˜ืึทืจื˜ ืื•ื™ื‘ ืžืขื’ืœืขืš ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ RestartPolicy ื•ื•ื• ื“ื™ ืคืขืœื™ืงื™ื™ึทื˜ ื•ื•ืขืจื˜ ืื™ื– Always.

ื•ื•ืึธืก ื›ืึทืคึผืึทื ื– ืื•ื™ื‘ ืื™ืจ ื˜ืึธืŸ ื ื™ื˜ ืกืคึผืขืฆื™ืคื™ืฆื™ืจืŸ ื“ื™ ื’ืขื‘ืขื˜ืŸ ื–ื›ึผืจื•ืŸ?

Kubernetes ื•ื•ืขื˜ ื ืขืžืขืŸ ื“ื™ ืฉื™ืขื•ืจ ื•ื•ืขืจื˜ ืื•ืŸ ืฉื˜ืขืœืŸ ืขืก ื•ื•ื™ ื“ื™ ืคืขืœื™ืงื™ื™ึทื˜ ื•ื•ืขืจื˜.

ื•ื•ืึธืก ืงืขืŸ ืคึผืึทืกื™ืจืŸ ืื•ื™ื‘ ืื™ืจ ื˜ืึธืŸ ื ื™ื˜ ืกืคึผืขืฆื™ืคื™ืฆื™ืจืŸ ืึท ื–ื™ืงืึธืจืŸ ืฉื™ืขื•ืจ?

ื“ืขืจ ืงืึทื ื˜ื™ื™ื ืขืจ ื”ืื˜ ืงื™ื™ืŸ ืจื™ืกื˜ืจื™ืงืฉืึทื ื–; ืขืก ืงืขื ืขืŸ ื ื•ืฆืŸ ื•ื•ื™ ืคื™ืœ ื–ื›ึผืจื•ืŸ ื•ื•ื™ ืขืก ื•ื•ื™ืœ. ืื•ื™ื‘ ืขืจ ืกื˜ืึทืจืฅ ื ื™ืฆืŸ ืึทืœืข ื“ื™ ื‘ื ื™ืžืฆื ื–ื›ึผืจื•ืŸ ืคื•ืŸ ื“ื™ ื ืึธื“ืข, OOM ื•ื•ืขื˜ ื˜ื™ื™ื˜ืŸ ืื™ื. ื“ืขืจ ืงืึทื ื˜ื™ื™ื ืขืจ ื•ื•ืขื˜ ื–ื™ื™ืŸ ืจื™ืกื˜ืึทืจื˜ื™ื“ ืื•ื™ื‘ ืžืขื’ืœืขืš ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ RestartPolicy.

ื•ื•ืึธืก ื›ืึทืคึผืึทื ื– ืื•ื™ื‘ ืื™ืจ ื˜ืึธืŸ ื ื™ื˜ ืกืคึผืขืฆื™ืคื™ืฆื™ืจืŸ ื–ื›ึผืจื•ืŸ ืœื™ืžืึทืฅ?

ื“ืึธืก ืื™ื– ื“ื™ ืขืจื’ืกื˜ ืคืึทืœ ืกืฆืขื ืึทืจ: ื“ื™ ืกืงืขื“ื–ืฉื•ืœืขืจ ืงืขืŸ ื ื™ืฉื˜ ื•ื•ื™ืกืŸ ื•ื•ื™ ืคื™ืœืข ืจืขืกื•ืจืกืŸ ื“ืขืจ ืงืึทื ื˜ื™ื™ื ืขืจ ืจื™ืงื•ื•ื™ื™ืขืจื–, ืื•ืŸ ื“ืึธืก ืงืขืŸ ืคืึทืจืฉืึทืคืŸ ืขืจื ืกื˜ ืคึผืจืึธื‘ืœืขืžืก ืื•ื™ืฃ ื“ื™ ื ืึธื“ืข. ืื™ืŸ ื“ืขื ืคืึทืœ, ืขืก ื•ื•ืึธืœื˜ ื–ื™ื™ืŸ ืคื™ื™ึทืŸ ืฆื• ื”ืึธื‘ืŸ ืคืขืœื™ืงื™ื™ึทื˜ ืœื™ืžืึทืฅ ืื•ื™ืฃ ื“ื™ ื ืึทืžืขืกืคึผืึทืกืข (ืฉื˜ืขืœืŸ ื“ื•ืจืš ืœื™ืžื™ื˜ืจืึทื ื’ืข). ืขืก ื–ืขื ืขืŸ ืงื™ื™ืŸ ืคืขืœื™ืงื™ื™ึทื˜ ืœื™ืžืึทืฅ - ื“ื™ ืคึผืึธื“ ื”ืื˜ ืงื™ื™ืŸ ืœื™ืžืึทืฅ, ืขืก ืงืขื ืขืŸ ื ื•ืฆืŸ ื•ื•ื™ ืคื™ืœ ื–ื›ึผืจื•ืŸ ื•ื•ื™ ืขืจ ื•ื•ื™ืœ.

ืื•ื™ื‘ ื“ื™ ื’ืขื‘ืขื˜ืŸ ื–ื›ึผืจื•ืŸ ืื™ื– ืžืขืจ ื•ื•ื™ ื“ื™ ื ืึธื“ืข ืงืขื ืขืŸ ืคืึธืจืฉืœืึธื’ืŸ, ื“ื™ ืคึผืึธื“ ื•ื•ืขื˜ ื ื™ืฉื˜ ื–ื™ื™ืŸ ืกืงืขื“ื–ืฉื•ืœื“. ืขืก ืื™ื– ื•ื•ื™ื›ื˜ื™ืง ืฆื• ื’ืขื“ืขื ืงืขืŸ ืึทื– Requests.memory - ื ื™ืฉื˜ ื“ื™ ืžื™ื ื™ืžื•ื ื•ื•ืขืจื˜. ื“ืึธืก ืื™ื– ืึท ื‘ืึทืฉืจื™ื™ึทื‘ื•ื ื’ ืคื•ืŸ ื“ื™ ืกื•ืžืข ืคื•ืŸ โ€‹โ€‹โ€‹โ€‹ื–ื™ืงืึธืจืŸ ื’ืขื ื•ื’ ืฆื• ื”ืึทืœื˜ืŸ ื“ืขื ืงืึทื ื˜ื™ื™ื ืขืจ ืคืœื™ืกื ื“ื™ืง ืงืขืกื™ื™ื“ืขืจ.

ืขืก ืื™ื– ื™ื•ื–ืฉืึทื•ื•ืึทืœื™ ืจืขืงืึทืžืขื ื“ื™ื“ ืฆื• ืฉื˜ืขืœืŸ ื“ื™ ื–ืขืœื‘ืข ื•ื•ืขืจื˜ ืคึฟืึทืจ request.memory ะธ limit.memory. ื“ืึธืก ื™ื ืฉื•ืจื– ืึทื– Kubernetes ื•ื•ืขื˜ ื ื™ืฉื˜ ืคึผืœืึทืŸ ืึท ืคึผืึธื“ ืื•ื™ืฃ ืึท ื ืึธื“ืข ื•ื•ืึธืก ื”ืื˜ ื’ืขื ื•ื’ ื–ื›ึผืจื•ืŸ ืฆื• ืœื•ื™ืคืŸ ื“ื™ ืคึผืึธื“ ืึธื‘ืขืจ ื ื™ืฉื˜ ื’ืขื ื•ื’ ืฆื• ืœื•ื™ืคืŸ ืขืก. ื’ืขื“ืขื ืงื˜: ื“ื™ ืคึผืœืึทื ื™ืจื•ื ื’ ืคื•ืŸ Kubernetes ืคึผืึธื“ ื ืขืžื˜ ื‘ืœื•ื™ื– ืื™ืŸ ื—ืฉื‘ื•ืŸ requests.memoryืื•ืŸ limits.memory ื ืขืžื˜ ื ื™ืฉื˜ ืื™ืŸ ื—ืฉื‘ื•ืŸ.

ืงืคึผื•: ื‘ืขื˜ืŸ ืื•ืŸ ืฉื™ืขื•ืจ

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

ืžื™ื˜ ืึท ืงืคึผื• ืึทืœืฅ ืื™ื– ืึท ื‘ื™ืกืœ ืžืขืจ ืงืึธืžืคึผืœื™ืฆื™ืจื˜. ืฆื•ืจื™ืงืงื•ืžืขืŸ ืฆื• ื“ื™ ื‘ื™ืœื“ ืคื•ืŸ ื“ื™ ืฉื™ื™ื›ื•ืช ืฆื•ื•ื™ืฉืŸ Kubernetes ืื•ืŸ Docker, ืื™ืจ ืงืขื ืขืŸ ื–ืขืŸ ื“ืึธืก request.cpu ืงืึธืจืึทืกืคึผืึทื ื“ื– --cpu-shares, ื›ื•ื•ืขืจืึทื– limit.cpu ืฉื•ื•ืขื‘ืขืœืขืš ื“ื™ ืคืึธืŸ cpus ืื™ืŸ ื“ืึธืงืงืขืจ.

ื“ื™ ืงืคึผื• ืึทื– Kubernetes ืจื™ืงื•ื•ืขืก ืื™ื– ื’ืขืžืขืจื˜ ืžื™ื˜ 1024, ื“ื™ ืคึผืจืึธืคึผืึธืจืฆื™ืข ืคื•ืŸ โ€‹โ€‹ืงืคึผื• ืกื™ื™ืงืึทืœื–. ืื•ื™ื‘ ืื™ืจ ื•ื•ื™ืœืŸ ืฆื• ื‘ืขื˜ืŸ 1 ืคื•ืœ ื”ืึทืจืฅ, ืื™ืจ ืžื•ื–ืŸ ืœื™ื™ื’ืŸ cpu: 1ื•ื•ื™ ื’ืขื•ื•ื™ื–ืŸ ืื•ื™ื‘ืŸ.

ื‘ืขื˜ืŸ ืึท ืคื•ืœ ืงืขืจืŸ (ืคึผืจืึธืคึผืึธืจืฆื™ืข = 1024) ื˜ื•ื˜ ื ื™ืฉื˜ ืžื™ื™ื ืขืŸ ืึทื– ื“ื™ื™ืŸ ืงืึทื ื˜ื™ื™ื ืขืจ ื•ื•ืขื˜ ื‘ืึทืงื•ืžืขืŸ ืขืก. ืื•ื™ื‘ ื“ื™ื™ืŸ ื‘ืึทืœืขื‘ืึธืก ืžืึทืฉื™ืŸ ื”ืื˜ ื‘ืœื•ื™ื– ืื™ื™ืŸ ื”ืึทืจืฅ ืื•ืŸ ืื™ืจ ืœื•ื™ืคืŸ ืžืขืจ ื•ื•ื™ ืื™ื™ืŸ ืงืึทื ื˜ื™ื™ื ืขืจ, ืึทืœืข ืงืึทื ื˜ื™ื™ื ืขืจื– ืžื•ื–ืŸ ื˜ื™ื™ืœืŸ ื“ื™ ื‘ื ื™ืžืฆื ืงืคึผื• ืฆื•ื•ื™ืฉืŸ ื–ื™ื™. ื•ื•ื™ ืึทื–ื•ื™ ื˜ื•ื˜ ื“ืึธืก ืคึผืึทืกื™ืจืŸ? ื–ืืœ ืก ืงื•ืง ื‘ื™ื™ึท ื“ื™ ื‘ื™ืœื“.

ื•ื•ื™ ืฆื• ืึทืงืกืขืก Kubernetes Pod ืจืขืกื•ืจืกืŸ
ืงืคึผื• ื‘ืขื˜ืŸ - ืื™ื™ืŸ ืงืึธืจ ืกื™ืกื˜ืขื

ื–ืืœ ืก ื™ืžืึทื“ื–ืฉืึทืŸ ืึทื– ืื™ืจ ื”ืึธื‘ืŸ ืึท ืื™ื™ืŸ-ื”ืึทืจืฅ ื‘ืึทืœืขื‘ืึธืก ืกื™ืกื˜ืขื ืคืœื™ืกื ื“ื™ืง ืงืึทื ื˜ื™ื™ื ืขืจื–. ืžืึธื (ืงื•ื‘ืขืจื ืขื˜ืขืก) ื‘ื™ื™ืงื˜ ืึท ืคึผื™ืจืึธื’ (ืงืคึผื•) ืื•ืŸ ื•ื•ื™ืœ ืฆื• ื˜ื™ื™ืœืŸ ืขืก ืฆื•ื•ื™ืฉืŸ ืงื™ื ื“ืขืจ (ื˜ืึทื ืขืจื–). ื“ืจื™ื™ ืงื™ื ื“ืขืจ ื•ื•ื™ืœืŸ ืึท ื’ืึทื ืฅ ืคึผื™ืจืึธื’ (ืคึผืจืึธืคึผืึธืจืฆื™ืข = 1024), ืืŸ ืื ื“ืขืจ ืงื™ื ื“ ื•ื•ื™ืœ ืึท ื”ืึทืœื‘ ืคึผื™ืจืึธื’ (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 ืจืขืกื•ืจืกืŸ
ืงืคึผื• ื‘ืขื˜ืŸ - ืžื•ืœื˜ื™-ืงืึธืจ (4) ืกื™ืกื˜ืขื

ืื™ืŸ ื“ื™ ื‘ื™ืœื“ ืื•ื™ื‘ืŸ ืื™ืจ ืงืขื ืขืŸ ื–ืขืŸ ืึทื– ื“ืจื™ื™ึท ืงื™ื ื“ืขืจ ื•ื•ื™ืœืŸ ืึท ื’ืึทื ืฅ ืคึผื™ืจืึธื’, ืื•ืŸ ืื™ื™ื ืขืจ ื•ื•ื™ืœ ื”ืึทืœื‘. ื–ื™ื ื˜ ืžืึทื ื‘ื™ื™ืงื˜ ืคื™ืจ ืคึผื™ืขืก, ื™ืขื“ืขืจ ืคื•ืŸ ืื™ืจ ืงื™ื ื“ืขืจ ื•ื•ืขื˜ ื‘ืึทืงื•ืžืขืŸ ื•ื•ื™ ืคื™ืœืข ื•ื•ื™ ื–ื™ื™ ื•ื•ื™ืœืŸ. ืื™ืŸ ืึท ืžืึทืœื˜ื™-ื”ืึทืจืฅ ืกื™ืกื˜ืขื, ืคึผืจืึทืกืขืกืขืจ ืจืขืกื•ืจืกืŸ ื–ืขื ืขืŸ ืคื•ื ืื ื“ืขืจื’ืขื˜ื™ื™ืœื˜ ืื™ื‘ืขืจ ืึทืœืข ื‘ื ื™ืžืฆื ืคึผืจืึทืกืขืกืขืจ ืงืึธืจืขืก. ืื•ื™ื‘ ืึท ืงืึทื ื˜ื™ื™ื ืขืจ ืื™ื– ืœื™ืžื™ื˜ืขื“ ืฆื• ื•ื•ื™ื™ื ื™ืงืขืจ ื•ื•ื™ ืื™ื™ืŸ ืคื•ืœ ืงืคึผื• ื”ืึทืจืฅ, ืขืก ืงืขืŸ ื ืึธืš ื ื•ืฆืŸ ืขืก ื‘ื™ื™ 100%.

ื“ื™ ืื•ื™ื‘ืŸ ื—ืฉื‘ื•ื ื•ืช ื–ืขื ืขืŸ ืกื™ืžืคึผืœืึทืคื™ื™ื“ ืฆื• ืคึฟืึทืจืฉื˜ื™ื™ืŸ ื•ื•ื™ ืงืคึผื• ืื™ื– ืคื•ื ืื ื“ืขืจื’ืขื˜ื™ื™ืœื˜ ืฆื•ื•ื™ืฉืŸ ืงืึทื ื˜ื™ื™ื ืขืจื–. ืคื•ืŸ ืงื•ืจืก, ื—ื•ืฅ ื“ื™ ืงืึทื ื˜ื™ื™ื ืขืจื– ื–ื™ืš, ืขืก ื–ืขื ืขืŸ ืื ื“ืขืจืข ืคึผืจืึทืกืขืกืึทื– ื•ื•ืึธืก ืื•ื™ืš ื ื•ืฆืŸ ืงืคึผื• ืจืขืกื•ืจืกืŸ. ื•ื•ืขืŸ ืคึผืจืึทืกืขืกืึทื– ืื™ืŸ ืื™ื™ืŸ ืงืึทื ื˜ื™ื™ื ืขืจ ื–ืขื ืขืŸ ืœื™ื™ื“ื™ืง, ืื ื“ืขืจืข ืงืขื ืขืŸ ื ื•ืฆืŸ ื–ื™ื™ึทืŸ ืžื™ื˜ืœ. CPU: "200m" ืงืึธืจืึทืกืคึผืึทื ื“ื– CPU: 0,2, ื•ื•ืึธืก ืžื™ื˜ืœ ื‘ืขืขืจืขืš 20% ืคื•ืŸ ืื™ื™ืŸ ื”ืึทืจืฅ.

ืื™ืฆื˜ ืœืึธืžื™ืจ ืจืขื“ืŸ ื•ื•ืขื’ืŸ limit.cpu. ื“ื™ ืงืคึผื• ื•ื•ืึธืก Kubernetes ืœื™ืžืึทืฅ ืื™ื– ื’ืขืžืขืจื˜ ืžื™ื˜ 100. ื“ืขืจ ืจืขื–ื•ืœื˜ืึทื˜ ืื™ื– ื“ื™ ืฆื™ื™ื˜ ื•ื•ืึธืก ื“ืขืจ ืงืึทื ื˜ื™ื™ื ืขืจ ืงืขื ืขืŸ ื ื•ืฆืŸ ื™ืขื“ืขืจ 100 ยตs (cpu-period).

limit.cpu ืฉื•ื•ืขื‘ืขืœืขืš ื“ื™ ื“ืึธืงืขืจ ืคืึธืŸ --cpus. ื“ืึธืก ืื™ื– ืึท ื ื™ื™ึทืข ืงืึธืžื‘ื™ื ืึทืฆื™ืข ืคื•ืŸ โ€‹โ€‹ืึทืœื˜ --cpu-period ะธ --cpu-quota. ื“ื•ืจืš ื‘ืึทืฉื˜ืขื˜ื™ืงืŸ ืขืก, ืžื™ืจ ืึธื ื•ื•ื™ื™ึทื–ืŸ ื•ื•ื™ ืคื™ืœืข ื‘ื ื™ืžืฆื ืงืคึผื• ืจืขืกื•ืจืกืŸ ื“ืขืจ ืงืึทื ื˜ื™ื™ื ืขืจ ืงืขื ืขืŸ ืžืึทืงืกื™ืžืึทืœืœื™ ื ื•ืฆืŸ ืื™ื™ื“ืขืจ ื’ืขืจื’ืœ ื”ื™ื™ื‘ื˜:

  • ืงืคึผื•ืก - ืงืึธืžื‘ื™ื ืึทืฆื™ืข cpu-period ะธ cpu-quota. cpus = 1.5 ืขืงื•ื•ื™ื•ื•ืึทืœืขื ื˜ ืฆื• ื‘ืึทืฉื˜ืขื˜ื™ืงืŸ cpu-period = 100000 ะธ cpu-quota = 150000;
  • CPU-period - ืฆื™ื™ึทื˜ CPU CFS ืกืงืขื“ื–ืฉื•ืœืขืจ, ืคืขืœื™ืงื™ื™ึทื˜ 100 ืžื™ืงืจืึธืกืขืงืึธื ื“ืก;
  • ืงืคึผื•-ืงื•ื•ืึธื˜ืข - ื ื•ืžืขืจ ืคื•ืŸ ืžื™ืงืจืึธืกืขืงืึธื ื“ืก ื™ืŸ cpu-period, ื•ื•ืึธืก ืื™ื– ื‘ืึทื•ื ื“ืึทื“ ื“ื•ืจืš ื“ืขื ืงืึทื ื˜ื™ื™ื ืขืจ.

ื•ื•ืึธืก ื›ืึทืคึผืึทื ื– ืื•ื™ื‘ ืื™ืจ ื™ื ืกื˜ืึทืœื™ืจืŸ ื ื™ื˜ ื’ืขื ื•ื’ื™ืง ื’ืขื‘ืขื˜ืŸ ืงืคึผื•?

ืื•ื™ื‘ ื“ืขืจ ืงืึทื ื˜ื™ื™ื ืขืจ ื“ืึทืจืฃ ืžืขืจ ื•ื•ื™ ืขืก ืื™ื– ืื™ื ืกื˜ืึทืœื™ืจืŸ, ืขืก ื•ื•ืขื˜ ื’ืึทื ื•ื•ืขื ืขืŸ ืงืคึผื• ืคื•ืŸ ืื ื“ืขืจืข ืคึผืจืึทืกืขืกืึทื–.

ื•ื•ืึธืก ื›ืึทืคึผืึทื ื– ืื•ื™ื‘ ืื™ืจ ืฉื˜ืขืœืŸ ื“ื™ ืงืคึผื• ืฉื™ืขื•ืจ ืฆื• ื ื™ื“ืขืจื™ืง?

ื–ื™ื ื˜ ื“ื™ ืงืคึผื• ืžื™ื˜ืœ ืื™ื– ืึทื“ื–ืฉืึทืกื˜ืึทื‘ืึทืœ, ื’ืขืจื’ืœ ื•ื•ืขื˜ ืงืขืจ ืื•ื™ืฃ.

ื•ื•ืึธืก ื›ืึทืคึผืึทื ื– ืื•ื™ื‘ ืื™ืจ ื˜ืึธืŸ ื ื™ื˜ ืกืคึผืขืฆื™ืคื™ืฆื™ืจืŸ ืึท ืงืคึผื• ื‘ืขื˜ืŸ?

ื•ื•ื™ ืžื™ื˜ ื–ื›ึผืจื•ืŸ, ื“ื™ ื‘ืขื˜ืŸ ื•ื•ืขืจื˜ ืื™ื– ื’ืœื™ื™ึทืš ืฆื• ื“ื™ ืฉื™ืขื•ืจ.

ื•ื•ืึธืก ื›ืึทืคึผืึทื ื– ืื•ื™ื‘ ืื™ืจ ื˜ืึธืŸ ื ื™ื˜ ืกืคึผืขืฆื™ืคื™ืฆื™ืจืŸ ืึท ืงืคึผื• ืฉื™ืขื•ืจ?

ื“ืขืจ ืงืึทื ื˜ื™ื™ื ืขืจ ื•ื•ืขื˜ ื ื•ืฆืŸ ื•ื•ื™ ืคื™ืœ ืงืคึผื• ื•ื•ื™ ืขืก ื“ืึทืจืฃ. ืื•ื™ื‘ ืึท ืคืขืœื™ืงื™ื™ึทื˜ ืงืคึผื• ืคึผืึธืœื™ื˜ื™ืง (ืœื™ืžื™ื˜ืจืึทื ื’ืข) ืื™ื– ื“ื™ืคื™ื™ื ื“ ืื™ืŸ ื“ื™ ื ืึทืžืขืกืคึผืึทืกืข, ื“ืขืจ ืฉื™ืขื•ืจ ืื™ื– ืื•ื™ืš ื’ืขื ื™ืฆื˜ ืคึฟืึทืจ ื“ืขื ืงืึทื ื˜ื™ื™ื ืขืจ.

ื•ื•ืึธืก ื›ืึทืคึผืึทื ื– ืื•ื™ื‘ ืื™ืจ ื˜ืึธืŸ ื ื™ื˜ ืกืคึผืขืฆื™ืคื™ืฆื™ืจืŸ ืึธื“ืขืจ ืึท ื‘ืงืฉื” ืึธื“ืขืจ ืึท ืงืคึผื• ืฉื™ืขื•ืจ?

ื•ื•ื™ ืžื™ื˜ ื–ื›ึผืจื•ืŸ, ื“ืึธืก ืื™ื– ื“ื™ ืขืจื’ืกื˜-ืคืึทืœ ืกืฆืขื ืึทืจ. ื“ืขืจ ืกืงืขื“ื–ืฉื•ืœืขืจ ืงืขืŸ ื ื™ืฉื˜ ื•ื•ื™ืกืŸ ื•ื•ื™ ืคื™ืœืข ืจืขืกื•ืจืกืŸ ื“ื™ื™ืŸ ืงืึทื ื˜ื™ื™ื ืขืจ ื“ืึทืจืฃ, ืื•ืŸ ื“ืึธืก ืงืขืŸ ืคืึทืจืฉืึทืคืŸ ืขืจื ืกื˜ ืคึผืจืึธื‘ืœืขืžืก ืื•ื™ืฃ ื“ื™ ื ืึธื“ืข. ืฆื• ื•ื™ืกืžื™ื™ื“ืŸ ื“ืขื, ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ืฉื˜ืขืœืŸ ืคืขืœื™ืงื™ื™ึทื˜ ืœื™ืžืึทืฅ ืคึฟืึทืจ ื ืึทืžืขืกืคึผืึทืกืขืก (ืœื™ืžื™ื˜ืจืึทื ื’ืข).

ื’ืขื“ืขื ืงื˜: ืื•ื™ื‘ ืื™ืจ ื‘ืขื˜ืŸ ืžืขืจ ืงืคึผื• ื•ื•ื™ ื“ื™ ื ืึธื•ื“ื– ืงืขื ืขืŸ ืฆื•ืฉื˜ืขืœืŸ, ื“ื™ ืคึผืึธื“ ื•ื•ืขื˜ ื ื™ืฉื˜ ื–ื™ื™ืŸ ืกืงืขื“ื–ืฉื•ืœื“. Requests.cpu - ื ื™ื˜ ื“ื™ ืžื™ื ื™ืžื•ื ื•ื•ืขืจื˜, ืึธื‘ืขืจ ืึท ื•ื•ืขืจื˜ ื’ืขื ื•ื’ ืฆื• ืึธื ื”ื™ื™ื‘ืŸ ื“ื™ ืคึผืึธื“ ืื•ืŸ ืึทืจื‘ืขื˜ ืึธืŸ ืคื™ื™ืœื™ืขืจื–. ืื•ื™ื‘ ื“ื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ื˜ื•ื˜ ื ื™ืฉื˜ ื“ื•ืจื›ืคื™ืจืŸ ืงืึธืžืคึผืœืขืงืก ื—ืฉื‘ื•ื ื•ืช, ื“ืขืจ ื‘ืขืกื˜ืขืจ ืึธืคึผืฆื™ืข ืื™ื– ืฆื• ื™ื ืกื˜ืึทืœื™ืจืŸ request.cpu <= 1 ืื•ืŸ ืงืึทื˜ืขืจ ื•ื•ื™ ืคื™ืœืข ืจืขืคึผืœืึทืงืึทื– ื•ื•ื™ ื“ืืจืฃ.

ื™ื“ืขืึทืœ ืกื•ืžืข ืคื•ืŸ โ€‹โ€‹ื’ืขื‘ืขื˜ืŸ ืจืขืกื•ืจืกืŸ ืึธื“ืขืจ ืžื™ื˜ืœ ืฉื™ืขื•ืจ

ืžื™ืจ ื’ืขืœืขืจื ื˜ ื•ื•ืขื’ืŸ ื“ื™ ื‘ืึทื’ืจืขื ืขืฆื•ื ื’ ืคื•ืŸ ืงืึทืžืคึผื™ื•ื˜ื™ื ื’ ืจืขืกื•ืจืกืŸ. ืื™ืฆื˜ ืขืก ืื™ื– ืฆื™ื™ื˜ ืฆื• ืขื ื˜ืคึฟืขืจืŸ ื“ื™ ืงืฉื™ื: "ื•ื•ื™ ืคื™ืœืข ืจืขืกื•ืจืกืŸ ื“ืึทืจืฃ ืžื™ื™ืŸ ืคึผืึธื“ ืฆื• ืœื•ื™ืคืŸ ื“ื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืึธืŸ ืงื™ื™ืŸ ืคืจืื‘ืœืขืžืขืŸ? ื•ื•ืึธืก ืื™ื– ื“ื™ ื™ื“ืขืึทืœ ืกื•ืžืข?

ืฆื•ื ื‘ืึทื“ื•ื™ืขืจืŸ, ืขืก ื–ืขื ืขืŸ ืงื™ื™ืŸ ืงืœืึธืจ ืขื ื˜ืคึฟืขืจืก ืฆื• ื“ื™ ืคืจืื’ืขืก. ืื•ื™ื‘ ืื™ืจ ื˜ืึธืŸ ื ื™ื˜ ื•ื•ื™ืกืŸ ื•ื•ื™ ื“ื™ื™ืŸ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืึทืจื‘ืขื˜ ืึธื“ืขืจ ื•ื•ื™ ืคื™ืœ ืงืคึผื• ืึธื“ืขืจ ื–ื™ืงืึธืจืŸ ืขืก ื“ืึทืจืฃ, ื“ืขืจ ื‘ืขืกื˜ืขืจ ืึธืคึผืฆื™ืข ืื™ื– ืฆื• ื’ืขื‘ืŸ ื“ื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืึท ืคึผืœืึทืฅ ืคื•ืŸ ื–ื›ึผืจื•ืŸ ืื•ืŸ ืงืคึผื• ืื•ืŸ ืœื•ื™ืคืŸ ืคืึธืจืฉื˜ืขืœื•ื ื’ ื˜ืขืกืฅ.

ืื™ืŸ ืึทื“ื™ืฉืึทืŸ ืฆื• ืคืึธืจืฉื˜ืขืœื•ื ื’ ื˜ืขืกืฅ, ืžืึธื ื™ื˜ืึธืจ ื“ื™ ืึธืคึผืคื™ืจื•ื ื’ ืคื•ืŸ ื“ื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืื™ืŸ ืžืึธื ื™ื˜ืึธืจื™ื ื’ ืคึฟืึทืจ ืึท ื•ื•ืึธืš. ืื•ื™ื‘ ื“ื™ ื’ืจืึทืคืก ืึธื ื•ื•ื™ื™ึทื–ืŸ ืึทื– ื“ื™ื™ืŸ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืื™ื– ืงืึทื ืกื•ืžื™ื ื’ ื•ื•ื™ื™ื ื™ืงืขืจืข ืจืขืกื•ืจืกืŸ ื•ื•ื™ ืื™ืจ ื”ืึธื˜ ื’ืขื‘ืขื˜ืŸ, ืื™ืจ ืงืขื ืขืŸ ืจืขื“ื•ืฆื™ืจืŸ ื“ื™ ืกื•ืžืข ืคื•ืŸ โ€‹โ€‹โ€‹โ€‹ืงืคึผื• ืึธื“ืขืจ ื–ื™ืงืึธืจืŸ ื’ืขื‘ืขื˜ืŸ.

ื•ื•ื™ ืึท ื‘ื™ื™ึทืฉืคึผื™ืœ ื–ืขืŸ ื“ืขื ื’ืจืึทืคืึทื ืึท ื“ืึทืฉื‘ืึธืจื“. ืขืก ื“ื™ืกืคึผืœื™ื™ื– ื“ื™ ื—ื™ืœื•ืง ืฆื•ื•ื™ืฉืŸ ื“ื™ ื’ืขื‘ืขื˜ืŸ ืจืขืกื•ืจืกืŸ ืึธื“ืขืจ ืžื™ื˜ืœ ืฉื™ืขื•ืจ ืื•ืŸ ื“ื™ ืงืจืึทื ื˜ ืžื™ื˜ืœ ื‘ืึทื ื™ืฅ.

ืกืึธืฃ

ื‘ืขื˜ืŸ ืื•ืŸ ืœื™ืžื™ื˜ื™ื ื’ ืจืขืกื•ืจืกืŸ ื”ืขืœืคึผืก ื”ืึทืœื˜ืŸ ื“ื™ื™ืŸ Kubernetes ืงื ื•ื™ืœ ื’ืขื–ื•ื ื˜. ื’ืขื”ืขืจื™ืง ืœื™ืžื™ื˜ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ืžื™ื ืึทืžื™ื™ื–ื™ื– ืงืึธืก ืื•ืŸ ื”ืืœื˜ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ืคืœื™ืกื ื“ื™ืง ืื™ืŸ ืึทืœืข ืฆื™ื™ื˜.

ืื™ืŸ ืงื•ืจืฅ, ืขืก ื–ืขื ืขืŸ ืขื˜ืœืขื›ืข ื–ืื›ืŸ ืฆื• ื”ืึทืœื˜ืŸ ืื™ืŸ ื–ื™ื ืขืŸ:

  1. ื’ืขื‘ืขื˜ืŸ ืจืขืกื•ืจืกืŸ ื–ืขื ืขืŸ ืึท ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ื•ื•ืึธืก ืื™ื– ื’ืขื ื•ืžืขืŸ ืื™ืŸ ื—ืฉื‘ื•ืŸ ื‘ื™ื™ ืกื˜ืึทืจื˜ืึทืคึผ ืฆื™ื™ื˜ (ื•ื•ืขืŸ Kubernetes ืคึผืœืึทื ื– ืฆื• ื‘ืึทืœืขื‘ืึธืก ื“ื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ). ืื™ืŸ ืงืึทื ื˜ืจืึทืกื˜, ืœื™ืžื™ื˜ื™ื ื’ ืจืขืกื•ืจืกืŸ ืื™ื– ื•ื•ื™ื›ื˜ื™ืง ืื™ืŸ ืจื•ื ื˜ื™ืžืข - ื•ื•ืขืŸ ื“ื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืื™ื– ืฉื•ื™ืŸ ืคืœื™ืกื ื“ื™ืง ืื•ื™ืฃ ื“ื™ ื ืึธื“ืข.
  2. ืงืึทืžืคึผืขืจื“ ืžื™ื˜ ื–ื›ึผืจื•ืŸ, ื“ื™ ืงืคึผื• ืื™ื– ืึท ืจืขื’ื™ืึทืœื™ื™ื˜ืึทื“ ืžื™ื˜ืœ. ืื•ื™ื‘ ืขืก ืื™ื– ื ื™ืฉื˜ ื’ืขื ื•ื’ ืงืคึผื•, ื“ื™ื™ืŸ ืคึผืึธื“ ื•ื•ืขื˜ ื ื™ืฉื˜ ืคืึทืจืžืึทื›ืŸ ืึทืจืึธืคึผ ืื•ืŸ ื“ื™ ื’ืขืจื’ืœ ืžืขืงืึทื ื™ื–ืึทื ื•ื•ืขื˜ ืงืขืจ ืื•ื™ืฃ.
  3. ื’ืขื‘ืขื˜ืŸ ืจืขืกื•ืจืกืŸ ืื•ืŸ ืžื™ื˜ืœ ืฉื™ืขื•ืจ ื–ืขื ืขืŸ ื ื™ืฉื˜ ืžื™ื ื™ืžื•ื ืื•ืŸ ืžืึทืงืกื™ืžื•ื ื•ื•ืึทืœื•ืขืก! ื“ื•ืจืš ื“ื™ืคื™ื™ื ื™ื ื’ ื“ื™ ื’ืขื‘ืขื˜ืŸ ืจืขืกื•ืจืกืŸ, ืื™ืจ ืขื ืฉื•ืจ ืึทื– ื“ื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ื•ื•ืขื˜ ืœื•ื™ืคืŸ ืึธืŸ ืคืจืื‘ืœืขืžืขืŸ.
  4. ื ื’ื•ื˜ืข ืคื™ืจ ืื™ื– ืฆื• ืฉื˜ืขืœืŸ ื“ื™ ื–ื›ึผืจื•ืŸ ื‘ืขื˜ืŸ ื’ืœื™ื™ึทืš ืฆื• ื“ื™ ื–ื›ึผืจื•ืŸ ืฉื™ืขื•ืจ.
  5. ืึธื•ืงื™ื™ ื™ื ืกื˜ืึทืœื™ืจืŸ ื’ืขื‘ืขื˜ืŸ CPU <=1, ืื•ื™ื‘ ื“ื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ื˜ื•ื˜ ื ื™ืฉื˜ ื“ื•ืจื›ืคื™ืจืŸ ืงืึธืžืคึผืœืขืงืก ื—ืฉื‘ื•ื ื•ืช.
  6. ืื•ื™ื‘ ืื™ืจ ื‘ืขื˜ืŸ ืžืขืจ ืจืขืกื•ืจืกืŸ ื•ื•ื™ ื‘ื ื™ืžืฆื ืื•ื™ืฃ ืึท ื ืึธื“ืข, ื“ื™ ืคึผืึธื“ ื•ื•ืขื˜ ืงื™ื™ื ืžืึธืœ ื–ื™ื™ืŸ ืกืงืขื“ื–ืฉื•ืœื“ ืฆื• ื“ืขื ื ืึธื“ืข.
  7. ืฆื• ื‘ืึทืฉื˜ื™ืžืขืŸ ื“ื™ ืจื™ื›ื˜ื™ืง ืกื•ืžืข ืคื•ืŸ โ€‹โ€‹ืคืืจืœืื ื’ื˜ ืจืขืกื•ืจืกืŸ / ืžื™ื˜ืœ ืœื™ืžืึทืฅ, ื ื•ืฆืŸ ืžืึทืกืข ื˜ืขืกื˜ื™ื ื’ ืื•ืŸ ืžืึธื ื™ื˜ืึธืจื™ื ื’.

ืื™ืš ื”ืึธืคึฟืŸ ื“ืขื ืึทืจื˜ื™ืงืœ ื”ืขืœืคึผืก ืื™ืจ ืคึฟืึทืจืฉื˜ื™ื™ืŸ ื“ื™ ื’ืจื•ื ื˜ ื‘ืึทื’ืจื™ืฃ ืคื•ืŸ ืžื™ื˜ืœ ื‘ืึทื’ืจืขื ืขืฆื•ื ื’. ืื•ืŸ ืื™ืจ ื•ื•ืขื˜ ืงืขื ืขืŸ ืฆื• ืฆื•ืœื™ื™ื’ืŸ ื“ืขื ื•ื•ื™ืกืŸ ืื™ืŸ ื“ื™ื™ืŸ ืึทืจื‘ืขื˜.

ื’ื•ื˜ ื’ืœื™ืง!

ื•ื•ืึธืก ืึทื ื“ืขืจืฉ ืฆื• ืœื™ื™ืขื ืขืŸ:

  1. SRE ืึธื‘ืกืขืจื•ื•ืึทื‘ื™ืœื™ื˜ื™: ื ืึธืžืขืŸ ืกืคึผื™ื™ืกืึทื– ืื•ืŸ ืžืขื˜ืจื™ืง ืกื˜ืจื•ืงื˜ื•ืจ.
  2. 90+ ื ื•ืฆื™ืง ืžื›ืฉื™ืจื™ื ืคึฟืึทืจ Kubernetes: ื“ื™ืคึผืœื•ื™ืžืึทื ื˜, ืคืึทืจื•ื•ืึทืœื˜ื•ื ื’, ืžืึธื ื™ื˜ืึธืจื™ื ื’, ื–ื™ื›ืขืจื”ื™ื™ื˜ ืื•ืŸ ืžืขืจ.
  3. ืื•ื ื“ื–ืขืจ ืงืึทื ืึทืœ ืึทืจื•ื Kubernetes ืื™ืŸ ื˜ืขืœืขื’ืจืึทื.

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

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’