α’ααααααααααΉααα½αα’αααα±αααααααΈααααααααααα»αααααααα»αααααΎαααΆααα
αααα»α Kubernetes ααΎααΆαα’αααΈααΎαα‘αΎααα
αααααααΎααΆαααααααΆαααΆααααααΆαααααααΆαα’αΆαα»ααΆαααΌα αα·αααΌαα ααα»αααα’ααααα½ααα·α
αΆαααΆα’αααΈαα»αααααΆααααααααΆαα’αα·αα·αα ααααα·αααΎα’αααααααΎ HTTP/2, gRPC, RSockets, AMQP α¬αα·ααΈααΆααααααΆαα’αΆαα»ααΆαααΌααααααααα .
ααααα·α α’αααΈαααααααα ααΆα αααααααΌαααΆαα ααα αΆαα‘αΎααα·ααα αααα»α Kubernetes
Kubernetes αααααααΌαααΆαααααααααααΆααααα½αα ααα½αααΈααααααΆααααΆαααΆαααααααΆααααααα·ααΈα ααααΆαααα αα·αααΆαααΆααα±ααααααΎααααΆααα
ααΆαααΆααα±ααααααΎααααΆαααα·αααααΆα’αααΈαααα αα·αα ααα½αα αααΆααα αααααααααααα·ααΈααααα’ααααα½αααααΎαααΆααα αααααΆααααΆαα αααααα·ααΈααΈαα½ααααααΌαααΆαααΆαααααααΆαααΆ Pod α αΎαααααΌαααΆααααααα’αΆααααααΆα IP α
ααααΆααααααΊααααααααααΆαα αααα»ααα»αααΆααα ααΉααα»αααααΆαααααα»αα αα½αααΆααααΌαααΆααα ααΆα‘αΎαααΎααααΈα ααα αΆαα ααΆα αααααααΆααααααααΆα αααΎαα
αααααΎαααΆααΎααΆααΎααα ααΌα α’αααΈ.
- αα αααα»αααααΆααααΆαααΆαααααα α’αααα’αΆα ααΎαααΎαα§ααΆα αααααΈαααααααα·ααΈααΌα ααααΆ αα·ααα»αααααΆαααααα»αα
- α§ααααααααα»ααα»αααααΆαααααΌαααΆαααα α ααΆααααΆαααα α αΎαααααΌαααΆααααααα’αΆααααααΆα IP α ααΆααβααααΎβα αΌαβααααΌαβααΆαβαααααΌαβααααβαα βααΆααβααβαα½αα
- ααααΆααΈαααΌααααΆαααΆαααααααΆααααααα ααα½αααααΈαααααααα·ααΈα α’αααααααΎααααα·αα αΆαααΆα ααααααΈααααααααΆαααα αααααα
- ααααΈαα½ααααααΌαααΆααααααα’αΆααααααΆα IP ααααΆαααααα½αααααααΆα
ααΆααΆααααααααααααα»αααΆααα·αααΈααααΆααααααΆααααα»αααα’αΆααααααΆα IP α ααΆααααααααα’αααα αΌαααααΎααααΆαααα α’αΆααααααΆα IP αα½αααααΌαααΆαααααΎαααΎαααΈαααααΈ α αΎαααααΎααΆα’αΆααααααΆαααααα α
ααΆααΎααα ααΌα ααα.
- ααΆαααααΎαα»α curl 10.96.45.152 ααααΌαααΆαααα½ααα ααααΆααααα
- ααααΆααααααααΎαααΎαα’αΆααααααΆα pod αα½ααααα»αα ααααααΈααΆαα·ααα α
- α ααΆα αααβααααΌαβααΆαβαααααΌαβααααβαα βααΆααβααααααβααΆααααΆααβαα½αα
ααααα·αααΎαααααα·ααΈααααα’αααααΆααααααααΆααα»α αα·ααααααααΆαααααα αααα’αααααΉαααΆαααΆααααααΆαααα αα·αααΆαααΆααα±ααααααΎααααΆαααααααΆααααΈαα½ααα
αα αααααααααααααΆααα»αααααΎααΆαααααΎαα»ααα αααααααΆαααααα ααΆαα·αα αΆαααΆα αααΉαα αααΆααααΆα ααα½αααααααααααααΆαααααααααααΎαααααα α’αΆα ααΆααα½α ααα α¬αα½αααα
ααΌα ααααΆαααααααα αααααααΆααα»ααα·αααΉαα’αααΈααΆααα’ααα’αααΈα’αΆααααααΆααααααααααααααααααΎαααααααΆααααααα
αα αααααα frontend ααααΎααΆαααααΎαα»ααα ααΆαα backend ααΆααααΎα’αΆααααααΆα IP ααααααΆαααα backend ααααα·αααααΆααααααΌαα
αααααΆα’αααΈαααααΆααΎααα .
- αα ααααα 1 ααααΎαα»ααααΆαααΆαααΆααααααααΆααααα»αα αααα½αα±ααααΆαααααΎαααΎαααΆααααΆαααα½ααααααΆαααααααααΆαααααα ααΆααααΎααΆαααααΎαα»ααα ααΆααααααΆααααα
- ααααΆαααααααααααΎαααΎααααααααΆαααααααα½αααΆα’αΆααααααΆαααααα α
- α ααΆα αααα αΆααααΈ Pod 1 ααα Pod 5 αααααααΎαααΎααααααααΆααααα
- αα ααααα 1 αα·αααΉαα αααΆααααΆα ααα½α pods ααΌα αα ααααα 5 ααααΌαααΆαααΆαααα ααΈαααααααααΆααααααααα:
ααα»ααααβααΎβααααΆβα ααα αΆαβααααΎβαααΆαβααΆβα²ααβααααΆαα? ααΆα αΆααααΈααΌα ααΆαα»αααααΆααα·ααα»αααααΌαααΆαααααΎ? α αΌαααΎααααααααΆαααΆα
αα»αααααΆααα αααα»αααααΆαααα Kubernetes
ααααΆαααα Kubernetes αα·αααΆαααα αα·αααΆαααααΎαααΆααααααΆααααααΆαααααααααααΌαααΆααααααα’αΆααααααΆα IP αα·αα αααααα
α’αααα’αΆα αααααααααΆααααΆαααα αΌααα αααα»α node ααΆαα½ααα αααα»α cluster α αΎαααααΎαααΆαααΆααααααααΆ netstat -ntlp α
α’αααααΉααα·αα’αΆα αααααααα’αΆααααααΆα IP αααααααΌαααΆαααααα»ααα»ααααααΆααααααΆαααααααααα
α’αΆααααααΆα IP ααααααααΆααααααΆαααΈααΆαααα
αααα»ααααααΆααααααα»αααααΆ αα
αααα»αα§ααααααααααΆ αα·αααααΌαααΆααααααααΆαα
αααα»αααΌαααααΆααα·αααααα - αα α’αΆααααααΆαααΌα
ααααΆαααααααΌαααΆαααααΎααααααΆαααΆααααααααα - kube-ααααΌααααΈα
Kube-proxy ααα½αααΆααααααΈα’αΆααααααΆα IP αααααΆααααααΆααααααΆααα’αα αα·ααααααΎααααα»αααα
αααΆαα iptables αα
ααΎααααΆααααΈαα½αααααα»αα
αααααα
α αααΆααααΆααααααα·ααΆαααΆα "ααααα·αααΎααΎαααΎαα’αΆααααααΆα IP ααααααααΆαααα ααΎαααααΌαααααααα’αΆααααααΆααα·ααα ααααααΎ α αΎαααααΎααΆαα ααααααΆαα½α"α
α’αΆααααααΆα IP ααααααααΆααααααΊααααΌαααΆαααααΎααααΆα ααα»α α αΌαααα»ααααα α αΎααα·αααααΌαααΆααααααΎαααααααΎαααΆαααΆαα½ααααααααΆααα’αΆααααααΆα IP αα·αα ααααααααα
αααααΎαααΏαααα.
- αα·α αΆαααΆα αααααααααααΆααααΈα ααααΆααααΈαα½ααααΆαααα
- αααααααΆαααααααΆααααααααααααααα αΈααΊααΆααααααα½αααααααΆααααα αααααΆαααααααΆαααααα·αααΆαααΆααααΎαααΆα ααΆααααΌαααΆααααα αΆαααΆαααααααααα
- ααααΈ 1 ααααΎαα»αααααΆαααααα½α α αΎαααααΌαα αΌααα ααΆαααααααααααΆααααααααα½αα
- ααα»ααααααααΆαααααα·αααΆαααααααΎαααΆααα·αααΆαααα ααΎβααΆβααααΎαααΆαβαααΆαβααΌα ααααα ?
- αα»ααααααααΎα αΆαα ααααΈααααΆαα ααΆααααααΆααα αααΆαα iptablesα
- α αααΆαα iptables ααΉαααΆααααΆααααααααα·αααΆααα α αΎααααα½αα’αΆααααααΆα IP ααααααΆααΆαα½αααΉαα’αΆααααααΆα IP αα½ααααα»αα ααααα’αΆααααααΆα IP ααααααααααααΆααααααΉαααααΆαααααααα
- ααααΎααα½αααΆαα’αΆααααααΆα IP αααααΆααα»ααααΆαααΆα’αΆααααααΆαααααα α αΎαααααΌαααΆαααααΎαααΆαααΆααααααΆα
- α’αΆαααααααΎαααααΆα topology ααααΎαα ααΈαααα»αααΆαααα podα
ααΎ iptables α’αΆα αααα»ααααα»αααααΆααα?
αα iptables ααααΌαααΆαααααΎαααααΆααααΆααααα α αΎααα·αααααΌαααΆααα ααΆα‘αΎααααααΆαααα»αααααΆαααα
ααααααΆαααΆαααααααΆα’αΆα
αα
αα½α
αααα»αααΆαααααααααα»αααα
αααΆαααααααααΎααΆαααΌα
α αΎαααααα·αααΆα’αααΈαααααααΌαααΆαα’αα»αααααα αααα»α Kubernetes α
ααααα·αααΎα’αααααΆαααα ααα½α 3 ααα kube-proxy ααΉααααααα αααΆααααΌα ααΆααααααα
- ααααΎαααΎαα’αα»ααααΌααααααΆαααααΌααΆαααΈααΈαα 33% ααΎαα·αααΌα αααααα ααΌαα αΌααα ααΆααα αααΆαααααααΆααα
- ααααΎαααΎαααΈααΈααααααΆαααααΌααΆαααΈααΈαα 50% ααΎαα·αααΌα αααααααα α αααΆαααααααΆααα
- ααααΎαααΎαααΈααΈαα αααααα
αααααααααααααΆαα±αα pod ααΈαα½ααααααΌαααΆαααααΎαααΎαααΆαα½αααΉαααααΌααΆαααΈααΈαα 33% α
α αΎααα·αααΆαααΆαααΆααΆααΆ Pod 2 ααΉαααααΌαααΆαααααΎαααΎααααααΆαααααααΆααααΈ Pod 1 αααααα
ααΆαααααααααΆααα iptables ααααΎαααΌαα»ααααα·αα·ααΆαα½αααΉαααΆαα ααα αΆαα αααααα ααΌα αααα αααα½ααααααααΆααα»αααααΆαααΊααα’ααααΎααΆαααααΎαααΎαα αααααα
α₯α‘αΌααααα’ααααααααΈαααααααααααΆααααααααΎαααΆα ααΌααααα‘ααααΎαααααΆααΈαααΌααααΆααααααααα½αα±ααα αΆααα’αΆαααααααααααααααα
ααΆααααααΆαααααααΆαα’αΆαα»ααΆαααΌααα αααα»α Kubernetes αα·αααΆαααα αααΆαααααΆαααΎαααα
ααααΎ HTTP ααΈαα½ααααΈαααααααΆααα»ααα αααααααΆααααααααααΌαααΆααααααΎαααααΆααααααΆαα TCP ααΆα ααααα‘αααααααααΌαααΆαααΎα αα·ααα·αα
ααααα·αααΎ frontend ααααΎααααΎ 100 αααα»ααα½ααα·ααΆααΈαα backend ααα ααΆααααααΆαα TCP αααααααααΆ 100 ααααΌαααΆαααΎα αα·ααα·αα
α’αααα’αΆα ααΆααααααααααααααΆααααΎαααΆαααααΎ αα·αααΆααααα»ααααααΎαααΆααααααΆαα TCP αα½α α αΎαααααΎααΆαααααΆααααααΎ HTTP ααΆαααααααααΆααααΆααα’ααα
αα·ααΈααΆα HTTP ααΆααααααααα·ααααα½αα α ααΆ HTTP Keep-alive α¬ααΆαααααΎααααΆααααΆααααααΆααα‘αΎααα·αα αααα»αααααΈααα ααΆααααααΆαα TCP αααα½αααααΌαααΆαααααΎααΎααααΈααααΎ αα·αααα½αααααΎ HTTP αα·αααΆαααααΎαααααΆα αααΎαα
αα»αααΆαααααα·αααααΌαααΆαααΎαααΆαααααΆαααΎαααα ααΆαααααΆαααΈααα αα·ααααΆαααΈααααααααααΌαααααααααα ααΆααααααααααααααΆαα
ααΆαααα‘αΎαααααααα½αααΆααΊααΆαααα αα·αα’αΆα α αΌαααααΎααΆααααααΆααααΆααΆαααααα·ααΈ αα·αααα·ααααΆαααΆαα αααΎαα
αααααΊααΆαααααααΆαααα½αα ααα½ααα ααΆααα§ααΆα αααααΆααΆααΆααααααααααΆα
αααααΆααΈαα·ααα αααα»α Node.js αααααΆααΈαα·ααα αααα»ααααααααΎααα·ααΆααααΌα αααααΆααΈαα·ααα αααα»α Python αααααΆααΈαα·ααα αααα»α .NET
ααΎααΆαα’αααΈααΎαα‘αΎαααααα·αααΎααΎαααααΎ Keep-alive αα
αααα»αααααΆαααα Kubernetes?
α§αααΆααΆααΆαααααααααΆααα»α αα·ααααααααΆααααααααΆααααααααα
ααΎαααΆαα αααΆααα αααααααααααΆααα»ααα½α αα·ααααααααΆααααααα ααα½αααΈα αααααααΆααα»ααααααΎαααααΎααααΌα α αΎαααΎαααΆααααααΆαα TCP αα αααααααΆααααααα ααααΎααΆααααααααΆαααα αααααααααααΆαααααααα½αααααΌαααΆαααααΎαααΎαααΆα’αΆααααααΆαααααα α αααααααΆααααααααααΎααΆαααααΎααα α αΎααααααααΆααα»αααα½αααΆαααΆα
αα·αααΌα ααααΆαααΆαααααααΆαααααΆαααααΆαα TCP ααααΌαααΆααα·ααααααΆααααΈααα½αααΆαααΆαααααΎααα α₯α‘αΌααααααΆααααΌαααΆααααααΆαα»ααααααΆααααααΎ HTTP αααααααααα
ααΎααΆαα’αααΈααΎαα‘αΎαααααα·αααΎ Frontend ααααΎααααΎαααααααα αααααααΆαααααα?
ααΎααααΈαααααΌαααααααααΎααΆααααα ααΆααααααΆαα TCP ααΎαα αα ααΉαααααΌαααΆαααααΎ ααααΎααΆααα’ααααΉααα ααΆαααααααααΆααααααααΌα ααααΆαααααααΎααααΌαααΆααα α
iptables αα·ααα½αα ααα αΆαα ααΆα αααα‘αΎααα·ααα?
αα·αααααααα»αααααΈαααααα
αα ααααααααΆααααααΆαα TCP ααααΌαααΆααααααΎα ααΆααααααΆααα αααΆαα iptables αααααααΎαααΎααααααααΆααααααααΆααααΆαααα½ααααα ααΆα αααααΉααα α
αααααΆαααααΎααΆαααααααααΆααααΆααα’ααααΊαα ααΎααΆααααααΆαα TCP αααααΆαααΎααα½α α αΎα α αααΆαα iptables αα·αααααΌαααΆαα α αααααα
αααααΎαααΆααΎααΆααΎααα ααΌα α’αααΈ.
- ααααΈαα½αααααΎααααΎαα ααααΆααααα
- α’αααααΉααα½α α αΎαααΆααΉαααΆαα’αααΈααΎαα‘αΎααααααΆααα ααααΆααααααααα·αααΆααα ααα»ααααααΆαα αααΆαα iptables αααααΉαααααΎαααΆαααααΎα
- αααααααΆαααααααα½αααΉαααααΌαααΆαααααΎαααΎαααΆα’αΆααααααΆαααααα α
- ααααΎβαααβααΆαβααΆαβαααβαα½αα αα α ααα»α ααα ααΆααααααΆαα TCP ααΆααααΆαααααΆαααααΆααααΈαααΉαααααΌαααΆααααααΎαα‘αΎαα
- ααΆααααααΎααΆαααααααααΆααααΈααααΈαα½αααΉαααααααΆααααΆααααααΆαααααααΆααααααΎαα‘αΎααα½α α αΎαα
ααααααααΊαααααααΆααααΎαααααΆααααααΏα αα·ααα·αααααααααα ααα»ααααα’αααααΆααααααααααααΆααααα»αααΆαααααΎααΆαααααααΆααααααααΆααααααα
αααααΈααΆα’αααααΆαααααΈααα αααα»ααααααααΆααααααααααα ααΆαα½αααΉαααΆααααααΆααααα α ααΆα αααααΉαααααααα ααΆαααα½ααααα»αα αααααα½αααΆα
ααΎαααα’αΆα αα½ααα»αααΆααα?
αααααΆα Kubernetes αα·αααΉαααΈααααααααΎα±ααααΆααα»αααααΆαααααΆααααααΆααααΆααααΆαα αα·α αα ααΆααααααααΆααααααΎα’αααα
ααααΆααααααΊααΆααααα»αααα’αΆααααααΆα IP αα·αα ααααααα α ααΆ α ααα»α αααα ααα
αααααα·ααΈααααα’αααα’αΆα ααα½αααΆααααααΈααα ααα»α αααα ααααΈααααΆαααα αα·ααααααα α α·αααααΈααααα ααα αΆαααααΎαααΆααα½αααα α’αααα’αΆα ααΎαααΆααααααΆααααΆααααΆαααα ααΉαααααΈαα½αα αα·αααααΎαααα»ααααααΆαααΆαααααΆααααΆααααααααααααΎ round-robin α
α¬α’αα»ααααααααααααα
ααΌαααΆααΈα’αα·αα·αααααααα½ααα»αααααΌαα αααααα»αααααΆααα½αααα’αα»ααααααΆααααααα·ααααΆαααα
- ααα½αααΆααααααΈααα ααα»α αααα ααααΈααααΆααααα
- ααΎαααΆααααααΆααααΆααααΆαααααααΆααα ααα»α αααα ααααΈαα½ααα
- αα αααααααΎααααΌαααααΎ ααΌαααααΎααΆααααααΆααααΎαα αα αα½αα
- ααααΎα±ααααΆααααααααΆαααααΆααααΌααααααΈααα ααα»α αααα αα αααααΎαααααΈ α¬αα·αααΆααααααΆααααΆααααΆααα αΆαα ααααα·αααΎαααααΈααααΆααααααΌαα
αααααΆα’αααΈαααααΆααΉαααΎααα .
- αααα½αα±ααααααΈαα½αααααΎααααΎαα ααααΆαααα α’αααα’αΆα ααααΎαααα»αααααααΎαα ααΆαα’αα·αα·ααα
- α’αααβααααΌαβαααααβααΌαβαααβαα½αβααΆβααβααΆβααΆβαααααβααβααααΆααααα
- αα ααααααα’αααααΆααααααΈ ααΌααααααΆαα»αααΆαα ααΎαααααα’αα·αα·αα α αΎαααααΎααΆααΎααααΈααααΆαααα ααααα
- α’αααααα½ααα»αααααΌαα αααααααα½ααααααααΆααα»αααααΆαααααα»αα
α₯α‘αΌαααααααα½αααΎαα‘αΎα: ααΎαααα αΆαααα’αα»ααααα αααα HTTP Keep-alive αα?
αα»αααααΆαααααα»αααΆαα’αα·αα·αα
HTTP αα·ααααααΆαα·ααΈααΆααααα½αααααααα’αΆα ααααΎααΆαααααΆαα TCP ααΆααααΆαααααααα
ααααα·αααΎαααααα·ααΈααααα’αααααααΎααΌαααααΆααα·αααααα αααααΆααααααΆαα TCP αα·αααααΌαααΆαααΎαααΆααααααααα’αααααααΌαααΆαααααΎααΆαααααΎαα»α α¬ααΆαααα―αααΆαααΈααΌαααααΆααα·αααααααααααα
αααα½ααααα·α ααΆααααααΆαα TCP ααΆααααΆαααα ααΌαααααΆααα·ααααααααααΌαααΆαααΎα αα·αααααΎααααΆααα
ααααα·αααΎααΌαααααΆααα·ααααααααααα’αααααααΌαααΆαααΆαααααααΆααα ααΎ Kubernetes α αΎαααΆαα αΌαααααΎααααΌαααΆααααααααΆααααΆαααα αααα’αααααΉααα½αααααααααα αΆααΌα ααααΆαααααΆααα·αααααΆαα αααα»αααααααα»αα
ααΆαα ααααααΌαααααΆααα·αααααααα½αααΉαααααΌαααΆααααα»αα αααΎαααΆααααααα·ααΈααααααααα Kube-proxy αα·α Kubernetes ααΉααα·ααα½αααααΎα±ααααΆααααααΆααααΆααα»αααααΆαααα α’αααααααΌαααααα α·ααααα»αααΆααααΎααααΈααααΎα±ααααΆααα»αααααΆααααα½ααα ααΌαααααΆααα·ααααααααααα’αααα
α’αΆαααααααΎαααααΆαααααΆαααα’αααααααΎααΎααααΈααααΆαααα ααΌαααααΆααα·αααααα α’αααα’αΆα ααΆααααααΎααααααααααΆαααααΆααααΆααααααααΆααααα αΆαααα
ααΆαααααααααααΆα§ααΆα αααααααΆαα αΌαααααΎα αααααααΌαααααΆααα·αααααα MySQL ααΈ Node.jsα
var mysql = require('mysql');
var poolCluster = mysql.createPoolCluster();
var endpoints = /* retrieve endpoints from the Service */
for (var [index, endpoint] of endpoints) {
poolCluster.add(`mysql-replica-${index}`, endpoint);
}
// Make queries to the clustered MySQL database
ααΆααα·ααΈααΆαααΆα αααΎαααααααααααΎααΆαααααΆαα TCP ααΆααααΆααα
- WebSockets αα·α WebSockets αα»ααααα·ααΆα
- HTTP / 2
- gRPC
- RSockets
- α’αα’αΉαααααΈ
α’αααβαα½αβααβαααΆαβααΆαα½αβαα·ααΈααΆαβααΆαααααβααΆαα αααΎαβαα½α α αΎαα
ααα»ααααααααα·αααΎαα·ααΈααΆαααΆαααααααΆααααααΆαααα·αααΆαααααΆαα α ααα»α’αααΈααΆαααΆαα·αααΆααααααααααΆααα»αααααΆααααααααΆα? α ααα»α’αααΈααΆαααΆαααααα·ααααΆα’αα·αα·ααααααΌαααΆαααααΆααααααΌα? ααΎααΆααααααααααΆα Kubernetes ααΎααα?
Kube-proxy αα·α iptables ααααΌαβααΆαβαα ααΆβα‘αΎαβααΎααααΈβααααβααααααβααΎβααααΈβααααΎααααΆααβααΌαα βαααα»αβαα βαααβααΆααβαααααΆαβαα Kubernetesα αααααΊαααααΆααααΆαααΆααααα½αα
ααααα·αααΎα’ααααααα»αααααΎααααΆααααααΆααααααα αααααααααααα αΆα REST API α’αααααΆαααααΆα - αααα»αααααΈααα ααΆααααααΆαα TCP ααΆααααΆαααα·αααααΌαααΆαααααΎαα α’αααα’αΆα ααααΎααααΆαααα Kubernetes ααΆαα½αα
ααα»αααααα ααααααα’αααα αΆααααααΎαααααΎααΆααααααΆαα TCP ααΆααααΆαα α’αααααΉαααααΌααααα·ααΈααΎααααΈα ααα αΆαααααα»αα±ααααααΎαααααΆαα ααΌααΆαααααααααΆααααααα Kubernetes αα·αααΆααααααααααΆααααααααααα½α ααΆααααα αααααΆααααααΈαααααα
ααααααΆαααΆααααα ααΆαα·αααΆααΆααααααΎααααα’αΆα αα½αααΆαα
ααααΎα±ααααΆααα»αααααΆαααααΆααααααΆαααααααΆαα’αΆαα»ααΆαααΌααα αααα»α Kubernetes
ααΆαααααΆαααααα½ααααααααα αααα»α Kubernetesα
- ClusterIP
- NodePort
- LoadBalancer
- ααααΆαααααΆα
ααααΆααααααΈααααΌαααααΎαααΆααααααα’ααααΎα’αΆααααααΆα IP αα·αααα·α αααααααΌαααΆαααααΎααα kube-proxy ααΎααααΈαααααΎαα αααΆαα iptables α ααα»ααααβααΌαααααΆαβααααΉαβααβααααΆβααΆααα’ααβααΊβααααΆβααααΆαβααααΆαα
ααααΆααααΆαααααΆααα·αααΆαα’αΆααααααΆα IP ααΆαα½ααααααααΆααααΆαα½αααΆαα α αΎαααααΆαααααααααααααααΆααααααΆααααΆαααΆααααααααΈα’αΆααααααΆα IP αα·αα ααααααα (α ααα»α αααα αα) αααααααΆααααΆαα½αααΆα
ααααΆααααααΆααα’ααααΊααα’ααααΎααααΆααααΆαααααΆαα
ααααΆ ClusterIP ααΊααΆααααΆααααααααΆαααααΆαααΆαα½αααΉαααΆααααααααα½αα ααα½αα
- αααααΆααααααααααααααααααΆααΌαα’αΆααααααΆα IP α
- Kube-proxy αααααΎαα αααΆαα iptables α αΆαααΆα αα
αα·ααΈαααα’αααα’αΆα αα·αα’αΎααΎ kube-ααααΌααααΈ α αΎαααααΎαααααααΆααααΌααααααΈααα ααα»α αααα αααααααα½αααΆαααΈααααΆααααααααΆαααααΆα ααΎααααΈαααα»ααααα»ααααααααα·ααΈααααα’αααα
ααα»ααααααΎααΎαα’αΆα αααααααααααα·ααααΆααααααααααΆαα ααΉααααααα·ααΈααΆααα’αααααααΆαααΆαααααααΆααααα»αα ααααααααααααααΆ?
ααααα·αααΎαααααα·ααΈααααα’αααααααΌαααΆαααΆααα±ααααααΎααααΆαααα½α α αΎα αα·α αα ααΆααααα αΆααααΌα ααΆαα·αα’αΆα αα αα½α αααααα ααααααΆαααΆαααααααΆααααααΎααααα½αα
Service Mesh ααΉααα½αα’αααα
α’ααααααα ααααΆααΆαααααααααΆαααα½α α αΎαααΆ αα»αααααΆααααααα»αααααΆαααααα»αααΆααΈα’αα·αα·ααααΊααΆααααααααααααααΆαα
αα αααααααααααα·ααΈα αΆααααααΎα ααΆα
- ααα½αααΆααααααΈα’αΆααααααΆα IP ααΈααααΆααααα
- ααΎα αα·αααααΆαα’αΆααααααΆααα
- ααααΎαα αα α»ααααααααΆαααααα»αααΆαααα αΆαααααααααα α¬ααα ααα»α αααα ααα ααα
αα αααααααααααα·ααΈα ααααααΎααΆαααααΎαα»α ααΆα
- ααααΎαααΎαααΆααααααΆαααααααΆααααααααΎαααααα·ααααΆαα½αα ααα½α (α§. αα»α-αααΌαααΈα)α
- α’αα»ααααααΆαααααΎαα»αα
ααα αΆαααΆαααααααααΎαααΆααααααΆααααΆααααΆαααααΆαα WebSockets, gRPC αα·α AMQP α
α’αααα’αΆα ααααααααααα·ααααΆααααα ααΆαααααΆαααααΆα ααααα‘αα α αΎαααααΎααΆαα αααα»ααααααα·ααΈααααα’αααα
ααααααΆαααΆααααα α’αααα’αΆα ααααΎααααΆ Meshes ααΌα ααΆ Istio α¬ Linkerd αααα½ααα·αα
Service Mesh αααααΎααααααα·ααΈααααα’αααααΆαα½αααΉαααααΎαααΆααααα
- αααααααα’αΆααααααΆα IP ααααΆαααααααααααααααααααα·α
- ααΆαααααααΆααααααΆααααΌα ααΆ WebSockets αα·α gRPC α
- ααααΎαααα»ααααααααααΎαα·ααΈααΆαααααΉαααααΌαα
Service Mesh αα½ααααααααααα ααΆα ααααα αααα»αα ααααα ααα»ααααααΆαα·αααΆααΉαααα’ααααΎααααΆαα αααααΎααααααααααααα»αααααΎαααααΆαααααΆααΈααΈααΈααΌα ααΆ Netflix Ribbon α¬ααααΌααααΈαααα’αΆα ααααααααααα·ααΈααΆαααΌα ααΆ Envoy α
ααΎααΆαα’αααΈααΎαα‘αΎα ααααα·αααΎα’ααααα·αα’αΎααΎααΉααααα αΆαα»αααααΆα?
α’αααα’αΆα ααααΎαααΎααα·αααααΎαα»αααααΆαααααα»α α αΎααα αααα·αααααααααΆααααΆαααααΆααααααΌαααΆαα½αα‘αΎαα ααΌααααα‘ααααΎαααααΆααΈαααΌααΆαααΆααα½αα ααα½αα
ααααα·αααΎα’αααααΆαα’αα·αα·ααα αααΎαααΆααααΆαααΈααα ααααα·ααααααΆαααα αΆαααααααα
α αΌααα·ααΆαααΆααΆααααΆαααΈααααααααααΆαααΆαααααααααΆαααα αααΆαααΈαααααΈαα αααααΈααΆαα·αααΆααα»αααααΆαααααα αααΆαααΈαααααΆααααΈαααΉαααααΌαααΆαααααΎα
ααΆααααααΆαααααα ααααΆαα·αααααΌαααΆαα ααα αΆαααααΎαααααΆααα αααα ααααΆαααΆαααΈαααααααα½αααΆααααΆαααααΆαααα αααΆαααΈαααααΌα ααααΆ ααα»ααααααΆαα±ααΆαααα’ααααααΆαααΈαααααΆααααΈαααΉαααααΌαααΆαααααΎααααΆααα
α’αααΈβαααβααΆβαααα αΆβα αααΎαβααΆαβαααβααΊβααααΆααΈαααΌβαααα»αα
ααααα·αααΎα’αααααΆααααΆαααΈαααααααα·α ααΆααα»α αα·ααααΆαααΈαααα αααΎα ααααΆαααααα’αααα’αΆα ααΉαααααΌαααΆαααααΎααααΆαααα·α α αΎαα§ααααααααα’αΆα ααΎαααΆαααΉαααα α‘αΎαα
α§αααΆααΆααΆααααΆαααΈααααααααΈα αα·ααααΆαααΈαααααααΆαα αααα»αααααΈααααα’αααα»α ααΉαααΆαααΆααααααΆααα’α α·ααααααααααΈααα ααΆαααααΆαααΈαααααΈααααα»αα ααααααααΆαα
αααΆαααΈαααααααα αααααΉααα αααααα
ααααα·αααΎαααΆαααΈαααααΆααααΈαααααα·αα’αΆα αααααααΆαααααΎααααα’αα·αα·ααααΆααα ααΆαααααΎααΆαααααααΆααααααααΉααα·αα’αΆα αα½αααΆαααα
ααα ααααΈααααα·ααααΆα
ααααΆαααα Kubernetes ααααΌαααΆααα ααΆα‘αΎαααΎααααΈααααΎαααΆααα αααα»αααααΆααΈαααΌαααααα·ααΈαααααΆααααααααΆαααΆαα αααΎαα
ααααααΆαααΆααααα αα ααααααα’αααα αΆααααααΎαααααΎααΆαααΆαα½ααα·ααΈααΆααααααα·ααΈαααααααΎααΆαααααΆαα TCP ααΆααααΆαα ααΌα ααΆααΌαααααΆααα·αααααα gRPC α¬ WebSockets ααααΆαααααα·ααααααααααααα Kubernetes αα·ααααααααααααΆαααΆααααα»ααααααΆαααα»αααααΆαααΆααααααΆαα TCP ααΆααααΆααααα
αααααΆααααααΆα’αααααααΌαααααααααααααα·ααΈαααααΆααα»αααααΆααααααααΆαα’αα·αα·αααα αααα»αα α·αααα
ααΆααααααααααα
αααααααα»α
ααΎααΆαα’αααΈααααααααααΌαα’αΆαααΎαααααΆααα:
ααααα·αααααΆαααααΎααΆαααααααΆααααααααααααααααα·α ααα½αααΈαα αααα»α Kubernetes αα·αααααααααΎααααΆαααα½αααΆααααααααααααα·αααααΆα .Kubernetes αααα»αααααΆαααΈααααΆααα½α α ααααααΆαα½αααααΌαααααΆααααΆαα’αα»αααα .ααα»αααα·α Telegram ααααααΎαα’αααΈααΆαααααΆααααααΌαααΈααΈαα .
ααααα: www.habr.com