ืืขืจื. ืชืจืืื: ืขืืืื ืฉืืจืืช ืืื ืืจ ืืืคืืจืกื ืืขืืื ืฉืืชืคื ืืืืจืื ื ืืื ืคืจืืื ืืื ืืื ืขื ืืขืืจืช ืืชืฉืชืืช ืฉืืื ื-Kubernetes. ืืชืืืื ืืจื ืืืขื ืฉื ืชืืื ืืืืื ืืืฉืงืช ืคืืืคืืจืื ืืงื ื ืืืื ืืืื ืืืื ื-K8s, ืืืืจืืืช ื-200 ืฉืืจืืชืื ืืืชืืจืืื ืขื 48 ืืืฃ ืงืื ืืืื ืจืื. ืืืืื ืงืฉืืื ืืขื ืืื ืื ื ืชืงืื ืืื ืืกื ืืื ืืจ ืืืืืื ืชืืฆืืืช ืื ืืืืขื? ืงืจื ืืช ืืชืจืืื ืืื.
ืืื?
ืืคื ื ืืืขื ืฉื ืชืืื, ืืื ืืจ ืืืืืื ืืืขืืืจ ืืช ืืคืืืคืืจืื ืฉืื ื-Kubernetes. Kubernetes ืืืคืฉืจ ืืฆืืืช ืืื ืืจ ืืืชืจืื ืืืขืืืจ ืืืืฆืืจ ืืืื ืืืื ืืืืฅ ืืืืฆืขืืช ืคืจืืกื ืืืชื ื ืืชื ืช ืืฉืื ืื (ืคืจืืกื ืืืชื ื ืืชื ืช ืืฉืื ืื). ืืืงืจื ืื, ืืจืืืช ืืืืฉืืืื, ืคืจืืกืชื ืืืชืฉืชืืช ืขืฆืื ืืืืืจื ืืืืคื ืืืืืื ืขื ืืื ืงืื.
ืืืคืฉื ื ืื ืคืชืจืื ืืืขืืืช ืืืืจืืืืช ืืืืฆืืืืช. ืืืฉืจ ืงื ื ืืืืื ืืคื ืืืืืช ืงืจืืื, ืืขืชืื ืงืจืืืืช ื ืืืฆื ื ืืืืชืื ืืกืคืจ ืืงืืช ืขื ืฉืืืคืขื EC2 ืืืฉืื ืืืคืืขื. ืืจืขืืื ืฉื ืืฉืงืช ืืืืืืช ืืืืชืืื ืืฉืจืช ืชื ืืขื ืชืื ืฉื ืืืช ืืืงืื ืืงืืช ืืคื ืื ื ืืืื ืืืจืงืืืื.
ืืชืืืื ืืชืืจืจ ืืงืฉื. ืืืืื ืืืืืจื ืฉืื ื ืืชืืืืช 2019, ืืฉืืื Kubernetes ืืืืข ืืืกื ืงืจืืืืช ืืืชืืื ื ืืืืชืงื ืืืขืืืช ืฉืื ืืช ืขืงื ื ืคื ืชืขืืืจื, ืืืื ืืฉืืื ื-DNS. ืืืืจื ืืืจื, ืคืชืจื ื ืืจืื ืืขืืืช ืืขื ืืื ืืช ืืงืฉืืจืืช ืืืขืืจืช 200 ืฉืืจืืชืื ืืชืืืืงืช ืืฉืืื Kubernetes ืืืืจืื ื-1000 ืฆืืชืื, 15000 ืคืืืื ื-48000 ืงืื ืืืื ืจืื ืคืืขืืื.
ืืื?
ืืื ืื ืืืจ 2018, ืขืืจื ื ืฉืืืื ืฉืื ืื ืฉื ืืืืจื. ืืชืืื ื ืืจืืืื ืื ืืฉืืจืืชืื ืฉืื ื ืืคืจืืกื ืืกืืืืืช ืขื ื ืืืื Kubernetes. ืืื ืืืืงืืืืจ, ืืชืืื ื ืืืขืืืจ ืืืืคื ืฉืืืชื ืืช ืื ืืฉืืจืืชืื ืืงืืืืื ื-Kubernetes. ืขื ืืจืฅ ืฉื ืืฉื ื ืฉืืืืจ ืืื, ืืฉืืื ื ืืช ืืืืืจื ืืืขืช ืคืืืคืืจืืช Tinder ืคืืขืืช ืืืขืืืช ืขื Kubernetes.
ืื ืืืช ืชืืื ืืช ืขืืืจ Kubernetes
ืืฉ ืื ื ืืืขืื ื-30 ืืืืจื ืงืื ืืงืืจ ืขืืืจ ืฉืืจืืชื ืืืงืจื ืืคืืขืืื ืขื ืืฉืืื Kubernetes. ืืงืื ืืืืืจืื ืืื ืืชืื ืืฉืคืืช ืฉืื ืืช (ืืืืืื, Node.js, Java, Scala, Go) ืขื ืืกืคืจ ืกืืืืืช ืืื ืจืืฆื ืขืืืจ ืืืชื ืฉืคื.
ืืขืจืืช ืืื ืืื ื ืืขืื ืืกืคืง "ืงืื ืืงืกื ืื ืืื" ืื ืืชื ืืืชืืื ืืืฉืืช ืืืื ืขืืืจ ืื ืฉืืจืืช ืืืงืจื. ืื ืืืจื ืืื ืืืจืื ื-Dockerfile ืืจืฉืืืช ืคืงืืืืช ืืขืืคืช. ืืชืืื ืฉืืื ื ืืชื ืืืชืืื ืืืฉืืช ืืืืืืื, ืืืืงืืื, ืื ืืงืฉืจื ืืื ืืื ืืืื ื ืืชืืื ืืคื ืคืืจืื ืกืื ืืจืื. ืกืื ืืจืืืืฆืื ืฉื ืืงืฉืจื ืื ืืื ืืืคืฉืจืช ืืืขืจืืช ืื ืืื ืืืช ืืืคื ืืื ืฉืืจืืชื ืืืืงืจื.
ืืืืจ 1-1. ืชืืืื ืื ืืื ืกืื ืืจืื ืืืืฆืขืืช ืงืื ืืืื ืจ Builder
ืืื ืืืฉืื ืขืงืืืืช ืืจืืืช ืืื ืืื ื ืจืืฆื (ืกืืืืืช ืืื ืจืืฆื) ืืืชื ืชืืืื ืื ืืื ืืฉืืฉ ืืืืื ืืคืืชืื ืืืืืืงื. ืขืืื ื ืืคื ื ืืชืืจ ืืืื ืืขื ืืื: ืืืื ื ืฆืจืืืื ืืคืชื ืืจื ืืืืืื ืขืงืืืืช ืฉื ืกืืืืช ืืื ืืื ืขื ืคื ื ืืคืืืคืืจืื ืืืื. ืืื ืืืฉืื ืืืช, ืื ืชืืืืื ืืืจืืื ืืชืืฆืขืื ืืชืื ืืืื ืืืืื. ืืื ื.
ืืืืขืช ืืืืืื ืฉืื ืืจืฉื ืืื ืืงืืช ืืชืงืืืืช ืฉื Docker. Builder ืืืจืฉ ืืช ืืืื ืืืฉืชืืฉ ืืืงืืื ืืืช ืืกืืืืช (ืืืื ืืคืชื SSH, ืืืฉืืจื AWS ืืื') ืื ืืจืฉืื ืืื ืืืฉืช ืืืืืจื ืืื ืืจ ืืคืจืืืื. ืืื ืืขืื ืกืคืจืืืช ืืงืืืืืช ืืืืืืืช ืืงืืจืืช ืืื ืืืืกื ืืืืคื ืืืขื ืืคืฆื ืื ืืื. ืืืฉื ืื ืืฉืคืจืช ืืช ืืืืฆืืขืื ืืืืืื ืฉืืื ืืืืืช ืืช ืืฆืืจื ืืืขืชืืง ืืคืฆื ืื ืืื ืืื ื-Builder ืืืืจื. ื ืืชื ืืขืฉืืช ืฉืืืืฉ ืืืืจ ืืืคืฆื ืื ืืื ืืืืืกื ืื ืืื ืชืฆืืจื ื ืืกืคืช.
ืขืืืจ ืฉืืจืืชืื ืืกืืืืื, ืืืื ื ืฆืจืืืื ืืืฆืืจ ืงืื ืืืื ืจ ื ืืกืฃ ืืื ืืืคืืช ืืช ืกืืืืช ืืืืืืจ ืืกืืืืช ืืื ืืจืืฆื (ืืืืืื, ืกืคืจืืืช Node.js bcrypt ืืืืฆืจืช ืืคืฆืื ืืื ืืจืืื ืกืคืฆืืคืืื ืืคืืืคืืจืื ืืืืื ืืืชืงื ื). ืืืืื ืชืืืื ืืงืืืคืืืฆืื, ืืืจืืฉืืช ืขืฉืืืืช ืืืฉืชื ืืช ืืื ืืฉืืจืืชืื, ืื-Dockerfile ืืกืืคื ื ืขืจื ืชืื ืืื ืชื ืืขื.
ืืจืืืืงืืืจืช ืืฉืืืืืช ืืืืืจื ืฉื Kubernetes
ื ืืืื ืืืื ืืฉืืื
ืืืืื ื ืืืฉืชืืฉ kube-aws ืืคืจืืกืช ืืฉืืืืืช ืืืืืืืืช ืืืืคืขื Amazon EC2. ืืืชืืื ืืื ืขืื ืืืืืจ ืืื ืืฉืืชืฃ ืฉื ืฆืืชืื. ืืืจ ืืืื ืืื ื ืืช ืืฆืืจื ืืืคืจืื ืขืืืกื ืขืืืื ืืคื ืืืื ืืกืื ืืืคืข ืืื ืืขืฉืืช ืฉืืืืฉ ืืขืื ืืืชืจ ืืืฉืืืื. ืืืืืืื ืืื ืฉืืคืขืืช ืืกืคืจ ืชืจืืืืื ืืจืืืื ืคืชืืืื ืืขืื ืื ืืชืืจืจื ืืฆืคืืื ืืืชืจ ืืืืื ืช ืืืฆืืขืื ืืืฉืจ ืืื-ืงืืื ืฉืืื ืขื ืืกืคืจ ืจื ืฉื ืคืืืื ืขื ืืืืืจืื ืืืืืื.
ืืกืืฃ ืืกืชืคืงื ื ื:
- m5.4x ืืืืืื - ืื ืืืืจ (ืคืจืืืชืืืก);
- c5.4x ืืืืืื - ืขืืืจ ืขืืืก ืขืืืื ืฉื Node.js (ืขืืืก ืขืืืื ืขื ืืื ืืืื);
- c5.2x ืืืืืื - ืขืืืจ Java ื-Go (ืขืืืก ืขืืืื ืืจืืื ืืืืื);
- c5.4x ืืืืืื - ืขืืืจ ืืื ืืืงืจื (3 ืฆืืชืื).
ืืืืจื
ืืื ืืืฉืืืื ืืืื ื ืืืขืืจ ืืืชืฉืชืืช ืืืฉื ื ื-Kubernetes ืืื ืืืคื ืืช ืืช ืืชืงืฉืืจืช ืืืฉืืจื ืืงืืืืช ืืื ืืฉืืจืืชืื ืืืืื ื ืืขืืืก ืืืืฉืื (ELB). ืื ื ืืฆืจื ืขื ืชืช-ืจืฉืช ืกืคืฆืืคืืช ืฉื ืขื ื ืคืจืื ืืืจืืืืื (VPC). ืจืฉืช ืืฉื ื ืื ืืืืชื ืืืืืจืช ื-VPC ืฉื Kubernetes. ืื ืืืคืฉืจ ืื ื ืืืขืืืจ ืืืืืืื ืืืืจืื, ืืืื ืืืชืืฉื ืืกืืจ ืืกืคืฆืืคื ืฉื ืืชืืืช ืืฉืืจืืช.
ื ืงืืืืช ืงืฆื ืืื ื ืืฆืจื ืืืืฆืขืืช ืงืืืฆืืช ืืฉืืงืืืืช ืฉื ืจืฉืืืืช DNS ืฉืืื ืืื CNAMEs ืฉืืฆืืืขื ืขื ืื ELB ืืืฉ. ืืื ืืขืืืจ, ืืืกืคื ื ืขืจื ืืืฉ ืืืฆืืืข ืขื ื-ELB ืืืืฉ ืฉื ืฉืืจืืช Kubernetes ืขื ืืฉืงื ืฉื 0. ืืืืจ ืืื ืืืืจื ื ืืช Time To Live (TTL) ืฉื ืืขืจื ืฉืืืืืจ ื-0. ืืืืจ ืืื, ืืืฉืงื ืืืฉื ืืืืืฉ ืืื ืืืชืื ืืื, ืืืกืืคื ืฉื ืืืจ 100% ืืืขืืืก ื ืฉืื ืืฉืจืช ืืืฉ. ืืืืจ ืืฉืืืช ืืืขืืจ, ืขืจื ื-TTL ืืืจ ืืจืื ื ืืืชื ืืืชืจ.
ืืืืืื ื-Java ืฉืืื ืื ื ืืืื ืืืชืืืื ืขื DNS ื ืืื ืฉื TTL, ืืื ืืืฉืืื ื-Node ืื ืืืื. ืืื ืืืื ืืกืื ืืชื ืืืืฉ ืืืง ืืงืื ืืืืจ ืืืืืืจ ืืขืืฃ ืืืชื ืืื ืื ืฉืขืืื ืืช ืืืืืจืื ืื 60 ืฉื ืืืช. ืืืืฉื ืฉื ืืืจื ืขืืื ืืื ืืืื ืืืื ืื ืืจืืื ื ืืืจืช ืืืืฆืืขืื.
ืืฉืืขืืจืื
ืืืืืืืช ืฉื ืืืจื ืืจืฉืช
ืืฉืขืืช ืืืืงืจ ืืืืงืืืืช ืฉื ื-8 ืืื ืืืจ 2019, ืคืืืคืืจืืช ืืื ืืจ ืืชืจืกืงื ืืืืคื ืืืชื ืฆืคืื. ืืชืืืื ืืขืืืื ืื ืงืฉืืจื ืืืฉืืืืช ืืคืืืคืืจืื ืืืงืื ืืืชืจ ืืืืชื ืืืงืจ, ืืกืคืจ ืืชืจืืืืื ืืืฆืืชืื ืืืฉืืื ืืื. ืื ืืจื ืืืืฆืื ืืืืื ื-ARP ืืื ืืฆืืชืื ืฉืื ื.
ืืฉื ื ืฉืืืฉ ืืคืฉืจืืืืช ืืื ืืงืก ืืงืฉืืจืืช ืืืืืื ARP:
(
gc_thresh3 - ืื ืืืื ืงืฉื. ืืืคืขืช ืขืจืื "ืืฆืคืช ืฉืืืื ืฉืื" ืืืืื ืืืืื ืืื ืฉืื ืืืืจ ืืืกืืฃ ืืฉืคื ืกืื ืืจืื ื (GC), ืื ืืื ืืกืคืืง ืืงืื ืืืืืื ื-ARP ืืื ืืืืกื ืืช ืืขืจื ืืฉืื. ืืืงืจื ืื, ืืงืจื ื ืคืฉืื ืืฉืืื ืืช ืืืืืื ืืืืืืื.
ืื ื ืืฉืชืืฉืื
ืืืืจ 2-1. ืืืืืจืืช ืคืื ื (
ืืืืจ 2-2. ืืืืืช VXLAN (
ืื ืฆืืืช ืขืืื ืฉื Kubernetes ืืงืฆื ืืจืื ืืชืืืืช ืืืจืืืืื ืขื ืืกืืืช /24 ืืืืืง /9 ืืืื ืืืชืจ. ืขืืืจ ืื ืฆืืืช ืื
ืื ืืกืฃ, ืชืงืฉืืจืช ืฆืืืช-ืคืื (ืื pod-pod) ืขืืืจืช ืืกืืคื ืฉื ืืืจ ืืจื ืืืืฉืง eth0 (ืืคื ืฉืืืฆื ืืชืจืฉืื ืืคืื ื ืืืขืื). ืื ืืืจื ืืขืจื ื ืืกืฃ ืืืืืช ื-ARP ืขืืืจ ืื ืืงืืจ ืืืืจื ืืขื ืืชืืื.
ืืกืืืื ืฉืื ื, ืกืื ืื ืฉื ืชืงืฉืืจืช ื ืคืืฅ ืืืื. ืขืืืจ ืืืืืืงืื ืฉืืจืืช ื-Kubernetes, ื ืืฆืจ ELB ื-Kubernetes ืจืืฉื ืื ืฆืืืช ื-ELB. ื-ELB ืื ืืืืข ืืืจ ืขื ืชืจืืืืื ืืืืชืื ืฉืืฆืืืช ืฉื ืืืจ ืืื ื ืืืขื ืืกืืคื ืฉื ืืืืืื. ืื ืงืืื ืืื ืฉืืืฉืจ ืฆืืืช ืืงืื ืืืืื ืื-ELB, ืืื ืืืฉืื ืืืชื ืชืื ืืชืืฉืืืช ืืืืงืื iptables ืขืืืจ ืฉืืจืืช ืกืคืฆืืคื ืืืืืจ ืืืืคื ืืงืจืื ืคืื ืืฆืืืช ืืืจ.
ืืืื ืืืฉื, ืืื 605 ืฆืืชืื ืืืฉืืื. ืืืืขืืื ืฉืฆืืื ื ืืขืื, ืื ืืื ืืื ืืื ืืืชืืืจ ืขื ืืืฉืืขืืช gc_thresh3, ืฉืืื ืืจืืจืช ืืืืื. ืืฉืื ืงืืจื, ืื ืจืง ืฉืืชืืืืืช ืืืืฉืื ืื ืืช, ืืื ืฉืื ืืจืื ืืืชืืืืช ืืืืืจืืืืื ืฉื ืคืื ื ืขื ืืกืืืช /24 ื ืขืื ืืืืืช ื-ARP. ืชืงืฉืืจืช ื-Pod ืืฉืืืืชืืช DNS ื ืงืืขืืช (DNS ืืชืืจื ืืืฉืืื; ืงืจื ืืืืฉื ืืืืจ ืื ืืคืจืืื).
ืืื ืืคืชืืจ ืืขืื ืื, ืืชื ืฆืจืื ืืืืืื ืืช ืืขืจืืื gc_thresh1, gc_thresh2 ะธ gc_thresh3 ืืืคืขื ืืืืฉ ืืช Flanell ืืื ืืจืฉืื ืืืืฉ ืืช ืืจืฉืชืืช ืืืกืจืืช.
ืฉืื ืื ืงื ื ืืืื DNS ืื ืฆืคืื
ืืืืื ืชืืืื ืืืืืจื, ืืฉืชืืฉื ื ืืืืคื ืคืขืื ื-DNS ืื ืืืื ืชืขืืืจื ืืืขืืจื ืืืจืืชืืช ืฉื ืฉืืจืืชืื ืืืชืฉืชืืช ืืืฉื ื ื-Kubernetes. ืืืืจื ื ืขืจืื TTL ื ืืืืื ืืืกืืช ืขืืืจ RecordSets ืืฉืืืืื ื-Route53. ืืืฉืจ ืืชืฉืชืืช ืืืฉื ื ืคืขืื ืขื ืืืคืขื EC2, ืชืฆืืจืช ืืคืืชืจ ืฉืื ื ืืฆืืืขื ืขื ืืืืื DNS. ืืงืื ื ืืช ืื ืืืืื ืืืืื ืืืืฉืคืขื ืฉื ื-TTL ืื ืืื ืขื ืืฉืืจืืชืื ืฉืื ื ืืฉืืจืืชื ืืืืื (ืืืื DynamoDB) ื ืขืืื ืืจืืื.
ืืฉืืขืืจื ื ืฉืืจืืชืื ื-Kubernetes, ืืืืื ื ืฉ-DNS ืืขืื 250 ืืืฃ ืืงืฉืืช ืืฉื ืืื. ืืชืืฆืื ืืื, ืืืฉืืืื ืืืื ืืืืืช ืคืกืง ืืื ืงืืืข ืืจืฆืื ื ืขืืืจ ืฉืืืืชืืช DNS. ืื ืงืจื ืืืจืืช ืืืืฆืื ืืืืืืื ืืืืขื ืืืืขืืืจ ืืช ืกืคืง ื-DNS ื-CoreDNS (ืฉืืขืืืก ืืฉืื ืืืืข ื-1000 ืคืืืื ืืคืืขืืื ืขื 120 ืืืืืช).
ืืืื ืฉืืงืจื ื ืกืืืืช ืืคืชืจืื ืืช ืืคืฉืจืืื ืืืจืื, ืืืืื ื
ืืืขืื ืืชืจืืฉืช ืืฉืื ืชืจืืื ืืชืืืืช ืืืงืืจ ืืืืขื (SNAT ื-DNAT) ืืืื ืืกื ืืืืจ ืืื ืืืืื ืงืื ืืจืืง. ืืืช ืืืจืืื ืืขืงืืคืช ืืืขืื ืฉื ืืื ื ืืืืคื ืคื ืืื ืืืฆืืขื ืืงืืืื ืืืืชื ืืืขืืืจ ืืช ื-DNS ืืฆืืืช ืืขืืื ืขืฆืื. ืืืงืจื ืืื:
- ืืื ืฆืืจื ื-SNAT ืื ืืชืขืืืจื ื ืฉืืจืช ืืชืื ืืฆืืืช. ืืื ืฆืืจื ืื ืชื ืืืชื ืืจื ืืืืฉืง eth0.
- ืืื ืฆืืจื ื-DNAT ืืืืืื ืฉืืชืืืช ื-IP ืฉื ืืืขื ืืื ืืงืืืืช ืืฆืืืช, ืืื ืชืจืืื ืฉื ืืืจ ืืืงืจืื ืืคื ืืืืืื iptables.
ืืืืื ื ืืืืฉืืจ ืขื ืืืืฉื ืืื. CoreDNS ื ืคืจืก ื-DaemonSet ื-Kubernetes ืืืืืขื ื ืฉืจืช DNS ืืงืืื ืฉื ืฆืืืช ื- resolve.conf ืื ืชืจืืื ืขื ืืื ืืฆืืช ืืื --cluster-dns ืฆืืืชืื ืงืืืืโ. ืคืชืจืื ืื ืืชืืจืจ ืืืขืื ืขืืืจ ืคืกืงื ืืื ืฉื DNS.
ืขื ืืืช, ืขืืืื ืจืืื ื ืืืืื ืื ืืช ืืขืืืื ืืืื ื insert_failed ืืืืฉืง ืคืื ื. ืื ื ืืฉื ืืืืจ ืืืืขืช ืืคืชืจืื ืืขืงืืคืช ืืืขืื ืืืืืื ืฉืืฆืืื ื ืืืื ืืช SNAT ื/ืื DNAT ืขืืืจ ืชืขืืืจืช DNS ืืืื. ืชื ืื ืืืจืืฅ ื ืฉืืจื ืืกืืื ืชื ืืขื ืืืจืื. ืืืจืื ืืืื, ืจืื ืืืืืืืช ืฉืื ื ืื TCP, ืืื ืืชืจืืฉืช ืืขืื ืื ืคืฉืื ืืืขืืจืืช ืืืืฉ. ืื ืื ื ืขืืืื ืื ืกืื ืืืฆืื ืคืชืจืื ืืชืืื ืืื ืกืืื ืืชื ืืขื.
ืฉืืืืฉ ื-Envoy ืืืืืื ืขืืืกืื ืืื ืืืชืจ
ืืฉืืขืืจื ื ืฉืืจืืชื backend ื-Kubernetes, ืืชืืื ื ืืกืืื ืืขืืืก ืื ืืืืื ืืื ืืชืจืืืืื. ืืฆืื ื ืฉ-HTTP Keepalive ืืจื ืืืืืืจื ELB ืืืืชืงืข ืขื ืืคืืืื ืืืืื ืื ืืจืืฉืื ืื ืฉื ืื ืคืจืืกื ืฉืืืฉืงื. ืืคืืื, ืขืืงืจ ืืชื ืืขื ืขืืจื ืืืืื ืงืื ืืืคืืืื ืืืืื ืื. ืืคืชืจืื ืืจืืฉืื ืฉืืืงื ื ืืื ืืืืืืจ ืืช MaxSurge ื-100% ืขื ืคืจืืกืืช ืืืฉืืช ืขืืืจ ืชืจืืืฉืื ืืจืืขืื ืืืืชืจ. ืืืฉืคืขื ืืชืืจืจื ืืื ืืฉืืขืืชืืช ืืื ืืืืืื ืืืื ืืื ืฉื ืคืจืืกืืช ืืืืืืช ืืืชืจ.
ืคืชืจืื ื ืืกืฃ ืฉืืฉืชืืฉื ื ืื ืืื ืืืืืื ืืืืคื ืืืืืืชื ืืช ืืงืฉืืช ืืืฉืืืื ืืฉืืจืืชืื ืงืจืืืืื. ืืืงืจื ืื, ืืชืจืืืืื ืืืืืงืืื ืืงืจืืช ืืงืื ืืืื ืืืชืจ ืืจืื ืชืืจืื ืืืฉืืืื ืืชืจืืืืื ืืืืื ืืืจืื. ืื ืื ืื ืืขืืื ืืืืื ืืืจืื ืื ืื ืืืื ืืืืื ืืฉืืืื. ืื ืืกืฃ, ืืืฉืืื ื-Node ืฉืื ื ืืื ืขื ืคืชืื ืืืื ืืืืชืื, ืืืื ืืืฉืชืืฉ ืจืง ืืืืื ืืืช. ืืคืชืจืื ืืืืืชื ืืืืื ืืื ืืืฉืชืืฉ ืืืืืื ืขืืืกืื ืืื ืืืชืจ.
ืืืจ ืืืื ืจืฆืื ื ืืืขืจืื ืืืืืื
ืืืขื ื ืืงืื ืคืืืืจืฆืื ืืืื: ืืฉ ื-Envoy-sidecar ืขืืืจ ืื ืชืจืืื ืืืกืืื ืืืื, ืืืืืจ ืืช ืืืฉืืื ืืืืืื ืืืืคื ืืงืืื ืืจื ื ืื. ืืื ืืืืขืจ ืืช ืคืืื ืฆืืื ืืืืืฉื ืืืฉืืืจ ืขื ืจืืืืก ืคืืืขื ืงืื, ืืฉืชืืฉื ื ืืฆื ืฉื ืชืจืืืืื ืงืืืืื ืฉื Envoy, ืืื ืืื ืืืืจ ืืืื ืืช (AZ) ืขืืืจ ืื ืฉืืจืืช. ืื ืืกืชืืื ืขื ืื ืืข ืืืืื ืฉืืจืืช ืคืฉืื ืฉื ืืชื ืขื ืืื ืืื ืืืื ืืกืื ืฉืื ื ืฉืคืฉืื ืืืืืจ ืจืฉืืื ืฉื ืชืจืืืืื ืืื AZ ืขืืืจ ืฉืืจืืช ื ืชืื.
ืฉืืืื ืืืืช ืืฉืืจืืช ืืฉืชืืฉื ืื ืืื ืื ืื ืืืืื ืฉืืจืืช ืื ืขื ืืฉืืื ืืืกืืื ืืื ืืืขืื ืืืจื. ืงืืขื ื ืคืกืงื ืืื ื ืืืชืื, ืืืืื ื ืืช ืื ืืืืจืืช ืืคืกืง ืืืจื ืืืืกืคื ื ืชืฆืืจืช ื ืืกืืื ืืืืจ ืืื ืืืืืช ืืื ืืกืืืข ืืืฉืืื ืืืืืื ืืืืืืื ืคืจืืกื ืืืงื. ืืฆืื ื TCP ELB ืืื ืื ืืื ืืืฉืืืืื ืืงืืืืื ืฉื ืืฉืืจืืช ืืืื. ืื ืื Keepalive ืืฉืืืช โโื-proxy ืืจืืฉืืช ืฉืื ื ืืื ืชืงืืข ืืืืง ืืืชืจืืืืื ืฉื Envoy, ืื ืขืืืื ืืื ืืกืืืืื ืืืชืืืื ืขื ืืขืืืก ืืจืื ืืืชืจ ืืื ืืืืืืจื ืืืื ืืจื least_request ื-backend.
ืืฆืืจื ืคืจืืกื, ืืฉืชืืฉื ื ืืื PreStop ืื ืขื ืชืจืืืืื ืฉื ืืืฉืืืื ืืื ืขื ืชืจืืืืื ืฆืืืืื. ื-hook ืืคืขืื ืฉืืืื ืืืืืงืช ืืืฆื ืฉื ื ืงืืืช ืืงืฆื ืฉื ืืื ืื ืืืืืงืืช ืืืืื ืืฆื ืืืื ืืืฉืื ืืืื ืื ืืื ืืืคืฉืจ ืืืืืืจืื ืคืขืืืื ืืืกืชืืื.
ืืืช ืืกืืืืช ืฉืืฆืืื ื ืื ืืข ืื ืื ืืืจ ืืื ืืืื ืืืืืื ืืืคืืจืืื ืฉืืฆืืื ื ืืฉืื ืืงืืืช ืืืชืงื ื ืืืคืืกืืช ืฉื ืคืจืืืชืืืก. ืื ืืืคืฉืจ ืื ื ืืจืืืช ืืืืืง ืื ืงืืจื ืืืื ืฉืืชืืื ื ืืช ืคืจืืืจื ืืชืฆืืจื ืืืคืฆื ื ืืืืฉ ืืช ืืชืขืืืจื.
ืืชืืฆืืืช ืืื ืืืืืืืช ืืืจืืจืืช. ืืชืืื ื ืขื ืืฉืืจืืชืื ืืื ืื ืืืืื ืื, ืืืจืืข ืืื ืคืืขืืช ืืื 12 ืืฉืืจืืชืื ืืืฉืืืื ืืืฉืืื. ืืฉื ื ืื ื ืืชืื ื ืื ืืขืืจ ืืจืฉืช ืฉืืจืืช ืืื ืขื ืืืืื ืฉืืจืืช ืืชืงืื ืืืชืจ, ืฉืืืจืช ืืขืื, ืืืืื ืืจืืืื, ืืืืืช ืงืฆื ืืืืชืืจ.
ืืืืจ 3-1. ืืชืื ืกืืช ืืขืื ืฉื ืฉืืจืืช ืืื ืืืืื ืืืขืืจ ื-Envoy
ืชืืฆืื ืกืืคืืช
ืืืืฆืขืืช ื ืืกืืื ืื ืืืืงืจ ื ืืกืฃ, ืื ืื ื ืฆืืืช ืชืฉืชืืช ืืืง ืขื ืืืฉืืจืื ืืืงืื ืืชืื ืื, ืคืจืืกื ืืืคืขืื ืฉื ืืฉืืืืืช Kubernetes ืืืืืื. ืืื ืืื ืืกื ืืื ืืจ ืืฉ ืืขืช ืืช ืืืืข ืืื ืืกืืื ืืืจืื ืงืื ืืืื ืจืื ืืืคืจืืก ืืืฉืืืื ื-Kubernetes.
ืืืฉืจ ืขืื ืืฆืืจื ืืงืืืืืช ื ืืกืคืช ืขื ืืชืฉืชืืช ืืืฉื ื, โโื ืืืฆื ื ืืืืชืื ืืกืคืจ ืืงืืช ืืืคืขืืช ืืืคืขื EC2 ืืืฉืื. ืืขืช ืงืื ืืืื ืจืื ืืชืืืืื ืืจืืฅ ืืืชืืืืื ืืขืื ืชื ืืขื ืชืื ืฉื ืืืช ืืืงืื ืืงืืช. ืชืืืื ืืืืืื ืืจืืืื ืขื ืืืคืข EC2 ืืืื ืืกืคืง ืื ืจืืืื ืืืคืงื ืืฉืืคืจ. ืืชืืฆืื ืืื, ืื ื ืฆืืคืื ืืจืืื ืืฉืืขืืชืืช ืืขืืืืืช EC2019 ืืฉื ืช 2 ืืืฉืืืื ืืฉื ื ืฉืขืืจื.
ืืืืืจื ืืจืื ืืืขื ืฉื ืชืืื, ืืื ืืฉืืื ื ืืืชื ืืืจืฅ 2019. ื ืืื ืืขืืฉืื, ืคืืืคืืจืืช ืืื ืืจ ืคืืขืืช ืืืขืืืช ืขื ืืฉืืื Kubernetes ืืืืจืื ื-200 ืฉืืจืืชืื, 1000 ืฆืืชืื, 15 ืคืืืื ื-000 ืืืืืืช ืคืืขืืืช. ืชืฉืชืืช ืืื ืืืจ ืื ืืชืืื ืืืืขืื ืฉื ืฆืืืชื ืืชืคืขืื. ืื ืืืื ืืกืื ืฉืื ื ืืืืงืื ืืืจืืืช ืื ืืฉืืืืื ืืชืืืื ืืื ืืื ืืืคืจืืกื ืฉื ืืืืฉืืืื ืฉืืื ืืืืฆืขืืช ืงืื ืืืื.
ื .ื ืืืืชืจืื
ืงืจื ืื ืกืืจืช ืืืืจืื ืืืืื ืฉืื ื:
- ยซ
ืกืืคืืจื ืืฆืืื ืฉื Kubernetes ืืืคืงื. ืืืง 1: 4200 ืื ื-TessMaster ื-eBay ". - ยซ
ืกืืคืืจื ืืฆืืื ืฉื Kubernetes ืืืคืงื. ืืืง 2: Concur ื-SAP ". - ยซ
ืกืืคืืจื ืืฆืืื ืฉื Kubernetes ืืืคืงื. ืืืง 3: GitHub ". - ยซ
ืกืืคืืจื ืืฆืืื ืฉื Kubernetes ืืืคืงื. ืืืง 4: SoundCloud (ืืืช ืคืจืืืชืืืก) ". - ยซ
ืกืืคืืจื ืืฆืืื ืฉื Kubernetes ืืืคืงื. ืืืง 5: ืื ืง ืืืืืืื Monzo ". - ยซ
ืกืืคืืจื ืืฆืืื ืฉื Kubernetes ืืืคืงื. ืืืง 6: BlaBlaCar ". - ยซ
ืกืืคืืจื ืืฆืืื ืฉื Kubernetes ืืืคืงื. ืืืง 7: ืืืงืจืืง ". - ยซ
ืกืืคืืจื ืืฆืืื ืฉื Kubernetes ืืืคืงื. ืืืง 8: Huawei ". - ยซ
ืกืืคืืจื ืืฆืืื ืฉื Kubernetes ืืืคืงื. ืืืง 9: ืืฉืืืืืช CERN ื-210 K8s ". - ยซ
ืกืืคืืจื ืืฆืืื ืฉื Kubernetes ืืืคืงื. ืืืง 10: reddit ".
ืืงืืจ: www.habr.com