ááŸááºáá»ááºá áá¬áá¬ááŒááº- ááá¹áá¬áá»á±á¬áº Tinder áááºáá±á¬ááºááŸá¯á០áááºáááºážáá»á¬ážááẠáááºážááá¯á·á á¡ááŒá±áá¶á¡áá±á¬ááºá¡áŠáá»á¬ážááᯠKubernetes ááá¯á· ááŒá±á¬ááºážááœáŸá±á·ááŒááºážááá¯ááºáᬠáááºážááá¬á¡áá±ážá áááºá¡áá»áá¯á·ááᯠáááŒá¬áá±ážáá®á áá»áŸáá±áá²á·áááºá áá¯ááºáááºážá ááºááẠááŸá áºááŸá áºáá®ážáá«ážááŒá¬áá²á·ááŒá®áž K8s ááœáẠááœááºááááºáᬠááááá ááœáẠáááºáá±á¬ááºááŸá¯ ááá áá«áááºáá±á¬ á¡ááœááºááŒá®ážáá¬ážáá±á¬ ááááºáá±á¬ááºážáá áºáá¯ááᯠá áááºááá¯ááºáá²á·áááºá Tinder á¡ááºáá»ááºáá®áá¬áá»á¬ážááẠáááºááá·áºá áááºáááºá á¬ážááœááºá¡áááºá¡áá²áá»á¬ážááᯠááŒá¯á¶ááœá±á·áá²á·áááŒá®áž áááºááá·áºááááºáá»á¬áž áááŸááá¬ááááºážá á€áá¬áá¬ááŒááºááᯠáááºááŸá¯áá«á
á¡áááºááŒá±á¬áá·áºáááºáž
ááœááºáá²á·áá±á¬ááŸá áºááŸá áºáá®ážáá«ážá Tinder ááẠáááºážáááááºáá±á¬ááºážááᯠKubernetes ááá¯á·ááŒá±á¬ááºážááœáŸá±á·ááẠáá¯á¶ážááŒááºáá²á·áááºá Kubernetes ááẠTinder á¡ááœá²á·á¡á¬áž áááŒá±á¬ááºážáá²ááá¯ááºáá±á¬ ááŒáá·áºáá»ááºááŸá¯ááŒáá·áº á¡áááºážáááºáá»áŸáá±á¬ á¡á¬ážáá¯ááºááŸá¯ááŒáá·áº áá¯ááºáá¯ááºáá±ážááá¯á· ááœáŸá±á·ááŒá±á¬ááºážááẠááœáá·áºááŒá¯ááẠ(áááŒá±á¬ááºážáá²ááá¯ááºáá±á¬ á¡áá¯á¶ážáá»ááŸá¯). á€ááá á¹á ááœááºá á¡ááá®áá±ážááŸááºážáá»á¬ážá á á¯áá±ážááŸá¯á áááºážááá¯á·á ááŒáá·áºáá»ááºááŸá¯ááŸáá·áº á¡ááŒá±áá¶á¡áá±á¬ááºá¡á¡á¯á¶áá»á¬ážááá¯ááºááá¯ááºáá¯ááºááŒáá·áº áá®ážááŒá¬ážáááºááŸááºáá±ážáááºááŒá áºáááºá
áá»áœááºá¯ááºááá¯á·ááẠá¡ááá¯ááºážá¡áá¬ááŸáá·áº áááºááŒáááºááŸá¯ááŒá¿áá¬á¡ááœáẠá¡ááŒá±ááᯠááŸá¬ááœá±áá±áá«áááºá á¡ááá¯ááºážá¡áá¬ááẠá¡áá±ážááŒá®ážáá¬áá±á¬á¡áá«ááœááºá áá»áœááºá¯ááºááá¯á·ááẠEC2 ááŒá áºáááºá¡áá áºáá»á¬áž áááºáááºááẠáááá áºáá»á¬ážá áœá¬ á á±á¬áá·áºááááºáááºá ááœááºááááºáá¬áá»á¬ážááᯠááœáŸáá·áºáááºáᬠáááá áºááá¯ááºážá¡á á¬áž á áá¹ááá·áºááá¯ááºážá¡ááœááºáž áá¬ááºá¡ááœá¬ážá¡áá¬ááᯠá áááºááŒá±ážááœá²ááẠá áááºáá°ážááẠáá»áœááºá¯ááºááá¯á·á¡ááœáẠá¡ááœááºááœá²áá±á¬ááºááŸá¯ááŸááá¬áá²á·áááºá
áá¯ááºáááºážá ááºááẠáááºáá²áá¬áá«áááºá 2019 áá¯ááŸá áºá¡á á±á¬ááá¯ááºážááœáẠáá»áœááºá¯ááºááá¯á·áááŒá±á¬ááºážááœáŸá±á·ááŸá¯á¡ááœááºážá Kubernetes á¡á á¯á¡áá±ážááẠá¡áá±ážááŒá®ážáá±á¬á¡á á¯á¡áá±ážááá¯á·áá±á¬ááºááŸááá²á·ááŒá®áž áá¬ááºá¡ááœá¬ážá¡áá¬ááá¬áá á¡á á¯á¡áá±ážá¡ááœááºá¡á á¬ážááŸáá·áº DNS ááŒá±á¬áá·áº ááŒá¿áá¬á¡áá»áá¯ážáá»áá¯ážááᯠá áááºááŒá¯á¶ááœá±á·áá¬ááááºá áááºážáá áºáá»áŸá±á¬ááºááœááºá áááºáá±á¬ááºááŸá¯ 200 ááᯠááœáŸá±á·ááŒá±á¬ááºážááŒááºážááŸáá·áº 1000 nodeá 15000 pods ááŸáá·áº 48000 run containers áá«áááºáá±á¬ Kubernetes á¡á á¯á¡áá±ážááᯠááááºážááááºážááŒááºážááŸáá·áº áááºáááºááá·áº á áááºáááºá á¬ážááœááºááŒá¿áá¬áá»á¬ážá áœá¬ááᯠáá»áœááºá¯ááºááá¯á· ááŒá±ááŸááºážáá²á·áááºá
áááºááá¯áá±ááá²?
2018 áá¯ááŸá Ạáááºááá«áá®áááŸá áááºá áá»áœááºá¯ááºááá¯á·ááẠááœáŸá±á·ááŒá±á¬ááºážáá±ááá¯ááºááŸá¯ á¡ááá·áºá¡áá»áá¯ážáá»áá¯ážááᯠááŒááºáááºážáá²á·áá«áááºá áá»áœááºá¯ááºááá¯á·ááááºáá±á¬ááºááŸá¯á¡á¬ážáá¯á¶ážááᯠááá¯ááŸá±á¬ááºááŒá®áž Kubernetes á ááºážáááºááá·áº cloud áááºáááºážáá»ááºáá»á¬ážááœáẠá¡áá¯á¶ážááŒá¯ááŒááºážááŒáá·áº á áááºáá²á·áááºá á¡á±á¬ááºááá¯áá¬áááŸá áááºá áá»áœááºá¯ááºááá¯á·ááẠáááºááŸááááºáá±á¬ááºááŸá¯áá»á¬ážá¡á¬ážáá¯á¶ážááᯠKubernetes ááá¯á· áááºážáááºážááá» ááŒá±á¬ááºážááœáŸá±á·á áááºáá²á·áááºá áá±á¬ááºááŸá Ạáááºáááœááºá áá»áœááºá¯ááºááá¯á·ááẠááœáŸá±á·ááŒá±á¬ááºážááŒááºážá¡á¬áž ááŒá®ážááŒá±á¬ááºáá²á·ááŒá®áž ááá¯á¡áá« Tinder ááááºáá±á¬ááºážááẠKubernetes áá±á«áºááœáẠáá®ážááá·áºáá¯ááºáá±á¬ááºáá±áá«áááºá
Kubernetes á¡ááœáẠáá¯á¶áá»á¬ážáááºáá±á¬ááºááŒááºážá
Kubernetes á¡á á¯á¡áá±ážááœáẠáá¯ááºáá±á¬ááºáá±áá±á¬ ááá¯ááºáááá¯áááºáá±á¬ááºááŸá¯áá»á¬ážá¡ááœáẠáááºážááŒá áºáá¯áẠááá¯ááŸá±á¬ááºáá¯á¶ 30 áá»á±á¬áºááŸááááºá á€ááá¯ááŸá±á¬ááºáá¬áá±áá¬áá»á¬ážááŸá áá¯ááºááᯠáá¬áá¬á áá¬ážáá áºáá¯áááºážá¡ááœáẠáá¯ááºáá±á¬ááºáá»áááºáááºáááºážáá»ááºáá»á¬ážá áœá¬ááŒáá·áº ááá°áá®áá±á¬áá¬áá¬á áá¬ážáá»á¬áž (á¥ááá¬á Node.jsá Javaá Scalaá Go) ááŒáá·áº áá±ážáá¬ážáá¬ážáááºá
áááºáá±á¬ááºááŸá¯á áá áºááẠááá¯ááºáááá¯áááºáá±á¬ááºááŸá¯áá áºáá¯á á®á¡ááœáẠá¡ááŒáá·áºá¡áá áááºááŒáá¯ááºááŒááºáááºááá¯ááºáá±á¬ âBuild contextâ ááᯠáá±ážáá±á¬ááºááẠáá®ááá¯ááºážáá¯ááºáá¬ážáááºá áááºážááœáẠá¡áá»á¬ážá¡á¬ážááŒáá·áº Dockerfile ááŸáá·áº shell commands áá»á¬ážáá«áááºáá«áááºá áááºážááá¯á·á á¡ááŒá±á¬ááºážá¡áá¬ááᯠáá¯á¶ážá á áááºááŒáá¯ááºááŒááºáááºááá¯ááºááŒá®áž áá áºáá»áááºáááºážááœáẠá€áááºáá±á¬ááºááŸá¯ááá¯ááºáᬠá¡ááŒá±á¬ááºážá¡áá¬áá»á¬ážá¡á¬ážáá¯á¶ážááᯠá á¶áá»áááºá á¶ááœáŸááºážáá¯á¶á á¶ááŒáá·áº áá±ážáá¬ážáá¬ážáááºá áááºáá±á¬ááºááŸá¯á¡ááŒá±á¡áá±áá»á¬ážááᯠá á¶áááºááŸááºááŒááºážááẠáá áºáá¯áááºážáá±á¬áááºáá±á¬ááºááŸá¯á áá áºáá áºáá¯ááẠá¡áá±ážá á¬ážáááºáá±á¬ááºááŸá¯á¡á¬ážáá¯á¶ážááᯠááá¯ááºááœááºááá¯ááºá á±áá«áááºá
áá¯á¶ á-áá Builder container ááŸáááá·áº Standardized build process
runtime áá»á¬ážááŒá¬ážááœáẠá¡áá»á¬ážáá¯á¶ážááá¯ááºáá®ááŸá¯áááŸáá á±ááẠ(runtime áááºáááºážáá»ááºáá»á¬áž) áá°áá®áá±á¬áááºáá±á¬ááºááŸá¯áá¯ááºáááºážá ááºááᯠááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯ááŸáá·áº á ááºážáááºááŸá¯á¡ááœááºáž á¡áá¯á¶ážááŒá¯áááºá áá»áœááºá¯ááºááá¯á·ááẠá¡ááœááºá áááºáááºá á¬ážá áá¬áá±á¬ááºážááá·áº á áááºáá±á«áºááŸá¯áá áºáá¯ááᯠáááºááá¯ááºáá²á·ááááº- ááááºáá±á¬ááºážáá áºáá¯áá¯á¶ážááœáẠáááºáá±á¬ááºááá·áºáááºáááºážáá»ááºá áá®ááœááºááŸá¯ááŸáá á±ááẠáááºážáááºážáá áºáá¯ááᯠáá±á¬áºáá¯ááºááááºááŒá áºáá«áááºá áááºážááá¯á¡á±á¬ááºááŒááºáááºá áááºáááºááŒááºážáá¯ááºáááºážá ááºá¡á¬ážáá¯á¶ážááᯠá¡áá°ážááœááºááááºáá¬á¡ááœááºážááœáẠáá¯ááºáá±á¬ááºáááºá áááºáá±á¬ááºáá°.
áááºážáááœááºááááºáá¬á¡áá±á¬ááºá¡áááºáá±á¬áºááŸá¯á¡ááá·áºááŒáá·áº Docker áááºážááá¬áá»á¬ážááá¯á¡ááºáááºá Builder ááẠáá®ážááá·áº Tinder ááá¯ááŸá±á¬ááºáá¬áá±áá¬áá»á¬ážááá¯á· áááºáá±á¬ááºááẠááá¯á¡ááºáá±á¬ SSH áá±á¬á·á AWS á¡áá±á¬ááºá¡áá¬ážáá»á¬áž á¡á ááŸááááºááá¯á·áá²á·ááá¯á· ááŒááºááœááºážá¡áá¯á¶ážááŒá¯áá° ID ááŸáá·áº áá»áŸáá¯á·ááŸááºáá»ááºáá»á¬ážááᯠá¡ááœá±áááºáá¶áá«áááºá áááºážááẠáááºáá±á¬ááºáá¬ážáá±á¬ ááŸá±ážáá±á¬ááºážáá á¹á ááºážáá»á¬ážááᯠááá¬áá¡ááá¯ááºáž ááááºážáááºážááẠáááºážááŒá áºáá»á¬ážáá«ááŸááá±á¬ áá±áááá¯ááºáᬠáááºážááœáŸááºáá»á¬ážááᯠáááºáááºáááºá á€áá»ááºážáááºááŸá¯ááẠBuilder container ááŸáá·áº host á¡ááŒá¬áž áááºáá±á¬ááºáá¬ážáá±á¬ artifacts áá»á¬ážááᯠáá°ážáá°ááẠááá¯á¡ááºááŸá¯ááᯠáááºááŸá¬ážáá±ážáá±á¬ááŒá±á¬áá·áº á áœááºážáá±á¬ááºáááºááᯠááŒáŸáá·áºáááºáá±ážáá«áááºá ááááºážáááºážáá¬ážáá±á¬ áááºáá±á¬ááºááŸá¯ááá¯ááºáᬠáá á¹á ááºážáá»á¬ážááᯠáááºáá±á¬ááºážááœá²á·á ááºážááŸá¯ááá«áá² ááŒááºáá¯á¶ážááá¯ááºáááºá
áááºáá±á¬ááºááŸá¯á¡áá»áá¯á·á¡ááœááºá áá»áœááºá¯ááºááá¯á·ááẠá á¯á ááºážááŸá¯áááºáááºážáá»ááºááᯠruntime áááºáááºážáá»ááºááá¯á· ááŒá±áá¯á¶ááŒá¯áá¯ááºááẠá¡ááŒá¬ážááœááºááááºáá¬áá áºáá¯ááᯠáááºáá®ážááá«ááẠ(á¥ááá¬á Node.js bcrypt á á¬ááŒáá·áºááá¯ááºááẠááá·áºááœááºážá ááºááœáẠááááºáá±á¬ááºážá¡ááá¯áẠbinary artifacts áá»á¬ážááᯠáá¯ááºáá±ážáááº)á á á¯á ááºážááŸá¯áá¯ááºáááºážá ááºá¡ááœááºážá áááºáá±á¬ááºááŸá¯áá»á¬ážááŒá¬ážááœáẠááá¯á¡ááºáá»ááºáá»á¬áž ááœá²ááŒá¬ážááá¯ááºááŒá®áž áá±á¬ááºáá¯á¶áž Dockerfile ááᯠá¡áá»ááºá¡ááŒáẠá á¯á ááºážáá«áááºá
Kubernetes á¡á á¯á¡áá±ážáááºáá±á¬ááºááŸá¯ááŸáá·áº ááœáŸá±á·ááŒá±á¬ááºážááŒááºážá
á¡á á¯á¡áá±ážá¡ááœááºá¡á á¬ážá á®áá¶ááá·áºááœá²ááŸá¯
á¡áá¯á¶ážááŒá¯ááẠáá¯á¶ážááŒááºáá²á·áááºá kube-aws Amazon EC2 ááŒá áºáááºáá»á¬ážááœáẠá¡ááá¯á¡áá»á±á¬áẠá¡á á¯ááá¯áẠááŒáá·áºáá»ááºááŒááºážá¡ááœááºá á¡á ááá¯ááºážááœááºá á¡áá¬á¡á¬ážáá¯á¶ážááẠá¡áá»á¬ážá¡á¬ážááŒáá·áº node áá áºáá¯áááºážááœáẠá¡áá¯ááºáá¯ááºáááºá á¡áááºážá¡ááŒá áºáá»á¬ážááᯠááá¯ááá¯áááá±á¬ááºá áœá¬ á¡áá¯á¶ážááŒá¯ááá¯ááºááẠá¡ááœááºá¡á á¬ážááŸáá·áº á¥ááá¬á¡áá»áá¯ážá¡á á¬ážá¡ááá¯áẠá¡áá¯ááºáá¬áááºáá»á¬ážááᯠáá»ááºááŒááºá áœá¬ áá¬ážáááºááá±á¬áá±á«ááºáá¬ážáá«áááºá áá¯áá¹áááá±áá¡á á¡ááºáá»ááºááŒáá¯ážáá±á«ááºážá¡ááŒá±á¬ááºá¡ááŒá¬ážááᯠá¡áá¯á¶ážááŒá¯ááŒááºážááẠá¡ááºáá»ááºááŒáá¯ážáá±á«ááºážá¡ááŒá±á¬ááºá¡áá»á¬ážááŸáá·áºá¡áá° áááºážááá¯á·ááááºááŸáááŸá¯ááẠá áœááºážáá±á¬ááºáááºááá¯ááºážá¡á ááá¯ááá¯ááá·áºááŸááºážááá¯ááºáááºáᯠááá¯áááºá
á¡áá¯á¶ážááœááºá
- m5.4xlarge - á á±á¬áá·áºááŒáá·áºááŒááºážá¡ááœáẠ(Prometheus);
- c5.4xlarge - Node.js workload (single-threaded workload);
- c5.2xlarge - Java ááŸáá·áº Go á¡ááœáẠ(multithreaded workload);
- c5.4xlarge â control panel (3 nodes) á¡ááœááºá
ááœáŸá±á·ááŒá±á¬ááºážááŒááºážá
á¡ááŒá±áá¶á¡áá±á¬ááºá¡áŠáá±á¬ááºážá០Kubernetes ááá¯á· ááŒá±á¬ááºážááœáŸá±á·ááŒááºážá¡ááœáẠááŒáá¯áááºááŒááºáááºááá·áºá¡ááá·áºáá»á¬ážáá²ááŸáá áºáá¯ááŸá¬ áááºáá±á¬ááºááŸá¯áá»á¬ážááŒá¬ážááŸá áááºááŸáááá¯ááºááá¯ááºáááºááœááºáá±ážááᯠáááºáá»áááºááœááºáá»áŸá¬á¡áá áºáá»á¬áž (Elastic Load Balancers (ELB)) ááá¯á· ááŒááºáááºááœáŸááºážáááºááŒá áºáááºá áááºážááá¯á·ááᯠvirtual private cloud (VPC) á áá®ážááŒá¬áž subnet áá áºáá¯áá±á«áºááœáẠáááºáá®ážáá¬ážáááºá á€ááœááºáááºááœá²á¡á¬áž Kubernetes VPC ááŸáá·áº áá»áááºáááºáá¬ážáááºá áááºážááẠáá»áœááºá¯ááºááá¯á·á¡á¬áž áááºáá±á¬ááºááŸá¯ááŸá®ááá¯ááŸá¯ááá¯ááºáᬠáá®ážááŒá¬ážá¡á á®á¡á á¥áºááᯠááá·áºááœááºážá ááºážá á¬ážááŒááºážáááŸááá² áá±á¬áºáá»á°ážáá»á¬ážááᯠááŒááºážááŒááºážáá»ááºáž ááŒá±á¬ááºážááœáŸá±á·ááá¯ááºá á±áá²á·áááºá
á€á¡áá¯á¶ážááŸááºáá»á¬ážááᯠELB á¡áá áºáá áºáá¯á á®ááá¯á· ááœáŸááºááŒáá±á¬ CNAME áá»á¬ážáá«ááŸááá±á¬ á¡áá±ážáá»áááºááŸááá±á¬ DNS ááŸááºáááºážáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯á áááºáá®ážáá¬ážáááºá áá°ážááŒá±á¬ááºážáááºá¡ááœáẠ0 á¡áá±ážáá»áááºááŸááá±á¬ Kubernetes áááºáá±á¬ááºááŸá¯ ELB á¡áá áºááᯠááœáŸááºááŒáá±á¬ áááºááœáá·áºá¡áá áºáá áºáᯠáááºááá·áºááá¯ááºáá«áááºá ááá¯á·áá±á¬áẠáááºáá±á¬ááºááŸá¯á Time To Live (TTL) ááᯠ0 áᯠáááºááŸááºáá¬ážáááºá áááºážááŒá®ážáá±á¬ááºá á¡áá±á¬ááºážááŸáá·áº á¡áá áºáá»á¬ážááᯠááŒááºážááŒááºážáá»ááºáž áá»áááºááŸááá±ážáá²á·áááºá ááŸáá·áº áá±á¬ááºáá¯á¶ážááœáẠáááºáá¯ááºáááºááá¯ážá 100% ááᯠáá¬áá¬á¡áá áºááá¯á· áá±ážááá¯á·áá²á·áááºá áá°ážááŒá±á¬ááºážááŒááºážááŒá®ážáá¯á¶ážááŒá®ážáá±á¬ááºá TTL áááºááá¯ážááẠááá¯ááá¯áá¯á¶áá±á¬ááºáá±á¬á¡ááá·áºááá¯á· ááŒááºááœá¬ážáá²á·áááºá
áá»áœááºá¯ááºááá¯á·ááŸááá¬ážáá±á¬ Java module áá»á¬ážááẠTTL DNS áááá·áºáá«ážááŸá¯ááᯠáááºááá¯ááºááá¯ááºáá±á¬áºáááºáž Node á¡ááá®áá±ážááŸááºážáá»á¬ážá ááá¯ááºáá±á¬ááºááá¯ááºáá«á á¡ááºáá»ááºáá®áá¬áá áºáŠážááẠáá»áááºáááºááŸá¯áá±á«ááºážáá°ážáááºáá¯ááºá á¡á áááºá¡ááá¯ááºážááᯠááŒááºáááºáá±ážáá¬ážááŒá®áž á áá¹ááá·áº 60 ááá¯ááºáž áá±áá°ážáááºáá»á¬ážááᯠá¡ááºááááºáá¯ááºáá±á¬ áááºáá±áá»á¬ááœáẠááá·áºááœááºážáá¬ážáááºá ááœá±ážáá»ááºáá¬ážáá±á¬áááºážáááºážááẠá¡ááœááºáá±á¬ááºážááœááºááŒá®áž áááá¬áááºááŸá¬ážáá±á¬ á áœááºážáá±á¬ááºáááºáá»áááºážááŒááºážáááŸááá«á
áááºáááºážá á¬
Network Fabric á ááá·áºáááºáá»ááºáá»á¬áž
8 áá¯ááŸá Ạáááºááá«áá®á 2019 áááºáá±á· áá¶áááºá¡á á±á¬ááá¯ááºážááœáẠTinder ááááºáá±á¬ááºážááẠááá»áŸá±á¬áºááá·áºáá² áá»ááºáá»ááœá¬ážáá²á·áááºá ááá¯áá±á·áá¶áááºá¡á á±á¬ááá¯ááºážááœáẠááááºáá±á¬ááºáž áá¯á¶á·ááŒááºáá±áá»áááºááá¯ážáá¬ááŸá¯ááᯠáá¯á¶á·ááŒááºááá·áºá¡áá±ááŒáá·áºá á¡á á¯á¡áá±ážááŸá pods ááŸáá·áº node á¡áá±á¡ááœáẠááá¯ážáá¬áá²á·áááºá áááºážááẠáá»áœááºá¯ááºááá¯á·á node áá»á¬ážá¡á¬ážáá¯á¶ážááœáẠARP cache ááᯠáá¯ááºáá¯á¶ážááœá¬ážá á±áá²á·áááºá
ARP cache ááŸáá·áºáááºá ááºáá±á¬ Linux ááœá±ážá áá¬áá¯á¶ážáá»áá¯ážááŸááááºá
(
gc_thresh3 - áá«á áááºáá²áá²á· ááá·áºáááºáá»ááºáá«á ááŸááºáááºážááŸá "neighbor table overflow" entries áá»á¬ážá á¡ááœááºá¡ááŒááºááẠsynchronous garbage collection (GC) ááŒá®ážáá±á¬ááºááœááºááẠá¡áááºáá®ážáá»ááºáž entry ááᯠááááºážáááºážááẠARP cache ááœáẠáá±áá¬á¡áá¯á¶á¡áá±á¬ááºáááŸááᯠááá¯ááá¯áá«áááºá á€ááá á¹á ááœááºá kernel ááẠpacket ááá¯áá¯á¶ážáá áœáá·áºáá áºáá²á·áááºá
áá«ááá¯á·áá¯á¶ážáááº
áá¯á¶ á-áá ááááºáááºáá¯á¶ (
áá¯á¶ á-áá VXLAN áááºáá±á·áá»áº (
Kubernetes áá¯ááºáá¬áž node áá
áºáá¯á
á®ááẠááŒá®ážáá¬ážáá±á¬ /24 ááááºááá¯á·ááŒááºážá០/9 mask áá
áºáá¯ááŒáá·áº virtual address space ááᯠááœá²áá±áá±ážáá«áááºá node áá
áºáá¯á
á®á¡ááœáẠáá«á
ááá¯á·á¡ááŒááºá node-pod (ááá¯á·ááá¯áẠpod-pod) áááºááœááºáá±ážááẠáá±á¬ááºáá¯á¶ážááœáẠá¡ááºáá¬áá±á·á áºááŸáááá·áº ááŒááºáááºážááœá¬ážáá«áááºá áá»áá·áºááẠ(á¡áá±á«áºá Flannel áá¯á¶ááœááºááŒáá¬ážááá·áºá¡ááá¯ááºáž)á áááºážááẠáááºááá¯ááºáá¬áááºážááŒá áºááŸáá·áº áŠážáááºáá¬áá±áá¬áá áºáá¯á á®á¡ááœáẠARP ááá¬ážááœáẠáááºáá±á¬ááºážááá·áºááœááºážááŸá¯ááᯠááŒá áºáá±á«áºá á±áááºá
áá»áœááºá¯ááºááá¯á·ááááºáááºážáá»ááºááœáẠá€áááºááœááºáá±ážá¡áá»áá¯ážá¡á á¬ážááẠá¡ááœááºá¡áá¯á¶ážáá»á¬ážáááºá Kubernetes ááŸá áááºáá±á¬ááºááŸá¯á¡áá¬ááá¹áá¯áá»á¬ážá¡ááœáẠELB áá áºáá¯ááᯠáááºáá®ážááŒá®áž Kubernetes ááẠnode áá áºáá¯á á®ááᯠELB ááŒáá·áº á á¬áááºážááœááºážáá«áááºá ELB ááẠpods áá»á¬ážá¡ááŒá±á¬ááºáž áá¬áá»áŸááááá«á ááœá±ážáá»ááºáá¬ážáá±á¬ node ááẠpacket ááá±á¬ááºáá¯á¶ážáŠážáááºáá»ááºááá¯ááºáá±á á¡áááá¡áá»ááºááŸá¬ node ááẠELB á០packet áá áºáá¯ááᯠáááºáá¶áááŸááá±á¬á¡áá«á áááºážááẠá ááºážáá»ááºážáá»á¬ážááᯠááá·áºááœááºážá ááºážá á¬ážááẠiptables áá®ážááŒá¬ážáááºáá±á¬ááºááŸá¯áá áºáá¯á¡ááœáẠá¡ááŒá¬áž node áá áºáá¯áá±á«áºááŸá pod áá áºáá¯ááᯠáá»áááºážááœá±ážáá»ááºáááºá
ááŸá¯á¶ážáááá·áºáá»áááºááœááºá á¡á á¯á¡áá±ážááœáẠ605 node áá»á¬ážááŸááááºá á¡áááºáá±á¬áºááŒáá« á¡ááŒá±á¬ááºážááŒáá»ááºáá»á¬ážá¡ááœáẠá€á¡áá»ááºááẠá¡áááá¹áá«ááºááᯠáá»á±á¬áºááœáŸá¬ážááẠáá¯á¶áá±á¬ááºáá«áááºá gc_thresh3áá¯á¶áá±ááŒá áºááá·áºá áá®ááá¯ááŒá áºáá¬áá²á·á¡áá«á packets ááœá±ááᯠá áááºáá»áááºážááœá¬ážáá¯á¶áá¬áááá² /24 mask áá«áá²á· Flannel virtual address space áá áºáá¯áá¯á¶áž ARP ááá¬ážááá± áá»á±á¬ááºááœá¬ážáá«áááºá Node-pod áááºááœááºáá±ážááŸáá·áº DNS áá±ážááŒááºážááŸá¯áá»á¬áž áááºááá·áºáá±ááẠ(DNS ááᯠá¡á á¯á¡áá±ážáá áºáá¯ááœáẠáááºáá¶áá¬ážáá«áááºá á¡áá±ážá áááºá¡ááœáẠá€áá±á¬ááºážáá«ážááœáẠáá±á¬ááºááŸáááºáá«)á
á€ááŒá¿áá¬ááá¯ááŒá±ááŸááºážáááº, áááºáááºáááºááá¯ážáá»á¬ážááá¯ááá¯ážááŒáŸáá·áºáááºááá¯á¡ááºáááºá gc_thresh1, gc_thresh2 О gc_thresh3 áá»á±á¬ááºáá¯á¶ážáá±áá±á¬ááœááºáááºáá»á¬ážááᯠááŒááºáááºááŸááºáá¯á¶áááºááẠFlannel ááᯠááŒááºáááºá áááºáá«á
áá»áŸá±á¬áºááá·áºááá¬ážáá±á¬ DNS á¡ááá¯ááºážá¡áá¬
ááœáŸá±á·ááŒá±á¬ááºážááŒááºážáá¯ááºáááºážá ááºá¡ááœááºážá áá»áœááºá¯ááºááá¯á·ááẠá¡ááœá¬ážá¡áá¬ááᯠá á®áá¶ááá·áºááœá²ááẠDNS ááᯠáááºááŒáœá áœá¬á¡áá¯á¶ážááŒá¯ááŒá®áž á¡ááŒá±áá¶á¡áá±á¬ááºá¡á¡á¯á¶áá±á¬ááºážá០áááºáá±á¬ááºááŸá¯áá»á¬ážááᯠKubernetes ááá¯á· áááŒááºážááŒááºážááœáŸá²ááŒá±á¬ááºážáá±ážáá«áááºá áá»áœááºá¯ááºááá¯á·ááẠRoute53 ááœáẠáááºá áẠRecordSets á¡ááœáẠá¡áá±á¬áºáá±ážáááá·áºáá±á¬ TTL áááºááá¯ážáá»á¬ážááᯠáááºááŸááºáá±ážáá«áááºá á¡ááŒá±áá¶á¡áá±á¬ááºá¡áŠáá±á¬ááºážááẠEC2 ááŒá áºáááºáá»á¬ážááœáẠáá¯ááºáá±á¬ááºáá±áá»áááºááœááºá áá»áœááºá¯ááºááá¯á·á ááŒá±ááŸááºážáá° ááœá²á·á ááºážááŸá¯áá¯á¶á á¶ááẠAmazon DNS ááᯠááœáŸááºááŒáá²á·áááºá áá«ááᯠáá»áœááºá¯ááºááá¯á· áááºáá¶áá¬ážááŒá®áž áá»áœááºá¯ááºááá¯á·ááááºáá±á¬ááºááŸá¯áá»á¬ážááŸáá·áº Amazon áááºáá±á¬ááºááŸá¯áá»á¬áž (á¥ááᬠDynamoDB) áá±á«áºááœáẠTTL áááá·áºáá»ááŸá¯á áááºáá±á¬ááºááŸá¯ááᯠáá¯á¶ážááááááá¬ážáááá«á
áá»áœááºá¯ááºááá¯á·ááẠáááºáá±á¬ááºááŸá¯áá»á¬ážááᯠKubernetes ááá¯á· ááŒá±á¬ááºážááœáŸá±á·áá¬ážá ááºá DNS ááẠáá áºá áá¹ááá·áºáá»áŸáẠáá±á¬ááºážááá¯áá»ááºáá±á«ááºáž 250 ááᯠáá¯ááºáá±á¬ááºáá±ááŒá±á¬ááºáž ááœá±á·ááŸáááá«áááºá ááááºá¡áá±ááŒáá·áºá á¡ááá®áá±ážááŸááºážáá»á¬ážááẠDNS á á¯á¶á ááºážááŸá¯áá»á¬ážá¡ááœáẠá¡áááºáááŒááºááŸáá·áº áá±ážáááºáá±á¬ á¡áá»áááºáá¯ááºááŒááºážááᯠá áááºáá¶á á¬ážáá¬ááááºá DNS áááºáá±á¬ááºááŸá¯áá±ážáá°ááᯠCoreDNS ááá¯á· ááá¯ááá¯áá±á¬ááºážááœááºá¡á±á¬ááºááŒá¯áá¯ááºáááºááŸáá·áº ááŒá±á¬ááºážáá²ááẠááá¯á¶ááá¯ááºáá±á¬ááºá¡á±á¬áẠááŒáá¯ážáááºážáá²á·áá±á¬áºáááºáž (á¡ááŒáá·áºáá¬ážáá¯á¶ážáá±á¬áááºááœáẠ1000 pods ááœáẠcores 120 ááœááºáááºáááºáá±áááº) ááá¯á·ááŒá áºáá²á·áááºá
á¡ááŒá¬ážááŒá
áºááá¯ááºáá±á¬ á¡ááŒá±á¬ááºážáááºážáá»á¬ážááŸáá·áº ááŒá±ááŸááºážáááºážáá»á¬ážááᯠáá¯áá±ááááŒá¯áá±á
ááºááœáẠáá»áœááºá¯ááºááá¯á· ááŸá¬ááœá±ááœá±á·ááŸááá²á·áááºá
ááŒá¿áá¬ááẠSource and Destination Network Address Translation (SNAT ááŸáá·áº DNAT) á¡ááá·áºááœáẠááŒá áºáá±á«áºááŒá®áž ááá¬ážáá²ááá¯á· áá±á¬ááºáááºááœá² áááºáá±á¬ááºááŸá¯ ááá·áºáá»ááºáááºá. ááŒááºááœááºážá ááœá±ážááœá±ážáá²á·ááŒá®áž á¡ááá¯ááºážá¡ááá¯ááºážá០á¡ááŒá¶ááŒá¯áá¬ážáá±á¬ ááŒá±ááŸááºážáá»ááºáá áºáá¯ááŸá¬ DNS ááᯠá¡áá¯ááºááá¬áž áá¯á¶ááá¯á· ááá¯ááºááá¯ááºááœáŸá±á·ááẠááŒá áºáááºá áá«ááá¯áááº:
- á¡ááœá¬ážá¡áá¬ááẠnode á¡ááœááºážááœááºááŸááá±áá±á¬ááŒá±á¬áá·áº SNAT áááá¯á¡ááºáá«á áááºážááẠinterface ááá¯ááŒááºáááºážáááºáááá¯á¡ááºáá«á áá»áá·áºáááº.
- áŠážáááºáᬠIP ááẠnode ááá±ááá¶ááŒá áºááŒá®áž á ááºážáá»ááºážáá»á¬ážááŸáá·áºá¡áá® áá»áááºážááœá±ážáá»ááºáá¬ážáá±á¬ pod ááŒá áºáá±á¬ááŒá±á¬áá·áº DNAT áááá¯á¡ááºáá«á iptables.
áá®áááºážáááºážááᯠááá¯ááºáá¬ááá¯á· áá¯á¶ážááŒááºáá²á·áá«áááºá CoreDNS ááᯠKubernetes ááœáẠDaemonSet á¡ááŒá Ạá¡áá¯á¶ážááŒá¯áá¬ážááŒá®ážá áá»áœááºá¯ááºááá¯á·ááẠáá±ááá¹áá node DNS áá¬áá¬ááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºáá²á·ááẠáá¯á¶ážááŒááºáá»ááºáá» pod áá áºáá¯á á®ááᯠá¡áá¶áá áºáá¯áááºááŸááºá --cluster-dns ááááºáá±á¬áºááá¯á·ááᯠkubeletâ. á€ááŒá±ááŸááºážáá»ááºááẠDNS á¡áá»áááºáá¯ááºááŒááºážáá»á¬ážá¡ááœáẠáááá±á¬ááºááŸá¯ááŸááá¬áá²á·áááºá
ááá¯á·áá±á¬áºá áá¯ááºááá¯ážáá¯á¶ážááŸá¯á¶ážááŸá¯ááŸáá·áº áá±á¬ááºáá¬ááœáẠááá¯ážáá¬áá±áááºááᯠáá»áœááºá¯ááºááá¯á·ááœá±á·ááŒááºáá±ááá²ááŒá áºáááºá ááá·áºááœááºáž_áá¡á±á¬ááºááŒááºáá«á Flannel interface ááœááºá áá»áœááºá¯ááºááá¯á·ááẠDNS á¡ááœá¬ážá¡áá¬á¡ááœáẠSNAT ááŸáá·áº/ááá¯á·ááá¯áẠDNAT ááᯠáááºááŸá¬ážááá¯ááºáá±á¬ááŒá±á¬áá·áº ááŒá±áááºááŸá¯áááŒá®ážáá±á¬áẠáááºáááºáá¯ááºáá±á¬ááºááœá¬ážáá«áááºá á¡ááŒá¬ážá¡ááœá¬ážá¡áᬠá¡áá»áá¯ážá¡á á¬ážáá»á¬ážá¡ááœáẠááŒáá¯ááºááœá²á¡ááŒá±á¡áá±áá»á¬ážááᯠááááºážááááºážáá¬ážáááºá áá¶áá±á¬ááºážáá±á¬ááºáá áœá¬á áá»áœááºá¯ááºááá¯á·á packet á¡áá»á¬ážá á¯ááẠTCP ááŒá áºááŒááŒá®áž ááŒá¿áá¬áá áºáá¯ááŒá áºááœá¬ážáá«á áááºážááá¯á·ááᯠááá¯ážááá¯ážááŒááºááá¯á·áá±ážáá«áááºá áá¬ááºá¡ááœá¬ážá¡áᬠá¡áá»áá¯ážá¡á á¬ážá¡á¬ážáá¯á¶ážá¡ááœáẠááá·áºáá»á±á¬áºáá±á¬ á¡ááŒá±ááᯠáá»áœááºá¯ááºááá¯á· ááŸá¬ááœá±áá±áá²ááŒá áºáááºá
ááá¯ááá¯áá±á¬ááºážááœááºáá±á¬ Load Balancing á¡ááœáẠEnvoy ááᯠá¡áá¯á¶ážááŒá¯ááŒááºážá
áá»áœááºá¯ááºááá¯á·ááẠáá±á¬ááºáá¶áááºáá±á¬ááºááŸá¯áá»á¬ážááᯠKubernetes ááá¯á· ááŒá±á¬ááºážááœáŸá±á·ááá¯ááºáá±á¬á¡áá«á áá»áœááºá¯ááºááá¯á·ááẠpods áá»á¬ážááŒá¬ážááœáẠáááºáá»ááºááá®áá±á¬ áááºááᯠá áááºáá¶á á¬ážáá²á·ááááºá HTTP Keepalive ááẠELB áá»áááºáááºááŸá¯áá»á¬ážááᯠááŒáá·áºáá»ááºááŸá¯áá áºáá¯á á®á ááááá¯á¶áž á¡áááºááá·áº pods áá»á¬ážááœáẠáá»áááºááœá²áá¬ážááá¯ááºáááºááᯠááœá±á·ááŸááá²á·áááºá ááá¯á·ááŒá±á¬áá·áº á¡ááœá¬ážá¡áᬠá¡áá»á¬ážá á¯ááẠáááŸáááá¯ááºáá±á¬ áááºááºáá»á¬áž áá¬ááá¯ááºááŸá¯ááºáž á¡áááºážáááºááᯠááŒááºáááºážááœá¬ážáá«áááºá áá»áœááºá¯ááºááá¯á·á ááºážáááºáá²á·ááá·áº ááááá¯á¶ážááŒá±ááŸááºážáá»ááºááŸá¬ á¡ááá¯ážáá¯á¶ážá¡ááŒá±á¡áá±áá»á¬ážá¡ááœáẠMaxSurge ááᯠ100% ááá¯á· ááŒáá·áºáá»ááºááŸá¯á¡áá áºááœáẠáááºááŸááºááŒááºážááŒá áºáááºá ááá¯ááá¯ááŒá®ážáá¬ážáá±á¬ ááŒáá·áºáá»ááºááŸá¯áá»á¬ážá¡ááœáẠá¡áá»áá¯ážáááºáá±á¬ááºááŸá¯ááŸá¬ á¡áá±ážááá«áááᯠá¡áá¬ážá¡áá¬áááŸááᯠááœááºáá±á«áºáá¬áá²á·áááºá
áá»áœááºá¯ááºááá¯á·á¡áá¯á¶ážááŒá¯áá²á·ááá·áº áá±á¬ááºáááºááŒá±ááŸááºážáá»ááºáá áºáá¯ááŸá¬ á¡áá±ážááŒá®ážáá±á¬áááºáá±á¬ááºááŸá¯áá»á¬ážá¡ááœáẠá¡áááºážá¡ááŒá áºáá±á¬ááºážááá¯ááŸá¯áá»á¬ážááᯠá¡áá¯á¡áá±á¬áẠááá¯ážááŒáŸáá·áºáááºááŒá áºáááºá á€á¡ááŒá±á¡áá±ááœááºá á¡áá®ážá¡áá¬ážááœáẠáá»áá¬ážáá±á¬ á¡á á±á·áá»á¬ážááẠá¡ááŒá¬ážáá±á¬ áá±ážáá¶áá±á¬ á¡á á±á·áá»á¬ážááŸáá·áº ááŸáá¯ááºážááŸááºááẠáá±áá¬ááá¯ááá±áááá·áºáááºá á¡áááºážá¡ááŒá áºáá»á¬áž ááŒá¯ááºážáá®ážááŒááºážááŒá±á¬áá·áºáááºáž áá±ááŸááºááœáẠá¡áá¯ááºáááŒá áºááá¯ááºáá«á ááá¯á·á¡ááŒááºá áá»áœááºá¯ááºááá¯á·á Node á¡ááá®áá±ážááŸááºážáá»á¬ážááẠsingle-threaded ááŒá áºáá±á¬ááŒá±á¬áá·áº core áá áºáá¯áᬠá¡áá¯á¶ážááŒá¯ááá¯ááºáááºá áá áºáá¯áááºážáá±á¬ á¡ááŒá±ááŸá¬ ááá¯ááá¯áá±á¬ááºážááœááºáá±á¬ áááºáá»áááºááœááºáá»áŸá¬ááᯠá¡áá¯á¶ážááŒá¯áááºááŒá áºáááºá
á¡ááŒáá·áºá¡ááááºááá¯ážáá¬ážáá»ááºáá²á·áᬠááŒá¬áá«ááŒá®á
áá»áœááºá¯ááºááá¯á·ááẠá¡á±á¬ááºáá«ááœá²á·á ááºážááŸá¯áá¯á¶á á¶ááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºáá±á¬ááºáá¬áááº- pod áá áºáá¯á á®á¡ááœáẠEnvoy sidecar áá áºáá¯ááŸáááŒá®áž áááºážááŒá±á¬ááºážáá áºáá¯á á®ááŸááá¬á á¡á á¯á¡áá±ážááᯠááááºáááºážááŸáá áºááá·áº á ááºááœááºážááŸá ááœááºááááºáá¬ááá¯á· áá»áááºáááºáá«á ááŒá áºááá¯ááºááŒá±ááŸááá±á¬ áááºá áááºáá»á¬ážááᯠáá»áŸá±á¬á·áá»áááºááŸáá·áº áá±ážáááºáá±á¬ á¡áá»ááºážáááºááᯠááááºážááááºážáááºá¡ááœááºá áááºáá±á¬ááºááŸá¯áá áºáá¯á á®á¡ááœáẠEnvoy ááŸá±á·-ááá±á¬ááºá á® á¡ááœááºáá»á¬ážá áááºáá±á¬ááºááŸá¯áá áºáá¯á á®á¡ááœáẠAvailability Zone (AZ) áá áºáá¯á á®ááᯠá¡áá¯á¶ážááŒá¯áá¬ážáá«áááºá áááºážááá¯á·ááẠáá±ážáá¬ážáá±á¬áááºáá±á¬ááºááŸá¯á¡ááœáẠAZ áá áºáá¯á á®ááŸá pods á á¬áááºážáá»á¬ážááᯠááá¯ážááá¯ážááŒááºáá±ážááá·áº áá»áœááºá¯ááºááá¯á·áá¡ááºáá»ááºáá®áá¬áá áºáŠážá០áá±ážáá¬ážáá¬ážáá±á¬ ááá¯ážááŸááºážáá±á¬áááºáá±á¬ááºááŸá¯ááŸá¬ááœá±áá±ážá¡ááºáá»ááºááᯠá¡á¬ážááá¯ážá¡á¬ážáá¬ážááŒá¯áá«áááºá
ááá¯á·áá±á¬áẠáááºáá±á¬ááºááŸá¯ ááŸá±á·áááºáž-áá¶ááááºáá»á¬ážááẠá¡áááºá á®ážááŒá±á¬ááºážá¡á á¯á¡áá±ážáá áºáá¯ááŸáá·áº áááºážááŒá±á¬ááºážáá áºáá¯ááŒáá·áº á€áááºáá±á¬ááºááŸá¯ááŸá¬ááœá±ááœá±á·ááŸáááŸá¯ááá¹ááá¬ážááᯠá¡áá¯á¶ážááŒá¯áá²á·áááºá áá»áœááºá¯ááºááá¯á·ááẠáá¯á¶áá±á¬ááºáá±á¬ á¡áá»áááºáá¯ááºááŒááºážáá»á¬ážááᯠáááºááŸááºáá¬á áá¬ážáá áºáááááºáá¬áááºáááºáá»á¬ážá¡á¬ážáá¯á¶ážááᯠááá¯ážááŒáŸáá·áºáᬠáá áºááŒáááºáá»áŸ áá¡á±á¬ááºááŒááºááŸá¯áá»á¬ážááŸáá·áº áá»á±á¬ááœá±á·á áœá¬ á¡áá¯á¶ážááŒá¯ááá¯ááºá á±áááºá¡ááœáẠá¡áá±á¬ááºá¡áá°ááŒá áºá á±áááºá¡ááœáẠá¡áááºážáááºáá»áŸáá±á¬ ááŒááºáááºááŒáá¯ážá á¬ážááŸá¯áá¯á¶á á¶ááᯠááá·áºááœááºážáá¬ážáááºá áá»áœááºá¯ááºááá¯á·ááẠá€áááºáá±á¬ááºááŸá¯ááŸá±á·áááºáž-áá¶ááááºáá áºáŠážá á®áááŸá±á·ááœáẠTCP ELB ááᯠáá¬ážááŸááá²á·áá«áááºá áá»áœááºá¯ááºááá¯á·ááááºáááá±á¬ááºá á®á¡ááœáŸá¬á០Keepalive ááẠá¡áá»áá¯á·áá±á¬ Envoy pods áá»á¬ážáá±á«áºááœáẠááááºáááá±áá±á¬áºáááºážá áááºážááá¯á·ááẠáááºááᯠááá¯ááᯠáá±á¬ááºážááœááºá áœá¬ ááá¯ááºááœááºááá¯ááºááŒá®áž áá±á¬ááºááœááºááœáẠá¡áááºážáá¯á¶áž_request ááŸáááá·áº áá»áááºááœááºáá»áŸá¬ááŸáááẠá á®á ááºáááºááŸááºáá¬ážáá«áááºá
ááŒáá·áºáá»ááºáááºá¡ááœááºá áá»áœááºá¯ááºááá¯á·ááẠá¡ááá®áá±ážááŸááºáž pods ááŸáá·áº sidecar pods ááŸá áºáá¯áá¯á¶ážááœáẠpreStop áá»áááºááᯠá¡áá¯á¶ážááŒá¯áá²á·áááºá áá»áááºááẠáá±ážááœá²ááœááºááááºáá¬áá±á«áºááœááºááŸááá±á¬ á á®áá¶ááá·áºááœá²áá°á á¡áá¯á¶ážááŸááºá á¡ááŒá±á¡áá±ááᯠá á áºáá±ážáá¬ááœáẠá¡ááŸá¬ážá¡ááœááºážáá áºáᯠááŒá áºáá±á«áºáá²á·ááŒá®áž áááºááŸááá»áááºáááºááŸá¯áá»á¬ážááᯠáááºááá¯ááºážááẠáááᬠá¡áááºáá»á±á¬áºááœá¬ážáá²á·áááºá
áá»áœááºá¯ááºááá¯á· áá»ááºááŒááºá áœá¬ ááœá±á·áá»á¬ážááá¯ááºáá²á·ááá·áº á¡ááŒá±á¬ááºážáááºážáá áºáá¯ááŸá¬ áá»áœááºá¯ááºááá¯á·ááẠáá¯á¶ááŸáẠPrometheus áááºáááºááŸá¯ááá¯á· á¡ááœááºááá° áá±á«ááºážá ááºááá¯ááºáá²á·áá±á¬ á¡áá±ážá ááẠáááºááá áºáá»á¬ážááŒá±á¬áá·áº ááŒá áºáááºá ááœá²á·á ááºážááŸá¯áá±á¬ááºáá»á¬ážááᯠáá»áááºááŸáááŒá®áž ááŒááºáááºááŒáá·áºáá±áá¬ážááá·áº áááºážááŒá±á¬ááºážáá»á¬ážááᯠáá»áááºááŸááá±á áẠáááºážááẠáá»áœááºá¯ááºááá¯á·ááᯠááŒá áºáá»ááºáá±ááá·áºá¡áá¬áá»á¬ážááᯠá¡ááá¡áá» ááŒááºááá¯ááºá á±áá«áááºá
ááááºáá»á¬ážááẠáá»ááºáá»ááºážááŸáá·áº áááá¬áááºááŸá¬ážáááºá áá»áœááºá¯ááºááá¯á·ááẠáááºáá»ááºááá®áá±á¬ áááºáá±á¬ááºááŸá¯á¡áá»á¬ážá á¯ááŒáá·áº á áááºáá²á·ááŒá®áž ááá¯á¡áá»áááºááœáẠáááºážááẠá¡á á¯á¡ááœá²á·ááŸá á¡áá±ážááŒá®ážáá¯á¶ážáááºáá±á¬ááºááŸá¯ 12 áá¯áááŸá±á·ááœáẠáá¯ááºáá±á¬ááºáá±áá«áááºá ááá¯ááŸá áºááœáẠáá»áœááºá¯ááºááá¯á·ááẠááá¯ááá¯á¡ááá·áºááŒáá·áºáá±á¬ áááºáá±á¬ááºááŸá¯ááŸá¬ááœá±ááœá±á·ááŸáááŸá¯á áááºáááºážáá±á¬ááºááœááºážááŸá¯á áá»á±á¬áºááœááºááááŸáááá¯ááºááŸá¯á ááŸá¯ááºážááá·áºáááºáá»ááºááŸáá·áº ááŒá±áá¬áá¶ááŒááºážááá¯á·ááŒáá·áº áááºáá±á¬ááºááŸá¯á¡ááŒáá·áºá¡áááá¯á· áá°ážááŒá±á¬ááºážááẠá á®á ááºáá»ááºááŸááááºá
áá¯á¶ á-áá Envoy ááá¯á·áá°ážááŒá±á¬ááºážá
ááºááœáẠáááºáá±á¬ááºááŸá¯áá
áºáá¯á CPU áá±á«ááºážá
ááºážááŒááºáž
áá±á¬ááºáá¯á¶ážááááº
á€á¡ááœá±á·á¡ááŒá¯á¶ááŸáá·áº áááºáá±á¬ááºážáá¯áá±ááááŒá¯ááŒááºážá¡á¬ážááŒáá·áºá áá»áœááºá¯ááºááá¯á·ááẠááŒá®ážáá¬ážáá±á¬ Kubernetes á¡á á¯á¡áá±ážáá»á¬ážááᯠáá®ááá¯ááºážááœá²ááŒááºážá á¡áá¯á¶ážáá»ááŒááºážááŸáá·áº áááºáááºááŒááºážá¡ááœáẠááá¯ááºáá¬áá±á¬á¡ááŒá±áá¶á¡áá±á¬ááºá¡á¡á¯á¶á¡ááœá²á·ááᯠáááºáá±á¬ááºáá²á·áááºá Tinder á¡ááºáá»ááºáá®áá¬áá»á¬ážá¡á¬ážáá¯á¶ážááẠááœááºááááºáá¬áá»á¬ážááá¯áá¯ááºááá¯ážááŒá®áž Kubernetes ááœáẠá¡ááá®áá±ážááŸááºážáá»á¬ážá¡áá¯á¶ážááŒá¯ááẠá¡ááááá¬ááŸáá·áº á¡ááœá±á·á¡ááŒá¯á¶ááŸááá±ááŒá®ááŒá áºáááºá
á¡ááŒá±áá¶á¡áá±á¬ááºá¡áŠáá±á¬ááºážááœáẠáááºáá±á¬ááºážá áœááºážáááºáá»á¬áž ááá¯á¡ááºáá¬áá±á¬á¡áá«á EC2 ááŒá áºáááºá¡áá áºáá»á¬áž á áááºááẠáááá áºáá»á¬ážá áœá¬ á á±á¬áá·áºáá²á·ááááºá ááá¯á¡áá« ááœááºááááºáá¬áá»á¬áž á áááºáááºáááºááŒá®áž áááá áºáá»á¬ážá¡á á¬áž á áá¹ááá·áºááá¯ááºážá¡ááœááºáž áá¬ááºá¡ááœá¬ážá¡áá¬ááᯠá áááºáá¯ááºáá±á¬ááºáá«áááºá EC2 instance áá áºáá¯ááœáẠááœááºááááºáá¬áá»á¬ážá áœá¬ááᯠá¡áá»áááºááá¬ážááœá²ááŒááºážáááºáááºáž á¡áá»á¬ážááá¯ááºá¡á¬áá¯á¶á á°ážá áá¯ááºááŸá¯ááᯠááá¯ááá¯áá±á¬ááºážááœááºá á±áááºá ááááºá¡áá±ááŒáá·áºá ááááºááŸá áºááŸáá·áºááŸáá¯ááºážááŸááºáá«á 2019 áá¯ááŸá áºááœáẠEC2 áá¯ááºáá»á ááááºáá»á¬áž áááááá¬áᬠáá»á±á¬á·áá»áá¬áááºáᯠáá»áœááºá¯ááºááá¯á· ááá·áºááŸááºážáá¬ážáá«áááºá
ááœáŸá±á·ááŒá±á¬ááºážááŒááºážááŸá¬ ááŸá áºááŸá áºáá®ážáá«ážááŒá¬áá²á·áá±á¬áºáááºážá áááá áá¯ááŸá ẠáááºáááœáẠááŒá®ážááŒá±á¬ááºáá²á·áááºá áááºááŸáááœáẠTinder ááááºáá±á¬ááºážááẠáááºáá±á¬ááºááŸá¯ 2019á node 200á pods 1000 ááŸáá·áº 15 run containers áá»á¬ážáá«ááŸááá±á¬ Kubernetes á¡á á¯á¡áá±ážáá áºáá¯áá±á«áºááœáẠáá®ážááá·áºáááºáááºáá±áááºá á¡ááŒá±áá¶á¡áá±á¬ááºá¡á¡á¯á¶ááẠáá¯ááºáááºážáá±á¬ááºááœááºááŸá¯á¡ááœá²á·áá»á¬ážá áá áºáá¯áááºážáá±á¬ áááºáááºááá¯ááºáá±á¬á·áá«á áá»áœááºá¯ááºááá¯á·á á¡ááºáá»ááºáá®áá¬áá»á¬ážá¡á¬ážáá¯á¶ážááẠá€áá¬áááºááᯠááœá²áá±áá¶á á¬ážááŒá®áž áááºážááá¯á·á á¡ááá®áá±ážááŸááºážáá»á¬áž áááºáá±á¬ááºááŒááºážááŸáá·áº á¡áá¯á¶ážááŒá¯ááŒááºážáá¯ááºáááºážá ááºááᯠáá¯ááºááá¯áᬠá¡áá¯á¶ážááŒá¯á ááááºážáá»á¯ááºáá«áááºá
PS áá¬áá¬ááŒááºááŸ
áá»áœááºá¯ááºááá¯á·áááá±á¬á·ááºááŸá áá±á¬ááºážáá«ážáá»á¬ážááᯠáááºááá¯ááºáááºáá«-
- «
Kubernetes áá¯ááºáá¯ááºáá±ážááœáẠá¡á±á¬ááºááŒááºááŸá¯áá¬ááºáááºážáá»á¬ážá á¡ááá¯ááºáž 1: eBay á០áá®ážááᯠ4200 ááŸáá·áº TessMaster "á - «
Kubernetes áá¯ááºáá¯ááºáá±ážááœáẠá¡á±á¬ááºááŒááºááŸá¯áá¬ááºáááºážáá»á¬ážá á¡ááá¯ááºáž 2: Concur ááŸáá·áº SAP "á - «
Kubernetes áá¯ááºáá¯ááºáá±ážááœáẠá¡á±á¬ááºááŒááºááŸá¯áá¬ááºáááºážáá»á¬ážá á¡ááá¯ááºáž 3: GitHub "á - «
Kubernetes áá¯ááºáá¯ááºáá±ážááœáẠá¡á±á¬ááºááŒááºááŸá¯áá¬ááºáááºážáá»á¬ážá á¡ááá¯ááºáž 4: SoundCloud (Prometheus ááŸ) "á - «
Kubernetes áá¯ááºáá¯ááºáá±ážááœáẠá¡á±á¬ááºááŒááºááŸá¯áá¬ááºáááºážáá»á¬ážá á¡ááá¯ááºáž 5: áá áºáá»á áºáááºááẠMonzo "á - «
Kubernetes áá¯ááºáá¯ááºáá±ážááœáẠá¡á±á¬ááºááŒááºááŸá¯áá¬ááºáááºážáá»á¬ážá á¡ááá¯ááºáž 6: BlaBlaCar "á - «
Kubernetes áá¯ááºáá¯ááºáá±ážááœáẠá¡á±á¬ááºááŒááºááŸá¯áá¬ááºáááºážáá»á¬ážá á¡ááá¯ááºáž 7: BlackRock "á - «
Kubernetes áá¯ááºáá¯ááºáá±ážááœáẠá¡á±á¬ááºááŒááºááŸá¯áá¬ááºáááºážáá»á¬ážá á¡ááá¯ááºáž 8: Huawei "á - «
Kubernetes áá¯ááºáá¯ááºáá±ážááœáẠá¡á±á¬ááºááŒááºááŸá¯áá¬ááºáááºážáá»á¬ážá á¡ááá¯ááºáž 9: CERN ááŸáá·áº 210 K8s á¡á á¯á¡áá±ážáá»á¬áž "á - «
Kubernetes áá¯ááºáá¯ááºáá±ážááœáẠá¡á±á¬ááºááŒááºááŸá¯áá¬ááºáááºážáá»á¬ážá á¡ááá¯ááºáž 10: Reddit "á
source: www.habr.com