แฒจแแแแจแแแ. แแแ แแแแ: แกแแ แแแกแแก แแแแแแแ แแแแแแแแแ แแแฎแแ แแฌแแแแ แแแแ แแฆแแแแแแแ แแแคแ แแกแขแ แฃแฅแขแฃแ แแจแ แแแแ แแกแแ แแแกแแก แแ แฅแแขแแฅแขแฃแ แแก แจแแแแแ แแแแแแแชแแแแแกแแแแก. แแแฃแฎแแแแแแ แแแแกแ, แ แแ Istio แจแแแซแแแแ แแงแแก แแ แแแแแ DevOps แแแแแแ แแก แ แแแแ แจแ, แแก แแ แแก แกแแแแแแ แแฎแแแ แแ แแแฃแฅแขแ, แ แแแแแแช, แแแฃแฎแแแแแแ แแแแกแ, แ แแ แแแแแแแฅแกแฃแ แแ แแแก แแแแ แแแฌแแแแแฃแแ แแแฎแแกแแแแแแแแแแก แแแแแกแแแ แแกแแ, แจแแแซแแแแ แแแแจแแแแแแแแแ แแ แ แแแกแญแแ แแแก แแแชแแแแแก. แแแ แแแแแแแ แแแแแแแ แแ แ แแแแ แแแแแแฃแ, แ แแแแแแช แแแกแฃแฎแแกแแแแแแแแ แกแแขแแแแแแแฃแแแแแชแแ แแแแแแแแ Orange Networks-แจแ แแกแฎแแแแ แแแแแแขแแแแกแแแแก แฆแ แฃแแแแแแแ แแแแแแแแแแแ, แแแฌแแ แ แแแกแแแแแแก แจแแกแแแแจแแแแ แกแแ แแ, แ แแแแแแช แกแแจแฃแแแแแแก แแแซแแแแ แกแฌแ แแคแแ แแ แฆแ แแแ แฉแแซแแ แแ แแกแขแแแจแ. แแก แแแแแก แแกแขแแ แแแก แแฌแงแแแก แแแแ, แแฃ แ แแกแ แแแแแแแแ แจแแฃแซแแแ แแกแขแแแก แแ แ แแแแ แจแแแแซแแแแ แกแฌแ แแคแแ แแแฎแแ แแก แกแแแฃแแแ แ แแแแแแ.
แแกแขแแ โ แฆแแ แแแแแก แแ แแแฅแขแ แจแแแฃแจแแแแแฃแแ Google-แแก, IBM-แแกแ แแ Lyft-แแก แแฃแแแแแแแ แแแแแแจแ แแแแแแแ. แแก แแแแแ แแแก แกแแ แแฃแแแแแก, แ แแแแแแแช แฌแแ แแแแฅแแแแแ แแแแ แแกแแ แแแกแแแแ แแแคแฃแซแแแแฃแ แแแแแแแชแแแแจแ, แ แแแแ แแชแแ:
- แแแซแ แแแแแก แแแ แแแ: แแแแแแ, แแแแแแแ แแแแแ แชแแแแ, แแแขแแแ แแแแก แแแแแแแแกแแแ;
- แฃแกแแคแ แแฎแแแแแก: แกแแแแแแ แแแแฎแแแ แแแแแก แแแขแแ แแแแชแแ แแ แแแขแแ แแแแชแแ;
- แแแแแแ แแแแแแแแ: แแแแแแแแ, แแแแแขแแ แแแแ, แฎแ-แขแงแ.
แแ แงแแแแแคแ แแก แแแแแแ แแแ แจแแกแแซแแแแแแแ แแแแแแแชแแแก แแแแแแ, แแแแ แแ แแแแก แจแแแแแ แแฅแแแแ แกแแ แแแกแแแ แแฆแแ แแฅแแแแ โแแแแ แโ. แงแแแแ แแแแแขแแแแแ แซแแแแกแฎแแแแ แแ แแ แแแแแแแแแก แแแแแกแแญแ แแแแ แแ แแก แแแแแแแแแก แ แแกแฃแ แกแแแแก แคแแแแแแ, แ แแแแแแช แจแแแซแแแแ แแแแแงแแแแแฃแ แแฅแแแก แฃแจแฃแแแแ แแแแแแกแแก แฆแแ แแแฃแแแแแกแแแแก. แแแแแ แจแแแฎแแแแ แแแแแแแแก:
แแ แแแฅแขแแก แแแแแฏแแ แ: แ แแแแแแ แแ แ แกแญแแ แแแแ แแแแแฎแแแฃแ แแแแก แคแฃแแฅแชแแแก แแแแแขแแแแก?
แจแแแฅแแแแแ: แแ แ แกแแ แแแขแ.แแแแฃแขแแขแ: แ แ?.. แแก แฃแแ แแแแ แฃแฎแแจแแ!
R: CRUD-แแก แแแแแแแแ แแแแชแแแแก แแแ แขแแแ แแแฌแแแแ, แแแแ แแ แฉแแแ แแแแแช แแแญแแ แแแแ แแแแฎแแแ แแแแแแแกแ แแ แกแแ แแแกแแแแก แแแแแแขแแคแแแแชแแ แแ แแแขแแ แแแแชแแ. แแแแแแแแ แฅแกแแแ แแ แแกแแแแแ, แแแแแฌแแแ แแแแแแแ แแแแแ แแแแฎแแแแแแแก แแแแฎแแ แชแแแแแแ, แแกแแแแแแแแ แแแแแแก แแแแฃแจแ แแแแแแขแแแจแ. แแกแแแ, แแแแกแแแแแก, แ แแ แแแ แฌแแฃแแแแ, แ แแ แแแแแ แกแแกแขแแแ แแ แแแคแฃแญแแ, แขแแแแแฃแขแ แแแจแฃแแกแแแแแแแ (แแแฌแแ แแแแแแแ แแ แแแ แแฆแแแจแแฃแแ แแแแฃแจแแก แจแแกแแฎแแ แแฎแแแแ แกแขแแขแแแจแ - แแแแฎแ. แแแ แแแแแ.)แแ แแ แแแแแแแแแก แแฆแแแกแแฉแแแแ, แแแแแขแแ แแแแ, แแแแแแแแ, [โฆ]แแแแฃแขแแขแ: แแฐ, แแแแแ, แแก แคแฃแแฅแชแแ แแแแแแแแกแแ แแ แแแฃแฅแขแแก แกแแ แแแกแจแ.
แแคแแฅแ แแ, แแแแ แแแแแแแ: แแ แแ แกแแ แแแกแแก แแแกแแแแขแแแแแ แกแแญแแ แ แแแแแฏแแแแกแ แแ แซแแแแกแฎแแแแแก แ แแแแแแแแ แฃแแแ แแแแแ แแ. แแ แกแขแแขแแแจแ แฉแแแ แแแแแแฎแแแแแ, แแฃ แ แแแแ แแจแแ แแแก Istio แงแแแแ แแแแแ แแแฎแกแแแแ แกแแ แแฃแแแก (แแ แแ แแก แแแแแแแแแแ แแฃแแ แแแแแแก แแแแแแแ) แกแแ แแแกแแแแแแ.
แจแแแแจแแแ: แแก แกแขแแขแแ แแแ แแฃแแแแก, แ แแ แแฅแแแ แแแฅแแ Kubernetes-แแก แกแแแฃแจแแ แชแแแแ. แฌแแแแแฆแแแแ แจแแแแฎแแแแแจแ, แแแ แฉแแแ แฌแแแแแแฎแแ
แแกแขแแแก แแแแ
แแกแแคแแแแจแ Istio-แก แแแ แแจแ, แแ แแ แกแแ แแแกแ แแแ แแแแแ แแฎแแแแแก แฃแแแแแแแก แแแแ แแก แแ แฌแแ แฃแแแขแแแแแแแก แจแแแแฎแแแแแจแ, แกแแ แแแกแแ แแแแแ แฃแแแ แแแฃแแแแแแแแก แแแก: แแแแแฎแแ แชแแแแแก แแฎแแแ แแชแแแแแแ, แฃแแ แฃแแแแแงแแก แแแแ, แแแฎแกแแแก แแแแแ แแแแแ แแ แ.แจ.
แฅแกแแแฃแ แ แขแ แแคแแแ Kubernetes-แจแ
Istio แแแแแแแแแ แกแแแชแแแแแแแแฃแ แแแแแฌแงแแแขแแก, แ แแแแแแช แแแแแแแแ แแแแแงแแคแแแแ แกแแ แแแกแแแแกแแแ แแ แคแฃแแฅแชแแแแแ แแแก แฅแกแแแฃแ แแแแฃแแแแแชแแแจแ แฉแแ แแแแ. แแ แแกแ แแฎแแ แชแแแแแแก:
- แจแแชแแแแแก แขแแแแ แแแขแแแ: แแแกแฃแฎแจแ แแ แกแแแฃแแ แกแขแแขแฃแกแแก แแแแแแแ แแแแแแแแแแ แ, แฎแแแแแ, แแแ แแแฎแแ แฎแแ แแฃ แแ แ แแแแฎแแแแ แแ แฎแแแแฎแแ แแฎแแ แชแแแแแแก แแแก.
- Canary Rollouts: แแแแแแแกแแแแ แแแแก แแแแฎแแแแแก แแฎแแแแ แคแแฅแกแแ แแแฃแ แแ แแชแแแขแก แกแแ แแแกแแก แแฎแแ แแแ แกแแแแ.
- แแแแแขแแ แแแแ แแ แแแขแ แแแ: แ แแแแแแ แแ แ แแแกแญแแ แแ แกแแ แแแกแแก แ แแแแแ แแแแก?
- แแแแแแแแ แแ แแแแแแ แแแแ: แแแแขแแแก แกแแแชแแแแฃแ แกแแแแฃแ แแแก แแแแแแฃแ แแแแฎแแแแแก แแ แแแแแขแ แแแแแก แแแ แแแแกแขแแ แจแ.
- แฃแกแแคแ แแฎแแแแแก: แแฆแแแก JWT แแแขแแแก, แแแแฌแแแแก แแ แแแขแแ แแแแชแแแก แแซแแแแก แแแแฎแแแ แแแแแแก.
แแก แแฎแแแแ แ แแแแแแแแ แจแแกแแซแแแแแแแแ (แแแแแแแแแ แแฎแแแแ แ แแแแแแแแ!) แแแแแแแขแแ แแกแแ. แแฎแแ แแแแแ แฉแแแฃแฆแ แแแแแแ แขแแฅแแแแฃแ แแแขแแแแแก!
แแกแขแแแก แแ แฅแแขแแฅแขแฃแ แ
Istio แฌแงแแแขแก แแแแ แฅแกแแแฃแ แขแ แแคแแแก แแ แแแแแ แแแแก แแแกแแ แฌแแกแแแแก แแ แแแแแแแแแก, แแแแแแฃแ แแแแจแ แแแแแกแแแก แญแแแแแ แแ แแฅแกแแก แแแแ แแแแ แแแ แแก แแแแขแแแแแ แแก แกแแฎแแ. แแ แแฅแกแแแแ, แ แแแแแแแช แแแฅแขแแฃแ แแแแ แงแแแแ แจแแกแแซแแแแแแแแก, แฅแแแแแ แ แแแแแชแแแแ แแแแแแคแ แแแแแแแ แแแแ แแแแแแแฃแ แแ แแแแคแแแฃแ แแชแแ แจแแกแแซแแแแแแแ แกแแแแแขแ แแแ แแแแแแคแ แแแแแ.
แแแแแชแแแแ แแแแแแคแ แแแแแ
แแแ แแแแแขแแแ, แ แแแแแแแช แฉแแกแแฃแแแ แแแแแแจแ, แกแแจแฃแแแแแแก แแซแแแแก Istio-แก แแแแแแแ แแแแฆแฌแแแก แฉแแแแแแแก แกแแญแแ แ แแแแฎแแแแแแก. แแแแแแแแแ, แแแแแ แจแแแแแแฌแแแ แแแแแแแ แแแแแ แชแแแแ แแ แแแแแ แแแแแแก แคแฃแแฅแชแแแแ.
แ แแแแ แฎแแ แชแแแแแแแ แแแแแแแ แแแแแ แชแแแแ แแ แแแแ แแกแฅแแแแก แแแฌแงแแแขแ Envoy-แจแ
แจแแแแกแแ:
- แแแกแแแแ (แกแแฃแแแ แแ แแแแ แแแแ แแแ แแก แแแแขแแแแแ แจแ แแแแแแ แ แแ แแฅแกแแแ, แ แแแแแแช แแแฌแแแแแแ แแ แ แแแแ
แชแแแแ แแ แแแฃแฅแขแ - แแแแฎแ. แแแ แแแแแ.) แแแแแแแแก แแแแฎแแแแแก B แกแแ แแแกแแก แแแ แแแ แแแกแขแแแชแแแจแ แแ แแแ แฎแแ แฎแแแแ. - แแแฉแ แกแแแแแแ แ แแกแแ แชแแแก (แฎแแแแฎแแ แกแชแแแแ). (1)
- แฌแแ แฃแแแขแแแแแ แแแแฎแแแแ แฃแแ แฃแแแแแ แแ แแฅแกแแก, แ แแแแแแแช แแแก แแแฃแ แแแ.
- แแก แฎแกแแแก Circuit Breaker-แก แแ แแแแแแซแแฎแแแก แจแแแแแ แกแแ แแแกแก แจแแแแแแแ แแแแฎแแแแแแแกแแแแก. (2)
แแก แแแจแแแแก, แ แแ แแฅแแแ แแ แแญแแ แแแแแ แกแฎแแ แฎแแแแฎแแ แกแชแแแแ แแแแแแแแแแแก แแแแแงแแแแแ, แแฅแแแ แแ แฃแแแ แแแแแแแแ Circuit Breaking แแ Service Discovery แแ แแแ แแแแ แแแแก แแแแแ X, Y แแ Z. แแก แงแแแแแคแแ แ แแ แแแแแ แแแแ แ แกแฎแแ แฎแแแแแกแแฌแแแแแแ แงแฃแแจแ. แแกแขแแแจแ แแ แแ แกแแญแแ แแแแก แแ แแ แแก แชแแแแแแแแแ แแแแจแ.
แแแแ! แแฎแแ แจแแแซแแแแ แแกแขแแแกแแแ แแ แแแ แแแแแแฃแ แแแ แแแแแแแแก, แแแแ แแ แฏแแ แแแแแ แแแฅแแ แแแ แแแแฃแแ แแญแแ, แฆแแ แแแแฎแแแแ. แแฃ แแก แแ แแก แฃแแแแแ แกแแแฃแ แ แแแแแฌแงแแแขแ แชแฎแแแ แแแแก แงแแแแ แจแแแแฎแแแแแกแแแแก, แแแจแแ แแฅแแแ แแแฅแแ แแฃแแแแ แแแ แแญแแ: แงแแแแแแแ แแแแก แจแแแแแ, แกแแแแแแแแแแจแ แงแแแแ แแกแแแ แแแแแกแแแแแ แแแแแกแแแแ แ แจแแแแฎแแแแแกแแแแก แแแแแฃแกแแแแแแ แ แแฆแแแฉแแแแแ.
แแ แแแแแก แแฅแแแ แฐแแแแฎแแแ: "แแแ แแแแแแแ?"
แแฎแแ แแฅแแแ แแแแ แฎแแ แ แกแแแฆแแแ แแแแแแฃแ แแแแกแแแแก - แแ แแแแแ แแแแแชแแแ แกแแแแแขแ แแแ แแแแแแคแ แแแแแก.
แกแแแแแขแ แแแ แแแแแแคแ แแแแแ
แแแ แจแแแแแแ แกแแแ แแแแแแแแแขแแกแแแ: Pilot, แแแฅแกแแ แ ะธ แชแแฎแแ, แ แแแแแแแช แแ แแแ แแฃแจแแแแแ แแแฉแแแแก แแแแคแแแฃแ แแชแแแกแแแแก, แ แแแ แแแแขแแ แแ แขแ แแคแแแ, แแแแแฎแแ แชแแแแแ แฌแแกแแแ แแ แจแแแแ แแแแ แขแแแแแแขแ แแแก แแแแแชแแแแแ. แกแฅแแแแขแฃแ แแ แแก แงแแแแแคแแ แ แแกแ แแแแแแงแฃแ แแแ:
แกแแแแแขแ แแแ แกแแแ แขแงแแก แฃแ แแแแ แแฅแแแแแแ แแแแแชแแแแ แกแแแ แขแงแแกแแแ
แแแกแแแแแแ (แแแฃ แแแแแชแแแแ แแแแแแคแ แแแแแ) แแแแคแแแฃแ แแ แแแฃแแแ แแแแแงแแแแแแ
แกแแ แแแกแแแแก แฃแ แแแแ แแแแ แแกแขแแแกแแแ
แฉแแแ แแฆแแฌแแ แแ แแกแขแแแก แฃแ แแแแ แแแแ แกแแ แแแกแแแแแ, แแแแ แแ แแ แ แแแ แแฅแแ: แ แแแแ แฃแแแแจแแ แแแแ แกแแ แแแกแแแ แแกแขแแแก?
แแแ แแแแ แแแแฎแ แแ, แกแแแกแแฎแฃแ แแแแ แแกแ แแชแแแ แแกแขแแแก แแ แกแแแแแ, แ แแแแ แช แแแแแแแ แฌแงแแแกแ, แ แแชแ แกแแแฃแแแ แแแแก แแแแแฎแแแแแ: "แ แ แแ แแก แฌแงแแแ แแแแแช?"
แแแฃแกแขแ แแชแแ
แแแ แแแแ, แจแแแแซแแแแ แแแฆแแ แกแแแฃแจแแ แแแแกแขแแ แ แแ Istio แแแแแแแแแขแแแแก แแแแแแแแแแก แจแแแแแ, แแแกแจแ แแ แกแแแฃแแ แกแแ แแแกแแแ แแแแแ แซแแแแแแ แแฃแจแแแแแก แแ แแ แแแแแแแแแขแแแแก แแแแฆแแแแก แจแแแแแ, แงแแแแแคแแ แ แแกแแ แแแ แแแ แแฅแแแแ. แแแกแแแแแแ, แ แแ แแ แจแแแแฎแแแแแจแ แแกแขแแแก แแแแ แแแฌแแแแแฃแ แจแแกแแซแแแแแแแแแก แแแแแ แแแแ.
แกแแแแแ แแกแแ แแแแ แแ - แแแแแ แแก แชแแแแ แแ แแฅแขแแแแจแ แแแแแแแงแแแแ!
แแกแขแแ แแ แแฅแขแแแแจแ
Istio แแแแแฎแแแก Kubernetes แแแแกแขแแ แก แแแแแแฃแ 4 vCPU แแ 8 GB แแแแ แแขแแฃแแ แแแฎแกแแแ แแแ. แแแแกแขแแ แแก แกแฌแ แแคแแ แแแกแแงแแแแแแแ แแ แกแขแแขแแแก แแแกแขแ แฃแฅแชแแแแแก แจแแกแ แฃแแแแแกแแแแก, แแแ แฉแแแ แแแแแแงแแแแ Google Cloud Platform, แ แแแแแแช แแฎแแ แแแแฎแแแ แแแแแแก แกแแแแแแแแก
แแแแกแขแแ แแก แจแแฅแแแแกแ แแ Kubernetes-แแ แฌแแแแแแก แแแแคแแแฃแ แแชแแแก แจแแแแแ แแแแกแแแแก แฃแขแแแแขแแก แกแแจแฃแแแแแแ, แจแแแแซแแแแ แแแแแแกแขแแแแ แแ Istio Helm แแแแแขแแก แแแแแฏแแ แแก แแแจแแแแแแ.
แฉแแคแฎแฃแขแแก แแแแขแแแ
แแแแแแกแขแแแแ แแ Helm แแแแแแขแ แแฅแแแแก แแแแแแฃแขแแ แแ, แ แแแแ แช แแก แแฆแฌแแ แแแแ
แแแกแขแแแแชแแ
แฉแแแแขแแแ แแแ Istio แ แแกแฃแ แกแแแ [istio-resources]
.
Istio แ แแกแฃแ แกแแแแก แแแแแแแ แแแแแขแแคแแชแแ แแแแกแแแแก, แจแแฅแแแแแ แกแแฎแแแแ แกแแแ แชแ K8s แแแแกแขแแ แจแ istio-system
:
$ kubectl create namespace istio-system
แแแแกแ แฃแแแ แแแกแขแแแแชแแ แแแ แแฅแขแแ แแแจแ แแแแแแแชแแแ [istio-resources]
แแ แแแฃแจแแแ แแ แซแแแแแ:
$ helm template install/kubernetes/helm/istio
--set global.mtls.enabled=false
--set tracing.enabled=true
--set kiali.enabled=true
--set grafana.enabled=true
--namespace istio-system > istio.yaml
แแก แแ แซแแแแแ แแแแแกแชแแแก Istio-แก แซแแ แแแแ แแแแแแแแแขแแแก แคแแแแจแ istio.yaml
. แฉแแแ แจแแแชแแแแแ แกแขแแแแแ แขแฃแแ แจแแแแแแ แฉแแแแแแแก แจแแแแแแ แแแ แแแแขแ แแแแก แแแแแแแแแ:
-
global.mtls.enabled
แแแแแกแขแแแแ แแแฃแแfalse
(แแแฃ mTLS แแแแแแขแแคแแแแชแแ แแแแแ แแฃแแแ - แแแแฎแ.)แฉแแแแ แแแชแแแแแก แแ แแชแแกแแก แแแแแ แขแแแแแ; -
tracing.enabled
แแแแชแแแก แแแแฎแแแแแก แแแแแแแแแก Jaeger-แแก แแแแแงแแแแแแ; -
kiali.enabled
แแแแแแกแขแแแแ แแแก Kiali-แก แแแแกแขแแ แจแ แกแแ แแแกแแแแกแ แแ แขแ แแคแแแแก แแแแฃแแแแแแชแแแกแแแแก; -
grafana.enabled
แแแแกแขแแแแ แแแก Grafana-แก แจแแแ แแแแแฃแแ แแแขแ แแแแก แแแแฃแแแแแแชแแแกแแแแก.
แแแแแแแงแแแแ แแแแแ แแ แแแฃแแ แ แแกแฃแ แกแแแ แแ แซแแแแแแ:
$ kubectl apply -f istio.yaml
Istio-แก แแแกแขแแแแชแแ แแแแกแขแแ แแ แแแกแ แฃแแแแฃแแแ! แแแแแแแแ แกแแแแ แงแแแแ แแแแแ แแฅแแแแ แกแแฎแแแแ แกแแแ แชแแจแ istio-system
แจแแซแแแแก Running
แแ Completed
แฅแแแแแ แแแชแแแฃแแ แแ แซแแแแแแก แแแจแแแแแ:
$ kubectl get pods -n istio-system
แแฎแแ แฉแแแ แแแแ แแแ แ แแแแแแ แซแแแแ แจแแแแแแ แแแแงแแคแแแแแ, แกแแแแช แแแแแแแชแแแก แแแจแแแแแก แจแแแซแแแแ.
แแแแฌแงแแแแก แแแแแแแแก แแแแแแแชแแแก แแ แฅแแขแแฅแขแฃแ แ
แแแแแแแงแแแแ แฃแแแ แแฆแแแจแแฃแแจแ แแแแแงแแแแแฃแแ Sentiment Analysis แแแแ แแกแแ แแแกแแก แแแแแแแชแแแก แแแแแแแแ
แแแแแแแชแแ แจแแแแแแ แแแฎแ แแแแ แแกแแ แแแกแแกแแแ:
- แกแแแกแแฎแฃแ แแก SA-แคแ แแแขแแแแ, แ แแแแแแช แแแกแแฎแฃแ แแแ แคแ แแแข-แแแแแก แแแแแแแชแแแก Reactjs-แแ;
- แกแแแกแแฎแฃแ แแก SA WebApp, แ แแแแแแช แแแกแแฎแฃแ แแแ แกแแแขแแแแแขแฃแ แ แแแแแแแแก แจแแแแแฎแแแแก;
- แกแแแกแแฎแฃแ แแก SA-แแแแแแแ แแแแแแช แแแแแ แแกแ แฃแแแแก
แแแแฌแงแแแแก แแแแแแแ ; - แกแแแกแแฎแฃแ แแก SA แแแแจแแ แ, แ แแแแแแช แแฆแแแก แฃแแฃแแแแจแแ แก แแแแฎแแแ แแแแแแแกแแแ แแแแแแแแก แกแแแฃแกแขแแก แจแแกแแฎแแ.
แแ แแแแแ แแแแจแ, แกแแ แแแกแแแแก แแแ แแ, แฉแแแ แแกแแแ แแฎแแแแแ Ingress Controller-แก, แ แแแแแแช Kubernetes-แจแ แแแแแแแแก แจแแแแแแแแ แแแแฎแแแแแแก แจแแกแแแแแแก แกแแ แแแกแแแแ. Istio แแงแแแแแก แแกแแแแก แแแแชแแคแชแแแก Ingress Gateway-แจแ, แ แแแแแก แแแขแ แแแขแแแ แแแฐแงแแแแ.
แแแแแแแชแแแก แแแจแแแแ แแ แแฅแกแแ แแกแขแแแแแ
แกแขแแขแแแจแ แแแฎแกแแแแแ แจแแแแแแแ แแแแ แแชแแแแแกแแแแก, แแแแแแ แแ แแฅแแแแ แกแแชแแแ
แแแแ แแแแ แแแ แแแแก แฉแแกแแ
แฉแแกแแ แจแแแซแแแแ แแแขแแแแขแฃแ แแ แแ แฎแแแแ. แแแแ แแแแ แแแ แแก แแแแขแแแแแ แแแแก แแแขแแแแขแฃแ แแ แฉแแกแแ แแแแแ, แแฅแแแ แฃแแแ แแแแงแแแแ แแขแแแแขแ แกแแฎแแแแ แกแแแ แชแแจแ istio-injection=enabled
, แ แแแแแแช แแแแแแแ แจแแแแแแ แแ แซแแแแแแ:
$ kubectl label namespace default istio-injection=enabled
namespace/default labeled
แแฎแแ แแแแแแฃแแ แแแแ, แ แแแแแแช แแแแแแแแแแ แแแแฃแแแกแฎแแแ แกแแฎแแแแ แกแแแ แชแแจแ (default
) แแแแฆแแแก แแแแแก แแแแ แแแแ แแแแขแแแแแ แก. แแแแก แจแแกแแแแฌแแแแแแ, แแแแแ แแแแแแแแแกแแ แกแแขแแกแขแ แแแแแแแชแแ แกแแชแแแแก root แแแ แแฅแขแแ แแแจแ แแแแแกแแแแ [istio-mastery]
แแ แแแฃแจแแแ แจแแแแแแ แแ แซแแแแแ:
$ kubectl apply -f resource-manifests/kube
persistentvolumeclaim/sqlite-pvc created
deployment.extensions/sa-feedback created
service/sa-feedback created
deployment.extensions/sa-frontend created
service/sa-frontend created
deployment.extensions/sa-logic created
service/sa-logic created
deployment.extensions/sa-web-app created
service/sa-web-app created
แกแแ แแแกแแแแก แแแแแแแแแแก แจแแแแแ, แแ แซแแแแแแก แแแจแแแแแ แจแแแแแแฌแแแ, แ แแ แแแแแแก แแฅแแ แแ แ แแแแขแแแแแ แ (แแแแแ แกแแ แแแกแแ แแ แแแกแ แแแแ แแแแ แแแ แแ). kubectl get pods
แแ แแแ แฌแแฃแแแแ, แ แแ แกแแแขแแก แฅแแแจ READY
แแแแแแแแฃแแ แฆแแ แแแฃแแแแ 2/2
, แกแแแแแแแ, แ แแ แแ แแแ แแแแขแแแแแ แ แแฃแจแแแแก:
$ kubectl get pods
NAME READY STATUS RESTARTS AGE
sa-feedback-55f5dc4d9c-c9wfv 2/2 Running 0 12m
sa-frontend-558f8986-hhkj9 2/2 Running 0 12m
sa-logic-568498cb4d-2sjwj 2/2 Running 0 12m
sa-logic-568498cb4d-p4f8c 2/2 Running 0 12m
sa-web-app-599cf47c7c-s7cvd 2/2 Running 0 12m
แแแแฃแแแฃแ แแ แแกแ แแแแแแงแฃแ แแแ:
แแแกแแแแแก แแแ แแแแแขแฃแแ แฌแแ แแแแแแแแแแแ แแ แ-แแ แ แแแแจแ
แแฎแแ, แ แแแแกแแช แแแแแแแชแแ แแแจแแแแฃแแแ, แฉแแแ แฃแแแ แแแแฃแจแแแ แจแแแแแแแแ แขแ แแคแแแก แแแแแแแชแแแจแ แจแแกแแแ.
Ingress Gateway
แแแแก แแแกแแฆแฌแแแแ แกแแฃแแแแแกแ แแ แแฅแขแแแ (แแแแกแขแแ แจแ แขแ แแคแแแแก แแแจแแแแ) แแแแแก Ingress Gateway Istio-แจแ, แ แแแแแแช แแแแแแ แแแแก แแแแกแขแแ แแก โแแแแแแโ แแ แกแแจแฃแแแแแแก แแแซแแแแ แฉแแ แแแ Istio แแกแแแ แคแฃแแฅแชแแแแ, แ แแแแ แแชแแ แแแ แจแ แฃแขแแ แแแ, แแแขแแแ แแแแก แแแแแแแแกแแแ, แฃแกแแคแ แแฎแแแแ แแ แจแแแแแแแแแ แขแ แแคแแแแก แแแแแขแแ แแแแ.
Ingress Gateway แแแแแแแแแขแ แแ แกแแ แแแกแ, แ แแแแแแช แแแก แแแ แแแแ แแแแแแแแก, แแแแแกแขแแแแ แแแฃแแ แแงแ แแแแกแขแแ แจแ Istio-แก แแแกแขแแแแชแแแก แแ แแก. แกแแ แแแกแแก แแแ แ IP แแแกแแแแ แแแก แแแกแแ แแแแแแ, แแแฃแจแแแ:
$ kubectl get svc -n istio-system -l istio=ingressgateway
NAME TYPE CLUSTER-IP EXTERNAL-IP
istio-ingressgateway LoadBalancer 10.0.132.127 13.93.30.120
แฉแแแ แแแแแแ แซแแแแแ แแแแแแแชแแแแ แฌแแแแแแก แแ IP-แแก แแแแแงแแแแแแ (แแ แแแก แแแแแฎแกแแแแแ แ แแแแ แช EXTERNAL-IP), แแกแ แ แแ, แแแฎแแ แฎแแแฃแแแแแกแแแแก แฉแแแ แฉแแแฌแแ แ แแแแจแแแแแแแแก แชแแแแแจแ:
$ EXTERNAL_IP=$(kubectl get svc -n istio-system
-l app=istio-ingressgateway
-o jsonpath='{.items[0].status.loadBalancer.ingress[0].ip}')
แแฃ แแฎแแ แชแแแแแแ แแ IP-แแ แฌแแแแแแก แแ แแฃแแแ แแก แกแแจแฃแแแแแแ, แแแแฆแแแ แจแแชแแแแแก Service Unavailable, แ แแแแแ แแแแฃแแแกแฎแแแแแ Istio แแแแแแแก แงแแแแ แจแแแแแแแแ แขแ แแคแแแกแกแแแแ Gateway แแ แแฅแแแแ แแแแกแแแฆแแ แฃแแ.
แแแ แแแญแแก แ แแกแฃแ แกแ
Gateway แแ แแก CRD (Custom Resource Definition) Kubernetes-แจแ, แ แแแแแแช แแแแแกแแแฆแแ แแแ Istio-แก แแแแกแขแแ แจแ แแแแแกแขแแแแ แแแแก แจแแแแแ แแ แแซแแแแ แจแแกแแซแแแแแแแแก แแแฃแแแแแ แแแ แขแแแ, แแ แแขแแแแแ แแ แฐแแกแขแแแ, แ แแแแแแแกแแแแกแแช แแแแแแ แจแแแแแแแแแ แขแ แแคแแแแก แแแจแแแแ.
แฉแแแแก แจแแแแฎแแแแแจแ, แฉแแแ แแแกแฃแ แก แแแแฃแจแแแ HTTP แขแ แแคแแแ 80 แแแ แขแแ แงแแแแ แฐแแกแขแแกแแแแก. แแ แแแแแแ แ แแแแแแแแฃแแแ แจแแแแแแ แแแแแแ แขแแแแ (
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
name: http-gateway
spec:
selector:
istio: ingressgateway
servers:
- port:
number: 80
name: http
protocol: HTTP
hosts:
- "*"
แแ แแแแคแแแฃแ แแชแแแก แแ แกแญแแ แแแแ แแฎแกแแ แกแแแแฅแขแแ แแก แแแ แแ istio: ingressgateway
. แแ แกแแแแฅแขแแ แแก แกแแจแฃแแแแแแ แจแแแแแซแแแ แแแแแกแแแฆแแ แแ, แ แแแแ Ingress Gateway-แแ แแแแแแ แแแ แแแแคแแแฃแ แแชแแแก. แฉแแแแก แจแแแแฎแแแแแจแ, แแก แแ แแก Ingress Gateway แแแแขแ แแแแ แ, แ แแแแแแช แแแแฃแแแกแฎแแแแแ แแงแ แแแแแกแขแแแแ แแแฃแแ แแกแขแแแจแ.
แแแแคแแแฃแ แแชแแ แแแแแแงแแแแแ แจแแแแแแ แแ แซแแแแแแก แแแแแซแแฎแแแแ:
$ kubectl apply -f resource-manifests/istio/http-gateway.yaml gateway.networking.istio.io/http-gateway created
แแแ แแแญแ แแฎแแ 80-แ แแแ แขแแ แฌแแแแแแก แกแแจแฃแแแแแแก แแซแแแแ, แแแแ แแ แฌแแ แแแแแแแ แแ แแฅแแก, แกแแ แแแแขแแ แแก แแแแฎแแแแแแ. แแแแกแแแแก แแแแญแแ แแแแแ แแแ แขแฃแแแฃแ แ แกแแ แแแกแแแ.
แแแ แขแฃแแแฃแ แ แกแแ แแแกแแก แ แแกแฃแ แกแ
VirtualService แแฃแแแแแ Ingress Gateway-แก, แแฃ แ แแแแ แแแแขแแ แแก แแแแฎแแแแแแ, แ แแแแแแแช แแแจแแแแฃแแแ แแแแกแขแแ แจแ.
แแแแฎแแแแแแ แฉแแแแก แแแแแแแชแแแแ, แ แแแแแแช แแแแแก http-gateway-แแ, แฃแแแ แแแแแแแแแแก sa-frontend, sa-web-app แแ sa-feedback แกแแ แแแกแแแก:
แแแ แจแ แฃแขแแแ, แ แแแแแแแช แฃแแแ แแงแแก แแแแคแแแฃแ แแ แแแฃแแ VirtualServices-แแ
แแแแแ แจแแแฎแแแแ แแแแฎแแแแแแก, แ แแแแแแแช แฃแแแ แแแแแแแแแแก SA-Frontend-แจแ:
- แแฃแกแขแ แแแขแฉแ แแแแแ
/
แฃแแแ แแแแแแแแแแก SA-Frontend-แแ index.html-แแก แแแกแแฆแแแแ; - แแแแแแแแ แแ แแคแแฅแกแแ
/static/*
แฃแแแ แแแแแแแแแแก SA-Frontend-แจแ, แ แแแ แแแแฆแแ แกแขแแขแแแฃแ แ แคแแแแแแ, แ แแแแแแแช แแแแแแงแแแแแ แคแ แแแขแแแแจแ, แ แแแแ แแชแแ CSS แแ JavaScript; - แแแแแแแแ, แ แแแแแแแช แจแแแกแแแแแแแ แ แแแฃแแแ แฃแ แแแแแฎแแขแฃแแแแแก
'^.*.(ico|png|jpg)$'
, แฃแแแ แแแแแแแแแแก SA-Frontend-แจแ, แ แแแแแ แแก แแ แแก แแแแ แแแ แแแฉแแแแแแ แกแฃแ แแแแแ.
แแแแฎแแ แชแแแแแแ แแแแฆแฌแแแ แจแแแแแแ แแแแคแแแฃแ แแชแแแ (
kind: VirtualService
metadata:
name: sa-external-services
spec:
hosts:
- "*"
gateways:
- http-gateway # 1
http:
- match:
- uri:
exact: /
- uri:
exact: /callback
- uri:
prefix: /static
- uri:
regex: '^.*.(ico|png|jpg)$'
route:
- destination:
host: sa-frontend # 2
port:
number: 80
แแแแจแแแแแแแแแ แ แแแแแแแแ:
- แแก แแแ แขแฃแแแฃแ แ แกแแ แแแกแ แแฎแแแ แจแแแแกแฃแ แแแแฎแแแแแแก http- แแแ แแแญแ;
- ะ
destination
แแแแกแแแฆแแ แแแก แกแแ แแแกแก, แ แแแแแแแช แแแแแแแแแ แแแแฎแแแแแแ.
แจแแแแจแแแ: แแแแแ แแแชแแแฃแแ แแแแคแแแฃแ แแชแแ แแแแฎแแแ แคแแแแจแ sa-virtualservice-external.yaml
, แ แแแแแแช แแกแแแ แจแแแชแแแก SA-WebApp-แจแ แแ SA-Feedback-แจแ แแแ แจแ แฃแขแแแแชแแแก แแแ แแแแขแ แแแก, แแแแ แแ แแแแแแ แจแแแชแแ แแ แแฅ แกแขแแขแแแจแ.
แแแแแ แแแแแแแงแแแแ VirtualService แแแ แแแแแ:
$ kubectl apply -f resource-manifests/istio/sa-virtualservice-external.yaml
virtualservice.networking.istio.io/sa-external-services created
แจแแแแจแแแ: แ แแแแกแแช แฉแแแ แแแงแแแแแ Istio แ แแกแฃแ แกแแแก, Kubernetes API แกแแ แแแ แ แฅแแแแก แแแแแแแแก, แ แแแแแแช แแแแฆแแแ Istio Control Plane-แแก แแแแ แแ แแแแก แจแแแแแ แแฎแแแ แแแแคแแแฃแ แแชแแ แแแแแแงแแแแแ แแแแแแฃแแ pod-แแก Envoy แแแ แแแแแขแแแแกแแแแก. แแ Ingress Gateway แแแแขแ แแแแ แ, แ แแแแ แช แฉแแแก, แแ แแก แแแแแ แแ แแ แแแกแแแแ, แ แแแแแแช แแแแคแแแฃแ แแ แแแฃแแแ แกแแแแแขแ แแแ แกแแแ แขแงแแจแ. แแก แงแแแแแคแแ แ แแกแ แแแแแแงแฃแ แแแ แแแแแ แแแแแ:
Istio-IngressGateway-แแก แแแแคแแแฃแ แแชแแ แแแแฎแแแแแก แแแ แจแ แฃแขแแแแชแแแกแแแแก
แแแแฌแงแแแแก แแแแแแแ แแฎแแ แฎแแแแแกแแฌแแแแแแ http://{EXTERNAL-IP}/
. แแ แแแแ แแแฃแแแ, แแฃ แแแแฆแแแ Not Found แกแขแแขแฃแกแก: แแแแฏแแ แชแแขแ แแแขแ แแ แ แกแญแแ แแแแ แแแแคแแแฃแ แแชแแแก แแแแฅแแแแแแแก แแ Envoy-แแก แฅแแจแแก แแแแแฎแแแแแก.
แกแแแแ แแแแแ แซแแแแแ, แชแแขแแแ แแแแแแจแแ แแแแ แขแ แแคแแแแก แแแแแ แแ แแแแกแแแแก. (แแแกแ แแ แกแแแแแ แแฃแชแแแแแแแแ แจแแแแแแ แแแฅแแแแแแแแจแ แกแแชแฎแแแแกแแแแก - แแแแฎแ. แแแ แแแแแ.).
แแแแแ: แแแแแแ แแแแแแแแ
Kiali-แก แแแแแแแกแขแ แแชแแฃแ แแแขแแ แคแแแกแแแแ แแแกแแกแแแแแแ, แจแแแกแ แฃแแแ แจแแแแแแ แแ แซแแแแแ:
$ kubectl port-forward
$(kubectl get pod -n istio-system -l app=kiali
-o jsonpath='{.items[0].metadata.name}')
-n istio-system 20001
... แแ แแแฎแกแแแ
แแ แแคแแแ: แแแขแ แแแแก แแแแฃแแแแแแชแแ
แแกแขแแแจแ แจแแแ แแแแแฃแแ แแแขแ แแแ แแแแแ แแแแ แแ แแแแแแจแ แแ แแแแฃแแแแแแแแ แแ แแคแแแแกแแแ. Grafana แแแแแแแกแขแ แแขแแ แแก แแแขแแ แคแแแกแจแ แแแกแแฎแแแแ แแ, แแแฃแจแแแ แฅแแแแแ แแแชแแแฃแแ แแ แซแแแแแ, แจแแแแแ แแแฎแกแแแแ
$ kubectl -n istio-system port-forward
$(kubectl -n istio-system get pod -l app=grafana
-o jsonpath={.items[0].metadata.name}) 3000
แแแแแฃแแ แแแญแแ แแ แแแแแแ แ แแแแ แแแ แชแฎแแแ แแ แแแ แฉแแแ แแกแขแแแก แกแแ แแแกแแก แแแคแ แแแแ แแแ แชแฎแแแ แแฃแแฎแแจแ แแแแฌแงแแ แกแแ แแแกแแ แกแ-แแแ-แแแแจแแแ แแแแแฃแแ แแแขแ แแแแก แแแกแแแแแแแแ แแแแแ:
แ แแช แแฅ แแแแแแแแแ แชแแ แแแแ แแ แกแ แฃแแแแ แแแกแแฌแงแแแ แจแแกแ แฃแแแแแ - แแแแแฏแแแแขแ แแแแก แแ แแกแแแแก แแแแแขแแแชแแแก. แแแแแ แจแแแฅแแแแ แแชแแ แ แแแขแแแ แแแ แจแแแแแแ แแ แซแแแแแแ:
$ while true; do
curl -i http://$EXTERNAL_IP/sentiment
-H "Content-type: application/json"
-d '{"sentence": "I love yogobella"}';
sleep .8; done
แแฎแแ แฉแแแ แแแแฅแแก แแแแ แแ แฃแคแ แ แแแแแแ แแ แแคแแแแแ แแ แแแ แแแ แแ, แแจแแแแแแ แ แฎแแแกแแฌแงแแแแ Prometheus แแแแแขแแ แแแแแกแแแแก แแ Grafana แแแขแ แแแแก แแแแฃแแแแแแชแแแกแแแแก, แ แแช แกแแจแฃแแแแแแก แแแแแชแแแก แแแแแแแ แแฃแจแแแแแก, แฏแแแแ แแแแแแแก แแแแแแแ แแแแแก, แกแแ แแแกแแแแก แแแฃแแฏแแแแกแแแ/แแแแ แแแแชแแ แแ แแแ แแแแแแแแแแแจแ.
แแแแแแแก, แแแแแ แแแแแแฎแแแแ แแแแฎแแแแแแก แกแแ แแแกแแแจแ.
แแแแแ แ: แแแแแแแแ
แฉแแแ แแแแแญแแ แแแแ แแแแแแคแแแแชแแ, แ แแแแแ แ แแช แแแขแ แกแแ แแแกแ แแแแฅแแแแ, แแแ แฃแคแ แ แ แแฃแแแ แแแ แชแฎแแก แแแแแแแแแ แแแกแแแ. แแแแแ แจแแแฎแแแแ แแแ แขแแ แจแแแแฎแแแแแก แฅแแแแแ แแแชแแแฃแแ แกแฃแ แแแแแแ:
แจแแแแฎแแแแแแ แฌแแ แฃแแแขแแแแแ แแแแฎแแแแแก แขแแแแฃแ แ แแแแแแแแ
แแแแฎแแแแ แแแแแก, แแชแแแ - แ แ แแ แแก แแแแแแ? แแแ แแแแ แกแแ แแแกแ? แแ แแแแ แ? แแ แแแแจแ แแ แแก แแแแแแแแแแกแแแ - แแแแแ แแแแแแฎแแแแ แแแแแแฃแแแก แแฃแ แแแแก. แ แแแแแแแ แฎแจแแ แแ แแแแญแแ แแ แกแแแฃแแแ แ แแแแ แแแแก แแแแแแแจแ? แฉแแแแ แแฃแจแแแแ แฃแคแ แ แฐแแแแก แแ แแแ แแแฃแ แแแขแแฅแขแแแแแก, แแแแ แ แแแแแแแแแ แแแก...
แแก แแ แแก แกแแแ แแ แแ แแแแแแ แแแแ แแกแแ แแแกแแแจแ แแ แแแแแแ แแแฃแแแ แแแแแฌแแแแแฃแแ แขแ แแกแแแแแก แกแแกแขแแแแแแ, แ แแแแแแจแแช แกแแ แแแกแแแ แแ แแแแแแแก แแแแแกแชแแแแ แฃแแแแแแฃแ แกแแแแฃแ แก, แ แแก แจแแแแแแแช แแก แแแคแแ แแแชแแ แแแแแแแแแแแแแ แขแ แแกแแแแแก แกแแกแขแแแแก, แกแแแแช แจแแแแ แแแฃแแแ แแแแฎแแแแแก แแแแแชแแแแแแแ. แแ แแแฃแกแขแ แแชแแ:
TraceId แแแแแแงแแแแแ แแแแฎแแแแแก แแแแแขแแคแแชแแ แแแแกแแแแก
Istio แแงแแแแแก Jaeger Tracer-แก, แ แแแแแแช แแฎแแ แชแแแแแแก แแแแงแแแแแแแกแแแ แแแแแฃแแแแแแแ OpenTracing API แฉแแ แฉแแก. แแฅแแแ แจแแแแซแแแแ แจแแฎแแแแแ Jaeger-แแก แแแแฎแแแ แแแแแก แแแขแแ แคแแแกแแ แจแแแแแแ แแ แซแแแแแแ:
$ kubectl port-forward -n istio-system
$(kubectl get pod -n istio-system -l app=jaeger
-o jsonpath='{.items[0].metadata.name}') 16686
แแฎแแ แแแแแแแ
แแก แแแแแ แแฉแแแแแแก:
- แแแแฎแแแแ แจแแแแแแก istio-ingressgateway (แแก แแ แแก แแแ แแแแ แฃแ แแแแ แแฅแแแแแแ แแ แ-แแ แ แกแแ แแแกแแแ แแ แแแแฎแแแแแกแแแแก แแฅแแแแแ Trace ID), แ แแก แจแแแแแแแช แแแ แแแญแ แแแแแแแแก แแแแฎแแแแแก แกแแ แแแกแก แกแ-แแแ-แแแ.
- แกแแแกแแฎแฃแ แจแ แกแ-แแแ-แแแ แแฎแแแแแก แแแฆแแแก Envoy sidecar-แ, แแฅแแแแแ "แแแแจแแ" แแแแแแแแแจแ (แแแแขแแ แแฎแแแแแ แแแก แแแแแจแ) แแ แแแแแแแกแแแแ แแแแฃแแแ แแแแขแแแแแ แจแ. แกแ-แแแ-แแแ. (
Span - แแแแแ แจแ แแฃแจแแแแแก แแแแแแฃแ แ แแ แแแฃแแ, แ แแแแแกแแช แแฅแแก แกแแฎแแแ, แแแแ แแชแแแก แแแฌแงแแแแก แแ แ แแ แฎแแแแ แซแแแแแแ. แกแแแแแแแก แแแฌแงแแแ แแ แจแแแแแแ แจแแกแแซแแแแแแแ. แกแแแแแแแก แแแแแ แแฃแแ แแชแแแแฃแ แ แแ แแคแแแ แฅแแแแก แแแแแก. - แแแแฎแ. แแแ แแแแแ.) - แแฅ แแแแฎแแแแ แแฃแจแแแแแแ แแแแแแแ แกแแแขแแแแแขแแแฃแ แ แแแแแแแ. แแก แแแแแ แฃแแแ แแแแแ แแ แแแฃแแแ แแแแแแแชแแแก แแแแ , แ.แ. แแแ แแแแแฎแแแแก แแแแแก แชแแแแแแแแแ.
- แแ แแแแแแขแแแแ แแฌแงแแแ POST แแแแฎแแแแ แกแ-แแแแแแ. Trace ID แฃแแแ แแงแแก แแแแแแแแแแแแ แกแ-แแแ-แแแ.
- ...
แจแแแแจแแแ: แแแแแฏแ 4, แแแแแแแชแแแ แฃแแแ แแแฎแแก Istio-แก แแแแ แแแแแ แแ แแแฃแแ แกแแแแฃแ แแแ แแ แแแแแกแชแแก แแกแแแ แจแแแแแแ แแแแฎแแแแแแแ, แ แแแแ แช แแแฉแแแแแแแ แฅแแแแแ แแแชแแแฃแ แกแฃแ แแแแ:
(แ) แแกแขแแ แแแกแฃแฎแแกแแแแแแแแ แกแแแแฃแ แแแแก แแแแแแแแแแแแ; (B) แกแแ แแแกแแแ แแแกแฃแฎแแกแแแแแแแแ แแ แแแ แกแแแแฃแ แแแแ
แแกแขแแ แกแแแฃแจแแแก แฃแแแขแแก แแแฌแแแก แแแแแแแก, แ แแแแแ... แฌแแ แแแฅแแแแก แกแแแแฃแ แแแก แจแแแแแแแแแ แแแแฎแแแแแแแกแแแแก, แฅแแแแก แแฎแแ แกแแแแแแก แแแแแแฃแ แแแแ แแแแ แแแแงแแคแแแแแแจแ แแ แแแแแกแชแแแก แแแ. แแฃแแชแ, แกแแ แแแกแแแแก แจแแแแแ แกแแแแฃแ แแแแแ แแฃแจแแแแแก แแแ แแจแ, แกแ แฃแแ แแแแฎแแแแแก แแแแแแก แแแแแแ แแแแแแ แแแแ.
แแแกแแแแแแแกแฌแแแแแแแแ แจแแแแแแ แกแแแแฃแ แแแ:
x-request-id
x-b3-traceid
x-b3-spanid
x-b3-parentspanid
x-b3-sampled
x-b3-flags
x-ot-span-context
แแก แแ แแ แแก แ แแฃแแ แแแแชแแแ, แแแแ แแ แแแกแ แแแแฎแแ แชแแแแแแแก แแแแแ แขแแแแแ แฃแแแ แแ แกแแแแแก
แแแแแแแแแกแฌแแแแ, แ แแ Sentiment Analysis แแแแแแแชแแ แแฉแแแแแแก แแแแฎแแ แชแแแแแแแแก Flask, Spring แแ ASP.NET Core-แจแ.
แแฎแแ, แ แแชแ แฃแแแ แแแแแแแ, แ แแก แแแฆแแแ แงแฃแแแแแ (แแ แแแแฅแแแก แแแ แแแแ), แแแแแ แแแแแแฎแแแแ แแแ แจแ แฃแขแแก แแแแฃแกแขแแแแก, แฅแกแแแฃแ แ แขแ แแคแแแแก แแแ แแแแก, แฃแกแแคแ แแฎแแแแแก แแ แกแฎแแแก!
แฒจแแแแจแแแ. แแแ แแแแ: แแแแก แจแแกแแฎแแ แฌแแแแแแฎแแ Istio-แก แแแกแแแแแแก แจแแแแแ แแแฌแแแจแ Rinor Maloku-แแแ, แ แแแแแก แแแ แแแแแแแแช แฃแแฎแแแแก แแแแแแแแจแ แจแแแแแแแแแแแแ แฉแแแแก แแแแแแ. แแแแแฎแแแแแก (14 แแแ แขแ):
PS แแแแ แแแแแแแกแแแ
แแกแแแ แฌแแแแแแฎแแ แฉแแแแก แแแแแแ:
- "แฃแแ แฃแแแ แแแแ แแกแแ แแแกแแแก Istio-แกแแแ แแ แแแ":
แแแฌแแแ 2 (แแแ แจแ แฃแขแแแแชแแ, แแแซแ แแแแแก แแแแขแ แแแ) ,แแแฌแแแ 3 (แแแแแแขแแคแแแแชแแ แแ แแแขแแ แแแแชแแ) ; - ยซ
แแแแแฃแแขแ - แแกแฃแแฃแฅแ แกแแ แแแกแแก แแแแ Kubernetes-แแกแแแแก "; - ยซ
แ แ แแ แแก แกแแ แแแกแฃแแ แฅแกแแแ แแ แ แแขแแ แแญแแ แแแแ แแก [แแแแ แกแแ แแแกแแแแ แฆแ แฃแแแแแแแ แแแแแแแชแแแกแแแแก]? "; - ยซ
แแแฃแกแขแ แแ แแแฃแแ แแแแแแแแแแ แฅแกแแแจแ Kubernetes-แจแ. แแแฌแแแแแ 1 แแ 2 "; - ยซ
แ แแแแ แแฆแแแฉแแแ แแก แแแแ แแแแ แแแแฅแแแแก แแแแขแแแแแ แ แแฅ [แแฃแแแ แแแขแแกแจแ]? ".
แฌแงแแ แ: www.habr.com