27 ืืคืจืื ืืืึท ืืขืจ ืงืึธื ืคึฟืขืจืขื ืฅ
ืืืจื ืืกืืจื, ืืืจ ืืขื ืขื ืฆืืคืจืืื ืฆื ืคืึธืจืฉืืขืื
ืืึธืืืจ ืึทื ืึทืืืื ืื ืืขืืข ืคืื โโืืขื ืืึทืจืืื ืืืึธืจื ืืืจื ืืืึธืจื ืืื ืึธื ืืืืื ืคึฟืื ืื ืกืืฃ.
Kubernetes
ืืื ืก ืืึธืื ืืืจ ืืึธืื ืืึธืงืงืขืจ ืงืึทื ืืืื ืขืจื ืืืืฃ ืืื ืืืขืจ ืืึทืืขืืึธืก. ืฆื ืืืืก? ืฆื ืขื ืฉืืจ ืจืืคึผืืืึทืืืืืื ืืื ืืคืืขืืื ืืขืจืืงืืื, ืืืึธืก ืืื ืงืขืจ ืืึธืื ืคึฟืึทืจ ืคึผืฉืื ืืื ืืื ืืืคึผืืืืืึทื ื, ืกื / ืกื. ืืืจ ืืึธืื ืคืืืข ืึทืืึท ืืืขืืืงืืขืก ืืื ืงืึทื ืืืื ืขืจื.
ืืืึธืก ืืื Kubernetes ืืื ืืขื ืคืึทื?
- ืืืจ ืืึทืืื ืืจืืืื ืืืขืื ืื ืืืฉืื ืขื ืืื ืึธื ืืืืื ืืจืืขืื ืืื ืื "ืืืึธืืงื" ืงื ืืื ืคืื ืงืึทื ืืืื ืขืจื ืึธืืขืจ ืคึผืึธืืก (ืืจืืคึผืขืก ืคืื ืงืึทื ืืืื ืขืจื).
- ืืขืจืฆื, ืืืจ ืืึธื ื ืื ืืคืืื ืืจืึทืืื ืืืขืื ืืืื ืคึผืึธืืก, ืึธืืขืจ ืคืืจื ืืขืจะพืืจืขืกืขืจืข ืืจืืคึผืขืก. ืึทืืึท ืืืื-ืืืจืื ืคึผืจืืืืืืืื ืืึธืื ืืื ืื ืืึธืื ืึทื ืขืก ืืื ืึท ืืืกืืขืจ ืคึฟืึทืจ ืคืืืกื ืืืง ืึท ืืืืขืจ ืืืขืจืงืืึธืื, ืืื ืืึธ ืืื ืื ืคืืจืืื ืื ื ืืืขืจ ืคืื ืื ืกืืึทื ืกืื ืฆื ืืืืคื ืขืก. ืืืื ืืืจ ืืขืจื ืึธื ืืืืฉื ืื ืืืกืืขืจ, ืึทืืข ืื ืกืืึทื ืกืื ืืืขื ืืืืฉื.
- ื ืืฆื ืืขืงืืึทืจืึทืืืืืข ืึทืคึผื ืึทื ืฉืืึธื ืขืงืกืึทืงืืืืื ื ืึท ืกืืงืืืึทื ืก ืคืื ืกืคึผืขืฆืืคืืฉ ืงืึทืืึทื ืื, ืืืจ ืืึทืฉืจืืึทืื ืื "ืืืขืื ืกืืจืืงืืืจ" (ืืื YAML), ืืืึธืก ืืื ืืืฉืืคื ืืืจื ืงืืืขืจื ืขืืขืก. ืืื ืืืืืขืจ: ืืืขื ืื ืืึทืฉืจืืึทืืื ื ืขื ืืขืจืื ืืขื, ืื ืคืึทืงืืืฉ ืึทืจืืืกืืืืึทืื ืืืขื ืืืื ืืืืฉื.
ืจืืกืึธืจืก ืคืึทืจืืืึทืืืื ื
ืงืคึผื
ืืึธืืืจ ืืืืคื nginx, php-fpm ืืื mysql ืืืืฃ ืื ืกืขืจืืืขืจ. ืื ืกืขืจืืืืกืขืก ืืืขืื ืึทืงืฉืื ืืึธืื ืืคืืื ืืขืจ ืคึผืจืึทืกืขืกืึทื ืคืืืกื ืืืง, ืืขืืขืจ ืคืื ืืืึธืก ืจืืงืืืืืขืจื ืงืึทืืคึผืืืืื ื ืจืขืกืืจืกื:
(ืื ื ืืืขืจื ืืืืฃ ืื ืจืืง ืืขื ืขื "ืคึผืึทืืืืืฉืื", ืื ืึทืืกืืจืึทืงื ื ืืื ืคืื ืืขืืขืจ ืคึผืจืึธืฆืขืก ืคึฟืึทืจ ืงืึทืืคึผืืืืื ื ืืึทืื)
ืฆื ืืึทืื ืขืก ืืจืื ืืขืจ ืฆื ืึทืจืืขืื ืืื ืืขื, ืขืก ืืื ืืึทืืืฉืืงืึทื ืฆื ืคืึทืจืืื ืื ืคึผืจืึทืกืขืกืึทื ืืื ืืจืืคึผืขืก (ืืืฉื, ืึทืืข ื ืืื ืงืก ืคึผืจืึทืกืขืกืึทื ืืื ืืืื ืืจืืคึผืข "ื ืืื ืงืก"). ื ืคึผืฉืื ืืื ืงืืึธืจ ืืื ืืขืจ ืืึธื ืืืขื ืฆื ืืึธื ืืึธืก ืืื ืฆื ืฉืืขืื ืืขืืขืจ ืืจืืคึผืข ืืื ืึท ืงืึทื ืืืื ืขืจ:
ืฆื ืคืึธืจืืขืฆื, ืืืจ ืืึทืจืคึฟื ืฆื ืืขืืขื ืงืขื ืืืึธืก ืึท ืงืึทื ืืืื ืขืจ ืืื (ืืื ืืื ืืงืก). ืืืืขืจ ืืืืกืืขื ืืื ืืขืืืื ืืขืืืขื ืืึทื ืง ืฆื ืืจืื ืฉืืืกื ืคึฟืขืึดืงืืืื ืืื ืื ืงืขืจื, ืืืคึผืืึทืืขื ืึทื ืืึทื ืฅ ืึท ืืึทื ื ืฆืืึทื ืฆืืจืืง:
ืืื ืืขื ืงืึธื ืืขืงืกื ืคืื ืืขื ืืึทืจืืื, ืืืจ ืืขื ืขื ืืืืื ืืื ืืขืจืขืกืืจื ืืื ืงืืจืึธืืคึผืก, ืืืืึทื ืงืึธื ืืจืึธื ืืจืืคึผืขืก ืืขื ืขื ืืขืจ ืืืื ืคืื ืื ืคืึทื ืืงืฉืึทื ืึทืืืื ืคืื ืงืึทื ืืืื ืขืจื (ืืึธืงืงืขืจ, ืืื"ื ื) ืืืึธืก ืืืคึผืืึทืืึทื ืฅ ืืืื ืคืึทืจืืืึทืืืื ื. ืคึผืจืึทืกืขืกืึทื ืงืึทืืืืื ื ืืื ืืจืืคึผืขืก, ืืื ืืืจ ืืขืืืืื, ืืขื ืขื ืงืึธื ืืจืึธื ืืจืืคึผืขืก.
ืืึธืืืจ ืฆืืจืืงืงืืืขื ืฆื ืื ืงืคึผื ืจืขืงืืืืจืขืืขื ืฅ ืคึฟืึทืจ ืื ืคึผืจืึทืกืขืกืึทื, ืืื ืืืฆื ืคึฟืึทืจ ืืจืืคึผืขืก ืคืื ืคึผืจืึทืกืขืกืึทื:
(ืืื ืืืืขืจืืืจื ืึทื ืึทืืข ื ืืืขืจื ืืขื ืขื ืึท ืึทืืกืืจืึทืงื ืืืืกืืจืืง ืคืื ืื ื ืืื ืคึฟืึทืจ ืจืขืกืืจืกื)
ืืื ืืขืจ ืืขืืืืงืขืจ ืฆืืื, ืื ืงืคึผื ืืื ืืื ืึท ืืืืขืจ ืขื ืืืขื ืืืื (ืืื ืืขื ืืืึทืฉืคึผืื ืืึธืก ืืื 1000), ืืืึธืก ืืขืืขืจ ืงืขื ืคืขืื (ืื ืกืึทืืึทืงื ืคืื ืื ืืืืขืจืคืขื ืืฉื ืคืื ืึทืืข ืืจืืคึผืขืก ืืื 150+850+460=1460). ืืืึธืก ืืืขื ืคึผืึทืกืืจื ืืื ืืขื ืคืึทื?
ืืขืจ ืงืขืจื ืกืืึทืจืฅ ืืืกืืจืืืืืืื ื ืจืขืกืืจืกื ืืื ืืื ืขืก "ืคืขืจืื", ืืขืื ืื ืืขืืืข ืกืืืข ืคืื โโืจืขืกืืจืกื ืฆื ืืขืืขืจ ืืจืืคึผืข. ืืืขืจ ืืื ืืขืจ ืขืจืฉืืขืจ ืคืึทื, ืขืก ืืขื ืขื ืืขืจ ืคืื ืืื ืืื ืืืจืฃ (333> 150), ืึทืืื ืื ืืืืขืคืืืง (333-150=183) ืืืืืื ืืื ืจืขืืขืจืื, ืืืึธืก ืืื ืืืื ืืืืึทื ืฆืขืฉืืงื ืฆืืืืฉื ืฆืืืื ืื ืืขืจืข ืงืึทื ืืืื ืขืจื:
ืืขืจ ืจืขืืืืืึทื: ืืขืจ ืขืจืฉืืขืจ ืงืึทื ืืืื ืขืจ ืืื ืืขื ืื ืจืขืกืืจืกื, ืื ืจืืข - ืขืก ืืื ื ืืฉื ืืขื ืื ืจืขืกืืจืกื, ืื ืืจืื - ืขืก ืืื ื ืืฉื ืืขื ืื ืจืขืกืืจืกื. ืืึธืก ืืื ืืขืจ ืจืขืืืืืึทื ืคืื ืึทืงืฉืึทื ื "ืขืจืืขื" ืกืงืขืืืฉืืืขืจ ืืื ืืื ืืงืก -
ืืื ืก ืงืืง ืืื ืื ืคืึทื ืคืื ืึท ืคืขืื ืคืื ืจืขืกืืจืกื ืืื ืื ืจืืข ืงืึทื ืืืื ืขืจ (php-fpm). ืึทืืข ืงืึทื ืืืื ืขืจ ืจืขืกืืจืกื ืืขื ืขื ืคืื ืื ืืขืจืืขืืืืื ืืืืึทื ืฆืืืืฉื ืคึผืจืึทืกืขืกืึทื. ืืื ืึท ืจืขืืืืืึทื, ืืขืจ ืืขื ืคึผืจืึธืฆืขืก ืึทืจืืขื ืืื, ืึธืืขืจ ืึทืืข ืืืขืจืก ืคึผืึทืืขืืขื ืึทืจืึธืคึผ ืืื ืืึทืงืืืขื ืืืืื ืืงืขืจ ืืื ืืึทืื ืคืื ืืืึธืก ืืื ืืึทืจืคึฟื:
ืืึธืก ืืื ืืื ืื CFS ืกืงืขืืืฉืืืขืจ ืึทืจืืขื. ืืืจ ืืืขืื ืืืืืืขืจ ืจืืคื ืื ืืืืืฅ ืืืึธืก ืืืจ ืืึทืฉืืืืขื ืฆื ืงืึทื ืืืื ืขืจื ืจืืงืืืขืก. ืคืืจืืืืก ืืึธืก ืืื ืึทืืื - ืืขื ืืืืืืขืจ.
ืืึธืืืจ ืึธื ืงืืงื ืื ืืึทื ืฆืข ืกืืืืึทืฆืืข ืคึฟืื ืืขืจ ืึทื ืืขืจืขืจ ืืฒึทื. ืืื ืืืจ ืืืืกื, ืึทืืข ืจืึธืืื ืคืืจื ืฆื ืจืืื, ืืื ืืื ืืขื ืคืึทื ืคืื ืึท ืงืึธืืคึผืืืืขืจ, ืฆื ืื ืงืคึผื. ืืืื ืงืคึผื, ืคืืืข ืืึทืกืงืก - ืืืจ ืืึทืจืคึฟื ืึท ืคืึทืจืงืขืจ ืืืื. ืื ืกืืืคึผืืึทืกื ืืืขื ืฆื ืคืืจื ืจืขืกืืจืกื ืืื "ืคืึทืจืงืขืจ ืืืื": ืืื ืืขืื ืืืื ืคึผืจืึธืฆืขืก ืึท ืคืึทืจืคืขืกืืืงื ืึทืงืกืขืก ืฆืืื ืฆื ืื ืงืคึผื, ืืื ืืขืจ ืืืืึทืืขืจ, ืืื"ื ื.
ืืขื ืฆืืืึทื ื ืืื ืืขืจืืคื ืฉืืืขืจ ืงืืืึธืืขืก (ืฉืืืขืจ ืืืืืืขื). ืืื ืก ืืขืืขื ืงืขื ืขืก ืคืฉืื ืืื ืืืืึทืฅ. ืึธืืขืจ, ืืืื ืืืจ ืคืึทืจืฉืคึผืจืืืื ืืืืึทืฅ ืฆื ืึทืืข ืงืึทื ืืืื ืขืจื, ืึท ืคึผืจืึธืืืขื ืขืจืืืืึทื: mysql ืืื ืืขืืืขื ืืจืืืืืื ื ืฆืืืืืขื ืื ืืืขื ืืื ืืื ืขืืืขืืข ืคืื ื ืื ื ืืื ืคึฟืึทืจ ืงืคึผื ืืื ืืขืขื ืืืงื, ืึธืืขืจ ืึทืืข ืื ืืขืจืข ืคึผืจืึทืกืขืกืึทื ืืขื ืขื ืืขืฆืืืื ืืขื ืฆื ืืืึทืจืื ืืื ืื ืงืคึผื ืืืืืืง.
ืืึธืืืจ ืฆืืจืืงืงืืืขื ืฆื ืื ืืื ืืงืก ืงืขืจื ืืื ืืืื ืื ืืขืจืึทืงืฉืึทื ืืื ืื ืงืคึผื - ืื ืงืืืืขืืืืง ืืืื ืืื ืืื ืืืื:
cgroup ืืื ืฆืืืื ืกืขืืืื ืืก - ืืืืกืืงืื ืืึธืก ืืขื ืขื ืฆืืืื ืคึผืฉืื "ืืืืืกืฅ" ืืืึธืก ืืึธืื ืืืจ ืฆื ืืึทืฉืืืกื:
- ืืืึธื ืคึฟืึทืจ ืงืึทื ืืืื ืขืจ (ืจืืงืืืขืก) ืืื ืฉืึทืจืขืก;
- ืคึผืจืึธืฆืขื ื ืคืื ืื ืืึทื ืฅ ืงืคึผื ืฆืืื ืคึฟืึทืจ ืืจืืขืื ืืืืฃ ืงืึทื ืืืื ืขืจ ืืึทืกืงืก (ืืืืึทืฅ) ืืื ืืึทื ืืืืื.
ืืื ืฆื ืืขืกืื ืงืคึผื?
ืขืก ืืขื ืขื ืคืึทืจืฉืืืขื ืข ืืืขืื:
- ืืืึธืก ืืื ืคึผืขืจืึทืฅ, ืงืืื ืืืื ืขืจ ืืืืืกื - ืืืจ ืืึทืจืคึฟื ืฆื ืคืึทืจืืึทื ืืืขื ืืขืืขืจ ืืึธื.
- ืืื ืืขืจืขืก ืงืืืจืขืจ, ืึธืืขืจ ืงืึธืจืขืื: 50% ืคืื ืึท ืกืขืจืืืขืจ ืืื 4 ืงืึธืจืขืก ืืื ืืื 20 ืงืึธืจืขืก ืืขื ืขื ืืึธืจ ืคืึทืจืฉืืืขื ืข ืืืื.
- ืืืจ ืงืขื ืขื ื ืืฆื ืื ืฉืืื ืืขืจืืื ื ืืืืืฅ, ืืืึธืก ืืื ืืงืก ืืืืืกื, ืึธืืขืจ ืืื ืืขื ืขื ืืืื ืงืึธืจืขืื.
- ืื ืืขืจืกื ืืืืื ืึธืคึผืฆืืข ืืื ืฆื ืืขืกืื ืงืึทืืคึผืืืืื ื ืจืขืกืืจืกื ืืื ืกืขืงืื ืืขืก. ืืขื ืข. ืืื ืกืขืงืื ืืขืก ืคืื ืคึผืจืึทืกืขืกืขืจ ืฆืืื ืงืึธืจืขืื ืฆื ืกืขืงืื ืืขืก ืคืื ืคืึทืงืืืฉ ืฆืืื: 1 ืจืืข ืคืื โโืคึผืจืึทืกืขืกืขืจ ืฆืืื ืืื ืืขืืขืื ืคึผืขืจ 1 ืคืึทืงืืืฉ ืจืืข - ืืึธืก ืืื ืืืื ืืึทื ืฅ ืงืคึผื ืืึทืจืฅ.
ืื ื ืฆ ื ืืื ื ื ื ื ืืฒืืืข ืจ ืฆ ื ืจืฒืื , ืืื ื ื ืฒ ืื ืืขืืืื ื ืืืฒ ื ืืจืฒื ืงืขืจื ืึทืื, ืืืึทืืฉ ืืืจื ืืื ืื ืืขืืืข ืงืคึผื ืฆืืื ืงืึธืจืขืื ืฆื ืื ืคืึทืงืืืฉ ืืืื ืขืจ. ืืื ื ืืื ืืงืก ืคืืจืฉืืืื ืืืืืฅ, ืึธืืขืจ ื ืืฉื ืึทืืื ืคืื ืงืคึผื ืฆืืื / ืงืึธืจืขืก, ืึท ืืขืงืึทื ืืืึทื ืืื ืืืจืฃ ืฆื ืืืืขืจืืขืฆื ืคืื ืืืื ืฆื ืื ืื ืืขืจืข.
ืืึธืืืจ ืืึทืืจืึทืืื ืึท ืคึผืฉืื ืืืึทืฉืคึผืื ืืื ืึท ืกืขืจืืืขืจ ืืื 3 ืงืคึผื ืงืึธืจืขืก, ืืื ืืจืื ืคึผืึธืืก ืืืขื ืืืื ืืขืืขืื ืืืืืฅ (500, 1000 ืืื 1500) ืืืึธืก ืืขื ืขื ืืืืื ืงืึธื ืืืขืจืืขื ืฆื ืื ืงืึธืจืึทืกืคึผืึทื ืืื ื ืืืืื ืคืื ืื ืงืึธืจืขืก ืึทืืึทืงืืืืื ืฆื ืืื (0,5, 1 ืืื 1,5).
ืืืื ืืืจ ื ืขืืขื ืึท ืฆืืืืื ืกืขืจืืืขืจ, ืืื ืขืก ืืืขื ืืืื ืฆืืืื ืืึธื ืืื ืคืืืข ืงืึธืจืขืก (6), ืืื ืฉืืขืื ืื ืืขืืืข ืคึผืึธืืก ืืึธืจื, ืื ืคืึทืจืฉืคึผืจืืืืื ื ืคืื ืงืึธืจืขืก ืงืขื ืขื ืืืื ืืืืื ืงืึทืืงืืึทืืืืืื ืืืจื ืคืฉืื ืืึทืืืึทืคึผืืืืื ื ืืื 2 (1, 2 ืืื 3, ืจืืกืคึผืขืงืืืืืื). ืืืขืจ ืึท ืืืืืืืง ืืึธืืขื ื ืึทืงืขืจื ืืืขื ืึท ืคืขืจื ืคึผืึธื ืืื ืืจืืืก ืืืืฃ ืืขื ืกืขืจืืืขืจ, ืืืขืืขื ืก ืืืึธื, ืคึฟืึทืจ ืงืึทื ืืืื ืืึทื ืก, ืืืขื ืืืื 3000. ืขืก ื ืขืื ืึทืืืขืง ืืืื ืคืื ืื ืงืคึผื ืจืขืกืืจืกื (ืืึทืื ืื ืงืึธืจืขืก), ืืื ืคึฟืึทืจ ืื ืจืืขื ืคึผืึธืืก ืืื ืืขื ืขื ืจืืงืึทืืงืืึทืืืืืื (ืืึทืืืื):
ืงืืืขืจื ืขืืขืก ืืื ืงืคึผื ืจืขืกืืจืกื
ืืื Kubernetes, ืงืคึผื ืจืขืกืืจืกื ืืขื ืขื ืืืืฉืึทืืืึทืื ืืขืืืกืื ืืื ืืืืืึทืืจืึทืงืก, ื.ื. 0,001 ืงืึธืจืขืก ืืขื ืขื ืืขื ืืืขื ืืื ืื ืืึทืืข ืืืึธื. (ืื ืืขืืืข ืืึทื ืืื ืืื ืืงืก / ืงืืจืืคึผืก ืืขืจืืื ืึธืืึธืืืข ืืื ืืขืจืืคึฟื ืึท ืงืคึผื ืืึทื ืืืืื, ืืึธืืฉ, ืืขืจ ืืขื ืื, 1000 ืืืืืงืึธืจืขืก = 1024 ืงืคึผื ืฉืึทืจืขืก.) K8s ืื ืฉืืจื ืึทื ืขืก ืืื ื ืืฉื ืฉืืขืื ืืขืจ ืคึผืึธืืก ืืืืฃ ืื ืกืขืจืืืขืจ ืืื ืขืก ืืขื ืขื ืงืคึผื ืจืขืกืืจืกื ืคึฟืึทืจ ืื ืกืึทืืึทืงื ืคืื ืื ืืืืืฅ ืคืื ืึทืืข ืคึผืึธืืก.
ืืื ืึทืืื ืืื ืืึธืก ืคึผืึทืกืืจื? ืืืขื ืืืจ ืืืืื ืึท ืกืขืจืืืขืจ ืฆื ืึท Kubernetes ืงื ืืื, ืขืก ืืื ืืขืืืืื ืืื ืคืืืข ืงืคึผื ืงืึธืจืขืก ืขืก ืืื ืื ืืืฆื. ืืื ืืืขื ืงืจืืืืืื ื ืึท ื ืืึทืข ืคึผืึธื, ืื Kubernetes ืกืงืขืืืฉืืืขืจ ืืืืืกื ืืื ืคืืืข ืงืึธืจืขืก ืืขื ืคึผืึธื ืืืขื ืืึทืจืคึฟื. ืืืื, ืื ืคึผืึธื ืืืขื ืืืื ืึทืกืืื ื ืฆื ืึท ืกืขืจืืืขืจ ืืื ืขืก ืืขื ืขื ืืขื ืื ืงืึธืจืขืก.
ืืืึธืก ืืืขื ืคึผืึทืกืืจื ืืืื ืงืืื ืืขืื ืืื ืกืคึผืขืกืืคืืขื (ื"ื ืื ืคึผืึธื ืืื ื ืืฉื ืืึธืื ืึท ืืืคืืื ื ื ืืืขืจ ืคืื ืงืึธืจืขืก ืขืก ืืึทืจืฃ)? ืืื ืก ืจืขืืขื ืขื ืืืืก ืืื Kubernetes ืืืื ืงืึทืื ืฅ ืจืขืกืืจืกื.
ืคึฟืึทืจ ืึท ืคึผืึธื ืืืจ ืงืขื ืขื ืกืคึผืขืฆืืคืืฆืืจื ืืืืืข ืจืืงืืืขืก (CFS ืกืงืขืืืฉืืืขืจ) ืืื ืืืืึทืฅ (ืืขืืขื ืงืขื ืื ืคืึทืจืงืขืจ ืืืื?):
- ืืืื ืืื ืืขื ืขื ืกืคึผืขืกืืคืืขื ืืืืึทื, ืื ืคึผืึธื ืืื ืึทืกืืื ื ืึท QoS ืงืืึทืก ืืขืจืึทื ืืื. ืื ื ืืืขืจ ืคืื ืงืึธืจืขืก ืฉืืขื ืืืง ืื ืืืฆื ืฆื ืขืก ืืื ืืขืจืึทื ืืื.
- ืืืื ืื ืืงืฉื ืืื ืืืืื ืืงืขืจ ืืื ืื ืฉืืขืืจ - QoS ืงืืึทืก ืืืจืกืืึทืืืข. ืืขื ืข. ืืืจ ืืขืจืืืึทืจืื ืึทื ืึท ืคึผืึธื, ืืืฉื, ืฉืืขื ืืืง ื ืืฆื 1 ืืึทืจืฅ, ืึธืืขืจ ืื ืืืขืจื ืืื ื ืืฉื ืึท ืืึทืืจืขื ืขืฆืื ื ืคึฟืึทืจ ืืื: ืืื ืคึผืึธื ืงืขื ืขื ื ืืฆื ืืขืจ (ืืืขื ืืขืจ ืกืขืจืืืขืจ ืืื ืคืจืื ืจืขืกืืจืกื ืคึฟืึทืจ ืืขื).
- ืขืก ืืื ืืืื ืึท QoS ืงืืึทืก ืืขืกืืขืจ ืื - ืขืก ืื ืงืืืื ืื ืืืืขืจ ืคึผืึธืืก ืคึฟืึทืจ ืืืึธืก ืืขืื ืืื ื ืืฉื ืกืคึผืขืกืืคืืขื. ืจืขืกืึธืืจืกืขืก ืืขื ืขื ืืขืืขืื ืฆื ืืื ืืขืฆืืข.
ืืืงืึธืจื
ืืื ืืึผืจืื, ืื ืกืืืืึทืฆืืข ืืื ืขื ืืขื, ืึธืืขืจ ืึท ืืืกื ืึทื ืืขืจืฉ - ื ืึธื ืึทืืข, ืื ื ืึทืืืจ ืคืื ืื ืจืขืกืืจืกื ืืื ืึทื ืืขืจืฉ. ืืื ืึทืืืขืืืื, ืื ืึทื ืึทืืึทืืืฉื ืืื ืืื ืืืื:
ืืื ืก ืืขื ืืื ืจืืงืืืขืก ืืขื ืขื ืืืคึผืืึทืืขื ืึทื ืืื ืืึผืจืื. ืืึธืื ืื ืคึผืึธืืก ืืขืื ืืืืฃ ืื ืกืขืจืืืขืจ, ืืฉืึทื ืืื ื ืืึผืจืื ืงืึทื ืกืึทืืฉืึทื, ืืื ืืืื ืขืจ ืคืื ืืื ืืืขืจื ืึทืืื ืืจืืืก ืึทื ืขืก ืืืืคื ืืืืก ืคืื ืืึผืจืื. ืืื ืืขื ืคืึทื, ืื OOM ืงืืืืขืจ ืืื ืืจืืืก ืืื ืงืืื ืืขื ืืจืขืกืื ืคึผืจืึธืฆืขืก:
ืืึธืก ืืื ื ืื ืฉืืขื ืืืง ืคึผืึทืกืืง ืคึฟืึทืจ ืืื ืื, ืึทืืื ืขืก ืืื ืืขืืืขื ืฆื ืจืขืืืืืจื ืืืึธืก ืคึผืจืึทืกืขืกืึทื ืืขื ืขื ืืืืืืืง ืฆื ืืื ืื ืืื ืืึธื ื ืื ืืืื ืืขืืจืืขื. ืฆื ืืึธื ืืึธืก, ื ืืฆื ืื ืคึผืึทืจืึทืืขืืขืจ oom_score_adj.
ืืึธืืืจ ืฆืืจืืงืงืืืขื ืฆื ืื QoS ืงืืืกื ืคืื ืื ืงืคึผื ืืื ืฆืืขื ืึทื ืึทื ืึทืืึทืืืฉื ืืื ืื oom_score_adj ืืืึทืืืขืก ืืืึธืก ืืึทืฉืืืืขื ืื ืคึผืจืืืึธืจืึทืืื ืคึฟืึทืจ ืืึผืจืื ืงืึทื ืกืึทืืฉืึทื ืคึฟืึทืจ ืคึผืึธืืก:
- ืื ืืึธืืึทืกื oom_score_adj ืืืขืจื ืคึฟืึทืจ ืึท ืคึผืึธื - -998 - ืืืื ืึทื ืึทืืึท ืึท ืคึผืึธื ืืึธื ืืืื ืืขืืจืืขื ืืขืฆื, ืืึธืก ืืขืจืึทื ืืื.
- ืื ืืขืืกืื - 1000 - ืืื ืืขืกืืขืจ ืื, ืืืขืื ืข ืคืืืก ื ืฐืขืจ ื ืคืจืืข ืจ ืืขืจืืจืืขื .
- ืฆื ืจืขืืขื ืขื ืื ืจืืขื ืืืึทืืืขืก (ืืืจืกืืึทืืืข) ืขืก ืืื ืึท ืคืึธืจืืืืข, ืื ืขืกืึทื ืก ืคืื ืืืึธืก ืงืืื ืึทืจืึธืคึผ ืฆื ืื ืคืึทืงื ืึทื ืื ืืขืจ ืจืขืกืืจืกื ืึท ืคึผืึธื ืืื ืืขืืขืื, ืื ืืืืื ืืงืขืจ ืืกืชึผืื ืขืก ืืื ืฆื ืืืื ืืขืืจืืขื.
ืืขืจ ืฆืืืืืืขืจ "ืืืืืกื" - limit_in_bytes - ืคึฟืึทืจ ืืืืึทืฅ. ืืื ืขืก, ืึทืืฅ ืืื ืกืืืคึผืืขืจ: ืืืจ ื ืึธืจ ืืึทืฉืืืืขื ืื ืืึทืงืกืืืื ืกืืืข ืคืื โโืืืงืึธืจื, ืืื ืืึธ (ื ืื ืขื ืืขื ืื ืงืคึผื) ืขืก ืืื ืงืืื ืงืฉืื ืคืื ืืื ืฆื ืืขืกืื ืขืก (ืืืงืึธืจื).
ืืื ืืึทื ืฅ
ืืขืืขืจ ืคึผืึธื ืืื ืงืืืขืจื ืขืืขืก ืืื ืืขืืขืื requests
ะธ limits
- ืืืืืข ืคึผืึทืจืึทืืขืืขืจืก ืคึฟืึทืจ ืงืคึผื ืืื ืืึผืจืื:
- ืืืืืจื ืืืืฃ ืจืืงืืืขืก, ืื Kubernetes ืกืงืขืืืฉืืืขืจ ืึทืจืืขื, ืืืึธืก ืืืกืืจืืืืืฅ ืคึผืึธืืก ืฆืืืืฉื ืกืขืจืืืขืจืก;
- ืืืืืจื ืืืืฃ ืึทืืข ืคึผืึทืจืึทืืขืืขืจืก, ืื QoS ืงืืึทืก ืคืื ืื ืคึผืึธื ืืื ืืืฉืืืกื;
- ืงืึธืจืขืื ืืืืืฅ ืืขื ืขื ืงืึทืืงืืึทืืืืืื ืืืืืจื ืืืืฃ ืงืคึผื ืจืืงืืืขืก;
- ืื CFS ืกืงืขืืืฉืืืขืจ ืืื ืงืึทื ืคืืืืขืจื ืืืืืจื ืืืืฃ ืงืคึผื ืจืืงืืืขืก;
- OOM ืงืืืืขืจ ืืื ืงืึทื ืคืืืืขืจื ืืืืืจื ืืืืฃ ืืึผืจืื ืจืืงืืืขืก;
- ืึท "ืคืึทืจืงืขืจ ืืืื" ืืื ืงืึทื ืคืืืืขืจื ืืืืืจื ืืืืฃ ืงืคึผื ืืืืึทืฅ;
- ืืึทืืืจื ืืืืฃ ืืืงืึธืจื ืืืืึทืฅ, ืึท ืฉืืขืืจ ืืื ืงืึทื ืคืืืืขืจื ืคึฟืึทืจ ืื cgroup.
ืืื ืึทืืืขืืืื, ืืขื ืืืื ืขื ืืคึฟืขืจืก ืึทืืข ืื ืคึฟืจืืื ืืืขืื ืืื ืืขืจ ืืืืคึผื ืืืื ืคืื ืืืื ืคืึทืจืืืึทืืืื ื ืึทืงืขืจื ืืื Kubernetes.
ืึทืืืึธืกืงืึทืืื ื
K8s ืงื ืืื-ืึทืืืึธืกืงืึทืืขืจ
ืืืืืจ ืืื ืคืืจืฉืืขืื ืื ืืขืจ ืืื ืฆืขืจ ืืฉืืื ืืื ืฉืืื ืคืืจื ืืืขื ืืื ืืขื ืืืจืฃ ืืืื ื ื ืืืข ืคืื. ืืฉืขืช ืื ืคึผืึธื ืงืขื ื ืืฉื ืืขืจืฉืืึทื ืขื, ืขืก ืืึทื ืื ืืื ืกืืึทืืืก ืคึผืขื ืืื ื. ืคึฟืึทืจ ืขืก ืฆื ืืขืจืฉืืึทื ืขื, ืืืจ ืงืขื ืขื ืคืึทืจืืื ืื ืึท ื ืืึทืข ืกืขืจืืืขืจ ืฆื ืืขื ืงื ืืื ืึธืืขืจ ... ืื ืกืืึทืืืจื cluster-autoscaler, ืืืึธืก ืืืขื ืืึธื ืืึธืก ืคึฟืึทืจ ืืื ืื: ืกืืจ ืึท ืืืืจืืืึทื ืืึทืฉืื ืคืื ืื ืืืึธืืงื ืฉืคึผืืึทืืขืจ (ื ืืฆื ืึทื ืึทืคึผื ืืขืื) ืืื ืคืึทืจืืื ืื ืขืก ืฆื ืื ืงื ืืื , ื ืึธื ืืืึธืก ืื ืคึผืึธื ืืืขื ืืืื ืฆืืืขืืขืื.
ืืึธืก ืืื ืึทืืืึธืกืงืึทืืื ื ืคืื ืื Kubernetes ืงื ืืื, ืืืึธืก ืึทืจืืขื ืืจืืืก (ืืื ืืื ืืืขืจ ืืขืจืคืึทืจืื ื). ืึธืืขืจ, ืืื ืื ืืขืจืฉ, ืขืก ืืขื ืขื ืขืืืขืืข ื ืืึทื ืกืื ืืึธ ...
ืืื ืืึทื ื ืืื ืืืจ ืืขืืืืงืกื ืื ืงื ืืื ืืจืืืก, ืึทืืฅ ืืื ืืขืืืขื ืืื, ืึธืืขืจ ืืืึธืก ืืึทืคึผืึทื ื ืืืขื ืืขืจ ืงื ืืื ืืึธื ืืื ืึธื ืืขืืืืื ืืึทืคืจืืืขื? ืื ืคึผืจืึธืืืขื ืืื ืึทื ืืืืืจืืืืื ื ืคึผืึธืืก (ืฆื ืคืจืื ืึทืจืืืฃ ืืื ืืช) ืืื ืืืืขืจ ืืขืงื ืืงืื ืฉืืืขืจ ืืื ืืืึทืขืจ ืืื ืืขืจืืื ืขื ืคืื ืจืขืกืืจืกื. Kubernetes ื ืืฆื ืึท ืืึธืจ ืึทื ืืขืจืฉ ืฆืืืึทื ื.
ืืึทืืจืึทืืื ืึท ืงื ืืื ืคืื 3 ืกืขืจืืืขืจืก ืืื ืืืคึผืืืืืึทื ื. ืขืก ืืื 6 ืคึผืึธืืก: ืืืฆื ืขืก ืืขื ืขื 2 ืคึฟืึทืจ ืืขืืขืจ ืกืขืจืืืขืจ. ืคึฟืึทืจ ืขืืืขืืข ืกืืื ืืืจ ืืขืืืืื ืฆื ืงืขืจ ืึทืืืขืง ืืืื ืขืจ ืคืื ืื ืกืขืจืืืขืจืก. ืฆื ืืึธื ืืึธืก, ืืืจ ื ืืฆื ืื ืืึทืคึฟืขื kubectl drain
, ืืืึธืก:
- ืืืขื ืคืึทืจืืืขืจื ืฉืืงื ื ืืึทืข ืคึผืึธืืก ืฆื ืืขื ืกืขืจืืืขืจ;
- ืืืขื ืืืกืืขืงื ืืืืืกืืื ื ืคึผืึธืืก ืืืืฃ ืื ืกืขืจืืืขืจ.
ืืื ื Kubernetes ืืื ืคืึทืจืึทื ืืืืึธืจืืืขื ืคึฟืึทืจ ืืืื ืืืื ืื ื ืื ื ืืืขืจ ืคืื ืคึผืึธืืก (6), ืขืก ืคืฉืื ืืืขื ืจืืงืจืืืื ืืื ืืืืฃ ืื ืืขืจืข ื ืึธืืื, ืึธืืขืจ ื ืืฉื ืืืืฃ ืืขืจ ืืืื ืขืจ ืืืึธืก ืืื ืคืึทืจืงืจืืคึผืื, ืืืืึทื ืขืก ืืื ืฉืืื ืื ืืขืฆืืืื ื ืืื ืึทื ืึทืืืืืืึทืืึทื ืคึฟืึทืจ ืืึธืกืืื ื ื ืืึท ืคึผืึธืืก. ืืึธืก ืืื ืึท ืคืื ืืึทืืขื ืืึทื ืืขืืึทื ืืงืขืจ ืคึฟืึทืจ Kubernetes.
ืึธืืขืจ, ืขืก ืืื ืืืื ืึท ื ืืึทื ืก ืืึธ. ืืื ืึท ืขื ืืขื ืกืืืืึทืฆืืข, ืคึฟืึทืจ StatefulSet (ืึทื ืฉืืึธื ืคืื ืืืคึผืืืืืึทื ื), ืื ืึทืงืฉืึทื ื ืืืขื ืืืื ืึทื ืืขืจืฉ. ืืืฆื ืืืจ ืืึธืื ืฉืืื ืึท ืกืืึทืืขืคืื ืึทืคึผืืึทืงืืืฉืึทื - ืคึฟืึทืจ ืืืึทืฉืคึผืื, ืืจืื ืคึผืึธืืก ืืื MongoDB, ืืืื ืขืจ ืคืื ืืืึธืก ืืื ืึท ืคึผืจืึธืืืขื (ืื ืืึทืื ืืขื ืขื ืคืืจืืืจืื ืึธืืขืจ ืื ืื ืืขืจ ืืขืืช ืืืึธืก ืคึผืจืืืืขื ืฅ ืื ืคึผืึธื ืฆื ืึธื ืืืืื ืจืืืืืง). ืืื ืืืจ ืืืืืขืจ ืืึทืฉืืืกื ืฆื ืืืกืืืืึทื ืืืื ืกืขืจืืืขืจ. ืืืืก ืืืขื ืืขืฉืขื?
ืืึธื ืืึธืื ืงืขื ืฉืืึทืจืื ืืืืึทื ืขืก ืืึทืจืฃ ืึท ืงืืืึธืจืื: ืคึฟืึทืจ ืึท ืงื ืืื ืคืื ืืจืืึท ืื ืกืืึทืืืืฉืึทื ื, ืืืึท ืืื ืืกืืขืจ ืฆืืืื ืืืื ืคืื ืงืฆืืึธื ืืจื. ืึธืืขืจ, ืืขื ื ืืฉื ืืขืฉืขื - ื ืืื ืง ืฆื PodDisruptionBudget. ืืขืจ ืคึผืึทืจืึทืืขืืขืจ ืืืืขืจืืึทื ื ืื ืืื ืืืื ืคืืจืืื ืื ื ืืืขืจ ืคืื ืืจืืขืื ืคึผืึธืืก. ืืืืกื ืึทื ืืืื ืขืจ ืคืื ืื MongoDB ืคึผืึธืืก ืืื ื ืื ืืขืจ ืืจืืขืื, ืืื ืืขื ืึทื PodDisruptionBudget ืืื ืืึทืฉืืืื ืคึฟืึทืจ MongoDB minAvailable: 2
, Kubernetes ืืืขื ื ืืฉื ืืึธืื ืืืจ ืฆื ืืืกืืขืงื ืึท ืคึผืึธื.
ืื ืึธ ืฉืืจื: ืืื ืกืืจ ืคึฟืึทืจ ืื ืืึทืืืขืืื ื (ืืื ืืื ืคืึทืงื, ืื ืฉืืึทืขื-ืฉืึทืคืื ื) ืคืื ืคึผืึธืืก ืฆื ืึทืจืืขืื ืจืืืืืง ืืืขื ืื ืงื ืืื ืืื ืจืขืืขืึทืกืขื, ืขืก ืืื ื ืืืืืง ืฆื ืงืึทื ืคืืืืขืจ PodDisruptionBudget.
ืืึธืจืืืึธื ืืึทื ืกืงืืืืื ื
ืืึธืืืจ ืืึทืืจืึทืืื ืึทื ืึทื ืืขืจ ืกืืืืึทืฆืืข. ืขืก ืืื ืึท ืึทืคึผืืึทืงืืืฉืึทื ืคืืืกื ืืืง ืืื ืืืคึผืืืืืึทื ื ืืื Kubernetes. ืืึทื ืืฆืขืจ ืคืึทืจืงืขืจ ืงืืื ืฆื ืืืื ืคึผืึธืืก (ืืืฉื, ืขืก ืืขื ืขื ืืจืื ืคืื ืืื), ืืื ืืืจ ืืขืกืื ืึท ืืืืขืจ ืืจืืื ืืื ืืื (ืืืฉื, ืงืคึผื ืืึทืกืข). ืืืขื ืื ืืึทืกืข ืื ืงืจืืกืื, ืืืจ ืจืขืงืึธืจืืืจื ืขืก ืืืืฃ ืึท ืคึผืืึทื ืืื ืคืึทืจืืจืขืกืขืจื ืื ื ืืืขืจ ืคืื ืคึผืึธืืก ืฆื ืคืึทืจืฉืคึผืจืืืื ืจืืงืืืขืก.
ืืืึทื ื ืืื Kubernetes, ืืึธืก ืืึทืจืฃ ื ืื ืืืื ืืึทื ืืืึทืื: ืึทื ืึธืืึทืืึทืืืง ืคืึทืจืืจืขืกืขืจื / ืคืึทืจืงืืขื ืขืจื ืืื ืื ื ืืืขืจ ืคืื ืคึผืึธืืก ืืื ืงืึทื ืคืืืืขืจื ืืืคึผืขื ืืื ื ืืืืฃ ืื ืืืึทืืืขืก ืคืื ืื ืืขืืืกืื ืืึทืกืข ืื ืืืงืึทืืึธืจืก.
ืื ืืืืคึผื ืคืจืืืขืก ืืึธ ืืขื ืขื: ืืืึธืก ืคึผืื ืงื ืฆื ืืขืกืื ะธ ืืื ืฆื ืืืึทืืฉื ืืืงืืืขื ืืืึทืืืขืก (ืคึฟืึทืจ ืืึทืื ืึท ืืึทืฉืืืก ืฆื ืืืืฉื ืื ื ืืืขืจ ืคืื ืคึผืึธืืก). ืืืจ ืงืขื ืขื ืืขืกืื ืึท ืคึผืืึทืฅ:
ืืื ืฆื ืืึธื ืืึธืก ืืขืงื ืืงืื - ืงืืืึทืื ืืขืืจืืงืก, ืขืืง. โ ืืื ืืื ืืขืจืขืื ืืื ืืขืืึทื ืืื ืืขื ืืึทืจืืื ืืืขืื
ืขืก ืื ืคืึทืจืึทื
ืึธื ืฉืืึธื ืึท ืืกืงื ื
ืืขืจ ืืึทืจืืื ืืื ืึท ืงืึทื ืืื ืืืืืฉืึทื: ืืืขืื ืืืขืจืืืงืึทื ืกืงืืืืื ื ืืื ืืื ืฆื ืืืืกืงืืืึทืื ืื ืจืขืื ืจืขืกืืจืกื. ืืื ืืืขื ืจืขืื ืืืขืื ืืขื ืืื ืฆืืงืื ืคึฟื ืืืืืืืก ืืืืฃ
ืืืืืืืก ืืื ืกืืืืื
ืืืืืขื ืคืื ืืขืจ ืคืึธืจืฉืืขืืื ื (44 ืืื ืื):
ืคึผืจืขืืขื ืืืจืื ื ืคืื ืืขืจ ืืึทืจืืื:
ืคึผืก
ืื ืืขืจืข ืจืืคึผืึธืจืฅ ืืืขืื Kubernetes ืืืืฃ ืืื ืืืขืจ ืืืึธื:
- ยซ
ืคืึทืจืืจืืืืขืจื ืืื ืืขืจืืึทื ื Kubernetes ยป (ืึทื ืืจืื ืคึผืึธืืึธืึธืื; 8 ืืคืจืื 2019 ืืืืฃ Saint HighLoad ++); - ยซ
ืืึทืืึทืืืืกืื ืืื ืงืืืขืจื ืขืืขืก ยป (ืืืืืจื ืกืืึธืืืึทืจืึธืื; 8 ื ืืืืขืืืขืจ 2018 ืืืืฃ HighLoad ++); - ยซ
ืืึธื ืืืึธืจืื ื ืืื ืงืืืขืจื ืขืืขืก ยป (ืืืืืจื ืกืืึธืืืึทืจืึธืื; 28 ืืื 2018 ืืื RootConf); - ยซ
CI / CD ืืขืกืืขืจ ืคึผืจืึทืงืืืกืื ืืื Kubernetes ืืื GitLab ยป (ืืืืืจื ืกืืึธืืืึทืจืึธืื; 7 ื ืืืืขืืืขืจ 2017 ืืืืฃ HighLoad ++); - ยซ
ืืื ืืืขืจ ืืขืจืคืึทืจืื ื ืืื Kubernetes ืืื ืงืืืื ืคึผืจืึทืืืฉืขืงืก ยป (ืืืืืจื ืกืืึธืืืึทืจืึธืื; 6 ืืื ื 2017 ืืื RootConf).
ืืงืืจ: www.habr.com