ืืืขื ืืืจ ืึธื ืืืืื ืืื Kubernetes, ืขืก ืืื ืคึผืจืึธืกื ืฆื ืคืึทืจืืขืกื ืืืขืื ืืึทืฉืืขืืืงื ืงืึทื ืืืื ืขืจ ืจืขืกืืจืกื. ืืื ืืขื ืคืื ื, ืขืก ืืื ืืขื ืื ืฆื ืขื ืฉืืจ ืึทื ืื ืืึธืงืงืขืจ ืืืื ืึทืจืืขื ืืื ืงืขื ืขื ืืืื ืืืคึผืืืื ืฆื ืื Kubernetes ืงื ืืื.
ืึธืืขืจ ืฉืคึผืขืืขืจ ืื ืึทืคึผืืึทืงืืืฉืึทื ืืึทืจืฃ ืืืื ืืืคึผืืืื ืืื ืึท ืคึผืจืึธืืืงืฆืืข ืงื ืืื ืฆืืืืืขื ืืื ืื ืืขืจืข ืึทืคึผืืึทืงืืืฉืึทื ื. ืฆื ืืึธื ืืึธืก, ืืืจ ืืึทืจืคึฟื ืฆื ืึทืืึทืงืืื ืจืขืกืืจืกื ืคึฟืึทืจ ืืขื ืงืึทื ืืืื ืขืจ ืืื ืืึทืื ืืืืขืจ ืึทื ืขืก ืืขื ืขื ืืขื ืื ืคืื ืืื ืฆื ืืึทืงืืืขื ืื ืึทืคึผืืึทืงืืืฉืึทื ืึทืจืืืฃ ืืื ืคืืืกื ืืืง, ืืื ืึทื ืื ืืขืจืข ืคืืืกื ืืืง ืึทืคึผืืึทืงืืืฉืึทื ื ืืืขื ื ืืฉื ืืึธืื ืคึผืจืึธืืืขืืก.
ืงืึธืืขืงืืืื
ืงืึทืืคึผืืืืื ื ืจืขืกืืจืกื
ืืืจ ืืึธืื ืฆืืืื ืืืืคึผืก ืคืื ืจืขืกืืจืกื ืืื ืื ืคืืืืขื ืืข ืื ืืฅ:
- ืืืืคื ืคึผืจืึทืกืขืกืื ื ืึทืคึผืึทืจืึทื (ืงืคึผื) - ืงืึธืจืขืก;
- ืืึผืจืื (ืืขื) - ืืืืขืก.
ืจืขืกืึธืืจืกืขืก ืืขื ืขื ืกืคึผืขืกืืคืืขื ืคึฟืึทืจ ืืขืืขืจ ืงืึทื ืืืื ืขืจ. ืืื ืื ืคืืืืขื ืืข 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 ืงื ืืื ืึผืืื ืฆืืืื ื ืึธืืื: ื ืืื ื. ืืื ืืืจ ืงืขื ืขื ืืขื, kube-scheduler ืงืขื ื ืืฉื ืคึผืืึทื ืึท ืคึผืึธื ืืืืฃ ื ืึธืืข ื - ืื ืื ืืืฆื (ืึทื ืจืืงืืืขืกืืื) ืจืขืกืืจืกื ืืึธื ื ืื ืืืืึทืื ืื ืจืืงืืืขืก ืคืื ืื ืืืืึท ืคึผืึธื. ืึทืืื, ืื 1 ืืืืืืืื ืคืื ืืึผืจืื ืืขืืขืื ืืืจื ืื ืืืืึท ืคึผืึธื ืืืขื ื ืืฉื ืคึผืึทืกืืง ืืืืฃ ื ืึธืืข ื, ืืืืึทื ืื ืื ืืืฆื ืืึผืจืื ืืื 0,5 ืืืืืืืื. ืึธืืขืจ ื ืึธืืข ื ืืื ืืขื ืื ืจืขืกืืจืกื. ืืื ืึท ืจืขืืืืืึทื, ืงืืืข-ืกืงืขืืืฉืืืขืจ ืืืกืืืื ืึทื ืื ืืขืกืืื ืืืฉืึทื ืคืื ืื ืืืืึท ืคึผืึธื ืืื ื ืึธืืข ื.
ืืืฆื ืืืจ ืืืืกื ืืื ืื ืืขืืขืื ืจืขืกืืจืกื ืืืืจืงื ืื ืืจืืจื ืคืื ื ืึธืืข ืฆื ืืืืคื ืื ืคึผืึธื. ืึธืืขืจ ืืืึธืก ืืื ืื ืคึผืจืึทื ืคืื ืืึทืจืืืฉืึทื ืึทื ืจืขืกืืจืกื?
ืื ืืืื ืฉืืขืืจ ืืื ืึท ืืจืขื ืขืฅ ืึทื ืื ืงืคึผื / ืืขื ืงืขื ืขื ื ืืฉื ืงืจืืึทื. ืึธืืขืจ, ืื ืงืคึผื ืืืื ืืื ืคืืขืงืกืึทืืึทื, ืึทืืื ืงืึทื ืืืื ืขืจื ืืืึธืก ืืขืจืืจืืืื ืืืืขืจ ืงืคึผื ืืืืึทืฅ ืืืขื ื ืืฉื ืคืึทืจืฉืึทืคื ืื ืคึผืึธื ืฆื ืึทืจืืืกืืึทื ื. ืึทื ืฉืืึธื, ืงืคึผื ืืขืจืื ืืืขื ืึธื ืืืืื. ืืืื ืื MEM ืืึทื ืืฅ ืืืืื ืืื ืจืืืฉื, ืืขืจ ืงืึทื ืืืื ืขืจ ืืืขื ืืืื ืกืืึทืคึผื ืจืขืื ืฆื OOM-Killer ืืื ืจืืกืืึทืจืืื ืืืื ืขืจืืืืื ืืืจื ืื RestartPolicy ืืึทืฉืืขืืืงื.
ืคืืจืืื ืื ืืื ืืึทืงืกืืืื ืจืขืกืืจืกื ืืื ืืขืืึทื
ืืืื ืงืึธืืื ืืงืึทืฆืืข ืฆืืืืฉื Docker ืืื Kubernetes
ืืขืจ ืืขืกืืขืจ ืืืขื ืฆื ืืขืจืงืืขืจื ืืื ืืืื ืจืืงืืืขืก ืืื ืืืื ืืืืึทืฅ ืึทืจืืขื ืืื ืฆื ืืึทืงืขื ืขื ืื ืฉืืืืืช ืฆืืืืฉื Kubernetes ืืื Docker. ืืื ืื ืืืื ืืืืื ืืืจ ืงืขื ืขื ืืขื ืืื ืื Kubernetes ืคืขืืืขืจ ืืื Docker ืกืืึทืจืืึทืคึผ ืคืืึทืืก ืืขื ืขื ืฉืืึทืืืช.
ืืึผืจืื: ืืขืื ืืื ืืึทืืจืขื ืขืฆืื ื
containers:
...
resources:
requests:
memory: "0.5Gi"
limits:
memory: "1Gi"
ืืื ืืขืจืืื ื ืืืืื, ืืึผืจืื ืืื ืืขืืืกืื ืืื ืืืืขืก. ืืืืืจื ืืืืฃ 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) ืืื ื ืืฉื ืืืื ืขื ืึทื ืืืื ืงืึทื ืืืื ืขืจ ืืืขื ืืึทืงืืืขื ืขืก. ืืืื ืืืื ืืึทืืขืืึธืก ืืึทืฉืื ืืื ืืืืื ืืืื ืืึทืจืฅ ืืื ืืืจ ืืืืคื ืืขืจ ืืื ืืืื ืงืึทื ืืืื ืขืจ, ืึทืืข ืงืึทื ืืืื ืขืจื ืืืื ืืืืื ืื ืื ืืืฆื ืงืคึผื ืฆืืืืฉื ืืื. ืืื ืึทืืื ืืื ืืึธืก ืคึผืึทืกืืจื? ืืื ืก ืงืืง ืืืึท ืื ืืืื.
ืงืคึผื ืืขืื - ืืืื ืงืึธืจ ืกืืกืืขื
ืืื ืก ืืืึทืืืฉืึทื ืึทื ืืืจ ืืึธืื ืึท ืืืื-ืืึทืจืฅ ืืึทืืขืืึธืก ืกืืกืืขื ืคืืืกื ืืืง ืงืึทื ืืืื ืขืจื. ืืึธื (ืงืืืขืจื ืขืืขืก) ืืืืงื ืึท ืคึผืืจืึธื (ืงืคึผื) ืืื ืืืื ืฆื ืืืืื ืขืก ืฆืืืืฉื ืงืื ืืขืจ (ืืึทื ืขืจื). ืืจืื ืงืื ืืขืจ ืืืืื ืึท ืืึทื ืฅ ืคึผืืจืึธื (ืคึผืจืึธืคึผืึธืจืฆืืข = 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% ืคืื ืื ืคืื ืงืขืจื, ื ืืฉื ืืึทืื. ืึธืืขืจ ืื ืืื ืื ืืืขื ืืืื ืึทื ืืขืจืฉ ืืืื ืืืจ ืืึธืื ืึท ืืึทืืื-ืืึทืจืฅ ืกืืกืืขื.
ืงืคึผื ืืขืื - ืืืืื-ืงืึธืจ (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 ืงื ืืื ืืขืืื ื. ืืขืืขืจืืง ืืืืื ืงืึทื ืคืืืืขืจืืืฉืึทื ืืื ืึทืืืืืื ืงืึธืก ืืื ืืืื ืึทืคึผืืึทืงืืืฉืึทื ื ืคืืืกื ืืืง ืืื ืึทืืข ืฆืืื.
ืืื ืงืืจืฅ, ืขืก ืืขื ืขื ืขืืืขืืข ืืืื ืฆื ืืึทืืื ืืื ืืื ืขื:
- ืืขืืขืื ืจืขืกืืจืกื ืืขื ืขื ืึท ืงืึทื ืคืืืืขืจืืืฉืึทื ืืืึธืก ืืื ืืขื ืืืขื ืืื ืืฉืืื ืืื ืกืืึทืจืืึทืคึผ ืฆืืื (ืืืขื Kubernetes ืคึผืืึทื ื ืฆื ืืึทืืขืืึธืก ืื ืึทืคึผืืึทืงืืืฉืึทื). ืืื ืงืึทื ืืจืึทืกื, ืืืืืืื ื ืจืขืกืืจืกื ืืื ืืืืืืืง ืืื ืจืื ืืืืข - ืืืขื ืื ืึทืคึผืืึทืงืืืฉืึทื ืืื ืฉืืื ืคืืืกื ืืืง ืืืืฃ ืื ื ืึธืืข.
- ืงืึทืืคึผืขืจื ืืื ืืึผืจืื, ืื ืงืคึผื ืืื ืึท ืจืขืืืึทืืืืืึทื ืืืื. ืืืื ืขืก ืืื ื ืืฉื ืืขื ืื ืงืคึผื, ืืืื ืคึผืึธื ืืืขื ื ืืฉื ืคืึทืจืืึทืื ืึทืจืึธืคึผ ืืื ืื ืืขืจืื ืืขืงืึทื ืืืึทื ืืืขื ืงืขืจ ืืืืฃ.
- ืืขืืขืื ืจืขืกืืจืกื ืืื ืืืื ืฉืืขืืจ ืืขื ืขื ื ืืฉื ืืื ืืืื ืืื ืืึทืงืกืืืื ืืืึทืืืขืก! ืืืจื ืืืคืืื ืื ื ืื ืืขืืขืื ืจืขืกืืจืกื, ืืืจ ืขื ืฉืืจ ืึทื ืื ืึทืคึผืืึทืงืืืฉืึทื ืืืขื ืืืืคื ืึธื ืคืจืืืืขืืขื.
- ื ืืืืข ืคืืจ ืืื ืฆื ืฉืืขืื ืื ืืึผืจืื ืืขืื ืืืืึทื ืฆื ืื ืืึผืจืื ืฉืืขืืจ.
- ืึธืืงืื ืื ืกืืึทืืืจื ืืขืืขืื
CPU <=1
, ืืืื ืื ืึทืคึผืืึทืงืืืฉืึทื ืืื ื ืืฉื ืืืจืืคืืจื ืงืึธืืคึผืืขืงืก ืืฉืืื ืืช. - ืืืื ืืืจ ืืขืื ืืขืจ ืจืขืกืืจืกื ืืื ืื ืืืฆื ืืืืฃ ืึท ื ืึธืืข, ืื ืคึผืึธื ืืืขื ืงืืื ืืึธื ืืืื ืกืงืขืืืฉืืื ืฆื ืืขื ื ืึธืืข.
- ืฆื ืืึทืฉืืืืขื ืื ืจืืืืืง ืกืืืข ืคืื โโืคืืจืืื ืื ืจืขืกืืจืกื / ืืืื ืืืืึทืฅ, ื ืืฆื ืืึทืกืข ืืขืกืืื ื ืืื ืืึธื ืืืึธืจืื ื.
ืืื ืืึธืคึฟื ืืขื ืึทืจืืืงื ืืขืืคึผืก ืืืจ ืคึฟืึทืจืฉืืืื ืื ืืจืื ื ืืึทืืจืืฃ ืคืื ืืืื ืืึทืืจืขื ืขืฆืื ื. ืืื ืืืจ ืืืขื ืงืขื ืขื ืฆื ืฆืืืืืื ืืขื ืืืืกื ืืื ืืืื ืึทืจืืขื.
ืืื ืืืืง!
ืืืึธืก ืึทื ืืขืจืฉ ืฆื ืืืืขื ืขื:
SRE ืึธืืกืขืจืืืึทืืืืืื: ื ืึธืืขื ืกืคึผืืืกืึทื ืืื ืืขืืจืืง ืกืืจืืงืืืจ .90+ ื ืืฆืืง ืืืฉืืจืื ืคึฟืึทืจ Kubernetes: ืืืคึผืืืืืึทื ื, ืคืึทืจืืืึทืืืื ื, ืืึธื ืืืึธืจืื ื, ืืืืขืจืืืื ืืื ืืขืจ .ืืื ืืืขืจ ืงืึทื ืึทื ืึทืจืื Kubernetes ืืื ืืขืืขืืจืึทื .
ืืงืืจ: www.habr.com