ื ืืืืฅ. ืืจืึทื ืกื.: ืื ืืืื-ืขืคื ืืขืฉืืืืข ืคืื โโOmio - ืึทื ืืืืจืืคืขืืฉืขืจ ืจืืืืข ืึทืืืจืขืืึทืืึธืจ - ื ืขืื ืืืืขื ืขืจ ืคืื ืืงืขืจืืืง ืืขืึธืจืืข ืฆื ืื ืคืึทืกืึทื ืืืืื ื ืคึผืจืึทืงืืืฉ ืื ืืจืึทืงืึทืกืื ืคืื ืงืืืขืจื ืขืืขืก ืงืึทื ืคืืืืขืจืืืฉืึทื. ืคืึทืืืืืขืจืึทืื ืืื ืึทืืึท ืงืึทืกืขืก ืืขืืคึผืก ื ืื ืืืืื ืืจืึธืืึทื ืืืื ืืขืจืืืืึทื, ืึธืืขืจ ืืืื ืคืึทืจืืืึทืื ื ืื-ื ืืืืืืึทื ืคึผืจืึธืืืขืืก.
ืืึธืื ืืืจ ืืืฅ ืืขืืื ืึท ืึทืคึผืืึทืงืืืฉืึทื ืกืืึทืง ืืื ืคึผืืึทืฅ, ืืึทืืื ืจืืกืคึผืึทื ืืื ื ืฆื ืืขืืื ื ืืฉืขืงืก, ืืื ื ืืฉื ืงืขื ืขื ืฆื ืืขืคึฟืื ืขื ืืืืก ืืืึธืก? ืืืื ืืขืืืขื ืืขืจืงืืขืจืื ื ืืื ืฉืืื ืฆื ืงืคึผื ืืืื ืงืืืึธืืข ืืืืึทืฅ. ืืึธืก ืืื ืืืึธืก ืืืจ ืืืขืื ืจืขืื ืืืขืื ืืื ืืขื ืึทืจืืืงื.
ืื; ืืจ:
ืืืจ ืจืขืงืึธืืขื ืืืจื ืฉืืืจืง ืืืกืืืืึทื ืงืคึผื ืืืืึทืฅ ืืื Kubernetes (ืึธืืขืจ ืืืกืืืืึทื CFS ืงืืืึธืืขืก ืืื Kubelet) ืืืื ืืืจ ื ืืฆื ืึท ืืืขืจืกืืข ืคืื โโโโืื ืืื ืืงืก ืงืขืจื ืืื ืึท CFS ืงืืืึธืืข ืืฉืืง. ืืื ืื ืืึทืจืฅ
ืืื Omio ืื ืืื ืฆืข ืื ืคืจืึทืกืืจืึทืงืืฉืขืจ ืืื ืืขืจืืื ืืืจื Kubernetes. ืึทืืข ืืื ืืืขืจ ืกืืืืืคืึทื ืืื ืกืืืืืืึทืก ืืืขืจืงืืึธืืื ืืืืคื ืืืืกืฉืืืกืืขื ืืืืฃ Kubernetes (ืืืจ ื ืืฆื Google Kubernetes Engine). ืืื ืื ืืขืฆืืข ืืขืงืก ืืืฉืื, ืืืจ ืื ืืขืืืืื ืฆื ืึธืืกืขืจืืืืจื ืืจืึทืค - ืกืืึธืืืึทืื ื. ืึทืคึผืคึผืืืงืึทืืืึธื ืก ืคืจืืจื ืึธืืขืจ ืืึทืืื ืจืืกืคึผืึทื ืืื ื ืฆื ืืขืืื ื ืืฉืขืงืก, ืคืึทืจืืืจื ืงืฉืจ ืฆื ืื ื ืขืฅ, ืขืืง. ืืึธืก ืึธืคึผืคืืจืื ื ืืึธื ืืื ืื ืืึทื ื ืคึผืึทืืึทืื, ืืื ืืขืกืึธืฃ ืืืจ ืืึทืฉืืึธืกื ืฆื ื ืขืืขื ืืขื ืคึผืจืึธืืืขื ืขืืขืก.
ืงืืฆืขืจ ืคืื ืืขื ืึทืจืืืงื:
- ืขืืืขืืข ืืืขืจืืขืจ ืืืขืื ืงืึทื ืืืื ืขืจื ืืื ืงืืืขืจื ืขืืขืก;
- ืืื ืงืคึผื ืจืืงืืืขืก ืืื ืืืืึทืฅ ืืขื ืขื ืืืคึผืืึทืืขื ืึทื;
- ืืื ืงืคึผื ืฉืืขืืจ ืึทืจืืขื ืืื ืืึทืืื-ืืึทืจืฅ ืื ืืืืืจืึทื ืืึทื ืฅ;
- ืืื ืฆื ืฉืคึผืืจ ืงืคึผื ืืขืจืื;
- ืคึผืจืึธืืืขื ืืืืืื ื ืืื ื ืืึทื ืกืื.
ืขืืืขืืข ืืืขืจืืขืจ ืืืขืื ืงืึทื ืืืื ืขืจื ืืื ืงืืืขืจื ืขืืขืก
Kubernetes ืืื ืืืืกืืงืื ืื ืืึธืืขืจื ืกืืึทื ืืึทืจื ืืื ืื ืื ืคืจืึทืกืืจืึทืงืืฉืขืจ ืืืขืื. ืืืึทื ืืืืคึผื ืึทืจืืขื ืืื ืงืึทื ืืืื ืขืจ ืึธืจืงืขืกืืจืึทืืืึธื.
ืงืึทื ืืืื ืขืจื
ืืื ืืขืจ ืคืึทืจืืึทื ืืขื ืืืื, ืืืจ ืืึธืื ืฆื ืฉืึทืคึฟื ืึทืจืืึทืคืึทืงืฅ ืืื Java JARs / WARs, Python Eggs ืึธืืขืจ ืขืงืกืขืงืืืึทืืืขืก ืฆื ืืืืคื ืืืืฃ ืกืขืจืืืขืจืก. ืึธืืขืจ, ืฆื ืืึทืื ืืื ืคืื ืงืฆืืึธื ืืจื, ื ืึธื ืึทืจืืขื ืืื ืฆื ืืืื ืืขืืื: ืื ืกืืึธืืื ื ืื ืจืื ืืืืข ืกืืืืืืข (ืืืฉืึทืืืึท / ืคึผืืืืึธื), ืคึผืืืืกืื ื ืื ื ืืืืืง ืืขืงืขืก ืืื ืื ืจืขืื ืขืจืืขืจ, ืื ืฉืืจืื ื ืงืึทืืคึผืึทืืึทืืืืึทืื ืืื ืึท ืกืคึผืขืฆืืคืืฉ ืืืขืจืกืืข ืคืื โโืื ืึธืคึผืขืจืืืืื ื ืกืืกืืขื, ืืื"ื ื. ืืื ืื ืืขืจืข ืืืขืจืืขืจ, ืึธืคึผืืขืืื ืืคืืขืจืงืืึทืืงืืื ืืื ืฆื ืืืื ืืึทืฆืึธืื ืฆื ืงืึทื ืคืืืืขืจืืืฉืึทื ืคืึทืจืืืึทืืืื ื (ืืืึธืก ืืื ืึธืคื ืึท ืืงืืจ ืคืื ืงืึทื ืืขื ืฉืึทื ืฆืืืืฉื ืืขืืืขืืึธืคึผืขืจืก ืืื ืกืืกืืขื ืึทืืืื ืืกืืจืึทืืึธืจืก).
ืงืึทื ืืืื ืขืจื ืืขืืืื ืึทืืฅ. ืืืฆื ืื ืึทืจืืึทืคืึทืงื ืืื ืึท ืงืึทื ืืืื ืขืจ ืืืื. ืขืก ืงืขื ืขื ืืืื ืจืขืคึผืจืืืขื ืืื ืืื ืึท ืืื ืคืื ืขืงืกืืขื ืืขื ืขืงืกืขืงืืืึทืืืข ืืขืงืข ืืื ื ืื ืืืืื ืื ืคึผืจืึธืืจืึทื, ืึธืืขืจ ืืืื ืึท ืคืื-ืคืืขืืืฉื ืืืจืืคืืจืื ื ืกืืืืืืข (ืืืฉืึทืืืึท / ืคึผืืืืึธื / ...), ืืื ืืขืืื ื ืืื ืื ื ืืืืืง ืืขืงืขืก / ืคึผืึทืงืึทืืืฉืึทื, ืคืึทืจ-ืืื ืกืืึทืืืจื ืืื ืืจืืื ืฆื ืืืืคื. ืงืึทื ืืืื ืขืจื ืงืขื ืขื ืืืื ืืืคึผืืืื ืืื ืืืืคื ืืืืฃ ืคืึทืจืฉืืืขื ืข ืกืขืจืืืขืจืก ืึธื ื ืึธื ืกืืขืคึผืก.
ืืื ืึทืืืฉืึทื, ืงืึทื ืืืื ืขืจื ืึทืจืืขืื ืืื ืืืืขืจ ืืืืืขื ืข ืืึทืืืงืึทืกืื ืกืืืืืืข. ืืื ืืึธืื ืืืืขืจ ืืืืืขื ืข ืืืืจืืืึทื ื ืขืฅ ืึทืืึทืคึผืืขืจ, ืืืืขืจ ืืืืืขื ืข ืืขืงืข ืกืืกืืขื ืืื ืืืืืืขื ืึทืงืกืขืก, ืืืืขืจ ืืืืืขื ืข ืืืืขืจืึทืจืงื ืคืื ืคึผืจืึทืกืขืกืึทื, ืืืืขืจ ืืืืืขื ืข ืืืืืืืืฉืึทื ื ืืืืฃ ืงืคึผื ืืื ืืึผืจืื, ืืื"ื ื. ืึทืืข ืืขื ืืื ืืืคึผืืึทืืขื ืึทื ืืึทื ืง ืฆื ืึท ืกืคึผืขืฆืืขื ืกืืืกืืกืืขื ืคืื ืื ืืื ืืงืก ืงืขืจื - ื ืึทืืขืกืคึผืึทืกืขืก.
Kubernetes
ืืื ืืขืืึธืื ืคืจืืขืจ, ืงืืืขืจื ืขืืขืก ืืื ืึท ืงืึทื ืืืื ืขืจ ืึธืจืงืขืกืืจืึทืืึธืจ. ืขืก ืึทืจืืขื ืืื ืืึธืก: ืืืจ ืืขืื ืขืก ืึท ืืขืงื ืคืื ืืืฉืื ืขื, ืืื ืืขืืึธืื ืืึธืื: "ืืื, ืงืืืขืจื ืขืืขืก, ืืึธืื ืืื ืื ืงืึทืืขืจ ืฆืขื ืื ืกืืึทื ืกืื ืคืื ืืืื ืงืึทื ืืืื ืขืจ ืืื 2 ืคึผืจืึทืกืขืกืขืจื ืืื 3 ืืืืืืืื ืคืื ืืึผืจืื ืืขืืขืจ, ืืื ืืึทืืื ืืื ืคืืืกื ืืืง!" Kubernetes ืืืขื ื ืขืืขื ืงืขืืจ ืคืื ืื ืื ืืื. ืขืก ืืืขื ืืขืคึฟืื ืขื ืคืจืื ืงืึทืคึผืึทืฆืืืขื, ืงืึทืืขืจ ืงืึทื ืืืื ืขืจื ืืื ืจืืกืืึทืจื ืืื ืืืื ื ืืืืืง, ืจืึธืืื ืึท ืืขืจืืืึทื ืืืงื ืืืขื ืืฉืึทื ืืื ื ืืืขืจืกืืขืก, ืขืืง. ืืกืขื ืฉืึทืื, Kubernetes ืึทืืึทืื ืืืจ ืฆื ืึทืืกืืจืึทืงื ืึทืืืขืง ืื ืืึทืื ืืืึทืจื ืงืึธืืคึผืึธื ืขื ื ืืื ืืืื ืึท ืืจืืื ืคืึทืจืฉืืืื ืงืืึทื ืคืื ืกืืกืืขืืขื ืคึผืึทืกืืง ืคึฟืึทืจ ืืืคึผืืืืื ื ืืื ืคืืืกื ืืืง ืึทืคึผืืึทืงืืืฉืึทื ื.
ืงืืืขืจื ืขืืขืก ืคืื ืืขื ืฉืืื ืืคืื ืงื ืคืื ืืขื ืืืืืื
ืืืึธืก ืืขื ืขื ืจืืงืืืขืก ืืื ืืืืึทืฅ ืืื Kubernetes
ืึธืืงืื, ืืืจ ืืึธืื ืืืืขืงื ืงืึทื ืืืื ืขืจื ืืื ืงืืืขืจื ืขืืขืก. ืืืจ ืืืื ืืืืกื ืึทื ืงืืืคื ืงืึทื ืืืื ืขืจื ืงืขื ืขื ืืืืื ืขื ืืืืฃ ืืขืจ ืืขืืืืงืขืจ ืืึทืฉืื.
ืึทื ืึทื ืึทืืึทืืืฉื ืงืขื ืขื ืืืื ืฆืืขื ืืื ืึท ืืื ืืืืื ืื ื. ื ืจืึทืืืืขืกืืืง ืืึธืงืึทื (ืืึทืฉืื / ืื ืืฅ) ืืื ืืขื ืืืขื ืืื ืจืขื ืืึทื ืฆื ืขืืืขืืข ืืขื ืึทื ืฅ (ืงืึธื ืืึทืื ืก). Kubernetes ืึทืงื ืืื ืึท ืจืืึทืืืขืจ. ืื ืงืฉืื ืขืจืืืืึทื, ืืื ืฆื ืืึทืืื ืืขื ืึทื ืฅ ืคืื ืงืึธื ืคืืืงื ืืื ืืขืืขืจ ืื ืืขืจืขืจ? ืืืึธืก ืืืื ืืืื ืขืจ ืคืื ืืื, ืืึธืื, ืืึทืฉืืึธืกื ืฆื ืืึธืจืื ืื ืงืืึธืืขื ืคึฟืึทืจ ืืึทืื ืคืื ืื ืืึธื?
ืืึธืก ืืื ืืื ืจืืงืืืขืก ืืื ืืืืึทืฅ ืงืืืขื ืืื ืฉืคึผืื. ืงืคึผื ืืขืื ืืืจืฃ ืืืืื ืคึฟืึทืจ ืคึผืืึทื ืืจืื ื ืฆืืืขืงื. ืืึธืก ืืื ืขืคึผืขืก ืืื ืึท "ืืืืฉ ืจืฉืืื" ืคืื ืืขื ืงืึทื ืืืื ืขืจ, ืืื ืขืก ืืื ืืขื ืืฆื ืฆื ืืืืกืงืืืึทืื ืื ืืขืจืกื ืคึผืึทืกืืง ื ืึธืืข. ืืื ืืขืจ ืืขืืืืงืขืจ ืฆืืึทื ืื ืงืคึผื ืืึทืืจืขื ืขืฆื ืงืขื ืขื ืืืื ืงืึทืืคึผืขืจื ืฆื ืึท ืคึผืจืึธืงืึทื ืืขืกืงืขื - ืืื ืืึทืื ืืื ืืืจ ืืืืกืงืืืึทืื ืึท ืึทืคึผืึทืจืึทื ืคึฟืึทืจ ืืขื ืงืึทื ืืืื ืขืจ, ืื ืงืขื ืขื ื ืืฉื ืืืื ืืืืึทืืขืจ ืคืื ืืขืืจืื ืืขื ืืืืึทืฅ. ืืื ืืึธืก ืืื ืืื ืื ืคึผืจืึธืืืขื ืขืจืืืืึทื ...
ืืื ืจืืงืืืขืก ืืื ืืืืึทืฅ ืืขื ืขื ืืืคึผืืึทืืขื ืึทื ืืื Kubernetes
Kubernetes ื ืืฆื ืึท ืืขืจืื ืืขืงืึทื ืืืึทื (ืกืงืืคึผืื ื ืืืืืขืจ ืกืืืงืึทืื) ืืขืืืื ืืื ืื ืงืขืจื ืฆื ืื ืกืืจืืืขื ื ืงืคึผื ืืืืึทืฅ. ืืืื ืึท ืึทืคึผืืึทืงืืืฉืึทื ืืงืกืืื ืื ืฉืืขืืจ, ืืขืจืื ืืื ืขื ืืืืึทืื (ื"ื ืขืก ื ืขืื ืืืืื ืืงืขืจืข ืงืคึผื ืกืืืงืึทืื). ืจืืงืืืขืก ืืื ืืืืึทืฅ ืคึฟืึทืจ ืืึผืจืื ืืขื ืขื ืึธืจืืึทื ืืืืจื ืืืคืขืจืขื ืืื, ืึทืืื ืืื ืืขื ืขื ืืจืื ืืขืจ ืฆื ืืขืืขืงื. ืฆื ืืึธื ืืึธืก, ื ืึธืจ ืงืึธื ืืจืึธืืืจื ืื ืืขืฆืืข ืจืืกืืึทืจื ืกืืึทืืืก ืคืื ืื ืคึผืึธื: ืฆื ืขืก ืืื "OOMKilled". ืงืคึผื ืืขืจืื ืืื ื ืืฉื ืึทืืื ืคึผืฉืื, ืืืืึทื K8s ืืืืื ืืืื ืืขืืจืืงืก ืื ืืืฆื ืืืจื ืืึทื ืืฅ, ื ืืฉื ืืืจื ืงืืจืืคึผืก.
ืงืคึผื ืืขืื
ืืื ืงืคึผื ืืขืื ืืื ืืืคึผืืึทืืขื ืึทื
ืคึฟืึทืจ ืคึผืึทืฉืืขืก, ืืึธืื ืก ืงืืง ืืื ืืขื ืคึผืจืึธืฆืขืก ืืื ืึท ืืึทืฉืื ืืื ืึท 4-ืืึทืจืฅ ืงืคึผื ืืื ืึท ืืืึทืฉืคึผืื.
K8s ื ืืฆื ืึท ืงืึธื ืืจืึธื ืืจืืคึผืข ืืขืงืึทื ืืืึทื (ืงืืจืืคึผืก) ืฆื ืงืึธื ืืจืึธืืืจื ืื ืึทืืึทืงืืืฉืึทื ืคืื ืจืขืกืืจืกื (ืืืงืึธืจื ืืื ืคึผืจืึทืกืขืกืขืจ). ื ืืืืขืจืึทืจืงืึทืงืึทื ืืึธืืขื ืืื ืื ืืืฆื ืคึฟืึทืจ ืืื: ืืขืจ ืงืื ื ืื ืืขืจืึทืฅ ืื ืืืืึทืฅ ืคืื ืื ืคืึธืืขืจ ืืจืืคึผืข. ืื ืคืึทืจืฉืคึผืจืืืืื ื ืืขืืึทืืืก ืืขื ืขื ืกืืึธืจื ืืื ืึท ืืืืจืืืึทื ืืขืงืข ืกืืกืืขื (/sys/fs/cgroup
). ืืื ืืขื ืคืึทื ืคืื ืึท ืคึผืจืึทืกืขืกืขืจ ืืึธืก ืืื /sys/fs/cgroup/cpu,cpuacct/*
.
K8s ื ืืฆื ืืขืงืข cpu.share
ืฆื ืึทืืึทืงืืื ืคึผืจืึทืกืขืกืขืจ ืจืขืกืืจืกื. ืืื ืืื ืืืขืจ ืคืึทื, ืื ืืืึธืจืฆื ืงืืจืืคึผืข ืืขืฅ 4096 ืฉืึทืจืขืก ืคืื ืงืคึผื ืจืขืกืืจืกื - 100% ืคืื ืื ืื ืืืฆื ืคึผืจืึทืกืขืกืขืจ ืืึทืื (1 ืืึทืจืฅ = 1024; ืืึธืก ืืื ืึท ืคืึทืจืคืขืกืืืงื ืืืขืจื). ืื ืืืึธืจืฆื ืืจืืคึผืข ืืืกืืจืืืืืฅ ืจืขืกืืจืกื ืคึผืจืึทืคึผืึธืจืฉื ืึทืื ืืืคึผืขื ืืื ื ืืืืฃ ืื ืฉืึทืจืขืก ืคืื ืงืื ืืกืงืื ืืขืจ ืจืขืืืกืืจืืจื ืืื cpu.share
, ืื ื ื ืฒ ืืืืข ื ืื ืก ืืขืื ืข ืื ื ืืฒืขืจ ืข ืงืื ืืข ืจ ืืื . ืืืืฃ ืึท ืืืคึผืืฉ Kubernetes ื ืึธืืข, ืื ืืืึธืจืฆื ืงืืจืืคึผืข ืืื ืืจืื ืงืื ืืขืจ: system.slice
, user.slice
ะธ kubepods
. ืื ืขืจืฉืืข ืฆืืืื ืกืึทืืืจืืคึผืก ืืขื ืขื ืืขื ืืฆื ืฆื ืคืึทืจืฉืคึผืจืืืื ืจืขืกืืจืกื ืฆืืืืฉื ืงืจืืืืฉ ืกืืกืืขื ืืึธืืื ืืื ืืึทื ืืฆืขืจ ืืืืื ืึทืจืืืก ืคืื K8s. ืืขืจ ืืขืฆืืขืจ - kubepods
- ืืืฉืืคื ืืืจื Kubernetes ืฆื ืคืึทืจืฉืคึผืจืืืื ืจืขืกืืจืกื ืฆืืืืฉื ืคึผืึธืืก.
ืื ืืืึทืืจืึทืืข ืืืืื ืืืืืื ืึทื ืืขืจ ืขืจืฉืืขืจ ืืื ืจืืข ืกืึทืืืจืืคึผืก ืืืงืืืขื ืืขืืขืจ 1024 ืฉืึทืจืขืก, ืืื ืื ืงืืืขืจืคึผืึธื ืกืึทืืืจืืคึผืข ืึทืืึทืงืืืืื 4096 ืฉืึทืจืขืก ืืื ืืื ืืึธืก ืืขืืืขื: ื ืึธื ืึทืืข, ืืขืจ ืืืึธืจืฆื ืืจืืคึผืข ืืื ืฆืืืจืื ืฆื ืืืืื 4096 ืฉืึทืจืขืก, ืืื ืื ืกืึทืืึทืงื ืคืื ืื ืฉืึทืจืขืก ืคืื ืืืจ ืงืื ืืกืงืื ืืขืจ ืืื ืืืืืืืืง ืืงืกืืื ืื ื ืืืขืจ (6144)? ืื ืคืื ื ืืื ืึทื ืื ืืืขืจื ืืืื ืืึทืืืฉืืงืึทื ืืื ืขื, ืึทืืื ืื ืืื ืืงืก ืกืงืขืืืฉืืืขืจ (CFS) ื ืืฆื ืขืก ืฆื ืคึผืจืึทืคึผืึธืจืฉื ืึทืื ืึทืืึทืงืืื ืงืคึผื ืจืขืกืืจืกื. ืืื ืืื ืืืขืจ ืคืึทื, ืื ืขืจืฉืืขืจ ืฆืืืื ืืจืืคึผืขืก ืืึทืงืืืขื 680 ืคืึทืงืืืฉ ืฉืึทืจืขืก (16,6% ืคืื 4096), ืืื ืงืืืขืคึผืึธื ื ืขืื ืื ืจืืขื 2736 ืฉืึทืจืขืก ืืื ืคืึทื ืคืื ืืึทืื ืืืื, ืื ืขืจืฉืืข ืฆืืืื ืืจืืคึผืขืก ืืืขืื ื ืืฉื ื ืืฆื ืื ืึทืืึทืงืืืืื ืจืขืกืืจืกื.
ืฆืื ืืืืง, ืื ืกืงืขืืืฉืืืขืจ ืืื ืึท ืืขืงืึทื ืืืึทื ืฆื ืืืกืืืืื ืืืืืกืืื ื ืึทื ืืืื ืงืคึผื ืจืขืกืืจืกื. ืขืก ืืจืึทื ืกืคืขืจืก "ืืืืืืง" ืงืึทืคึผืึทืฆืืืขื ืฆื ืึท ืืืืืืืข ืืขืงื, ืคึฟืื ืืืึธืก ืขืก ืืื ืคืื ืื ืืขืจืืขืืืืื ืฆื ืืจืืคึผืขืก ืืืึธืก ืืึทืจืคึฟื ื ืึธื ืคึผืจืึทืกืขืกืขืจ ืืึทืื (ืื ืึทืจืืืขืจืคืืจื ืึทืงืขืจื ืืื ืืึทืืฉืึทื ืฆื ืืืกืืืืื ืจืึทืื ืืื ื ืืึธืกืกืขืก). ืึทื ืขื ืืขืื ืืืคึฟื ืืื ืืขืืืขื ืื ืฆื ืึทืืข ืงืื ืืกืงืื ืืขืจ ืคืื ืงืื ืืกืงืื ืืขืจ.
ืืขืจ ืืขืงืึทื ืืืึทื ืื ืฉืืจื ืึท ืฉืืื ืคืึทืจืฉืคึผืจืืืืื ื ืคืื ืคึผืจืึทืกืขืกืขืจ ืืึทืื ืืื ืื ืฉืืจื ืึทื ืงืืื ืืืื ืขืจ ืคึผืจืึธืฆืขืก "ืกืืืืื" ืจืขืกืืจืกื ืคืื ืื ืืขืจืข.
ืงืคึผื ืืืืื
ืืจืึธืฅ ืืขืจ ืคืึทืงื ืึทื ืื ืงืึทื ืคืืืืขืจืืืฉืึทื ื ืคืื ืืืืึทืฅ ืืื ืจืืงืืืขืก ืืื K8s ืงืืงื ืขื ืืขื, ืืืืขืจ ืืืคึผืืึทืืขื ืืืืฉืึทื ืืื ืจืึทืืืงืึทืืื ืึทื ืืขืจืฉ: ืืึธืก ืืขืจืกื ืืืกืืืืื ื ืืื ืืขืจ ืงืืขื ืกืืขืจ ืืึทืงืืึทืืขื ืืึทื ืืืื.
ืง8ืก ืขื ืืืืื cfs_period_us
ะธ cfs_quota_us
ืืื ืื cgroup ืืืขืืืืืึทืืขืจ (ืืขืจ ืืขืงืข ืืื ืืืื ืืืื ืืึธืจื cpu.share
).
ื ืื ืขื ืืขื cpu.share
, ืื ืงืืืึธืืข ืืื ืืืืืจื ืืืืฃ ืฆืืื ืคืื ืฆืืื, ืืื ื ืืฉื ืืืืฃ ืื ืื ืืืฆื ืคึผืจืึทืกืขืกืขืจ ืืึทืื. cfs_period_us
ืกืคึผืขืฆืืคืืฆืืจื ืื ืืขืืืืขืจ ืคืื ืืขืจ ืฆืืื (ืขืคึผืึธืืข) - ืขืก ืืื ืฉืืขื ืืืง 100000 ฮผs (100 ืืก). ืขืก ืืื ืึทื ืึธืคึผืฆืืข ืฆื ืืืืฉื ืืขื ืืืขืจื ืืื K8s, ืึธืืขืจ ืขืก ืืื ืืืืื ืื ืืืฆื ืืื ืึทืืฃ ืคึฟืึทืจ ืืืฆื. ืื ืกืงืขืืืฉืืืขืจ ื ืืฆื ืื ืขืคึผืึธืก ืฆื ืจืืกืืึทืจื ืืขืืืืื ื ืงืืืึธืืึทืก. ืฆืืืืืืข ืืขืงืข cfs_quota_us
, ืกืคึผืขืฆืืคืืฆืืจื ืื ืคืึทืจืึทื ืขื ืฆืืื (ืงืืืึธืืข) ืืื ืืขืืขืจ ืขืคึผืึธืก. ืืึทืืขืจืงืื ื ืึทื ืขืก ืืื ืืืื ืกืคึผืขืกืืคืืขื ืืื ืืืงืจืึธืกืขืงืึธื ืืก. ืื ืงืืืึธืืข ืงืขื ืืงืกืื ืื ืขืคึผืึธืืข ืืขื ื; ืืื ืื ืืขืจืข ืืืขืจืืขืจ, ืขืก ืงืขื ืืืื ืืขืจ ืืื 100 ืืื.
ืืึธืืืจ ืงืืงื ืืื ืฆืืืื ืกืื ืขืจืืึธืื ืืืืฃ 16-ืืึทืจืฅ ืืืฉืื ืขื (ืื ืืขืจืกื ืคึผืจืึธืกื ืืืคึผ ืคืื ืงืึธืืคึผืืืืขืจ ืืืจ ืืึธืื ืืื Omio):
ืกืฆืขื ืึทืจ 1: 2 ืคึฟืขืืขื ืืื ืึท ืฉืืขืืจ ืคืื 200 ืืื. ืงืืื ืืขืจืื
ืกืฆืขื ืึทืจ 2: 10 ืคึฟืขืืขื ืืื 200 ืืื ืฉืืขืืจ. ืืขืจืื ืืืืื ื ืึธื 20 ืืื, ืึทืงืกืขืก ืฆื ืคึผืจืึทืกืขืกืขืจ ืจืขืกืืจืกื ืืื ืจืืืืื ื ืึธื 80 ืืื
ืืื ืก ืืึธืื ืืืจ ืฉืืขืื ืื ืงืคึผื ืฉืืขืืจ ืฆื 2 ืงืขืจื ืึทืื; Kubernetes ืืืขื ืืืืขืจืืขืฆื ืืขื ืืืขืจื ืฆื 200 ืืื. ืืขื ืืืื ืึทื ืืขืจ ืงืึทื ืืืื ืขืจ ืงืขื ืขื ื ืืฆื ืึท ืืึทืงืกืืืื ืคืื 200ms ืคืื ืงืคึผื ืฆืืื ืึธื ืืขืจืื.
ืืื ืืึธืก ืืื ืืื ืื ืฉืคึผืึทืก ืืืืื. ืืื ืืขืจืืื ื ืืืืื, ืื ืื ืืืฆื ืงืืืึธืืข ืืื 200 ืืื. ืืืื ืืืจ ืึทืจืืขื ืืื ืคึผืึทืจืึทืืขื ืฆืขื ืคึฟืขืืขื ืืืืฃ ืึท 12-ืืึทืจืฅ ืืึทืฉืื (ืืขื ืืขืืขื ืคึฟืึทืจ ืกืฆืขื ืึทืจ 2), ืืฉืขืช ืึทืืข ืื ืืขืจืข ืคึผืึธืืก ืืขื ืขื ืืืืืืง, ืื ืงืืืึธืืข ืืืขื ืืืื ืืืกืืขืืึทืืขืจื ืืื ืืืืื 20 ืืื (ืืื ื 10 * 20 ืืื = 200 ืืื), ืืื ืึทืืข ืคึฟืขืืขื ืคืื ืืขื ืคึผืึธื ืืืขื ืืขื ืืขื ยป (ืืขืจืื) ืคึฟืึทืจ ืื ืืืืึทืืขืจ 80 ืืื. ืื ืฉืืื ืืขืจืืื ื
ืืื ืฆื ืึธืคึผืฉืึทืฆื ืืขืจืื ืืื ืคึผืึธืืก?
ื ืึธืจ ืืึธืืื ืฆื ืื ืคึผืึธื ืืื ืืืกืคืืจื cat /sys/fs/cgroup/cpu/cpu.stat
.
-
nr_periods
- ืื ืืึทื ืฅ ื ืืืขืจ ืคืื ืกืงืขืืืฉืืืขืจ ืคึผืืจืืึทืื; -
nr_throttled
- ื ืืืขืจ ืคืื ืืจืึธืืืขื ืคึผืืจืืึทืื ืืื ืืขื ืืึทืฅnr_periods
; -
throttled_time
- ืงืืืืืึทืืึทืืืื ืืขืจืื ืฆืืื ืืื ื ืึทื ืึธืกืขืงืึธื ืืก.
ืืืึธืก ืืื ืืึทืงืข ืืขืืื ืืขื ืืืืฃ?
ืืื ืึท ืจืขืืืืืึทื, ืืืจ ืืึทืงืืืขื ืืืื ืืขืจืื ืืื ืึทืืข ืึทืคึผืืึทืงืืืฉืึทื ื. ืืื ืขืจ ืืื ืืื ืืืื ืืื ืึท ืืึทืื ืืื ืฉืืืจืงืขืจ ืืื ืืขืจืขืื ื!
ืืึธืก ืคืืจื ืฆื ืคืึทืจืฉืืื ืขืจืจืึธืจืก - ืคืืืืืขืจื ืคืื ืืจืืืืงืืึทื ืืฉืขืง, ืคืจืืืื ืคืื ืงืึทื ืืืื ืขืจื, ืืจืืืงืก ืคืื ื ืขืฅ ืงืฉืจ, ืืืืืึทืืฅ ืืื ืกืขืจืืืืก ืงืึทืืืก. ืืึธืก ืืขืกืึธืฃ ืจืขืืืืืืื ืืื ืืขืืืืงืกื ืืืืืึทื ืกื ืืื ืืขืืขืจ ืืขืืช ืจืึทืืขืก.
ืืึทืฉืืืก ืืื ืคืืืื
ืึทืืฅ ืืื ืคึผืฉืื ืืึธ. ืืืจ ืคืืจืืืื ืงืคึผื ืืืืึทืฅ ืืื ืกืืึทืจืืขื ืึทืคึผืืืืืื ื ืื ืึทืก ืงืขืจื ืืื ืงืืึทืกืืขืจื ืฆื ืื ืืขืฆืืข ืืืขืจืกืืข, ืืื ืืืึธืก ืื ืืฉืืง ืืื ืืขืืืขื ืคืึทืจืคืขืกืืืงื. ืื ื ืืืขืจ ืคืื ืขืจืจืึธืจืก (HTTP 5xx) ืืื ืืื ืืืขืจ ืืึทืืื ืื ืืก ืืืืื ืืจืึทืคึผื ืืืืืืืืง:
ืืืืคึผ 5ืงืกืงืก ืขืจืจืึธืจืก
ืืืืคึผ 5ืงืกืงืก ืขืจืจืึธืจืก ืคึฟืึทืจ ืืืื ืงืจืืืืฉ ืืื ืกื
ืขื ืืคืขืจ ืฆืืื ืคึผ95
ืงืจืืืืง ืกืขืจืืืืก ืืขืื ืืืืืึทื ืกื, 95 ืคึผืจืึธืฆืขื ืืื
ืึทืคึผืขืจืืืืื ื ืงืึธืก
ื ืืืขืจ ืคืื ืืืึทืฉืคึผืื ืฉืขื ืคืืจืืจืืื
ืืืึธืก ืืื ืืขืจ ืืึทืคึผื?
ืืื ืกืืืืืื ืืื ืื ืึธื ืืืื ืคืื ืืขื ืึทืจืืืงื:
ืึทื ืึทื ืึทืืึทืืืฉื ืงืขื ืขื ืืืื ืฆืืขื ืืื ืึท ืืื ืืืืื ืื ื ... ืงืืืขืจื ืขืืขืก ืึทืงื ืืื ืึท ืจืืึทืืืขืจ. ืึธืืขืจ ืืื ืฆื ืืึทืืื ืืขื ืึทื ืฅ ืคืื ืงืึธื ืคืืืงื ืืื ืืขืืขืจ ืื ืืขืจืขืจ? ืืืึธืก ืืืื ืืืื ืขืจ ืคืื ืืื, ืืึธืื, ืืึทืฉืืึธืกื ืฆื ืืึธืจืื ืื ืงืืึธืืขื ืคึฟืึทืจ ืืึทืื ืคืื ืื ืืึธื?
ืืึธ ืก ืื ืืึทืคึผื. ืืืื ืึธืคึผืืขืืึธืื ืงืึทื ืืืื ืขืจ ืงืขื ืขื ืขืกื ืึทืืข ืื ืื ืืืฆื ืงืคึผื ืจืขืกืืจืกื ืืืืฃ ืึท ืืึทืฉืื. ืืืื ืืืจ ืืึธืื ืึท ืงืืื ืึทืคึผืืึทืงืืืฉืึทื ืึธื ืืืืื (ืืืฉื, JVM, Go, Node VM ืืขื ืขื ืจืขืื ืงืึทื ืคืืืืขืจื), ืืึธืก ืืื ื ืืฉื ืึท ืคึผืจืึธืืืขื: ืืืจ ืงืขื ืขื ืึทืจืืขืื ืืื ืึทืืึท ืื ืึธืื ืคึฟืึทืจ ืึท ืืึทื ื ืฆืืึทื. ืึธืืขืจ ืืืื ืึทืคึผืืึทืงืืืฉืึทื ื ืืขื ืขื ืฉืืืึทื ืึธืคึผืืืืืืขื ืึธืืขืจ ื ืืฉื ืึธืคึผืืืืืืขื ืืื ืึทืืข (FROM java:latest
), ืื ืกืืืืึทืฆืืข ืงืขื ืืึทืงืืืขื ืืืืก ืคืื ืงืึธื ืืจืึธื. ืืื Omio, ืืืจ ืืึธืื ืึธืืึทืืืืืื ืืึทืืข ืืึธืงืงืขืจืคืืืขืก ืืื ืืืืื ืคืขืืืงืืึทื ืกืขืืืื ืืก ืคึฟืึทืจ ืื ืืืืคึผื ืฉืคึผืจืึทื ืึธื ืืืืื, ืึทืืื ืืขื ืึทืจืืืกืืขืื ืืื ื ืืฉื ืขืงืกืืกืืืจื.
ืืืจ ืจืขืงืึธืืขื ืืืจื ืืึธื ืืืึธืจืื ื ืื ืืขืืจืืงืก
ืจืขืคึฟืขืจืขื ืฆื
ืืึธืก ืืื ืืื ืืืขืจ ืืขืฉืืืืข. ืื ืคืืืืขื ืืข ืืึทืืขืจืืึทืืก ืืึธืื ืืืืขืจ ืืขืืึธืืคึฟื ืฆื ืคึฟืึทืจืฉืืืื ืืืึธืก ืืื ืืขืฉืขืขื ืืฉ:
-
kernel.org โ CFS ืกืืฉืขืืืืขืจ ; -
kernel.org โ CFS ืืึทื ืืืืืืื ืงืึธื ืืจืึธื ; -
ืคืืจืฉืืื ื ืคืื ืืื ืืงืก ืงืึทื ืืืื ืขืจ ืกืงืขืืืฉืืืื ื ; -
ืึทืืฅ ืืืจ ืืึทืจืคึฟื ืฆื ืืืืกื ืืืขืื ืืื ืืงืก ืงืึทื ืืืื ืขืจื, ืืืื ืืื: ืืื ืืงืก ืงืึธื ืืจืึธื ืืจืืคึผืขืก ืืื ืคึผืจืึธืฆืขืก ืืคืืขืืื ืืขืจืืงืืื ; -
ืงืืืขืจื ืขืืขืก ืืืจืืคืึทื ืกืืึธืจืืขืก - ืงืืง ืคึฟืึทืจ "ืงืคึผื ืืขืจืื".
Kubernetes ืืฉืืง ืจืืคึผืึธืจืฅ:
-
#51135: ืืืกืืืืื ืืึทืฉืืขืืืงื ืงืคึผื ืืืืึทืฅ ืคึฟืึทืจ ืืืึทืจืึทื ืืขืขื ืคึผืึธืืก ; -
#67577: CFS ืงืืืึธืืขืก ืงืขื ืขื ืคืืจื ืฆื ืืื ืืืืืง ืืขืจืื ; -
ืืืืขืจ ืึทืืจืขืกืืื CFS .
ืืึธืื ืืืจ ืืขืคึผืืึธื ืืขืจื ืขื ืืขื ืคึผืจืึธืืืขืืก ืืื ืืืื ืคืืจ ืึธืืขืจ ืืึธืื ืืขืจืคืึทืจืื ื ืฉืืึทืืืช ืฆื ืืขืจืื ืืื ืงืึทื ืืืื ืขืจืืืื ืคึผืจืึธืืืงืฆืืข ืื ืืืืืจืึทื ืืึทื ืฅ? ืืึทื ืืืืื ืืืื ืืขืจืฆืืืืื ื ืืื ืื ืืึทืืขืจืงืื ืืขื!
ืคึผืก ืคืื ืืืืขืจืืขืฆืขืจ
ืืืืขื ืขื ืืืื ืืืืฃ ืืื ืืืขืจ ืืืึธื:
- ยซ
ืึทืืืึธืกืงืึทืืื ื ืืื ืจืืกืึธืจืก ืคืึทืจืืืึทืืืื ื ืืื Kubernetes (ืจืขืฆืขื ืืืข ืืื ืืืืืขื ืืึทืจืืื) "; - ยซ
ืืื ืงืคึผื ืืึทื ืึทืืขืจ ืึทืจืืขื ืืื Kubernetes "; - ยซ
ืืืึธืก ืืึทืคึผืึทื ื ืืื Kubernetes ืืืขื ืืืจ ืืืืคื kubectl run? ืืืื 2 '.
ืืงืืจ: www.habr.com