áá»áœááºá¯ááºáá¡áááºááŸá¬ Viktor Yagofarov ááŒá áºááŒá®áž Ops (áá¯ááºáááºážáá±á¬ááºááœááºááŸá¯) á¡ááœá²á·ááŸá áááºážááá¬ááá¯ááºážááá¯ááºáᬠááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯áááºáá±áá»á¬á¡ááŒá ẠDomClick ááœáẠKubernetes ááááºáá±á¬ááºážááᯠáá±á¬áºáá±á¬ááºáá»ááºááŸááááºá áá»áœááºá¯ááºááá¯á·á Dev <-> Ops áá¯ááºáááºážá ááºáá»á¬ážá áá¯ááŸá¬ážááá¯ááºáá¶ááŸá á¡ááŒá®ážáá¯á¶áž k8s á¡á á¯á¡áá±ážáá»á¬ážáá²á០áá áºáá¯áá¯ááºáá±á¬ááºááŒááºážá á¡ááºá¹áá«áááºáá»á¬ážááŸáá·áº áá»áœááºá¯ááºááá¯á·á¡ááœá²á·á¡áá¯á¶ážááŒá¯ááá·áº DevOps/SRE á¡áá±á·á¡áá»áá·áºáá»á¬ážá¡ááŒá±á¬ááºáž ááœá±ážááœá±ážááá¯áá«áááºá
Team Ops
Ops á¡ááœá²á·ááẠáááºááŸáááœáẠáá° áá áŠážááŸááááºá áááºážááá¯á· áá¯á¶ážáŠážááẠáá¯á¶ážááœáẠáá¬áááºááŸáááŒá®áž ááŸá áºáŠážááẠááá°áá®áá±á¬ á¡áá»áááºáá¯ááºááœáẠá¡áá¯ááºáá¯ááºááŒááŒá®áž ááááºááœáẠá¡áá«á¡áááºááŒá áºáááºá ááá¯á·ááŒá±á¬áá·áºá Ops ááŸáá áºá á¯á¶áá áºáŠážááẠá¡ááŒá²á á±á¬áá·áºááŒáá·áºáá±ááŒá®áž áááºááá·áºááŸá¯ááºááœá±ážááŸá¯áá¡ááŒá áºá¡áá»ááºááá¯áááᯠáá¯á¶á·ááŒááºááẠá¡ááá·áºááŸááá±áá«áááºá áá»áœááºá¯ááºááá¯á·ááœáẠáááá¯ááºážáá»á¬ážáááŸáááá·áºá¡ááœáẠáá»áœááºá¯ááºááá¯á·á á áááºáá¬ááºááᯠáááºáá¬á á±ááŒá®áž áá°ááá¯ááºážá¡ááœáẠáá¯á¶áá±á¬ááºáá±á¬ á¡áááºá ááºááŸá¯ááŸáá·áº ááœááºááŒá°áá¬ááœááºáá¬áá á¡á¬ážáááºáá»áááºáá»á¬ážááᯠáá¯ááºáá¯á¶ážá á±áááºá
áá°ááá¯ááºážááœáẠááá°áá®áá±á¬á¡áááºá¡áá»ááºážáá»á¬áž- ááœááºáááºáá»áááºáááºáá°áá»á¬ážá DBAsá ELK stack á¡áá°ážáá¯áá»á¬ážá Kubernetes á
á®áá¶ááá·áºááœá²áá°áá»á¬áž/áá±á¬á·ááºáá²á¡ááºáá»ááºáá®áá¬áá»á¬ážá á
á±á¬áá·áºááŒáá·áºááŒááºážá virtualizationá áá¬á·ááºáá²áá»áœááºážáá»ááºáá°áá»á¬áž á
áááºááá¯á·ááŒá
áºáááºá á¡áá¬áá
áºáá¯á áá°ááá¯ááºážááᯠá
ááºážáá¯á¶ážáá®ááœááºá
á±ááẠ- áá°ááá¯ááºážááẠáá»áœááºá¯ááºááá¯á·ááᯠá¡ááá¯ááºážá¡áá¬áá
áºáá¯á¡áá á¡á
á¬ážááá¯ážááá¯ááºáááº- á¥ááá¬á k8s á¡á
á¯á¡áá±ážááœáẠnode á¡áá
áºáá»á¬ážááᯠááááºáááºáá«á PostgreSQL ááᯠá¡ááºááááºáá¯ááºáá«á CI / CD + Ansible ááá¯ááºááá¯ááºážáá
áºáá¯áá±ážáá«á Python / Bash / Go ááœáẠáá
áºáá¯áá¯ááᯠá¡ááá¯á¡áá»á±á¬ááºááŒá¯áá¯ááºáá«á á¡ááá¯ááºážáá
áºáá¯ááᯠáá»áááºáááºáá«á DPC ááá¯á· áá¬á·ááºáá²á áááºááá·áºáááºáááºááœááºáááᯠááá¯ááºáá¬áá±á¬á¡áááºá¡áá»ááºážáá»á¬ážááẠááŸá¯ááºááŸá¬ážááŸá¯ááŠážáááºáá»ááºááŒá±á¬ááºážáá²ááŒááºážááŸáá·áº á¡ááŒá¬ážáááºáááºá¡áá»áá¯á·ááœáẠá
áááºá
á¯ááºáá°ááŒááºážááᯠá¡ááŸá±á¬áá·áºá¡ááŸááºáááŒá¯áá«á á¥ááá¬á¡á¬ážááŒáá·áºá áá»áœááºá¯ááºááẠPostgreSQL á¡áá°ážáá»áœááºážáá»ááºáá°á¡ááŒá
Ạáá¯áá¹ááá®áá
áºáá¯ááœáẠá¡áá¯ááºááá²á·ááŒá®áž ááá¯á¡áá« áá»áœááºá¯ááºá á¡ááááá¬áááºáá°ááŸá¯áááºáááºááŸá¬ Kubernetes á¡á
á¯á¡áá±ážáá»á¬ážááŒá
áºáááºá á¡áááºážááœáẠáááºááá·áºááá¯ážáááºááŸá¯ááá¯áááᯠááŒáá¯ááá¯áá¯á¶áá¬ááŸáááŒá®áž ááá¯á¶ážáá»ááºážáááºáá¶ááŒááºážááẠá¡ááœááºááœá¶á·ááŒáá¯ážáááºá
á áá¬ážáá ááºá ááá¯ááºá á¬ážááŸááºáá±á¬ááºážááœá±áá²á· ááá¯á¡ááºáá»ááºááœá±á áá±á¬áºáá±á¬áºáá±áž á á¶áá»áááºáá®áá«áááºá áá»áœááºáá±á¬á·áºá¡ááœááºááá±á¬á· áá¯áá¹ááá¯ááºáá±ážá¡ááá±á¬á· áá°áá áºáŠážáᬠá¡áááºážáá²á· á¡á¶áááºááœááºáá»ááŒá áºááŒá®áž ááááºááá¯ááºáááºááá¯ááºááŒááºážááá¯ááºáá±ááá·áº áá°á·á¡ááŒááºááᯠáááºááá¯áá¬ááœááºáááá²ááá¯áá¬áááºáž áááááºá ááœá¶á·ááŒáá¯ážááá¯ážáááºáá»ááºááŒá®áž á¡áá áºáá áºáá¯áá¯áá¯ááºáááŸá¬ááᯠáááŒá±á¬ááºáá² áá°á·áá²á·á áááºáá°ážááœá±ááᯠáááºážááŸááºážááá¯á·áááºáž á¡áá±ážááŒá®ážáááºá ááá¯á·á¡ááŒááºá scripting languages ââáá»á¬ážááœáẠprogramming áá»áœááºážáá»ááºááŸá¯á Linux ááŸáá·áº English á¡ááŒá±áá¶áá»á¬ážááᯠááááŸáááẠááá¯á¡ááºáá«áááºá fakap ááá á¹á ááœáẠáá°áá áºáŠážááẠááŒá¿áá¬ááᯠ10 á áá¹ááá·áºá¡ááœááºáž google ááá¯ááºá á±áááºá¡ááœáẠá¡ááºá¹áááááºááá¯áᬠááá¯á¡ááºááŒá®áž 10 áááá áºá¡ááœááºáž ááá¯ááºáá±á Linux á¡ááŒá±á¬ááºážááᯠáááºáááºááŸáá¯ááºážááŸáá¯ááºáž áááºáá»áœááºážáá±á¬ áá»áœááºážáá»ááºáá°áá»á¬ážááŸáá·áºá¡áá°á ááᯠá¡ááœááºáááºáá²áááº- áááºá áá¬áá±á¬ááºážáá±á¬áºáááºáž ááá¯ááºá á¬ážááŸááºáá±á¬ááºáž áá¯á¶ážáŠážááœáẠááŸá áºáŠážááẠâLoad Average ááá¯áᬠáá¬áá²? á¡á²áá«á áá¬áá«áá²âá â sish áááá¯ááááºá០áááºáá¡ááŸáá¯ááºáá¯á¶ááŒá®ážááᯠáááºááᯠá á¯áá±á¬ááºážáááá²â áá°áá±á¬ áá±ážááœááºážááẠáá°á áœááºážáá°á áœááºážáá±á¬ááºážáá»á¬áž ... ááá¯á·ááá¯áẠááá¯ááºááá¯áá±á¬áá»á¬ážááá¹áá¬á០áá áºáá¯áá¯áᯠáá°ááá«áááºá áá»á¬ážáá±á¬á¡á¬ážááŒáá·áº áá°ááœá±á áááŒá¬ážá¡áááºá¡áá»ááºážááœá±ááᯠááŒáá·áºáá¬ážá áœá¬ áá®ááœááºááŒááŒá®áž Linux ááᯠáááºáá±ážááŸá¬ááŒá áºááá¯á· áá«ááᯠáááºážáá¶ááá«áááºá âDevOps á¡ááºáá»ááºáá®áá¬áá áºáá±á¬ááºáᬠáá±ááºáá áºááááºááá¯ááºááá¹áá¬ááŸá¬ áá«ááœá±á¡á¬ážáá¯á¶ážááᯠááááá¯á· áá¬ááŒá±á¬áá·áº ááá¯á¡ááºááá²â ááá¯áá²á· áá±ážááœááºážáá²á·á¡ááŒá±ááᯠáá±á¬ááºážáá«ážáá²á· áááºáááºá¡ááŒááºáááºááŸá¬ áá»ááºáá¬ážáááŸá¬ááŒá áºááŒá®áž á áá¬ážáá¯á¶ážáá¯á¶ážáá¯á¶ážáá²á· áá®á¡áá¬á¡á¬ážáá¯á¶áž ááá¯á¡ááºáá«áááºá
Tools command
Tools á¡ááœá²á·ááẠá¡ááá¯á¡áá»á±á¬ááºáá¯ááºáá±á¬ááºááŒááºážááœáẠá¡áá±ážáá«áá±á¬á¡áááºážááá¹áá០áá«áááºáá«áááºá áááºážááá¯á·á á¡ááááá¬áááºááŸá¬ developer áá»á¬ážá¡ááœáẠá¡áááºááŒá±áá±á¬ ááááºáá áºááŸáá·áº CLI áááááá¬áá»á¬ážááᯠáááºáá®ážáááºááŒá áºáááºá á¥ááá¬á¡á¬ážááŒáá·áºá áá»áœááºá¯ááºááá¯á·á Confer á á¡ááœááºážááá¯ááºáž ááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯ááẠááá·áºá¡á¬áž áá±á¬ááºá áºááá áºá¡áááºážáááºáá»áŸáá¬ááŒáá·áº Kubernetes ááá¯á· á¡ááºááá®áá±ážááŸááºážáá áºáá¯áá¯ááºááá¯ááºá á±áá¬á áááºážáá¡áááºážá¡ááŒá áºáá»á¬ážááᯠááŒááºáááºáááºááŸááºááŒááºážá vault ááŸáá±á¬á·áá»á¬ážá áááºááŒáá·áº á¡áá¯á¶ážááŒá¯ááá¯ááºáááºááŒá áºáááºá Jenkins + Helm 2 ááŸááá²á·áá°ážáá±á¬áºáááºážá copy-paste ááá¯áááºááŸá¬ážááŒá®áž software life cycle ááá¯á·áá°áá®ááŸá¯ááŸáá á±áááºá¡ááœááºáá»áœááºá¯ááºáááá¯ááºááá¯áẠtool ááá¯áá®ááœááºááááºááŒá áºáá«áááºá
Ops á¡ááœá²á·ááẠáá±á¬á·ááºáá²áá±ážáá¬ážáá°áá»á¬ážá¡ááœáẠááá¯ááºááá¯ááºážáá»á¬ážááᯠááá±ážáá¬ážáá±á¬áºáááºáž áááºážááá¯á·ááᯠáá±ážáá¬ážáá¬ááœáẠááŒá¿áá¬áá áºá á¯á¶áá áºáá¬á¡ááœáẠá¡ááŒá¶áá±ážááá¯ááºááẠ(á¡áá»áá¯á·ááœáẠHelm 3 ááŸááá«áá±ážáááºá
DevOps
DevOps á¡ááœááºá áá»áœááºá¯ááºááá¯á·ááẠá€áá²á·ááá¯á·ááŒááºááááº-
Dev á¡ááœá²á·áá»á¬ážááẠáá¯ááºáá±ážááŒá®áž Confer to dev -> qa/stage -> prod ááŸáá áºááá·áº áááºážááᯠáá¯ááºáá°áá«á áá¯ááºááẠááŸá±ážááœá±ážááŒá®áž á¡ááŸá¬ážá¡ááœááºážáá»á¬áž áááŒá áºá á±ááŒá±á¬ááºáž áá±áá»á¬á á±ááẠDev ááŸáá·áº Ops á¡ááœá²á·áá»á¬ážá áá¬áááºááŒá áºáááºá áá±á·áááºážáááºááœááºá Ops á¡ááœá²á·á០áá¬áááºáá»á¡áá¬ááŸáááẠáááºážááá»áŸá±á¬ááºááœáŸá¬ááŸáá·áºáááºáááºááá·áº á¡ááŒá áºá¡áá»ááºáá áºáá¯ááᯠáá¯á¶á·ááŒááºááá·áºááŒá®áž ááá±ááá¯ááºážááŸáá·áº áááá¯ááºážáá»á¬ážááœáẠáá¬áááºáá»áá±á¬ á á®áá¶ááá·áºááœá²áá° (Ops) ááẠááŒá¿áá¬ááá¯ááºááŒá±á¬ááºáž áá±áá»á¬ááááŸááá«á áá¬áááºáá» developer ááᯠááŸáá¯ážááá·áºáá«áááºá á¡ááŒá±áá¶á¡áá±á¬ááºá¡áŠáá²ááŸá¬á á á±á¬áá·áºááŒáá·áºááŒááºážááŸá áááºááá áºáá»á¬ážááŸáá·áº ááááá±ážáá»ááºáá»á¬áž á¡á¬ážáá¯á¶ážááẠá¡ááá¯á¡áá»á±á¬áẠááá¯á·ááá¯áẠáá áºááá¯ááºážá¡ááá¯á¡áá»á±á¬áẠáá±á«áºáá¬áá«áááºá
á¡ááºááá®áá±ážááŸááºážááᯠáá¯ááºáá¯ááºááá·áºá¡áá»áááºááŸá á Ops ááá¬áááºááá¹ááá¬ážááẠá áááºáá±á¬áºáááºáž Dev ááá¬áááºááŸá¬ ááá¯áá±áá¬ááœááºá¡áá¯á¶ážáááºáááºááá¯ááºáá« - áá»áœááºá¯ááºááá¯á·ááẠáá áºáá¯áááºážáá¯ááºáá±á¬ááºááŒá®áž ááŸá±áá±á«áºááœááºááŸááá±áá«áááºá
áá±á¬á·ááºáá²áá±ážáá¬ážáá°áá»á¬ážááẠá á®áá¶ááá·áºááœá²áá°ááá¯ááºáááá¯áááºáá±á¬ááºááŸá¯ (á¥ááá¬á Go backend + HTML5) ááœáẠá¡áá°á¡áá®ááá¯á¡ááºáá«á á á®áá¶ááá·áºááœá²áá°áá»á¬ážááᯠá¡ááŒá¶áá¬ááºáá±ážáᬠá á®áá¶ááá·áºááœá²áá°áá»á¬ážááẠá¡ááŒá±áá¶á¡áá±á¬ááºá¡á¡á¯á¶ááá¯ááºáá¬ááŒá¿áá¬áá»á¬áž ááá¯á·ááá¯áẠk8s ááŸáá·áºáááºáááºááá·áº ááŒá¿áá¬áá»á¬ážá¡ááœáẠdeveloper áá»á¬ážá¡á¬áž á¡ááŒá¶áá±ážáá«áááºá
á áá¬ážáá ááºá áá»áœááºá¯ááºááá¯á·ááœáẠmonolith áá¯á¶ážááááŸááá«á microservices áá»á¬ážáá¬ááŒá áºáááºá áá¶áá«ááºááŒáá·áº ááá¯ááºážáá¬áá«á prod k900s á¡á á¯á¡áá±ážááœáẠáááºážááá¯á·ááá¶áá«ááºááẠ1000 ááŸáá·áº 8 á¡ááŒá¬áž á¡áááºá¡áá»ááŸááááºá áááºááŒáá·áº. á¡á á±á·á¡áá±á¡ááœáẠ1700 ááŸáá·áº 2000 á¡ááŒá¬ážá¡áááºá¡áá»ááŸááááºá áá¯ááºáá¯ááºá¡á á¯á¡áá±ážááŸá á¡á á±á·áá»á¬ážááẠááᯠ2000 áááºážáá»ááºááŒá áºáááºá
áá»áœááºá¯ááºááá¯á·ááẠáááá¯á¡ááºáá±á¬ ááá¯ááºáááá¯áááºáá±á¬ááºááŸá¯áá»á¬ážááᯠá
á±á¬áá·áºááŒáá·áºááŒá®áž semi-automatic áá¯ááºááŒáá·áº ááŒááºáá±á¬ááºáá¬ážáá±á¬ááŒá±á¬áá·áº áá¶áá«ááºáá»á¬ážááᯠá¡ááá¡áá» á¡áááºááá±á¬áºááá¯ááºáá«á k8s ááŸá áááá¯á¡ááºáá±á¬ á¡áá¬áá»á¬ážááᯠááŒá±áá¬áá¶ááŒááºážá áá»áœááºá¯ááºááá¯á·ááᯠáá°áá®áá±ážáá«áááºá
á¡áááºážá¡ááŒá áºá á®áá¶ááá·áºááœá²ááŸá¯
á á±á¬áá·áºááŒáá·áºáá±á·áá¬ááŒááºáž
á¡áááºá¡áá»ááºážááŒáá·áºáá®á áœá¬ áááºáá±á¬ááºáá¬ážááŒá®áž ááááºážá¡áá»ááºá¡ááẠá á±á¬áá·áºááŒáá·áºáá±á·áá¬ááŒááºážááẠááŒá®ážáá¬ážáá±á¬á¡á á¯á¡áá±ážáá áºáá¯á áá¯ááºáá±á¬ááºááŸá¯ááœáẠá¡á¯ááºááŒá áºááŒá áºáá¬áááºá á á±á¬áá·áºááŒáá·áºááŸá¯ááá¯á¡ááºáá»ááºá¡á¬ážáá¯á¶ážá 100% ááœáŸááºážááŒá¯á¶ááá¯ááºááá·áº universal solution áá áºáá¯ááᯠáá»áœááºá¯ááºááá¯á· áááœá±á·ááŸááá±ážáá±á¬ááŒá±á¬áá·áº á€áááºáááºážáá»ááºááœáẠááá°áá®áá±á¬ á áááºááŒáá¯ááºááŒá±ááŸááºážáááºážáá»á¬ážááᯠá¡áá«á¡á¬ážáá»á±á¬áºá áœá¬ áá»áœááºá¯ááºááá¯á· áá±á¬áºáá¯ááºáá«áááºá
- Zabbix. á¡ááŒá±áá¶á¡áá±á¬ááºá¡áŠá á¡áá¯á¶ážá
á¯á¶á¡ááŒá±á¡áá±ááᯠá
á±á¬áá·áºááŒáá·áºááẠá¡ááá áá®ááá¯ááºážáá¯ááºáá¬ážááá·áº áá±á¬ááºážááœááºáá±á¬ á
á±á¬áá·áºááŒáá·áºááŸá¯áá±á¬ááºážá áááá¯áááºáá¬á áááºááá¯áá®á áá
áºáá»á¬ážá ááœááºáááºá
áááºááŒáá·áº ááá¯áá·áºáá
áºáá¯áá±áá¯á¶ážááá·áºá¡áá« áá»áœááºá¯ááºááá¯á·á¡á¬áž ááŒá±á¬ááŒáááºá ááá¬áááœááºáá¬ááŸáááŸááá±á¬áºáááºážá áá»áœááºá¯ááºááá¯á·ááœáẠáá®ážááŒá¬áž DaemonSet áá
áºáá¯ááŸááá«áááºá á¥ááá¬á¡á¬ážááŒáá·áºá áá»áœááºá¯ááºááá¯á·ááẠá¡á
á¯á¡áá±ážááŸá DNS á¡ááŒá±á¡áá±ááᯠá
á±á¬áá·áºááŒáá·áºá
á
áºáá±ážáááº- áá»áœááºá¯ááºááá¯á·ááẠááá¯ááºáá²áá±á¬ coredns pods ááá¯ááŸá¬ááœá±áááºá ááŒááºá host áá»á¬ážááááŸáááá¯ááºááŸá¯ááᯠá
á
áºáá±ážáá«áááºá áááºážá¡ááœáẠá¡áááºááŒá±á¬áá·áº á¡ááŸá±á¬ááºá¡ááŸááºááŒá
áºá
á±áááºáᯠáááºááá±á¬áºáááºáž áá¬ááºááŒá±á¬á¡ááœá¬ážá¡áᬠá¡áá»á¬ážá¡ááŒá¬ážááœáẠá€á¡á
áááºá¡ááá¯ááºážááẠááá¯ážááœá¬ážáá±á¬ áá»áá¯á·ááœááºážáá»ááºáá
áºáá¯ááŒá
áºáááºá á¡áááºá áá«ááŸááááºá
áá±á¬áºááŒáá²á·áááºá á¡á á¯á¡áá±ážááŸá DNS á áœááºážáá±á¬ááºáááºááŸáá·áº áááºáá²á·ááá¯á· áá¯ááºážáááºáá±áááááºážá - Prometheus á¡á±á¬áºááá±áá¬. ááá°áá®áá±á¬ áááºááá¯á·áá°á¡á á¯áá áºá á¯ááẠá¡á á¯á¡á ááºážá¡á¬ážáá¯á¶ážá á¡á áááºá¡ááá¯ááºážá¡á¬ážáá¯á¶ážááᯠááŒá¯á¶áá¯á¶áá¯á¶ážáááºáá»ááºáá±ážáááºá ááá¯á·áá±á¬ááºá áá»áœááºá¯ááºááá¯á·ááẠá€á¡áá¬á¡á¬ážáá¯á¶ážááᯠGrafana ááŸá ááŒá®ážáá¬ážáá±á¬ áááºááŸáºáá¯ááºáá»á¬ážááœáẠááŒááºáá±á¬ááºááŒá®áž á¡áááá±ážáá»ááºáá»á¬ážá¡ááœáẠááááá±ážáá»ááºáááºáá±áá»á¬ááᯠá¡áá¯á¶ážááŒá¯áá«á
áá»áœááºá¯ááºááá¯á·á¡ááœáẠáá±á¬ááºáááºá¡áá¯á¶ážáááºáá±á¬áááááá¬áá
áºáá¯ááŒá
áºáááºá
"Cube" ááŸá á¡ááœá²á·áááºážááŒá áºáá»á¬áž
á¥ááá¬áá»á¬ážááᯠáááºáááºááá¯ááºáá±á¬ááºáá®á áá»áœááºá¯ááºááá¯á·á¡ááœáẠá¡áááºážá¡ááŒá áºááœá²áá±áá±ážáá¯á¶ááᯠááŸááºážááŒááá»áá¯ážáááºáááºá ááá¯ááºáááá¯áááºáá±á¬ááºááŸá¯áá»á¬áž.
áááºááá·áºá¡áááºážáá»á¬ážááŸáá·áº áááºáá²á·ááá¯á·á¡áá¯á¶ážááŒá¯áááºááᯠáá¬ážáááºááẠá¡áááºážá¡ááŒá áºáá»á¬áž (áááá¯áááºáá¬á áááºááá¯áá®á ááŒááºááœááºáž SSD)á áá»áœááºá¯ááºááá¯á·ááẠáá»áœááºá¯ááºááá¯á·áááá¯ááºááá¯áẠááœá²áá±áá±ážáááºá namespace "Cube" ááœááºáááºážáá¡ááŒáá·áºáá¯á¶ážá áœááºážáá±á¬ááºáááºáá»á¬ážááá¯áááá¯áááºáá¬á áááºááá¯áá®ááŸáá·áºáá áºáá»á¬ážááœááºááááºáá¡áááºážáá»á¬ážáááá¯á¡ááºáá»ááºáá»á¬ážááá¯ááœá±ážááœá±ážáá²á·ááŒá®ážááŒá áºáááºá ááá¯á·ááŒá±á¬áá·áºá áá±áá¯áá»ááá á¹á ááœááºá á¡áááá·áºáá áºáá¯ááẠááŒáá·áºáá»ááºááŸá¯á¡ááœáẠá¡á á¯á¡áá±ážáá áºáá¯áá¯á¶ážááᯠááááºááá¯á·áá¬ážááŒá®áž áá±á¬ááºáá±á«ááºážáá»á¬ážá áœá¬áá±á¬ cores ááŸáá·áº terabytes of memory ááᯠáá°á·áá¬áá¬áá° ááœá²áá±áá±ážáááºááá¯ááºáá«á namespace ááá¯á·áááºáá±á¬ááºááœáá·áºáá»á¬ážááᯠAD ááŸáááá·áºáá¯ááºáá±ážááẠ(áá»áœááºá¯ááºááá¯á·ááẠRBAC ááá¯á¡áá¯á¶ážááŒá¯áááº) á Namespaces ááŸáá·áº áááºážááá¯á·á ááá·áºáááºáá»ááºáá»á¬ážááᯠGIT repository ááá¯á· ááœá²áá¯ááºááẠáá±á¬ááºážááá¯ááŸá¯ááŸáá áºááá·áº áá±á«ááºážááá·áºááŒá®ážáá±á¬áẠá¡áá¬á¡á¬ážáá¯á¶ážááᯠAnsible ááá¯ááºááá¯ááºážááŸáá áºááá·áº á¡ááá¯á¡áá»á±á¬áẠáá¯ááºáá±ážáá«áááºá
á¡ááœá²á·áá áºáá¯á á®á¡ááœáẠá¡áááºážá¡ááŒá áºááœá²áá±ááŸá¯ á¥ááá¬áá áºáá¯-
namespaces:
chat-team:
pods: 23
limits:
cpu: 11
memory: 20Gi
requests:
cpu: 11
memory: 20Gi
áá±á¬ááºážááá¯ááŸá¯áá»á¬ážááŸáá·áº ááá·áºáááºáá»ááºáá»á¬áž
á¡áá¯á¶ážááá¯ááº" áá±á¬ááºážááá¯áá»ááºááᯠáááºáááºá¡á±á¬ááºááœááºááŸááá±á¬ á¡á¬ááá¶áá¬ážáá±á¬ á¡áááºážá¡ááŒá áºá¡áá±á¡ááœááºááŒá áºáááºá ááœá¶ á¡á á¯á¡ááœá²á·áá áºáá¯á¡ááœááºáž (áá áºáᯠááá¯á·ááá¯áẠáá áºáá¯áááºááá¯áá±á¬ docker ááœááºááááºáá¬áá»á¬áž)á ááá·áºáááºáá»ááºááẠá¡á¬ááá¶áá»ááºáááŸááá±á¬ á¡áá»á¬ážáá¯á¶ážááŒá áºáááºá á¡áá»áá¯á·á¡ááœá²á·ááẠáááºážáá¡ááºááºáá®áá±ážááŸááºážá¡á¬ážáá¯á¶ážá¡ááœáẠáá±á¬ááºážááá¯ááŸá¯áá»á¬ážá áœá¬ááᯠáááºááŸááºááŒá®áž áááºážááá¯á·á namespace á¡á±á¬ááºááœáẠáá±á¬ááºážááá¯áá»ááºá¡á¬ážáá¯á¶ážááᯠ"áá¯á¶ážá áœá²ááŒá®áž" ááŒá áºáá±á¬ááŒá±á¬áá·áº á¡ááá®áá±ážááŸááºážááᯠ"Cube" ááœáẠááŒáá·áºáá»ááºáááááá·áºá¡ááœáẠááá¬ážááœáẠáááºáááŒá¬ááááœá±á·ááá¯ááºáááºá
á€á¡ááŒá±á¡áá±á០ááŸááºáááºáá±á¬ áááºážáááºážááŸá¬ á¡ááŸááºáááẠá¡áááºážá¡ááŒá Ạáá¯á¶ážá áœá²ááŸá¯ááᯠááŒáá·áºááŸá¯ááŒá®áž áá±á¬ááºážááá¯áá¬ážáá±á¬ ááá¬á (Request) ááŸáá·áº ááŸáá¯ááºážááŸááºááẠááŒá áºáá«áááºá
á¡áááºáá±á¬áºááŒáá« áááºáá¬ážááŒááºáá¬ááºáá¯á¶áá»á¬ážááẠ"áá±á¬ááºážááá¯áá¬ážáááº" (áá±á¬ááºážááá¯áá¬ážáá±á¬) CPU áá»á¬ážááᯠááœá²áá»á¬ážá á¡áá±á¡ááœááºá¡á
á
áºá¡ááŸááºááœáẠááœá±ážáá»ááºáá¬ážááŒá±á¬ááºáž ááŒáááŒá®áž ááá·áºáááºáá»ááºáá»á¬ážááẠCPU ááá¯ááºážáá»á¬ážá á¡á
á
áºá¡ááŸááºá¡áá±á¡ááœááºááẠáá»á±á¬áºááœááºááá¯ááºááẠ=)
ááᯠnamespace á¡áá»áá¯á·ááᯠá¡áá®ážáááºáá±á·áá¬ááŒáá·áºááŒáá«á áá¯á· (áá»áœááºá¯ááºááẠnamespace kube-system - "Cube" á á¡á áááºá¡ááá¯ááºážáá»á¬ážá¡ááœáẠsystem namespace ááᯠááœá±ážáá»ááºá áá±á¬ááºážááá¯áá¬ážáá±á¬ áááá¯áááºáá¬ááŸáá·áº á¡ááŸááºááááºá¡áá¯á¶ážááŒá¯ááá·áº á¡áá»áááºááŸáá·áº áááºááá¯áá®á¡áá»áá¯ážááᯠááŒáá·áºáá«-
á
áá
áºáááºáá±á¬ááºááŸá¯áá»á¬ážá¡ááœáẠáá®ážááá·áºáá¬ážááŸááá±á¬ memory ááŸáá·áº CPU ááẠá¡ááŸááºááááºá¡áá¯á¶ážááŒá¯áááºááẠáá»á¬ážá
áœá¬ááá¯á áááºááŸá¬ážáá«áááºá kube-system ááœááºá áááºážááẠááá¬ážáá»áŸááááº- á¡ááœááºá¡ááááºááŸá nginx ingress controller ááá¯á·ááá¯áẠnodelocaldns ááẠCPU áá±á«áºááœáẠá¡áá¬ážáá°ááŒá®áž RAM á¡áá»á¬ážá¡ááŒá¬ážááᯠá
á¬ážáá±á¬ááŒá±á¬áá·áº á€áá±áá¬ááœáẠááá¯ááá¯á·áá±á¬á¡áá¬ážáááºááẠááá¬ážáá»áŸááá«áááºá ááá¯á·á¡ááŒááºá áá»áœááºá¯ááºááá¯á·ááẠááŒá®ážáá²á·áá±á¬ 3 áá¬áá®á¡ááœááºáž ááá¬ážáá»á¬ážááᯠá¡á¬ážááá¯ážááááá«- á¡áá»áááºáá»á¬ážá
áœá¬á¡ááœááºáž áááá¯ááºážááá¯ááºáᬠáááºááá
áºáá»á¬ážááᯠááŒáá·áºááŸá¯ááẠááŸá
áºááá¯ááœááºááŒá
áºáá«áááºá
"á¡ááŒá¶ááŒá¯áá»ááºáá»á¬áž" á áá áºáá áºáá¯ááᯠáá®ááœááºáá²á·áááºá á¥ááá¬á¡á¬ážááŒáá·áºá á€áá±áá¬ááœáẠ"ááá·áºáááºáá»ááºáá»á¬áž" (á¡áááºááœáá·áºááŒá¯áá¬ážáá±á¬áá¬áž) ááá¯ááŒáŸáá·áºáááºááŒááºážááẠáááºááá·áºá¡áááºážá¡ááŒá áºáá»á¬ážá ááá¯áá±á¬ááºážáááºááá¯ááœá±á·ááá¯ááºáááºá ááá¯á·ááŸáᬠ"throttling" áááŒá áºáá±á«áºá á±áááº- pod ááẠCPU ááá¯á·ááá¯áẠmemory ááᯠááœá²áá±áá»áá¬ážáá±ážááá·áºá¡áá»ááẠquantum á¡ááœááºáá¯á¶ážá áœá²ááŒá®ážááŒá áºááá·áºá¡ááá¯ááºá¡ááá·áºá áááºážááẠ"á¡á±ážáá²ááœá¬ážáááº" ááá±á¬ááºááá»ááºáž á á±á¬áá·áºáá±áááºá
ááŒá®ážáá±á¬á· áá°ááá¯á·áá²á· á¡á
á¬á
á¬ážáá»ááºá
áááºááᯠááááºážááŸááá±ážááá·áº á¡á
á±á·áá±ážááœá±áá« á
á¡áá±á«áº throttling + á
á±á¬áá·áºááŒáá·áºáá±ážá¡áááºážá¡ááŒá
áºáá»á¬ážá áááºááẠáá±á¬ááºážáá«ážáá
áºáá¯áááºááá¯á áá±ážáá¬ážááá¯ááºáá±á¬ááŒá±á¬áá·áº ááŸááºáá»ááºáá»á¬ážááœáẠáá±ážááœááºážáá»á¬ážáá±ážáá«á á
áá¬ážáá¯á¶ážá¡áááºážáááºááŒáá·áºá ááá¯ááá¯á·áá±á¬áááºááá
áºáá»á¬ážááᯠá¡ááá¯á¡áá»á±á¬ááºááŒá¯áá¯ááºááŒááºážááá¯ááºáááºážáá¬áááºááẠá¡ááœááºáááºáá²ááŒá®áž á¡áá»áááºáá»á¬ážá
áœá¬ááá¯á¡ááºááŒá®áž "window" áá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááŸáá·áº "CTE" Prometheus / VictoriaMetrics ááá¯á·ááŒáá·áº á¡áá»áááºáá»á¬ážá
áœá¬ááá¯á¡ááºáááºáᯠáá»áœááºá¯ááºááŒá±á¬ááá¯ááºááẠ(á€á¡áá¯á¶ážá¡ááŸá¯ááºážáá»á¬ážááẠquotation á¡ááŸááºá¡áá¬ážááœááºááŸááá±á¬ááŒá±á¬áá·áºá PromQL ááœáẠá€áá²á·ááá¯á· áááºááá·áºá¡áá¬áá»áŸ áá®ážáá«ážáááŸááááá¯á áááºááẠá
á¬áá¬ážáá»ááºááŸá¬ááŒááºáá»á¬ážá
áœá¬ááœáẠááŒá±á¬ááºá
áá¬áá±á¬ááºážáá±á¬ áá±ážááœááºážáá»á¬ážááᯠáá¬áá¶áá¬ážááŒá®áž áááºážááá¯á·ááᯠá¡áá±á¬ááºážáá¯á¶ážááŒá
áºá¡á±á¬áẠááŒá¯áá¯ááºááá«áááºá)
ááááºá¡áá±ááŒáá·áº developer áá»á¬ážááẠ"Cube" ááœáẠáááºážááá¯á·á namespace áá»á¬ážááᯠá á±á¬áá·áºááŒáá·áºááẠáááááá¬áá»á¬áž ááŸáááŒá®áž áááºážááá¯á·ááẠáááºááá·áº application á០á¡áááºážá¡ááŒá áºáá»á¬ážááᯠ"ááŒááº" ááá¯ááºááá·áº á¡áá»áááºááŸáá·áº áááºááá·áº pods áá»á¬ážááᯠCPU áá áºáá¯áá¯á¶ážááᯠáá áºááá¯á¶áž áá±ážáá±á¬ááºááá¯ááºáááºáááºážá
áááºážá áá áºáá»á¬áž
á¡áá¯ááá¯áá»áá¯áž áá¯áá¹ááá®ááŸá¬ áááºááŸááºáá»áœááºá¯ááºááá¯á·ááẠDevOps- ááŸáá·áº ááá¯ááºáá¬áááºá SRE- áá±á·áá»áá·áºáá° áá¯áá¹ááá®áá áºáá¯ááœáẠmicroservices 1000 ááŸáááŒá®áž á¡ááŒá±áá¶á¡áá±á¬ááºá¡á¡á¯á¶áá áºáá¯áá¯á¶ážá¡ááœáẠdeveloper 350 ááá·áºááŸáá·áº á á®áá¶ááá·áºááœá²áá° 15 áá±á¬ááºááŸááá±á¬á¡áá«ááœáẠáááºááẠ"áá±ááºáááºáááº" ááŒá áºááááº- ဠ"buzzwords" áá»á¬ážá¡á¬ážáá¯á¶ážááá±á¬ááºááœááºááœáẠá¡áá¬á¡á¬ážáá¯á¶ážááŸáá·áº á¡áá¬á¡á¬ážáá¯á¶ážááᯠá¡ááá¯á¡áá»á±á¬ááºááŒááºáá¯ááºááẠá¡áá±ážáááŒá®ážááá¯á¡ááºáá±ááŒá®áž á á®áá¶ááá·áºááœá²áá°áá»á¬ážááẠáá áºááá¯á·áá±á áá¬áááŸáááá·áºáá«á áá¯ááºáááºážá ááºáá»á¬ážááœááºá
Ops á¡áá±ááŒáá·áºá áá»áœááºá¯ááºááá¯á·ááẠáááºáá±á¬ááºááŸá¯áá¯á¶á·ááŒááºááŸá¯ááŒááºááŸá¯ááºážááŸáá·áº áááºáá±á¬ááºááŸá¯á¡ááŸá¬ážáá»á¬ážááá¯ááºáᬠdeveloper áá»á¬ážá¡ááœáẠá¡áá»áá¯ážáá»áá¯ážáá±á¬ áááºááá áºáá»á¬ážááŸáá·áº áááºááŸáºáá¯ááºáá»á¬ážááᯠáá¶á·ááá¯ážáá±ážáá«áááºá
áá»áœááºá¯ááºááá¯á·ááẠá€áá²á·ááá¯á·áá±á¬ áááºážá
áá
áºáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯áááº-
ááááºáá áºáááœá²áᬠáá áºáááŸáááŒá®á á€áááºááŸá¬ áá±á¬ááºážáá±á¬ááá¹ááá¬ááŒá áºááá¯ááºáááº- ááá¯ááá¯áááºááŸá¬ âááá¹áâ á¡áá»á¬ážá á¯ááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºááŒá®ážááŒá®áᯠááá¯ááá¯áááºá áá áºáááºá¡ááœááºáž áá»áœááºáá±á¬áº á¡áááºážáá¯á¶áž áá áºáá±á·áá áºááŒááẠááá¬ážá¡áá áºááœá²ááŒá áºáá²á·áááºá
ááááºááẠááá¯á¡áá« developer áá»á¬ážááẠ"áááºááá
áºáá
áºáá»áá¯ážáá»áá¯ážááᯠáááºááŸá¬ááœá±á·ááááºáááºáž" áá°áá±á¬ áá±ážááœááºážáá»á¬ážááŒáá·áº á
á®áá¶ááá·áºááœá²áá°áá»á¬ážáᶠááœá¬ážáá²áá±á¬ááŒá±á¬áá·áº ááááºááẠá¡ááá¯ážáááºáá«áááºá
ááááá«ááºáž áááºáá±á¬ááºááŸá¯ Mesh á¡áá®ážáá¯á¶ážááœááºááŸáááŒá®áž áá°ááá¯ááºážá¡ááœáẠááááá¯ááá¯ááá¯ááœááºáá°á á±ááá·áºáááºá Tools ááŸáá¯ááºáá±á¬áºááá¯ááºáááºáá»á¬ážááẠabstract âáá»ááºážáá¬áá±á¬áá°áá áºáŠážá Istioâ ááá¯á¡áá±á¬ááºá¡áááºáá±á¬áºááẠáá®ážá ááºáá±ááŒá®ááŒá áºáááº- HTTP (áá»á¬áž) áá±á¬ááºážááá¯áá»ááºáá áºáá¯á á®ááááá¶ááá¬ááᯠá á±á¬áá·áºááŒáá·áºáá±á·áá¬ááŒááºážááœáẠááŒááºááá¯ááºáááºááŒá áºááŒá®ážá interservice (áá¬áá) á¡ááŒááºá¡ááŸááºáááºááœááºááŸá¯ááœáẠ"áááºááá·áºá¡ááá·áºáá¡áá¬á¡á¬ážáá¯á¶ážááŒáá¯ááœá²" ááá¯á¡ááŒá²áá¬ážáááºáááºááŒá áºááá¯ááºáááºá DomClick hub á០ááááºážáá»á¬ážááᯠá á¬áááºážááœááºážáá«á =)
Kubernetes á¡ááŒá±áá¶á¡áá±á¬ááºá¡á¡á¯á¶áá¶á·ááá¯ážááŸá¯
áááá¯ááºážááŒá±á¬ááºážá¡áá áá»áœááºá¯ááºááá¯á·ááẠpatched áá¬ážááŸááºážááᯠá¡áá¯á¶ážááŒá¯áááºá Kubespray - Kubernetes ááᯠá¡áá¯á¶ážááŒá¯ááŒááºážá ááá¯ážáá»á²á·ááŒááºážááŸáá·áº á¡ááºááááºáá¯ááºááŒááºážá¡ááœáẠáááŸááááŒá Ạá¡áááºážááá¹áá áá áºáá»áááºáá»áááºááœááºá Kubeadm ááá¯ááºáá±á¬ áááºáááºááŸá¯áá»á¬ážááᯠáááºááá¬áááœá²á០ááŒááºáá±á¬ááºáá²á·ááŒá®áž kubeadm ááá¯á· á¡ááœááºáá°ážááŒá±á¬ááºážáá±áž áá¯ááºáááºážá ááºááᯠá¡ááá¯ááŒá¯ááŒááºáž áááŸááá«á ááááºá¡áá±ááŒáá·áº Southbridge ááẠáááºážáááá¯ááºááá¯ááºáááºážáá¯á¶ ( kubeadm á¡ááœáẠáá¶á·ááá¯ážááŸá¯ááŸáá·áº á¡áá±ážááŒá®ážáá±á¬ááŒá¿áá¬áá»á¬ážá¡ááœáẠá¡ááŒááºááŒááºáááºááŸá¯) ááŒáá·áº ááŒá¯áá¯ááºáá²á·áááºá
k8s á¡á á¯á¡áá±ážá¡á¬ážáá¯á¶ážá¡ááœáẠá¡ááá·áºááŒáŸáá·áºáááºááŸá¯ áá¯ááºáááºážá ááºááẠá€áá²á·ááá¯á· ááŒá áºáááº-
- áá° Kubespray Southbridge ááŸáá»áœááºá¯ááºááá¯á·ááá¬áááœá²á merjim ááŸáá·áºá á áºáá±ážáá«á
- á¡ááºááááºááᯠáá¯ááºáá±ážáá±áááºá á áááºááá á®ážááŸá¯- "Cube" á
- áá»áœááºá¯ááºááá¯á·ááẠáá áºááŒáááºáá»áŸáẠá¡ááºááááºáá áºáá¯á¡á¬áž áá¯ááºáá±ážááẠ(Ansible ááœáẠá€á¡áá¬ááẠ"serial: 1" ááŒá áºáááº) dev- "Cube" á
- á¡ááá·áºááŒáŸáá·áºáááºááŒááºážá áá¯ááºáá¯ááºááŸá¯ á áá±áá±á·ááá±áááºážááœááºá áá áºááŒáááºáá»áŸáẠnode áá áºáá¯á
á¡áá¬áááºááŸá¬ á¡á á¬ážááá¯ážááá¯á· á¡á á®á¡á ááºááŸááá«áááºá Kubespray ááŒááºááŒááºáááºáááºáá²á· ááœá¬ážááá¯ááºáá«á kubeadm.
á á¯á á¯áá±á«ááºážá áá»áœááºá¯ááºááá¯á·ááœáẠ"Cubes" áá¯á¶ážáá¯ááŸááááº- Stressá Dev ááŸáá·áº Prodá áá±á¬ááºáá áºáá¯ááᯠááœáŸáá·áºáááºááá¯á· á á®á ááºáá¬ážáááºáááœá±ážááœá±ážáá±á¬ á¡ááá·áºá¡áá±á¡áá¬áž) Prod- "Cube" áá¯ááááá±áá¬á ááºáá¬á á áááºááá á®ážááŸá¯ О dev virtual machines (Stress for oVirt ááŸáá·áº Dev á¡ááœáẠVMWare cloud) ááœáẠáá±ááá¯ááºáá«á áá¯ááºáá¯ááºááŸá¯- "Cube" ááẠ"bare metal" (bare metal) áá±á«áºááœááºáá±ááá¯ááºáááº- áááºážááá¯á·ááẠCPU ááá¯ááºáž 32 áá¯á áááºááá¯áá® 64-128 GB ááŸáá·áº 300 GB SSD RAID 10 áá«ááŸááá±á¬ áá°áá®áá±á¬ node áá»á¬ážááŒá áºááẠ- áááºážááá¯á·áá²á០á á¯á á¯áá±á«ááºáž 50 áá¯ááŸááááºá "áá«ážááœáŸá¬áá±á¬" node áá¯á¶ážáá¯ááᯠ"áá¬á áá¬" á¡ááœáẠáááºá á°ážáá¬ážáá«áááºá áá¯ááºáá¯ááºááŸá¯- "áá»á°ážáá¬áž"- áááºááá¯áá® 16 GBá CPU ááá¯ááºáž 12 áá¯á
áá±á¬ááºážáá»ááŒááºážá¡ááœááºá áá»áœááºá¯ááºááá¯á·ááẠ"ááá¹áá¯ááá¬" ááᯠá¡áá¯á¶ážááŒá¯á áááá¯á¡ááºáá±á¬ á¡ááœáŸá¬áá»á¬ážááᯠááŸá±á¬ááºááŸá¬ážááá¯áá«áááºá OpenStackáá»áœááºá¯ááºááá¯á·ááẠ"áá°áá¶áá±á¬ á¡áááºáá®ážáá»ááºážáá»á¬áž" ááŸáá·áº CPU áááá¯á¡ááºáá«á á¡áá»áááºááá¯áž. In-house OpenStack ááœáẠá¡á¯ááºáá»á¯ááºáá±ážá ááŸá¯ááºááœá±ážááŸá¯ááẠáááºáááºááá·áº ááá¯ážáá¬áááºá
CI/CD Cube ááŸáá·áº á¡ááŒá¬ážáá±á¬ á¡ááŒá±áá¶á¡áá±á¬ááºá¡áŠ á¡á áááºá¡ááá¯ááºážáá»á¬ážá¡ááœáẠáá»áœááºá¯ááºááá¯á·ááẠáá®ážááŒá¬áž GIT áá¬áá¬ááŒá áºááá·áº Helm 3 ááᯠá¡áá¯á¶ážááŒá¯áá«áááºá á¡áá¯ááŒá°áá¯á¶áž) Jenkinsá Ansible ááŸáá·áº Dockerá áá»áœááºá¯ááºááá¯á·ááẠá¡ááºá¹áá«áááºá¡ááá¯ááºážá¡áááºáá»á¬ážááá¯ááŸá áºáááºááŒá®áž áá°áá®áá±á¬ááá¯ááŸá±á¬ááºááŸá¯á០ááá°áá®áá±á¬áááºáááºážáá»ááºáá»á¬ážááá¯á· ááŒáá·áºáá»ááºáá»áá¬ážáá«áááºá
áá±á¬ááºáá»ááº
áá±áá°áá»á¡á¬ážááŒáá·áº DomClick ááŸá DevOps áá¯ááºáááºážá
ááºááẠáááºáááºá¡ááºáá»ááºáá®áá¬áá
áºáŠážá áá±ážááœááºáá¯á¶ááŒá
áºáááºá áá±á¬ááºážáá«ážááẠáá»áœááºá¯ááºáá»áŸá±á¬áºááá·áºáá¬ážáááºááẠáááºážááá¬ááá¯ááºážá¡á¬ážáááºážááœá¬ážáááº- ááá¯á·ááŒá±á¬áá·áº Habré ááŸá DomClick ááááºážááᯠááá¯ááºáá¬áá«- Kubernetes ááŸáá·áº á¡ááŒá¬áž "á¡áá¬áá¶" áá±á¬ááºážáá«ážáá»á¬áž ááá¯ááá¯ááŸááá«áááºá
source: www.habr.com