ืืืืจ ืื ืืขืืืจ ืื ืืืืื ืืืฆื ืืืืื ืขืืืกืื ืขืืื ื-Kubernetes, ืื ืงืืจื ืืขืช ืฉืื ืื ืงื ื ืืืื ืฉื ืืืืืจืื ืืจืืื ืืืื ืืืืืข ืขืืื ืืฉืงืื ืืืืื ืืฆื ืืืงืื ืื ืืชื ืืฉืชืืฉ ื-HTTP/2, gRPC, RSockets, AMQP ืื ืคืจืืืืงืืืื ืืจืืืื ืืืจืื .
ืงืฆืช ืขื ืืืคื ืืคืฆื ืืืืฉ ืฉื ืืชืขืืืจื ื-Kubernetes
Kubernetes ืืกืคืงืช ืฉืชื ืืคืฉืืืช ื ืืืืช ืืคืจืืกืช ืืืฉืืืื: ืฉืืจืืชืื ืืคืจืืกืืช.
ืคืจืืกืืช ืืชืืจืืช ืืืฆื ืืืื ืขืืชืงืื ืฉื ืืืืฉืื ืฉืื ืืืืจืื ืืคืขืื ืืื ืืื ื ืชืื. ืื ืืืฉืื ื ืคืจืก ื-Pod ืืืืงืฆื ืื ืืชืืืช IP.
ืืฉืืจืืชืื ืืืืื ืืชืคืงืืื ืืืืืื ืขืืืกืื. ืื ื ืืขืื ืืืคืืฅ ืชื ืืขื ืขื ืคื ื ืืกืคืจ ืชืจืืืืื.
ืืื ื ืจืื ืืื ืื ื ืจืื.
- ืืชืจืฉืื ืฉืืืื ื ืืชื ืืจืืืช ืฉืืืฉื ืืืคืขืื ืฉื ืืืชื ืืืฉืื ืืืืื ืขืืืกืื:
- ืืืื ืืขืืืก ื ืงืจื ืฉืืจืืช ืืืืงืฆืช ืื ืืชืืืช IP. ืื ืืงืฉื ื ืื ืกืช ืืืขืืจืช ืืืื ืืืคืืืื:
- ืชืจืืืฉ ืืคืจืืกื ืงืืืข ืืช ืืกืคืจ ืืืืคืขืื ืฉื ืืืืฉืื. ืืืขื ืืขืืื ืื ืชืฆืืจื ืืืจืืื ืืฉืืจืืช ืชืืช:
- ืืื ืคืื ืืืงืฆืืช ืืชืืืช IP ืืฉืื:
ืืืื ืืืฉืื ืขื ืฉืืจืืชืื ืืขื ืืืกืฃ ืฉื ืืชืืืืช IP. ืืื ืคืขื ืฉืืชื ื ืืืฉ ืืฉืืจืืช, ืืืช ืืืชืืืืช ื-IP ื ืืืจื ืืืจืฉืืื ืืืฉืืฉืช ืืืชืืืช ืืืขื.
ืื ื ืจืื ืืื ืื.
- ืคื ืืืช ืชืืชื 10.96.45.152 ืืชืงืืืช ืืฉืืจืืช:
- ืืฉืืจืืช ืืืืจ ืืืืช ืืฉืืืฉ ืืชืืืืช ืืคืื ืืืขื ืฉืื:
- ืืชื ืืขื ืื ืืชืืช ืืชืจืืื ืกืคืฆืืคื:
ืื ืืืคืืืงืฆืื ืฉืื ืืืจืืืช ื-front-end ื-backend, ืื ืืืื ืื ืื ืฉืืจืืช ืืื ืคืจืืกื ืืื ืืื.
ืืืฉืจ ื-frontend ืฉืืื ืืงืฉื ื-backend, ืืื ืื ืฆืจืื ืืืขืช ืืืืืง ืืื ืคืืืื ื-backend ืืฉืจืช: ืืืื ืืืืืช ืืื, ืขืฉืจื ืื ืืื.
ืืื ืื, ื-frontend ืืื ื ืืืืข ืืืจ ืขื ืืืชืืืืช ืฉื ืืคืืืื ืืืฉืจืชืื ืืช ื-backend.
ืืืฉืจ ื-frontend ืืืืฉ ืืงืฉื ื-backend, ืืื ืืฉืชืืฉ ืืืชืืืช ื-IP ืฉื ืฉืืจืืช ื-backend, ืฉืืื ื ืืฉืชื ื.
ืืื ืื ื ืจืื.
- ืืชืืช ื-1 ืืืงืฉ ืืช ืจืืื ืืงืฆื ืืคื ืืื ืืคื ืืื. ืืืงืื ืืืืืจ ืืื ืกืคืฆืืคื ืขืืืจ ืืงืฆื ืืขืืจืคื, ืืื ืืืืฉ ืืงืฉื ืืฉืืจืืช:
- ืืฉืืจืืช ืืืืจ ืืืื ืืืคืืืื ืืืืืจืืื ืืืชืืืช ืืืขื:
- ืืชื ืืขื ืขืืืจืช ื-Pod 1 ื-Pod 5, ืฉื ืืืจ ืขื ืืื ืืฉืืจืืช:
- ืืชืืช ื-1 ืื ืืืืข ืืืืืง ืืื ืชืจืืืืื ืืื ืืชืืช ื-5 ืืกืชืชืจืื ืืืืืจื ืืฉืืจืืช:
ืืื ืืื ืืืืืง ืืฉืืจืืช ืืคืืฅ ืืงืฉืืช? ืื ื ืจืื ืืืืื ื ืขืฉื ืฉืืืืฉ ืืืืืื ืขืืื? ืืืื ื ืืื ืืช ืื.
ืืืืื ืืฉืืจืืชื Kubernetes
ืฉืืจืืชื Kubernetes ืืื ื ืงืืืืื. ืืื ืชืืืื ืขืืืจ ืืฉืืจืืช ืฉืืืงืฆืื ืื ืืชืืืช IP ืืืฆืืื.
ืืชื ืืืื ืืืืช ืืืช ืขื ืืื ืื ืืกื ืืื ืฆืืืช ืืืฉืืื ืืืคืขืืช ืืคืงืืื netstat -ntlp.
ืืคืืื ืื ืชืืื ืืืฆืื ืืช ืืชืืืช ื-IP ืฉืืืงืฆืชื ืืฉืืจืืช.
ืืชืืืช ื-IP ืฉื ืืฉืืจืืช ืืืืงืืช ืืฉืืืช ืืืงืจื, ืืืงืจ, ืื ืจืฉืืช ืืืกื ืื ืชืื ืื - ืืื'. ืืืชื ืืชืืืช ืืฉืืฉืช ืจืืื ืืืจ - kube-proxy.
Kube-proxy ืืงืื ืจืฉืืื ืฉื ืืชืืืืช IP ืขืืืจ ืื ืืฉืืจืืชืื ืืืืืฆืจ ืงืืืฆื ืฉื ืืืงื iptables ืืื ืฆืืืช ืืืฉืืื.
ืืืืืื ืืืื ืืืืจืื: "ืื ืื ื ืจืืืื ืืช ืืชืืืช ื-IP ืฉื ืืฉืืจืืช, ืขืืื ื ืืฉื ืืช ืืช ืืชืืืช ืืืขื ืฉื ืืืงืฉื ืืืฉืืื ืืืชื ืืืื ืืคืืืื."
ืืชืืืช ื-IP ืฉื ืืฉืืจืืช ืืฉืืฉืช ืจืง ืื ืงืืืช ืื ืืกื ืืืื ื ืืืืฉืช ืขื ืืื ืฉืื ืชืืืื ืฉืืืืื ืืืืชื ืืชืืืช IP ืืืฆืืื.
ืืืื ื ืกืชืื ืขื ืื.
- ืฉืงืื ืืฉืืื ืฉื ืฉืืืฉื ืฆืืชืื. ืืื ืฆืืืช ืืฉ ืชืจืืืืื:
- ืชืจืืืืื ืงืฉืืจืื ืฆืืืขืื ืื' ืื ืืืง ืืืฉืืจืืช. ืืืืืื ืฉืืฉืืจืืช ืืื ื ืงืืื ืืชืืืื, ืืื ืืืฆื ืืืคืืจ:
- ืืคืื ืืจืืฉืื ืืืงืฉ ืฉืืจืืช ืืขืืื ืืขืืืจ ืืืื ืืืคืืืื ืืืฉืืืืื:
- ืืื ืืฉืืจืืช ืื ืงืืื, ืืชืืืื ืื ืงืืื. ืืื ืื ืขืืื?
- ืืคื ื ืฉืืืงืฉื ืขืืืืช ืืช ืืฆืืืช, ืืื ืขืืืจืช ืขื ืืืื iptables:
- ืืืื iptables ืืืืขืื ืฉืืฉืืจืืช ืื ืงืืื ืืืืืืคืื ืืช ืืชืืืช ื-IP ืฉืื ืืืืช ืืืชืืืืช ื-IP ืฉื ืืคืืืื ืืืฉืืืืื ืืืืชื ืฉืืจืืช:
- ืืืงืฉื ืืงืืืช ืืชืืืช IP ืืืงืืช ืืืชืืืช ืืืขื ืืืขืืืืช ืืจืืื:
- ืืืชืื ืืืืคืืืืืืืช ืืจืฉืช, ืืืงืฉื ืืืืขื ืืกืืคื ืฉื ืืืจ ืืชืจืืื:
ืืื iptables ืืืื ืืืขืื ืืืืื?
ืื, iptables ืืฉืืฉืื ืืกืื ืื ืืื ื ืืขืื ืืืืืื.
ืขื ืืืช, ืืคืฉืจ ืืืชืื ืืขืจืืช ืืืืื ืฉืขืืืืื ืืื
ืืื ืืืืืง ืื ืฉืืืืฉื ื-Kubernetes.
ืื ืืฉ ืื ืฉืืืฉื ืคืืืื, kube-proxy ืืืชืื ืืช ืืืืืื ืืืืื:
- ืืืจ ืืช ืืืฉื ื ืืจืืฉืื ื ืขื ืืกืชืืจืืช ืฉื 33%, ืืืจืช ืขืืืจ ืืืื ืืื.
- ืืืจ ืืช ืืฉื ื ืขื ืืกืชืืจืืช ืฉื 50%, ืืืจืช ืขืืืจ ืืืื ืืื.
- ืืืจ ืืช ืืฉืืืฉื ืืชืืช.
ืืขืจืืช ืื ืืืืื ืืื ืฉืื ืชืจืืื ื ืืืจ ืืืกืชืืจืืช ืฉื 33%.
ืืืื ืขืจืืื ืฉืคืื 2 ืืืืืจ ืืื ืืืจื ืคืื 1.
ืฉืื ืื: iptables ืืฉืชืืฉ ืืืืืื ืกืืืืกืื ืขื ืืชืคืืืืช ืืงืจืืืช. ืืคืืื, ืืืืืจืืชื ืืืืืื ืืืืกืก ืขื ืืืืจื ืืงืจืืืช.
ืืขืช, ืืืืจ ืฉืืื ืชื ืืืฆื ืฉืืจืืชืื ืขืืืืื, ืืืื ื ืกืชืื ืขื ืชืจืืืฉื ืฉืืจืืช ืืขื ืืื ืื ืืืชืจ.
ืืืืืจืื ืืจืืืื ื- Kubernetes ืืื ื ืืืชืืืื ืืืจืืจืช ืืืื
ืื ืืงืฉืช HTTP ืื-frontend ื-backend ืืืืฉืช ืขื ืืื ืืืืืจ TCP ื ืคืจื, ืฉื ืคืชื ืื ืกืืจ.
ืื ื-frontend ืฉืืื 100 ืืงืฉืืช ืืฉื ืืื ื-backend, ืื 100 ืืืืืจื TCP ืฉืื ืื ื ืคืชืืื ืื ืกืืจืื.
ืืชื ืืืื ืืืคืืืช ืืช ืืื ืขืืืื ืืืงืฉืืช ืืืช ืืืขืื ื ืขื ืืื ืคืชืืืช ืืืืืจ TCP ืืื ืืฉืืืืฉ ืื ืขืืืจ ืื ืืงืฉืืช ื-HTTP ืืืืืช.
ืืคืจืืืืงืื HTTP ืืฉ ืชืืื ื ืื ืงืจืืช HTTP keep-alive, ืื ืฉืืืืฉ ืืืืจ ืืืืืืจ. ืืืงืจื ืื, ื ืขืฉื ืฉืืืืฉ ืืืืืืจ TCP ืืืื ืืื ืืฉืืื ืืืงืื ืืกืคืจ ืืงืฉืืช ืืชืืืืืช HTTP:
ืชืืื ื ืื ืืื ื ืืืคืขืืช ืืืจืืจืช ืืืื: ืื ืืฉืจืช ืืื ืืืงืื ืืืืืื ืืืืืช ืืืืืจืื ืืืชืื.
ืืืืืจื ืขืฆืื ืคืฉืืื ืื ืืืฉื ืขืืืจ ืจืื ืฉืคืืช ืืชืื ืืช ืืืกืืืืืช.
ืื ื ืืื ืงืืฉืืจืื ืืืืืืืืช ืืฉืคืืช ืฉืื ืืช:
Keep-alive ื-Node.js ืฉืืืจ ืืืืื ืืืืฃ ืืืื ืฉืืืจ ืืืืื ืืคืืืชืื Keep-alive ื-.NET
ืื ืงืืจื ืื ืื ื ืืฉืชืืฉืื ื-Kee-alive ืืฉืืจืืช Kubernetes?
ืืื ื ื ืื ืฉืื ืืงืฆื ืืงืืื ืืื ืืงืฆื ืืืืืจื ืชืืืืื ื- Keep-alive.
ืืฉ ืื ื ืขืืชืง ืืื ืฉื ื-frontend ืืฉืืืฉื ืขืืชืงืื ืฉื ื-backend. ื-frontend ืืืฆืข ืืช ืืืงืฉื ืืจืืฉืื ื ืืคืืชื ืืืืืจ TCP ื-backend. ืืืงืฉื ืืืืขื ืืฉืืจืืช, ืืื ืืืคืืืื ืืืืืจืืื ื ืืืจ ืืืชืืืช ืืืขื. ื-backend ืฉืืื ืชืืืื, ืื-frontend ืืงืื ืืืชื.
ืื ืืืื ืืืฆื ืืจืืื ืฉืื ืืืืืจ ื-TCP ื ืกืืจ ืืืืจ ืงืืืช ืชืืืื, ืืขืช ืืื ื ืฉืืจ ืคืชืื ืืืงืฉืืช HTTP ื ืืกืคืืช.
ืื ืงืืจื ืื ื-frontend ืฉืืื ืืืชืจ ืืงืฉืืช ื-backend?
ืืื ืืืขืืืจ ืืงืฉืืช ืืื, ืืืขืฉื ืฉืืืืฉ ืืืืืืจ TCP ืคืชืื, ืื ืืืงืฉืืช ืืขืืจื ืืืืชื ืงืฆื ืืืืจื ืืืื ืืืืขื ืืืงืฉื ืืจืืฉืื ื.
ืืื iptables ืื ืืืืจืื ืืืืง ืืืืฉ ืืช ืืชืขืืืจื?
ืื ืืืงืจื ืืื.
ืืืฉืจ ื ืืฆืจ ืืืืืจ TCP, ืืื ืขืืืจ ืืจื ืืืื iptables, ืืฉืจ ืืืืจืื ืงืฆื ืืืืจื ืกืคืฆืืคื ืืืื ืชืขืืืจ ืืชืขืืืจื.
ืืืืืื ืฉืื ืืืงืฉืืช ืืืืืช ื ืืฆืืืช ืืืืืืจ TCP ืฉืืืจ ืคืชืื, ืืืงื iptables ืืื ื ื ืงืจืืื ืขืื.
ืืื ื ืจืื ืืื ืื ื ืจืื.
- ืืคืื ืืจืืฉืื ืฉืืื ืืงืฉื ืืฉืืจืืช:
- ืืชื ืืืจ ืืืืข ืื ืืงืจื ืืืจ ืื. ืืฉืืจืืช ืืื ื ืงืืื, ืื ืืฉื ื ืืืื iptables ืฉืืขืืื ืืช ืืืงืฉื:
- ืืื ืืืคืืืื ืืืืืจืืื ืืืืืจ ืืืชืืืช ืืืขื:
- ืืืงืฉื ืืืืขื ืืชืจืืื. ืืฉืื ืื, ืืืืืฆืจ ืืืืืจ TCP ืืชืืฉื ืืื ืฉื ื ืืคืืืื:
- ืื ืืงืฉื ืืืื ืืืคืื ืืจืืฉืื ืชืขืืืจ ืืจื ืืืืืืจ ืฉืืืจ ื ืืฆืจ:
ืืชืืฆืื ืืื ืืื ืชืืืื ืืืืจ ืืืชืจ ืืชืคืืงื ืืืืื ืืืชืจ, ืืื ืืชื ืืืื ืืช ืืืืืืช ืืืชืืื ืืช ืืงืฆื ืืืืืจื.
ืื ืื ืืฉ ืื ืฉื ื ืคืืืื ื-backend, ืขื ืืืืืจ ืงืืืข, ืืชื ืืขื ืชืืื ืชืขืืืจ ืืืื ืืื.
ืืื ื ืืชื ืืชืงื ืืืช?
ืืืืืื ืฉ-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
- ืืจ"ืค
- ืฉืงืขืื
- AMQP
ืืชื ืืืจ ืืืืจ ืืืืืจ ืืช ืจืื ืืคืจืืืืงืืืื ืืืื.
ืืื ืื ืืคืจืืืืงืืืื ืืืื ืื ืื ืคืืคืืืจืืื, ืืื ืืื ืคืชืจืื ืืืืื ืกืื ืืจืื? ืืืืข ืืืืืืงื ืฉื ืืืงืื ืฆืจืืื ืืืฉืชื ืืช? ืืื ืืฉ ืคืชืจืื ืืงืืจื ืฉื Kubernetes?
Kube-proxy ื-iptables ื ืืขืื ืืืกืืช ืืช ืจืื ืืงืจื ืืฉืืืืฉ ืื ืคืืฆืื ืืขืช ืคืจืืกื ื-Kubernetes. ืื ืืืขืื ื ืืืืช.
ืื ืืชื ืืฉืชืืฉ ืืฉืืจืืช ืืื ืืจื ื ืฉืืืฉืฃ REST API, ืืฉ ืื ืืื - ืืืงืจื ืื, ืื ื ืขืฉื ืฉืืืืฉ ืืืืืืจื TCP ืืชืืฉืืื, ืืชื ืืืื ืืืฉืชืืฉ ืืื ืฉืืจืืช Kubernetes.
ืืื ืืจืืข ืฉืชืชืืื ืืืฉืชืืฉ ืืืืืืจื TCP ืืชืืฉืืื, ืชืฆืืจื ืืืืื ืืืฆื ืืืืง ืืช ืืขืืืก ืืืืคื ืฉืืื ืขื ืคื ื ืืงืฆื ืืืืืจื. Kubernetes ืืื ื ืืืื ืคืชืจืื ืืช ืืืื ืื ืืืงืจื ืื.
ืขื ืืืช, ืืืืื ืืฉ ืืคืฉืจืืืืช ืฉืืืืืืช ืืขืืืจ.
ืืืืื ืงืฉืจืื ืืจืืืื ื-Kubernetes
ืืฉื ื ืืจืืขื ืกืืืื ืฉื ืฉืืจืืชืื ื-Kubernetes:
- ืืฉืืื IP
- NodePort
- LoadBalancer
- ืืกืจ ืจืืฉ
ืฉืืืฉืช ืืฉืืจืืชืื ืืจืืฉืื ืื ืคืืขืืื ืขื ืืกืืก ืืชืืืช IP ืืืจืืืืืืช, ืืืฉืืฉืช ืืช kube-proxy ืืื ืืืช ืืืงื iptables. ืืื ืืืกืืก ืืืกืืกื ืฉื ืื ืืฉืืจืืชืื ืืื ืฉืืจืืช ืืื ืจืืฉ.
ืืฉืืจืืช ืืกืจ ืืจืืฉ ืืื ืฉืื ืืชืืืช IP ืืืฉืืืืช ืืืื ืืืื ืืกืคืง ืจืง ืื ืื ืื ืืืืืืจ ืจืฉืืื ืฉื ืืชืืืืช IP ืืืฆืืืืช ืฉื ืืคืืืื (ื ืงืืืืช ืืงืฆื) ืืืฉืืืืืช ืืืื.
ืื ืืฉืืจืืชืื ืืืืกืกืื ืขื ืืฉืืจืืช ืืื ืจืืฉ.
ืฉืืจืืช ClusterIP ืืื ืฉืืจืืช ืืกืจ ืจืืฉ ืขื ืืื ืชืืกืคืืช:
- ืฉืืืช ืื ืืืื ืืงืฆื ืื ืืชืืืช IP.
- Kube-proxy ืืืืฆืจ ืืช ืืืื iptables ืืืจืืฉืื.
ืื ืชืืืื ืืืชืขืื ื-kube-proxy ืืืืฉืชืืฉ ืืฉืืจืืช ืืจืฉืืืช ื ืงืืืืช ืืงืฆื ืฉืืชืงืืื ืืืฉืืจืืช ืืกืจ ืืจืืฉ ืืื ืืืื ืขืืืกืื ืืืคืืืงืฆืื ืฉืืื.
ืืื ืืื ื ืืื ืืืืกืืฃ ืืืืืื ืืืื ืืื ืืืืฉืืืื ืืคืจืืกืื ืืืฉืืื?
ืื ืืืืฉืื ืฉืื ืืืจ ืคืจืืก, ืืฉืืื ืื ืขืฉืืื ืืืืจืืืช ืืืชื ืืคืฉืจืืช. ืขื ืืืช, ืืฉ ืืคืฉืจืืช ืืืืคืืช.
Service Mesh ืชืขืืืจ ืื
ืืื ืืืจ ืฉืืชื ืื ืฉืืกืืจืืืืืช ืืืืื ืืขืืืก ืืฆื ืืืงืื ืืื ืื ืกืื ืืจืืืช.
ืืืฉืจ ืืืืฉืื ืืชืืื, ืื:
- ืืงืื ืจืฉืืื ืฉื ืืชืืืืช IP ืืืฉืืจืืช.
- ืคืืชื ืืฉืืืจ ืขื ืืจืืืช ืืืืืจ.
- ืืขืืื ืืื ืคืขื ืืช ืืืืืจ ืขื ืืื ืืืกืคื ืื ืืกืจื ืฉื ื ืงืืืืช ืงืฆื.
ืืจืืข ืฉืืืคืืืงืฆืื ืจืืฆื ืืืืืฉ ืืงืฉื, ืืื:
- ืืืืจ ืืืืืจ ืืืื ืืืืฆืขืืช ืืืืืงื ืืืฉืื (ืืืฉื ืกืืืื ืกืืืืื).
- ืืืฆืข ืืช ืืืงืฉื.
ืฉืืืื ืืื ืขืืืืื ืขืืืจ ืืืืืจื WebSockets, gRPC ื-AMQP.
ืืชื ืืืื ืืืคืจืื ืืช ืืืืืืื ืืื ืืกืคืจืืื ื ืคืจืืช ืืืืฉืชืืฉ ืื ืืืืฉืืืื ืฉืื.
ืขื ืืืช, ืืชื ืืืื ืืืฉืชืืฉ ืืจืฉืชืืช ืฉืืจืืช ืืื Istio ืื Linkerd ืืืงืื ืืืช.
Service Mesh ืืืืื ืืช ืืืคืืืงืฆืื ืฉืื ืืชืืืื ืฉ:
- ืืืคืฉ ืืืืืืืืช ืืชืืืืช IP ืฉื ืฉืืจืืช.
- ืืืืง ืืืืืจืื ืืืื WebSockets ื-gRPC.
- ืืืื ืืงืฉืืช ืืืืฆืขืืช ืืคืจืืืืงืื ืื ืืื.
Service Mesh ืขืืืจ ืื ืื ืืช ืืชืขืืืจื ืืชืื ืืืฉืืื, ืืื ืื ืื ืขืชืืจ ืืฉืืืื. ืืคืฉืจืืืืช ืืืจืืช ืื ืฉืืืืฉ ืืกืคืจืืืช ืฉื ืฆื ืฉืืืฉื ืืื Netflix Ribbon ืื ืคืจืืงืกื ื ืืชื ืื ืืชืื ืืช ืืื Envoy.
ืื ืงืืจื ืื ืืชืขืืืื ืืืขืืืช ืืืืื?
ืืชื ืืืื ืืืืืจ ืฉืื ืืืฉืชืืฉ ืืืืืื ืขืืืกืื ืืขืืืื ืื ืืืืืื ืืฉืื ืืืื. ืืืื ื ืกืชืื ืขื ืืื ืชืจืืืฉื ืขืืืื.
ืื ืืฉ ืื ืืืชืจ ืืงืืืืช ืืฉืจืชืื, ืื ืื ืืขืื ืื ืื ืืืืื.
ื ื ืื ืฉืืฉ ืืืืฉื ืืงืืืืช ืฉืืชืืืจืื ืืฉื ื ืฉืจืชืื. ืื ืื ืืื ืืืืื, ืฉื ื ืืฉืจืชืื ืืฉืืฉื:
ืืืชืื ืฉืืืืืืจืื ืื ืืืืืงื ืืืืคื ืฉืืื: ืืืื ืืจืืขื ืืงืืืืช ืืืืืจืื ืืืืชื ืฉืจืช, ืืื ืืฉ ืกืืืื ืืื ืฉืฉื ื ืืฉืจืชืื ืืืื ืืฉืืืืฉ.
ืื ืฉืืืชืจ ืืขืืืชื ืืื ืืชืจืืืฉ ืืืคืื.
ืื ืืฉ ืื ืคืืืช ืืงืืืืช ืืืืชืจ ืฉืจืชืื, ืืืฉืืืื ืฉืื ืขืฉืืืื ืืืืืช ืื ืื ืืฆืืื ืืืืคืืข ืฆืืืืจ ืืงืืืง ืคืืื ืฆืืืื.
ื ื ืื ืฉืืฉ ืฉื ื ืืงืืืืช ืืืืืฉื ืฉืจืชืื. ืืืงืจื ืืืื, ืืืื ืฉื ื ืืืืืจืื ืงืืืขืื ืืฉื ื ืฉืจืชืื ืืชืื ืืืืฉื.
ืืฉืจืชืื ืื ืืชืจืื ืืืื ืคืขืืืื:
ืื ืฉื ื ืืฉืจืชืื ืืืื ืื ืืืืืื ืืืชืืืื ืขื ืืงืฉืืช ืืงืื, ืงื ื ืืืื ืืืคืงื ืื ืืขืืืจ.
ืืกืงื ื
ืฉืืจืืชื Kubernetes ืืชืืื ื ืื ืืขืืื ืืจืื ืชืจืืืฉื ืืืฉืืื ืืืื ืืจื ื ืืกืื ืืจืืืื.
ืขื ืืืช, ืืจืืข ืฉืืชื ืืชืืื ืืขืืื ืขื ืคืจืืืืงืืื ืืืฉืืืื ืืืฉืชืืฉืื ืืืืืืจื TCP ืืชืืฉืืื, ืืืื ืืกืื ื ืชืื ืื, gRPC ืื WebSockets, ืืฉืืจืืชืื ืืื ื ืืชืืืืื ืืืชืจ. Kubernetes ืืื ื ืืกืคืง ืื ืื ืื ืื ืคื ืืืืื ืืืืืื ืืืืืจื TCP ืืชืืฉืืื.
ืืืฉืืขืืช ืืื ืฉืขืืื ืืืชืื ืืืฉืืืื ืืชืื ืืืฉืื ืขื ืืืืื ืืฆื ืืืงืื.
ืชืจืืื ืฉืืืื ืขื ืืื ืืฆืืืช
ืื ืขืื ืืงืจืื ืื ืืฉื:
ืฉืืืฉ ืจืืืช ืฉื ืงื ื ืืืื ืืืืืืื ื-Kubernetes ืืืืฆื ืืืฉืชืืฉ ืืื ืืืขืืืืช .Kubernetes ืืจืื ืืคืืจืืืืืช ืขื ืชืื ืืช ืืืืฉืื .ืขืจืืฅ ืืืืืจื ืฉืื ื ืขื ืืจื ืกืคืืจืืฆืื ืืืืืืืืช .
ืืงืืจ: www.habr.com