α
αααΆα ααΆαααααααα αααβααΆβααΆαβααααααβααβααΆαβααααΎβαααααααα·α
ααβααΆααΆαααβααΈβαααα»αβαα·αααααααβααααβαααα»αα αα»α
α’ααααααααα’αΆα ααΆααααααααααααααΆααα’ααααααα ααααααααααααααααααααα·α α’αααΈααΆααααααααααΆαααααΆαα α¬ααΆαααΆααααα αΆ DNS αααα’αΆα ααΎαααΆαααΆαααα’ααΆααα
ααααα·ααααααΆ DNS ααα
ααΆαα·αα’αΆα
ααΆ DNS ααΆαααα
ααΆααΆ DNS
ααααα·α α’αααΈααΆααα αα·αααααΎαααΆααα αααα»α Preply
ααΆααααα·αααααΆα’αααΈααααΎαααΆααα»αααααααααΈ α¬ααααΉαααα·ααΆααααα½αα ααα½ααα αααα»αααα·αααααα ααΆααααααααααΆαααααΆαααα½αααΆαααΆαααααααααααααΆααααααΉαααα·ααΆααα ααΆααα·αααααΆα’αααΈαααααααΆααααααα’αααααααΎααααΆαα ααΌαα ααα»α«αααα αααααααΆααααααΆαααααΎα‘αΎα αα·αααααααααααΆααααα
αα
αααα»ααα·α
αα
ααααα»ααααα
αΆααααααΆα αααΆαα½αααΈα αααΆ αααα»αα
αααααααα»ααα
αα
ααααα ααΎαα
αααααααααααααΆαααααααα ααααααα½αααααααΆαααααα»ααααα·α
αα
ααααα»αααααααααΊ ααΆααααααααααΆααα αααααΆαα
αααΎαααααΌαααΆαα’ααααααΆααααα αΆαααΆαα½αααααΆα αα·αααΆααα·ααΆααααΈααααα
αααααααααα’αααΈα§ααααααα·α ααα»α αααβααΈβααΎαβαα·αβααβααβαααααβααΆαβααααΆααβααβααα ααβααΎαβααααΆααΆαβαααααΎαβαααααααβΒ«ααααΆαβααα α»αΒ» (
αα»αααααααα αΌααα½ααααα»αα§ααααααα·α ααα»αα½ααα½αααααΆαα’αΆααααααααΆαα½αααα’αΆα αα·ααΆααααΆααααα’α·αααααα·αααααΆα ααΆαααΆαααααααααα α¬ααΆαααααΉαα α’αααααααααα! ααΆαβαααααβαααα»αααβαα·αβαααβααΆβααΆαβααΆααβαααβαα ααα»ααααβααΆβα±ααΆαβαα·ααααΆβαααααΆααβαααα»αα αα»αβααΆααβααΌαα
Keep CALMS & DevOps: S ααΊαααααΆααααΆαα ααααααα
αααα αΆααΆαα½α DNS αα αααα»α Kubernetes α ααΆααα
ααΆαααα·α αααα: 28.02.2020
α’ααααα·ααααα Amet U., Andrey S., Igor K., Alexey P.
ααααΆαααΆαα α αα
αααααα: ααΆααα·αααΆα DNS αα½αααααα (26 ααΆααΈ) αααααΆααααααΆαααααα½αα ααα½ααα αααα»αα ααααα Kubernetes
α₯αααα·ααα ααααΉαααα·ααΆαααα ααα½α 15000 ααΆαααΆααααααααααΆααααααΆαααα A, B αα·α C
ααΎαα ααα»: Kube-proxy αα·αα’αΆα αα»αααΆαα»α αΆααα ααααΈααΆααΆα conntrack ααΆαααααΉαααααΌααα ααΌα ααααααααΆαααααα½αα ααα½ααα ααααααΆααΆαααααΆαααα ααααααα·αααΆα
E0228 20:13:53.795782 1 proxier.go:610] Failed to delete kube-system/kube-dns:dns endpoint connections, error: error deleting conntrack entries for UDP peer {100.64.0.10, 100.110.33.231}, error: conntrack command returned: ...
αααα αααααΆαααΆααααα»αααΆααα αααα»αα ααααα Kubernetes CoreDNS-autoscaler ααΆαααΆαααααααα ααα½ααααα αααα»αααΆαααΆαααααααΆαααΈααΈαα ααΈα
ααΆαααααααααΆα: ααΆαααΆαααααααΆααααααα·ααΈαααααΆααααΆααααα½α ααααΎααααααΎαααααΆααααααΈ CoreDNS-autoscaler ααΆααααααααααααααααααααΎααααΈαααααΎα ααααα αααααααα±ααααΆαααΆααααααα‘αΎααα·αααααΆααΆα conntrack α
ααΆαααααΎαα ααΆααααα½ααα·αα·ααα Prometheus ααΆαααααΎαααα α»α 5xx αα½αα ααα½ααααααααΆααααααΆαααα A, B αα·α C α αΎαααΆαα αΆααααααΎαααΆαα α αα ααΆαααα·αααααααααααα»ααααααααΆαααααα·α αα
ααα α»α 5xx αα
αααα»α Kibana
αααααααΆα
αααααααΆαα
ααΆα
ααα½ααα»αααααΌα
ααααααα
αα·αααααΎαααΆααααααα·ααΈαααααααα αααααααααααααα·αααααΆαα CoreDNS
ααΆααΆαα
α’αΆαααα ααΌ.
DEVOPS-695
ααα‘αΎααααΆαααΈααα DNS ααααΆαααααααΆαα
ααα
α»α
α’αα·ααααΆ V.
DEVOPS-665
αααα
αααΆααααα½ααα·αα·ααα conntrack
ααΆααΆαα
α’αΆαααα ααΌ.
DEVOPS-674
ααααααααααΆαααα
α’αααΈαααααααΎαααΆαααα’α
- ααΆααααα½ααα·αα·αααααααΎαααΆαααΆαααα’α ααΆαααααΎαααααΊααΏα αα·ααααα α
- ααΎααα·αααΆαααΆααααααααααααααΆαα½ααα ααΎααααΆααααα
ααΎααΆαα’αααΈαα»αα
- αα·αααΆααααΉαααΌαα ααα»αα·αααααΆαα ααααααααΉα
ααα α»αααΆααααΆαα αα βαααα»αβααΆαβααΆααβααΆαα - αααααααΆαααΆααα’αααααααααααα αα·ααααααΌαα ααα»ααΎα (ααα α»α)
- ααΎαααΆαααΉαα αΎαααΆ αα·αααΌααα·αααΆαα ααΎαα’αΆα ααΆααααα αΆααΆαα½α DNS ααα»ααααααΎααα·αααΆααααααα’αΆαα·ααΆαααααα·α αα ααΆααααααα
αααααααααααΎαααΆαααααΆαα
- ααΆαααΆαααααααΆααααααΆααααααΌαααΆαααααα‘αΎαααα CoreDNS-autoscaler ααααααααααΆααααΈααΎααΆααΆα conntrack
- ααα α»αααααααααΆααααααααΆαααααα½αα ααα½αααα»αααααα
αααααΆαααααααααΆ (EET)
ΠΡΠ΅ΠΌΡ
αααααααΆαα
22:13
CoreDNS-autoscaler ααΆαααΆαααααααα
ααα½α pods ααΈααΈαα
ααΈα
22:18
αα·αααααααααααααααΆαααααα·α
αα
ααΆαα
αΆααααααΎαααα½αααΆαα α
ααΌααααααααΈαααααααααααα½ααα·αα·ααα
22:21
αα·αααααααααααα»ααααααααΆααα·α
αα
ααΆαα
αΆααααααΎααααααααααΌαα ααα»ααααα α»αα
22:39
αα·αααααβαααβααα½αβααααα»αβααΆαβα
αΆααβααααΎαβαααα‘ααβααααΆααααβα
α»αβαααααβαααα»αβαα½αβαα
βααααβαα»αα
22:40
ααα α»α 5xx αααααα
α‘αΎα ααααΆαααΆαααΆααααααααΆα
- αααααααΆααΎααααΈααα±ααααΎαα 4 ααΆααΈ
- αααααααΆαα»ααααααααΎαααααααΆαα 21 ααΆααΈ
- αααααααΆααΎααααΈαα½ααα»αα 1 ααΆααΈ
αααααα
- αααααα ααα» CoreDNSα
I0228 20:13:53.507780 1 event.go:221] Event(v1.ObjectReference{Kind:"Deployment", Namespace:"kube-system", Name:"coredns", UID:"2493eb55-3dc0-11ea-b3a2-02bb48f8c230", APIVersion:"apps/v1", ResourceVersion:"132690686", FieldPath:""}): type: 'Normal' reason: 'ScalingReplicaSet' Scaled down replica set coredns-6cbb6646c9 to 2
- αααααααΆαααα Kibana (ααΆαα), Grafana (ααΆαα)
ααααααααα Linux conntrack αα·ααααααΆαα·αααααααα’αααααααα kube-proxy Subtletiesα ααααΆααααα α»α ααΆααααααααΆααααααΆααααααααα’αΆααααα‘αΎααα·α ααΆαα’αααααααααααα DNS αα·α Racy conntrack
ααΎααααΈααΆαααααααααΆαααααΎααααΆαααααΈααΈααΌ ααΊαααααΈαα»α
ααααΎα’αααΈαααα α
ααΆ conntrack α ααα»ααα αααααΊααΆα§αααααααααΎααααΆαααααααΆααααααΈαααααααααΆ NAT αααααααΌαααΆααααααΆαα»ααααα»αααΆααΆααα·ααααα½αα αα
αααααααααα
ααααααααΆααααααΆαααααααααΈααααΌα
ααααΆαα
ααααΌα
ααααΆααΌα
ααΈαα»α α’αΆααααααΆα IP α
α»ααααααααΉααα·αααααΌαααΆαααααΆα‘αΎααα·ααα ααα»ααααααΉαααααΌαααΆαααα
ααααΈααΆααΆα conntrack α
ααααααααα»αααΆααααααΎαααΆα
αααααα
αααααΊααΆα§ααΆα ααααα½αααααΆααααααααααΆαααααΆααααααααΎαααΆαα½αααΉααααααααΆααααΆααααααααααα½αα ααα½αα ααΆαα·ααααα αααα»αα’αααααααα ααΎαα αααααααααααααΆααααα’αΆα ααΆαααααααααααααααα»αα αα»αααααααα αααα αΎαααΆααΌαα ααα»αααααΎααα·αααααΆα αααα»αααΆαααααΎαα»α α αΎααααααΆααΌαα ααα»αααααΎαααααΎα±ααααΆαααααΆαααα½αααααααΎαααΆααΆααΆαααα ααΆαβαααααβαααβααΆβααβααΆααΆαααβαα½αβα²ααβα αΆααβα’αΆααααααβααΆαβαααα
- GitLabα
Postmortem ααααΆαααΆα ααααααααααα·ααααααααααααΈ 31 ααααααΆ - Dropbox:
ααΆαααΆα αα ααααα’αααα·αααΈαααααααΆαααααΆαα - Spotify:
ααααΆααααααααααα αΆ / ααα’αααααα Spotify ααΆαα½α DNS - α’αααααααααααααΆα
αααΎαααααΈ
ααααΉαααΆααααα αα·αααααΆααααΏααααΆααααΆααα Kubernetes - ααααα
α§ααΆα ααα ααΆαααααΆααΆαααααΆαα½α SRE Book
ααααα: www.habr.com