α αααΆαα ααααααα αα»ααααα·αααααααΆαααα Tinder ααααααΈααααΆαααΎαα·αααααααααΈααααααΆαα αααααααααααααΆααααα’α·ααα αα ααααααα½αα ααα½αααααΆααααααα αααααΆαα ααΆαααααααααααααα½ααααα ααΆαα Kubernetes α ααααΎαααΆααααααΆαα αααΆαααααα·α 8 ααααΆα α αΎαααΆαααααααα αααα»αααΆαα αΆααααααΎααααααα·ααΆαααααααααΆααααα½ααα ααΎ K200s αααααΆαααααΆαααα 48 ααααααα ααα ααΎ XNUMX ααΆαααα»αααΊαααα ααΎαα·ααααα Tinder αα½ααααααααΆαααααΆαα’αααΈαααα α αΎαααΎαα½αααααα½αααΆαααααααα’αααΈαααα? ααΌαα’αΆαααΆααααααααααα
α ααα»α’αααΈ?
αα·αααΈαααααΆααα»α Tinder ααΆααααααα α α·αααααααΆααααααΌααααα·ααΆαααααααα½ααα Kubernetes α Kubernetes ααΉαα’αα»ααααΆαα±αααααα»α Tinder αααα»α αα·αααααΆααααΈαα ααα·ααααααααααΆαααΆααα·αααααααΉαααααααα·α αα½α ααΆααααααΆαααΆαααααααΆαααααα·αα’αΆα ααααΆααααααΌαααΆαα (ααΆαααΆαααααααΆαααααα·αα’αΆα ααααΆααααααΌαααΆα). αααα»αααααΈααα ααΆααα½αααααα»αααααΆαααααααα·ααΈ ααΆαααΆααα±ααααααΎααααΆαααααααα½ααα αα·αα αααααΆαα ααΆαααααααααααα½αα―αααΉαααααΌαααΆαααααααααΆααα·ααααααααΌαα
ααΎααααααα»αααααααααααααααααΆαα αααααααα αΆααααΆαααααΎααΆαααααααΆα αα·ααααααααΆααααααα αα ααααααααΆαααααΎααΆαααααααΆαααΆαααααΆαααΆααΏαααααΆαα ααΎααααααααααΌααααα αΆαααΆα αααΎαααΆααΈαααααΆααααααΈ EC2 ααααΈααΎααααΈααααα·αα‘αΎαα αααα·αααααΆαααΎαααααΎαααΆααα»αααΊααα αα·αα αΆααααααΎααααααΎα ααΆα ααααααα»αααααααααα»ααααΆααα·ααΆααΈ αααα½αα±ααααΆααΈααΆαααααΆαααΆααΆαααΆααααΆααααΆαααααΆααα ααααααΎαα
ααααΎαααΆαααΆααααααα ααΆαα·ααΆαα αααα»αα’αα‘α»ααααααααΆαααααΎα αααΆααααα»αααααααΎααα ααΎαααααΆα 2019 α ααααα Kubernetes ααΆαααΆααααααααα·αααααααΆαα α αΎαααΎαααΆαα αΆααααααΎααα½αααααααααα αΆαααααααααααΆαααααα·ααΆαα ααΆα ααα ααα αα ααααα αα·α DNS α αα ααΆαααααΌα ααΎαααΆααααααααΆααααα αΆαα½αα±ααα αΆααα’αΆααααααααΆα αααΎαααΆααααααΉαααΆααααααααααΆ 200 αα·αααΆααααααααΆα ααααα Kubernetes αααααΆα 1000 nodes, 15000 pods αα·α 48000 αα»αααΊαααααααααα»αααααΎαααΆαα
ααΎααααΎααΌα ααααα ?
α αΆααααΆααααΈααααααΆ ααααΆα 2018 αα ααΎαααΆαααααααΆααααααΆααααΆαααΆα αααΎαααααΆαααααΎα αααΆααααα»αα ααΎαααΆαα αΆααααααΎααααααΆααααααΆαα»αααααΆααααααααααΎαααΆααα’αα αα·αααΆααα±ααααααΎααααΆαααα½αααΆαα ααΆαα Kubernetes ααΆαααααααα·ααααΆααααα α αΆααααΈαααα»ααΆ ααΎαααΆαα αΆααααααΎααααααααααΆαααααααααΆαααααΆααααΆααα’αααα ααΆ Kubernetes ααΆααα·ααΈααΆαααααα αα ααααΈααΆααααΆααααααΆαα ααΎαααΆααααα ααααΆαααααΎα αααΆααααα»α α αΎαα₯α‘αΌαααααααα·ααΆ Tinder ααααΎαααΆαααΆαααααα»αααΎ Kubernetes α
ααΆααααΆαααΌαααΆααααααΆαα Kubernetes
ααΎαβααΆαβααααΆααβααΌαβαααααβααΆα 30 αααααΆααβααααΆβααΈααααΌβαααβααααΎαααΆαβααΎβα ααααα Kubernetesα ααΌααα αααα»αααααΆααααΆαααααααααΌαααΆααααααααΆααΆααΆααααααααααΆ (α§ααΆα ααα Node.js, Java, Scala, Go) ααΆαα½αααΉαααα·ααααΆααααααααΎαααΆαα αααΎααααααΆααααΆααΆααΌα ααααΆα
ααααααααααΆααααααααΌαααΆααα ααΆα‘αΎαααΎααααΈαααααααΌα "ααα·ααααΆαααα" αααα’αΆα ααααΌαααΆαααααααΆααααααααααααΆααααααΆααΈααααΌααΈαα½ααα ααΆααααααΆααΆααΆα Dockerfile αα·ααααααΈααΆααααααααΆαααα ααααΉαααΆααααααα½αααααΊα’αΆα ααααΌαααΆαααααααΆαααΆαααααα»α α αΎααααα»ααααααΆαα½αααααΆααα ααα·ααααααΆαααΆααΆααα’αααααααααΌαααΆααααααααΆααααααααααααααΆαα ααΆαααααΎαααααααΆαααα·ααααΆααααα’αα»ααααΆαα±ααααααααααααΆαααααααα½αααΎααααΈαααααααααααααΆααααααΈααααΌααΆααα’ααα
ααΌαααΆαααΈ 1-1 α ααααΎαααΆαααΆααααααΆααααααααΆαααΆαααα Builder container
ααΎααααΈαααααα ααΆαααΌαααΆααααΈαααααΆααααααΆα’αα·ααααΆαααΆααααααα (ααα·ααααΆααααααααΎαααΆα) ααααΎαααΆαααΆααααααΌα ααααΆααααΌαααΆαααααΎααα‘α»ααααα’αα·αααα αα·αααΆαααααα ααΎαααΆαααααααα»αααΉααααα αΆααααααααα½αα±ααα αΆααα’αΆαααααααα½αα ααΎαααααΌααααααΎααα·ααΈαα½αααΎααααΈααΆααΆααΆαααΌαααΆααααΈαααααΆααααααα·ααΆααΆαααΆαααααα ααΌααΆαααααα·ααΆααΆααααΌαα ααΎααααΈαααααα ααΆαααΌαααααΎαααΆαααα‘αΎαααΆααα’ααααααΌαααΆαα’αα»αααααα ααΆααααα»ααα»ααα·αααα ααΆαααΆαααα.
ααΆαα’αα»αααααα»αααΊαααααααααΆαααααααΌαα±ααααΆααα αα ααααα Docker ααααα·ααααααα Builder ααα½αααααααααααααΆααα’αααααααΎααααΆαααααα»αααααα αα·αα’αΆααααααΆαα (ααΌα ααΆ SSH key, AWS credentials ααα) αααααΌαα±ααα αΌαααααΎααααΆαα Tinder α―αααα ααΆααααΆααααααΌαααααΆααααααΆααααααααΎααααΈαααααΆαα»αααααα»αα»ααΆαααααααααΎααααααααααΆαα·α αα·ααΈααΆααααααααααααΎα’αααααααΎαα‘αΎαααΌαααΆαα’αα»αααααααααααΆαα»αααααΆαααααααΌαααΆααααα»αααΆαα ααααααααα»αα»ααΆααααΆααα»αααΊααα Builder αα·ααααΆαααΈαα ααααα»αα»ααΆααααααΆααααααΆαα»αα’αΆα ααααΎα‘αΎααα·αααΆαααααα·αα αΆαααΆα αααααααα ααΆααααααααααααααα
αααααΆααααααΆαααααα½αα ααα½α ααΎαααααΌααααααΎααα»αααΊααααα½αααα ααΎααααΈααΌααααααΈααα·ααΆααΆαα ααααααα ααΉαααα·ααΆααΆααααααααΎαααΆα (α§ααΆα ααα αααααΆααα bcrypt Node.js αααααΎαααααα»αα»ααΆααααααααααααααΈαααΆααααΆααα’αα‘α»ααααααα‘αΎα)α αααα»αα’αα‘α»ααααααααΎαααΆαα ααααα αααααΌαααΆαα’αΆα αααααααα½ααααΆαααααΆαααα α αΎα Dockerfile α α»ααααααααααΌαααΆαα αααααααααΆααα
ααααΆαααααααα αα·αααΆαααααΆααααααΌαα ααααα Kubernetes
ααΆααααααααααααα αα ααααα
ααΎαααΆααααααα α α·αααααααΎ kube-aws αααααΆααααΆαααΆαααααααΆαα ααααααααααααααααααααα·αα ααΎα§ααΆα ααα Amazon EC2 α αα ααΎαααααΌα α’αααΈααααααααΆαααααΎαααΆααα αααα»αααααΆααααΌαα αα½αα ααΎαααΆαααΉααααΆαααΆαααα ααααΌααααααΌαααΆααααα»αααΆααααααααααα»αααΆαααα α αα·αααααααα§ααΆα ααα ααΎααααΈααααΎααααΆααααααΆαα±ααααΆααααααΆαααααα·αααααΆαα αααααα·ααααΆααΊααΆααΆαααααΎαααΆα pods αα α»αααααααα‘αΆααααααΆααααα»αααΆα αααΎαααΆααααααα ααΆα’αΆα ααααΆααααααΆαα αααΎαααΆααα αααα»αααααααααααααΆαα’αα»ααααααΆαααΆααα½αααααααααα½αααααΆαα½αααΉαα ααα½ααααααα pods αααα½αα
αα ααΈαααα ααααΎαααΆααααααααΆαααΎα
- m5.4x αα - αααααΆααααΆααααα½ααα·αα·ααα (Prometheus);
- c5.4x αα - αααααΆααααααα»αααΆαααΆα Node.js (ααααα»αααΆαααΆααααα½ααααα);
- c5.2x αα - αααααΆαα Java αα·α Go (ααααα»αααΆαααΆααα α»αααα);
- c5.4x αα - αααααΆααααααΆαααααααΆ (3 ααααΆαα) α
ααΆαααααΎα αααΆααααα»α
ααα αΆαααααααααα ααα½ααααααΆααααΆαααααΎα αααΆααααα»αααΈα αααααΆαα ααΆααααααααα αΆαααα ααΆαα Kubernetes ααΊααααΌαααααΌααα·αααααΆααααααααααΆαααααααΆαααααΆαααααΆαααααΆαααααα ααΆααα§ααααααα»αααααΆαααααα»αααααΈ (Elastic Load Balancers (ELB))α αα½αααΆααααΌαααΆααααααΎαα‘αΎααα ααΎαααααΆαααααΆααααΆαααααααα―ααααα·αααα·α (VPC)α αααααΆααααααααααΌαααΆαααααΆαααα Kubernetes VPC α αααα’αα»ααααΆαα±ααααΎαααααΆααααααΌααααΌαα»αααααα·α αααα α ααααα·ααα·αααΈααααΆααααΆααααΆααααααΆαα’αΆαααααααααααΆααααα
α ααα»α αααα ααααΆαααααααααΌαααΆααααααΎαα‘αΎααααααααΎαααα»ααααααααααααααααααΆ DNS αααααΆα CNAMEs α ααα’α»ααα ELB ααααΈααΈαα½ααα ααΎααααΈααααΌα ααΎαααΆαααααααααΆαα»ααααΈαααα ααα’α»ααα ELB ααααΈααααααΆαααα Kubernetes αααααΆααααααα 0α αααααΆααααααΎαααααα Time To Live (TTL) ααααΆαα»ααααααα 0α αααααΆααααΈααα ααααααα αΆαα αα·αααααΈααΊ αααααααΌαααΊαα α αΎααα ααΈαααα»α 100% ααααααα»αααααΌαααΆααααααΌααα αααΆαααΈαααααααΈα αααααΆααααΈααΆαααααΌαααααΌαααΆααααα αα ααααα TTL αααα‘αααα ααααα·ααααααααααααΆααα»αα
αααΌαα»α Java αααααΎαααΆαα’αΆα ααααααααΉα TTL DNS ααΆα ααα»αααααααααα·ααΈ Node αα·αα’αΆα ααα αα·αααααααααΆαααααα»αα αααααα·αααααααΆααααααααααααααααααΌααααααΆααα‘αΎααα·α α αΎαααΆααα»αααΆαα αααα»αα’αααααααααααααααααααΎαα αα α»ααααααααΆαα’αΆααααααΆαα 60 αα·ααΆααΈα αα·ααΈααΆααααααααααΆαααααΎαααΎαααααΎαααΆαααΆαααα’ααΆαα αα·ααα·αααΆαααΆαααα α»ααα½αα±ααααααααααΆααααΆαα½αα‘αΎαα
ααααα
αααααααααααααααΆαααααααΆα
αα ααααΉααααααΉαααααααΈ 8 ααααααΆ ααααΆα 2019 αααα·ααΆ Tinder ααΆαααΆααααααα·αααΉαααααΆααααα ααΆααΆαααααΎααααα ααΉαααΆαααΎαα‘αΎαααααα·αααΆαααααααααααΆαααΊααααΆααααααααα·ααΆαα ααααΉαααα α ααα½ααα αα·αααααΆαααα αααα»αα αααααααΆαααΎαα‘αΎαα ααΆαααααΆαα±ααααααΆαααααααΆαα ARP α’αααα ααΎααααΆααααΆααα’ααααααααΎαα
ααΆααααααΎαααΈαα»α ααΈαααααΆααααααΉαααααΆαααααααΆαα ARPα
gc_thresh3 - αααααΊααΆαααααααααα·ααΆαα ααΌαααΆαααααΆαα» "ααΆαα ααααΎααΆααΆαα’ααααα·αααΆα" αα αααα»ααααααα ααα»ααΆααααααΆααΌααααΈαααααααΆααααΈααΆααααααΌαααααΆαααααΆααααα (GC) αα·αααΆααααααααααααααααΆαααα αααα»αααααΆαααααααΆαα ARP ααΎααααΈαααααΆαα»αααΆαα»αα·αααΆααααααα αααα»αααααΈααα ααΊαααααααΆαααααααα αααααα ααααααααΆαααΆαααααα»αα
ααΎαβααααΎ
ααΌαααΆα 2β1 α ααααΆααααΆα Flannel (
ααΌαααΆαααΈ 2-2 α αααα
αα VXLAN (
ααααΆαααααααα Kubernetes ααΈαα½αααααα
ααα
αααααα’αΆααααααΆααα·αααα·αααΆαα½αααΉααααΆαα /24 ααΈαααα»α / 9 ααααΆαα αααααΆααααααΆααααΈαα½αααααααΊ
ααΎαααΈααα ααΆαααααΆαααααα node-pod (α¬ pod-pod) ααΈαααα»αααααααΆααα ααα»α αααααΆαα eth0 (ααΌα αααα αΆααααα»αααααΆααααΆα Flannel ααΆαααΎ)α ααααααααΆαα±ααααΆαααΆαα»αααααααα αααα»αααΆααΆα ARP αααααΆααααααα αα·ααααΆαααΈαααααα αααααααΌαααααΆα
αα αααα»αααα·ααΆααΆαααααααΎα ααΆαααααΆαααααααααααααααααΊααΆααΏαααααααΆααΆααα αααααΆααααααα»ααααΆαααααα αααα»α Kubernetes ELB ααααΌαααΆααααααΎα α αΎα Kubernetes α α»ααααααααααΆααααΈαα½ααααΆαα½α ELB α ELB αα·αααΉαα’αααΈααΆααα’ααα’αααΈαα α αΎαααααΆαααααααΆαααααΎαααΎααααα ααααΆαα·ααααααΆαα·ααα α α»αααααααααααα ααααααααΆααααααα α ααα»α αααααΊααΆαα ααααααααααΆααααα½αααΆααααα ααααααααΆαααΈ ELB ααΆα αΆαααα»αααΆααΆαααα αααα»αααααΈα αααΆαα iptables αααααΆααααααΆααααααΆααααΆαααα½α α αΎαααααΎαααΎααααα ααααααα ααΎααααΆααααααααααα
αα ααααααΆααα ααΆα 605 ααααΆαααα αααα»αα αααααα αααααΆααα ααα»αααααααΆααααααΆααααΆαααΎ αααααΊαααααααααΆααααΎααααΈααααααααΎααΆααααααΆαα gc_thresh3αααααΆααααΆαααΎαα αα αααααΆααΎαα‘αΎα αα·αααααΉααααααα ααααααααΆαα αΆααααααΎαααααΆααα α»αααα»ααααααα ααα»ααααααα αα’αΆααααααΆααα·αααα·α Flannel ααΆααααΌααααααΆααααΆαα /24 ααΆααααΈααΆααΆα ARP α ααΆαααααΆαααααα Node-pod αα·ααααα½α DNS ααααΌαααΆαααααΆα (DNS ααααΌαααΆααααα αααα αααα»αα ααααα α’αΆααα αααααααααααα»αα’αααααααααααααΆααααααααΆααααα’α·α)α
ααΎααααΈαααααααΆααααα αΆαααα’αααααααΌααααααΎαααααα gc_thresh1, gc_thresh2 ΠΈ gc_thresh3 α αΎαα αΆααααααΎα Flannel α‘αΎααα·α ααΎααααΈα α»αααααααααααΆααααααΆαααααααααα
ααΆαααααΎααΆαααααααΆα DNS ααααα·αααΆαααααΉααα»α
αααα»αα’αα‘α»ααααααααΎαααΆαααααΆααααααΌα ααΎαααΆαααααΎααααΆαα DNS αααΆααααααααΎααααΈαααααααααα ααΆα ααα αα·ααααααααααΆααααααααα·α αααααααΈα αααααΆαα ααΆααααααααα αΆαααα Kubernetes α ααΎααααααααααα TTL ααΆααααααΆαα RecordSets αααααΆααααααααα αααα»α Route53α αα ααααααα αααααΆαα ααΆααααααααα αΆαααααα»αααααΎαααΆαααΎααααΈ EC2 ααΆαααααααα ααΆααααααααα’ααααααααααΆαααααααΎαααΆαα ααα’α»ααα Amazon DNS α ααΎαααΆαααα½αααααΆαααααΆααααΆαα’αα»ααααΆα α αΎααααααααΆαααα TTL ααΆαααααΎααααΆααααααααααΎα αα·αααααΆαααα Amazon (ααΌα ααΆ DynamoDB) αα·αααααΌαααΆααααααααααΆααααα
αα ααααααααΎαααααΆααααααΌαααααΆαααααα Kubernetes ααΎαααΆαααααΎαααΆ DNS αααα»αααααΎαααΆαααααΎ 250 ααΆαααααα»ααα½ααα·ααΆααΈα ααΆαααααα αααααα·ααΈααΆαα αΆααααααΎααα½ααααααααΉαααΆαα’αααααααα αα·αααααααααααααααΆαααααα½α DNS α ααΆααΆαααΎαα‘αΎααααααΈααΆααΆαααΆααα·αααααααΉαααααααα·ααα½αα±ααααΏααΎααααΈαααααΎαααααα·αααααΆα αα·αααααΌαα’αααααααα DNS αα CoreDNS (ααααα ααααααα»αααααααααα»αααΆαααα 1000 pods αααααααΎαααΆαααΎ 120 cores)α
αααααααααααΆαααααΆαααααΆαα’αααΈααΌαα ααα» αα·ααααααααααΆααααα’αΆα
ααΎαααΆααααααααα ααΎαααΆαααααΎα
αααα αΆααΎαα‘αΎααα ααααΆααααΆαααααΆαααααααα’αΆααααααΆααααααΆαααααα αα·ααα·ααα (SNAT αα·α DNAT) αα·αααΆααααα αΌαααΆαααααααααΆαααα αααα»αααΆααΆα αααα½αααααΆ. αααααααααΆααα½ααααα»αα αααααααααααααΆααααααΆααα·ααΆααααΆαααααααα»α αα·αααααΎααααα ααααααΊααΎααααΈααααΆααααΈ DNS αα ααααΆαααααααααααα½αα―αα αααα»αααααΈβααα:
- SNAT αα·αβααααΌαβααΆαβαα αααααβα ααΆα αααβαααα·αβαα βαααα»αβααααΆααα ααΆαα·αα αΆαααΆα αααααΌαααΆααααααΌαααΆααααα ααα»α αααααΆααααα eth0.
- DNAT αα·αβααααΌαβααΆαβαα ααααα IP αα·ααα βααΊβαααα·αβαα βαααα»αβααΌαααααΆαβα ααααβααααΆαα α αΎαβαα·αβαααβααΆβααΆαβααααΎαααΎαβαααβα αααααβααΆαβα αααΆαα iptables.
ααΎαααΆααααααα α α·ααααααααΆααααααΆααααΌααα·ααΈααΆααααααααα CoreDNS ααααΌαααΆαααΆαααααααΆαααΆ DaemonSet αα αααα»α Kubernetes α αΎαααΎαααΆαα’αα»αααααααΆαααΈααα DNS ααΌαααααΆααα αααα»α αααααααααΆα αconf pod ααΈαα½ααααααααααααα --cluster-dns ααΆααααααααΆ ααΌαβ. αααααααααΆααααααΆαααααα·αααααΆααααααΆααααΆαα’ααααα DNS α
αααααΆαααΆαααΆααααα ααΎααα ααααΎαααΆαααΆααααααααα ααααααααΆα αα·αααΆαααΎαα‘αΎααα αααα»αααααα insert_failed αα αααα»αα ααα»α αααααΆαα Flannel α ααΆααΆααααααααααΆααααΈαααααααααΆαααααΌαααΆαα’αα»αααα ααΈαααααααΎαα’αΆα αα»αααααΆαα SNAT αα·α/α¬ DNAT αααααΆααααα ααΆα α DNS ααα»αααααα ααααααααααααΆααααααΆααααααΌαααΆααααααΆαα»ααααααΆααααααααα ααΆα αααααααααααα ααΆααααΆαααα’ ααΆαα αααΎααααααα ααααααααΆαααααααΎαααΊ TCP α αΎαααααα·αααΎααΆααααα αΆααΎαα‘αΎα αα½αααααααΌαααΆααααααΌαα‘αΎααα·ααααΆαααΆααααα ααΎααα ααααααΆααΆαααααααααααααααααΆααααααααααααΆααα ααΆα ααααααααααααααα
ααΆαααααΎαααααα·ααααααΆαααα»αααααΆαααΆααααα»αααΆαααααααααΎα
αα ααααααααΎαααααΆααααααΌαααααΆαααα backend αα Kubernetes ααΎαα αΆααααααΎαααα½αααααΈααΆααααα»ααα·αααΆααα»αααααΆααααΆαααα ααΎαααΆαααααΎαααΆ HTTP Keepalive αααααΆαα±ααααΆααααααΆαα ELB αααα½ααα ααΎαααααααααααα½α ααΆααααα ααααΌαααααΆαααΆαααααααΆαααΈαα½ααα ααΌα αααα α ααΆα αααααΆαα αααΎαααΆαααααααΆααααΆαααααΌα αα½αααααααααααααΆαα αααααααααΆαααααΌααααααΎαααΆαααΆαααααααΊααααα MaxSurge ααα 100% ααΎααΆαααΆαααααααΆαααααΈαααααΆααααααΆααΈαααΌαααα’αΆααααααααα»αα α₯αααα·ααβααΆαβααααβααααΆαβαα βααΆβαα·αβααααΆαα αα·αβαα·αβα’αΆα βαααααΆβααΆαβαααα»αβααααααααβααβααΆαβααΆααβαααααΆαβααβααΆαα
αααααααααΆααα½αααααααααΎαααΆαααααΎααΊααΎααααΈαααααΎαααΆαααααΎαα»αααααΆααα·ααααα·αααα·ααααααΆααααααΆααααααααΆαααα αααα»αααααΈααα αααααααΆαααα αααααααα ααΉαααΆαααααααα αααΎααααααΆααααααΎαααα»ααα ααΎαααααααααα ααΉααααααααααααααα ααΆααΉααα·αααααΎαααΆααααα»αααααααααΌααα αααααααΆααΉαααααΌαααααααααΆαααααΆαα ααΎαααΈααα αααααα·ααΈ Node ααααααΎαααΊ single-threaded α αΎαααΆαααα α’αΆα ααααΎααααΌααααα½αααα»αααααα αααααααααΆααα·αααααΆαααααα½ααααααΊααααΌαααααΎαα»αααααΆαααααα»ααααααΎαααΆααα»αα
ααΎαα
ααααΉααα»ααααΆαααααααααΆααΌαααα αΎα
ααΎαααΆααααααΎαααΌαααΆαααααααα ααΆααααααααααΌα ααΆααααααα ααΆαααααααα αα αα Envoy αααααΆααααααΈαα½αα αα·αααααΌααααα½α α αΎαααααΆααα ααααααα αα»αααΊαααααΆαα αααα ααΎααααΈααΆαααααααααΆαααααΆαααααααΆαα»αα αα·ααααααΆααΆαααΌα αα½α ααΎαααΆαααααΎααααΆααααααΆααΆαα Envoy front-proxy pods αα½ααααα»ααα½α Availability Zone (AZ) αααααΆααααααΆααααααΈαα½ααα αα½αααααΉαααα’ααααΎαααΆαααΈααααααααααααΆααααΆαααααα½α ααααααααααααα·αααααααααααΎαααααΆαα αααααααΆαααααααα‘αααααααΈαααααα αααα»α AZ ααΈαα½αααααααΆααααααΆαααααααααΆααααααα±ααα
αααααΆαααα αααααααααααααααΆααααααΆαααααΎααααααΆααααααααααααΆαααααΆαα½αααΉαα ααααα αα·αααααΌαα‘αΎαααΎαα½αα ααΎααααααααΆαα’ααααααααααααααΆαα αααααΎαααΆααααααα§ααααααααααααααααααΈααΆααα’αα αα·αααΆαααααααααΆαααααααα ααΆααααααααααΆαααααΆααΆαααααααααα·α αα½α αααα»α ααΎααααΈαα½ααααααΆααααΆααααααα½ααα αα·αααΆααΆα±ααααΆαααΆαααΆααα±ααααααΎααααΆααααααααΌαα ααΎαααΆαααΆαα TCP ELB αα ααΈαα»αααααααααααααΆααααααΆαααααα αααααΈααΆ Keepalive ααΈαααααΆααααααΌααααΈα ααααααααααΎαααααΌαααΆαααΆααααΆαααα ααΎ Envoy pods αα½αα ααα½αααααα αααα½ααααα ααα’αΆα αααααααααααααα»αααΆααααααΎαααΆααα»α α αΎαααααΌαααΆαααααααα ααΆααααααααααΎααααΈα±ααααΆααα»αααααΆαααΆαααα least_request αα αααα»α backend α
αααααΆααααΆαααΆααα±ααααααΎααααΆαα ααΎαααΆαααααΎααααα preStop αα ααΎαααααα·ααΈααΆααααΈα pods αα·α sidecar podsα αααααααΆααααααα±ααααΆαααα α»ααααα»αααΆααααα½ααα·αα·αααααααΆαααΆαααα ααα»α αααα ααααα’αααααααααααααααααΆαααΈααΆαααα ααΎαα»αααΊαααααααααα αα αα α αΎαααΆαα αΌαααααα½αααααα»α ααΎααααΈα’αα»ααααΆαα±ααααΆααααααΆααααααααααα ααα
α ααα»αααα½ααααα»αα ααααα ααα»αααααααΎαα’αΆα ααααΎα αααΆααΆαααΏαααΊαααααΆααααααααΆαααααα’α·ααααααΎαα’αΆα αααα αΌααααΆαααΆααααα½ααα αααα»αααΆαααα‘αΎα Prometheus ααααααΆα ααΆα’αα»ααααΆαα±ααααΎαααΎαααΎααααΆαα αααΆααααΌαα’αααΈααααααα»αααΎαα‘αΎα αααααααααααΎαααααααα½ααααΆαααΆααααααααααΆαααααααα ααΆαααααααα αα·αα ααΆα αα ααα αΆαα‘αΎααα·αα
ααααααααΊααααΆαα αα·αααΆαααααααα ααΎαααΆαα αΆααααααΎαααΆαα½αααΉαααααΆααααααααα·αααΆααα»αααααΆααααα»α α αΎααα ααααααααΆααααΎαααΆααα ααΈαα»αααααΆααααααααΆαααα ααα½α 12 αα αααα»αα αααααα αα ααααΆαααα ααΎααααα»ααααα ααααααΆαααααΆααααααΌααα ααΆαααααααΆαααααΆααααααααΆαα½αααΉαααΆαααααΎαααααΆααααααααα·ααααααααΆααα»α ααΆααααααααααααΈ ααΆαααααΎαααΆααααα ααΆααααααα’ααααΆ αα·αααΆαααΆαααΆαα
ααΌαααΆαααΈ 3β1 α ααΆααααα
αΌαααααΆαααααΈααΈααΌααααααΆαααααα½ααααα»αα’αα‘α»ααααααΆαααααΆααααααΌααα
ααΆ Envoy
ααααααα α»αααααα
ααΆαααααααα·αααααααα αα·αααΆαααααΆαααααΆααααααα ααΎαααΆααααΆααααα»αα αααααΆαα ααΆααααααααααααΉαααΆααα½ααααααΆαααααΆαααααΆαααααα»αααΆααα ααΆ ααΆαααΆαααααααΆα αα·αααααα·ααααα·ααΆααααα»α Kubernetes ααααα αα·ααααα Tinder ααΆααα’ααα₯α‘αΌααααααΆαα ααααααΉα αα·ααααα·ααααααααα»αααΆαααα ααα αααα»α αα·αααΆαααααααΆααααααα·ααΈαα ααΆαα Kubernetes α
αα αααααααααααΌαααΆααααααΆαααααααααΆαααααααααΆαααΎαα‘αΎαααΎα αααααΆαα ααΆααααααααα αΆαα ααΎαααααΌααααα αΆαααΆα αααΎαααΆααΈαααααΆααααααΈ EC2 ααααΈααΎααααΈα αΆααααααΎαα α₯α‘αΌαααααα»αααΊαααα αΆααααααΎαααααΎαααΆα α αΎαα αΆααααααΎαααααΎαααΆαα ααΆα ααααααα»αααααααααα»ααααΆααα·ααΆααΈ αααα½αα±ααααΆααΈα ααΆαααααααααααΆαααα»αα αααΎααα ααΎα§ααΆα ααα EC2 αααα½ααααααααααΌαααΆααααααΌααααα»ααααααααααααααΎαα‘αΎααααααα ααΆαααααα ααΎαααααΆααααααΈααΆαααα α»ααα½αα±ααααααααααΆααααααΆαα αααΆα EC2019 αααα»αααααΆα 2 ααΎαααααααααα ααΉαααααΆααα»αα
ααΆαααααΎα αααΆααααα»αα αααΆαααααα·αααΈαααααΆα ααα»ααααααΎαααΆααααα ααααΆαα ααααΈααΆ ααααΆα 2019α αα αα α»αααααα αααα·ααΆ Tinder ααααΎαααΆαααΆαααααα»αααΎα ααααα Kubernetes αααααΆαααααΆαααα 200, 1000 nodes, 15 pods αα·α 000 αα»αααΊαααααααααα»αααααΎαααΆαα α αααααΆαα ααΆαααααααααα·ααααααΆααααααα½αααααααααα»αααααα·ααααα·ααΆααααααα αα·αααααααααααΎαααΆααα’ααα αααααααααΌααααα½ααα»αααααΌαααα αα·ααααααααααααααΎαααΆαααααΆααααααΎα αα·αααΆαααααααΆααααααα·ααΈαααααα½ααααααααααΎαααααΌαααααα»αααααα
PS ααΈα’ααααααααα
ααΌαα’αΆαα’ααααααα½αα ααα½ααα ααΎαααααααααααΎααααααα
- Β«
Kubernetes ααΏααααααααααα»αααα·αααααα αααααααΈ 1α 4200 hearths αα·α TessMaster ααΈ eBay "α - Β«
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 "α
ααααα: www.habr.com