เบซเบกเบฒเบโเปเบซเบโ. เปเบ.: เบเบฒเบซเบเปเบฒเบเบเบฒเบเบเปเบฅเบดเบเบฒเบเปเบเปเบเบฒเบเปเบเบฑเบเบเบฒเบเปเบเปเปเบเบเบตเปเบเปเบฝเบงเบเปเบญเบเปเบเปเบเบเบชเปเบฒเบเบเบทเปเบเบเบฒเบเบเบตเปเบเบฑเบเบชเบฐเปเบซเบกเบชเปเบฒเบฅเบฑเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบเบตเปเบเบฐเบเบดเบเบฑเบเบเบฒเบกเบชเบฐเบเบฒเบเบฑเบเบเบฐเบเบฐเบเปเบฒเบเบธเบฅเบฐเบเบฒเบ. เปเบเบเบฐเบเบฐเบเบตเป Istio เบญเบฒเบเบเบฐเบขเบนเปเปเบเบเบฒเบเบเบญเบเบเบฑเบเบงเบดเบชเบฐเบงเบฐเบเบญเบ DevOps เบซเบผเบฒเบเบเบปเบ, เบกเบฑเบเปเบเบฑเบเบเบฐเบฅเบดเบเบเบฐเบเบฑเบเปเบซเบกเปเบเบตเปเบเปเบญเบเบเปเบฒเบเบเบตเป, เปเบเบเบฐเบเบฐเบเบตเปเบกเบตเบเบงเบฒเบกเบชเบปเบกเบเบนเบเปเบเบเบเปเบฝเบงเบเบฑเบเบเบงเบฒเบกเบชเบฒเบกเบฒเบเบเบตเปเบกเบฑเบเบชเบฐเบซเบเบญเบ, เบญเบฒเบเบเบฐเบเปเบญเบเปเบเปเปเบงเบฅเบฒเบซเบผเบฒเบเปเบเบทเปเบญเปเบซเปเบเบธเปเบเปเบเบตเบเบเบฑเบ. เบงเบดเบชเบฐเบงเบฐเบเบญเบเปเบเบเบฅเบฐเบกเบฑเบ Rinor Maloku, เบเบนเปเบเบตเปเบฎเบฑเบเบเบดเบเบเบญเบเบเบญเบกเบเบดเบงเปเบเบตเปเบเบฑเบเบชเปเบฒเบฅเบฑเบเบฅเบนเบเบเปเบฒเบเบฐเบซเบเบฒเบเปเบซเบเปเบเบญเบเบเปเบฅเบดเบชเบฑเบเปเบเบฅเบฐเบเบปเบก Orange Networks, เปเบเปเบเบฝเบเบเบธเบเบญเบธเบเบฐเบเบญเบเบเบตเปเบเบตเปเบฅเบตเบเบเบตเปเบเปเบงเบเปเบซเปเบเปเบฒเบเบชเบฒเบกเบฒเบเปเบเบปเปเบฒเปเบเปเบ Istio เปเบเปเปเบงเปเบฅเบฐเปเบฅเบดเบเปเบเบดเปเบ. เบฅเบฒเบงเปเบฅเบตเปเบกเบเบปเปเบเปเบฅเบทเปเบญเบเบฅเบฒเบงเบเบฑเบเบชเบดเปเบเบเบตเป Istio เบชเบฒเบกเบฒเบเปเบฎเบฑเบเปเบเปเปเบเบเบเบปเปเบงเปเบเปเบฅเบฐเบงเบดเบเบตเบเบตเปเปเบเบปเปเบฒเบชเบฒเบกเบฒเบเปเบซเบฑเบเปเบเปเบขเปเบฒเบเปเบงเบงเบฒเบเปเบงเบเบเบฒเบเบญเบเปเบเบปเปเบฒเปเบญเบ.
เบญเบดเบเบดเปเบญ โ เปเบเบเบเบฒเบ Open Source เบเบฑเบเบเบฐเบเบฒเปเบเบเบเบฒเบเบฎเปเบงเบกเบกเบทเบเบฑเบเบเบตเบกเบเบฒเบเบเบฒเบ Google, IBM เปเบฅเบฐ Lyft. เบกเบฑเบเปเบเปเปเบเบเบงเบฒเบกเบชเบฑเบเบชเบปเบเบเบตเปเปเบเบตเบเบเบทเปเบเปเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบเบตเปเบญเบตเบเปเบชเป microservices, เปเบเบฑเปเบ:
- เบเบฒเบเบเบธเปเบกเบเบญเบเบเบฒเบเบเบฐเบฅเบฒเบเบญเบ: timeouts, retries, load balancing;
- เบเบงเบฒเบกเบเบญเบเปเบ: เบเบฒเบเบเบงเบเบชเบญเบเบเบนเปเปเบเปเบชเบธเบเบเปเบฒเบเปเบฅเบฐเบเบฒเบเบญเบฐเบเบธเบเบฒเบ;
- เบเบฒเบเบชเบฑเบเปเบเบเบเบฒเบ: เบเบดเบเบเบฒเบก, เบเบดเบเบเบฒเบก, เบเบฑเบเบเบถเบ.
เบเบฑเบเบซเบกเบปเบเปเบซเบผเบปเปเบฒเบเบตเปเบชเบฒเบกเบฒเบเปเบเปเปเบเปเบเปเปเบเบฅเบฐเบเบฑเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบ, เปเบเปเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบฒเบเบเปเบฅเบดเบเบฒเบเบเบญเบเบเปเบฒเบเบเบฐเบเปเปเปเบกเปเบ "เบเบธเบเบฅเบฐเบเบฒเบ". เบเบงเบฒเบกเบเบฐเบเบฒเบเบฒเบกเบเบดเปเบชเบเบเบฑเบเบซเบกเบปเบเปเบเบทเปเบญเปเบเปเปเบเบเบฑเบเบซเบฒเปเบซเบผเบปเปเบฒเบเบตเปเปเบกเปเบเปเบชเบเบเบฑเบเบเบฐเบเบฒเบเบญเบเบเบญเบเบเปเบฅเบดเบชเบฑเบเบเบตเปเบชเบฒเบกเบฒเบเบเบทเบเบเปเบฒเปเบเปเปเบเบเบเบปเบเบชเปเบฒเบฅเบฑเบเบกเบนเบเบเปเบฒเบเบธเบฅเบฐเบเบดเบ. เปเบซเปเปเบเบดเปเบเบเบปเบงเบขเปเบฒเบ:
เบเบนเปเบเบฑเบเบเบฒเบเปเบเบเบเบฒเบ: เบกเบฑเบเปเบเปเปเบงเบฅเบฒเบเบปเบเบเบฒเบเปเบเปเบเบทเปเบญเปเบเบตเปเบกเบเบธเบเบชเบปเบกเบเบฑเบเบเปเบฒเบเบถเบเบเปเบฒเปเบซเบฑเบ?
เบเบฑเบเบเบฑเบเบเบฐเบเบฒ: เบชเบญเบ sprints.MP: เบซเบเบฑเบ?.. เบกเบฑเบเปเบเบฑเบเบเบฝเบเปเบเป CRUD!
R: เบเบฒเบเปเบฎเบฑเบ CRUD เปเบกเปเบเบชเปเบงเบเบซเบเบถเปเบเบเบตเปเบเปเบฒเบ, เปเบเปเบเบงเบเปเบฎเบปเบฒเบเบฑเบเบเปเบญเบเบเบฒเบเบเบงเบเบชเบญเบเปเบฅเบฐเบญเบฐเบเบธเบเบฒเบเปเบซเปเบเบนเปเปเบเปเปเบฅเบฐเบเบฒเบเบเปเบฅเบดเบเบฒเบ. เปเบเบทเปเบญเบเบเบฒเบเปเบเบทเบญเบเปเบฒเบเบเปเปเบซเบเปเบฒเปเบเบทเปเบญเบเบท, เบเปเบฒเบเบเบฐเบเปเบญเบเบเบฐเบเบดเบเบฑเบเบเปเบฒเบฎเปเบญเบเบเปเบเปเปเบฒเบญเบตเบ, เปเบเบฑเปเบเบเบฝเบงเบเบฑเบเบเบฑเบเบฎเบนเบเปเบเบเบเบปเบงเบเบฑเบเบงเบปเบเบเบญเบ เปเบโเบฅเบนเบโเบเปเบฒโ. เบเบญเบเบเบฒเบเบเบตเป, เปเบเบทเปเบญเปเบซเปเปเบเปเปเบเบงเปเบฒเบฅเบฐเบเบปเบเบเบฑเบเบซเบกเบปเบเบเปเป crash, เบเปเบฒเบเบเบฐเบเปเบญเบเบเบฒเบเบซเบกเบปเบเปเบงเบฅเบฒเปเบฅเบฐเบเบฐเบฅเบดเบกเบฒเบ (เบชเปเบฒเบฅเบฑเบเบฅเบฒเบเบฅเบฐเบญเบฝเบเปเบเบตเปเบกเปเบเบตเบกเบเปเบฝเบงเบเบฑเบเบฎเบนเบเปเบเบเบเบตเปเปเบเปเบเปเบฒเบงเบกเบฒเบเบฑเบเบชเบญเบ, เปเบเบดเปเบเบเปเปเบกเบฒเปเบเบเบปเบเบเบงเบฒเบก - เบเบฐเบกเบฒเบ., เปเบฅเบฐโเปเบเบทเปเบญโเบเบงเบโเบชเบญเบโเบเบฑเบโเบซเบฒโ, เบเบฒเบโเบเบดเบโเบเบฒเบกโเบเบงเบโเบเบฒโ, เบเบฒเบโเบเบดเบโเบเบฒเบกโ, [โฆ]MP: เปเบญเปเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเปเบซเปเบเบฝเบเปเบเปเปเบชเปเบเบธเบเบชเบปเบกเบเบฑเบเบเบตเปเปเบเบปเปเบฒเปเบเปเบเบเบฒเบเบเปเบฅเบดเบเบฒเบเบเบฐเบฅเบดเบเบเบฐเบเบฑเบ.
เบเปเบฒเบเบฐเปเบเบปเปเบฒเบเบดเบเบงเปเบฒเบเบงเบฒเบกเบเบดเบเปเบกเปเบเบเบฐเปเบเปเบ: เบเปเบฒเบเบงเบเบเบฑเปเบเบเบญเบเปเบฅเบฐเบเบงเบฒเบกเบเบฐเบเบฒเบเบฒเบกเบเบตเปเบเปเบญเบเบเบฒเบเปเบเบทเปเบญเปเบเบตเปเบกเบเบฒเบเบเปเบฅเบดเบเบฒเบเบซเบเบถเปเบเปเบกเปเบเปเบซเบเปเบซเบผเบงเบ. เปเบเบเบปเบเบเบงเบฒเบกเบเบตเป, เบเบงเบเปเบฎเบปเบฒเบเบฐเปเบเบดเปเบเบงเบดเบเบตเบเบฒเบ Istio เบเปเบฒเบเบฑเบเบเบงเบฒเบกเบชเบฑเบเบชเบปเบเบเบฑเบเบซเบกเบปเบเบเบตเปเปเบเปเบเปเบฒเบงเบกเบฒเบเปเบฒเบเปเบเบดเบ (เบเบตเปเบเปเปเปเบเปเบกเบตเบเบธเบเบเบฐเบชเบปเบเปเบเบฑเบเปเบซเบเบเบปเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบ) เบเบฒเบเบเบฒเบเบเปเบฅเบดเบเบฒเบ.
ะัะธะผะตัะฐะฝะธะต: เบเบปเบเบเบงเบฒเบกเบเบตเปเบชเบปเบกเบกเบธเบเบงเปเบฒเบเปเบฒเบเบกเบตเบเบงเบฒเบกเบฎเบนเปเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบญเบ Kubernetes. เบเปเบฒเบเปเปเบเบฑเปเบเบเบฑเปเบ, เบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเบฐเบเปเบฒเปเบซเปเบญเปเบฒเบ
เบเบงเบฒเบกเบเบดเบ
เปเบเปเบฅเบเบเบตเปเบเปเปเบกเบต Istio, เบเบฒเบเบเปเบฅเบดเบเบฒเบเบซเบเบถเปเบเปเบฎเบฑเบเปเบซเปเบเบฒเบเบฎเปเบญเบเบเปเปเบเบเบเบปเบเบเบฑเบเบเบปเบเบญเบทเปเบ, เปเบฅเบฐเปเบเบเปเบฅเบฐเบเบตเบเบญเบเบเบงเบฒเบกเบฅเบปเปเบกเปเบซเบผเบง, เบเปเบฅเบดเบเบฒเบเบเปเบญเบเบเบฑเบเบเบฒเบเบเบฑเบเบกเบฑเบเปเบญเบ: เบเบฐเบเบฒเบเบฒเบกเปเบซเบกเป, เบชเบฐเบซเบเบญเบเบเบฒเบเบซเบกเบปเบเปเบงเบฅเบฒ, เปเบเบตเบ breaker เบงเบปเบเบเบญเบ, เปเบฅเบฐเบญเบทเปเบเป.
เบเบฒเบเบเบฐเบฅเบฒเบเบญเบเปเบเบทเบญเบเปเบฒเบเปเบ Kubernetes
Istio เบชเบฐเปเบซเบเบตเบเบฒเบเปเบเปเปเบเบเบดเปเบชเบ, เปเบเบเบญเบญเบเบเบฒเบเบเบฒเบเบเปเบฅเบดเบเบฒเบเปเบฅเบฐเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเปเบเบเบเบฒเบเปเบเบเปเบเบเปเบเบเบฒเบเบชเบทเปเบชเบฒเบเปเบเบทเบญเบเปเบฒเบ. เปเบฅเบฐเบเบฑเปเบเบเบฑเปเบเบกเบฑเบเบเบฐเบเบดเบเบฑเบ:
- เบเบงเบฒเบกโเบเบปเบโเบเบฒเบโเบเบงเบฒเบกโเบเบดเบโเบเบฒเบโ: เบญเบตเบเบเบฒเบกเบฅเบฐเบซเบฑเบเบชเบฐเบเบฒเบเบฐเปเบเบเบฒเบเบเบญเบเบชเบฐเบซเบเบญเบ, เบกเบฑเบเปเบเบปเปเบฒเปเบเบงเปเบฒเบเบฒเบเบฎเปเบญเบเบเปเบฅเบปเปเบกเปเบซเบฅเบงเปเบฅเบฐเบเปเบฒเปเบเบตเบเบเบฒเบเบเบทเบเปเบซเบกเป.
- Canary rollouts: redirects เบเบฝเบเปเบเปเบญเบฑเบเบเบฒเบชเปเบงเบเบเบปเบเบเบตเปเบเบญเบเบเบฒเบเบฎเปเบญเบเบเปเบเบฑเบเบชเบฐเบเบฑเบเปเบซเบกเปเบเบญเบเบเบฒเบเบเปเบฅเบดเบเบฒเบ.
- เบเบฒเบเบเบดเบเบเบฒเบกเปเบฅเบฐเบเบฒเบเบงเบฑเบเปเบเบ: เบกเบฑเบเปเบเปเปเบงเบฅเบฒเบเบปเบเบเบฒเบเปเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเปเบฅเบดเบเบฒเบเปเบเบทเปเบญเบเบญเบเบชเบฐเบซเบเบญเบ?
- เบเบฒเบเบเบดเบเบเบฒเบกเปเบฅเบฐเบเบฒเบเบชเบฑเบเปเบเบเบเบฒเบ: เปเบเบตเปเบกเบชเปเบงเบเบซเบปเบงเบเบดเปเบชเบเปเบชเปเปเบเปเบฅเบฐเบเบณเบฎเปเบญเบเบเป เปเบฅเบฐเบเบดเบเบเบฒเบกเบเบงเบเบกเบฑเบเปเบเบเบปเปเบงเบเบธเปเบก.
- เบเบงเบฒเบกเบเบญเบเปเบ: เบเบถเบเบเปเปเบกเบนเบ JWT token, เบขเบทเบเบขเบฑเบ เปเบฅเบฐเบญเบฐเบเบธเบเบฒเบเปเบซเปเบเบนเปเปเบเป.
เปเบซเบผเบปเปเบฒเบเบตเปเปเบกเปเบเบเบฝเบเปเบเปเบเบงเบฒเบกเปเบเบฑเบเปเบเปเบเปเบเปเบฒเบเบงเบเบซเบเปเบญเบ (เบเบฝเบเปเบเปเบเปเบฒเบเบงเบเบซเบเปเบญเบเบซเบเบถเปเบ!) เปเบเบทเปเบญ intrigue เบเปเบฒเบ. เบเบญเบเบเบตเปเปเบซเปเบเบงเบเปเบฎเบปเบฒเปเบเบปเปเบฒเปเบเปเบเบฅเบฒเบเบฅเบฐเบญเบฝเบเบเปเบฒเบเบงเบดเบเบฒเบเบฒเบ!
เบชเบฐเบเบฒเบเบฑเบเบเบฐเบเบฐเบเปเบฒ
Istio เบเบฑเบเบเบงเบฒเบเบเบฒเบเบชเบฑเบเบเบญเบเปเบเปเบเบทเบญเบเปเบฒเบเบเบฑเบเบซเบกเบปเบเปเบฅเบฐเบเปเบฒเปเบเปเบเบปเบเบฅเบฐเบเบฝเบเบเบตเปเบเปเบฒเบเบปเบเปเบงเปเบเบฑเบเบกเบฑเบ, เปเบชเปเบเบปเบงเปเบเบ smart เปเบเบฎเบนเบเปเบเบเบเบญเบเบเบฑเบ sidecar เปเบเบปเปเบฒเปเบเปเบเปเบเปเบฅเบฐเบเบฑเบ. เบเบปเบงเปเบเบเบเบตเปเปเบเบตเบเปเบเปเบเบงเบฒเบกเบชเบฒเบกเบฒเบเบเบฑเบเปเบปเบเบเบฐเบเบญเบเปเบเบฑเบ a เบเบปเบเบเปเปเบกเบนเบ, เปเบฅเบฐเบเบงเบเปเบเบปเบฒเบชเบฒเบกเบฒเบเบเบทเบเบเบฑเปเบเบเปเบฒเปเบเบเปเบเบทเปเบญเบเปเบซเบงเปเบเบเปเบเป เบเบปเบเบเบงเบเบเบธเบก.
เบเบปเบเบเปเปเบกเบนเบ
เบเบปเบงเปเบเบเบเบตเปเปเบชเปเปเบเบปเปเบฒเปเบเปเบเบเบฑเบเปเบฎเบฑเบเปเบซเป Istio เบชเบฒเบกเบฒเบเบเบญเบเบชเบฐเบซเบเบญเบเบเบงเบฒเบกเบเปเบญเบเบเบฒเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเปเบญเบเบเบฒเบเปเบเปเบขเปเบฒเบเบเปเบฒเบเบเบฒเบ. เบเบปเบงเบขเปเบฒเบ, เปเบซเปเบเบงเบเปเบเบดเปเบเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบญเบ breaker เปเบฅเบฐเบงเบปเบเบเบญเบ retry.
เบงเบดเบเบต retry เปเบฅเบฐ breaking circuit เบเบทเบเบเบฐเบเบดเบเบฑเบเบขเบนเปเปเบ Envoy
เปเบเบทเปเบญเบชเบฐเบซเบผเบธเบ:
- เบเบนเบเบเบดเปเบชเบ (เบเบงเบเปเบฎเบปเบฒเบเปเบฒเบฅเบฑเบเปเบงเบปเปเบฒเบเปเบฝเบงเบเบฑเบเบเบปเบงเปเบเบเบเบตเปเบเบฑเปเบเบขเบนเปเปเบเบเบฑเบ sidecar, เปเบเบดเปเบเบเบทเบเปเบเบเบขเบฒเบเปเบเบฑเบ
เบเบฐโเบฅเบดเบโเบเบฐโเบเบฑเบโเปเบเบโเบเปเบฒเบโเบซเบฒเบโ โ เบเบฐโเบกเบฒเบโ. เปเบ.) เบชเบปเปเบเบเปเบฒเบฎเปเบญเบเบเปเปเบเบซเบฒเบเบปเบงเบขเปเบฒเบเบเปเบฒเบญเบดเบเบเบญเบเบเบฒเบเบเปเบฅเบดเบเบฒเบ B เปเบฅเบฐเบฅเบปเปเบกเปเบซเบฅเบง. - Envoy Sidecar เบเบฐเบเบฒเบเบฒเบกเบญเบตเบเปเบเบทเปเบญเบซเบเบถเปเบ (เบฅเบญเบเปเปเป). (1โ)
- เบเบฒเบเบฎเปเบญเบเบเปเบฅเบปเปเบกเปเบซเบฅเบงเปเบฅเบฐเบเบทเบเบชเบปเปเบเบเบทเบเปเบเบซเบฒเบเบปเบงเปเบเบเบเบตเปเปเบญเบตเปเบเบกเบฑเบ.
- เบเบตเปเปเบเบตเบ Circuit Breaker เปเบฅเบฐเปเบเบซเบฒเบเบฒเบเบเปเบฅเบดเบเบฒเบเบเปเปเปเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบฎเปเบญเบเบเปเบเปเปเปเบ. (2โ)
เบเบตเปเบซเบกเบฒเบเบเบงเบฒเบกเบงเปเบฒเบเปเบฒเบเบเปเปเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบเปเบซเปเบญเบเบชเบฐเบซเบกเบธเบ Retry เบญเบทเปเบ, เบเปเบฒเบเบเปเปเบเปเบฒเปเบเบฑเบเบเปเบญเบเบเบฐเบเบดเบเบฑเบเบเบปเบงเบเบญเบเบเปเบฒเบเปเบญเบเบเบญเบ Circuit Breaking เปเบฅเบฐ Service Discovery เปเบเบเบฒเบชเบฒเบเบฒเบเบเบฝเบเปเบเบฅเปเบเบฅเบก X, Y เบซเบผเบท Z. เบเบฑเบเบซเบกเบปเบเบเบตเปเปเบฅเบฐเบซเบผเบฒเบเบกเบตเบขเบนเปเปเบเบเปเบญเบ. เปเบ Istio เปเบฅเบฐเบเปเปเบเปเบญเบเบเบฒเบ เบซเบเบฑเบเบชเบท เบเบฒเบเบเปเบฝเบเปเบเบเปเบเบฅเบฐเบซเบฑเบ.
เบเบดเปเบเปเบซเบเป! เปเบเบเบฑเบเบเบธเบเบฑเบเบเปเบฒเบเบญเบฒเบเบเบฐเบเปเบญเบเบเบฒเบเบเบตเปเบเบฐเปเบเปเบเบตเบเบเบฒเบเบเบฑเบ Istio, เปเบเปเบเปเบฒเบเบเบฑเบเบกเบตเบเบงเบฒเบกเบชเบปเบเปเบชเบเบฒเบ, เบเปเบฒเบเบฒเบกเปเบเบตเบ. เบเปเบฒเบซเบฒเบเบงเปเบฒเบเบตเปเปเบกเปเบเบเบฒเบเปเบเปเปเบเบเบปเปเบงเปเบเบชเปเบฒเบฅเบฑเบเบเบธเบเปเปเบญเบเบฒเบเปเบเบเบตเบงเบดเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ, เบเปเบฒเบเบกเบตเบเบงเบฒเบกเบชเบปเบเปเบชเปเบเบเปเบฒเบกเบฐเบเบฒเบ: เบซเบผเบฑเบเบเบฒเบเบเบตเปเบเบฑเบเบซเบกเบปเบ, เบเบฒเบเปเบเปเปเบเบเบฑเบเบซเบกเบปเบเบเบฑเปเบเบเปเบฒเบงเปเบเบเบงเบฒเบกเปเบเบฑเบเบเบดเบเปเบฅเปเบงเบเปเปเปเบซเบกเบฒเบฐเบชเบปเบกเบเบฑเบเบเปเบฅเบฐเบเบตเปเบเบเปเปเบเบฒเบก.
เปเบฅเบฐเบชเบธเบเบเปเบฒเบเบเปเบฒเบเบเบฒเบกเบงเปเบฒ: "เบกเบฑเบเบชเบฒเบกเบฒเบเบเบฑเบเปเบเปเบเปเบเปเบเป?"
เบเบฝเบงเบเบตเปเปเบเบปเปเบฒเบเปเบญเบกเปเบฅเปเบงเบชเบณเบฅเบฑเบเบเบฒเบเปเบเบตเบเบเบฒเบเบเบฐเปเบฅ, เปเบซเปเปเบฎเบปเบฒเบฎเบนเปเบเบฑเบเบเบฑเบเบเบปเบเบเบงเบเบเบธเบก.
เบเบปเบเบเบงเบเบเบธเบก
เบกเบฑเบโเบเบฐโเบเบญเบโเบเปเบงเบโเบชเบฒเบกโเบญเบปเบโเบเบฐโเบเบญเบโ: เบเบฒเบเบเบปเบเบฅเบญเบ, mixer ะธ Citadel, เปเบเบดเปเบเปเบฎเบฑเบเบงเบฝเบเบฎเปเบงเบกเบเบฑเบเปเบเบทเปเบญเบเปเบฒเบซเบเบปเบเบเปเบฒ Envoys เปเบเปเบชเบฑเปเบเบเบฒเบเบเบฒเบเบเบฐเบฅเบฒเบเบญเบ, เบเบฑเบเบเบฑเบเปเบเปเบเบฐเปเบเบเบฒเบ, เปเบฅเบฐเปเบเบฑเบเบเปเบฒเบเปเปเบกเบนเบ telemetry. เปเบเบโเบชเบฐโเบเบดโเบเบดโเบกเบฑเบโเบเบฑเบโเบซเบกเบปเบโเบเปเบฒเบโเบเบทโเบเบตเปโ:
เบเบฒเบเปเบเปเบเบญเบเบเบญเบเบเบปเบเบเบงเบเบเบธเบกเบเบฑเบเบเบปเบเบเปเปเบกเบนเบ
เบเบนเบ (เปเบเบฑเปเบ: เบเบปเบเบเปเปเบกเบนเบ) เบเบทเบเบเบฑเปเบเบเปเบฒเปเบเบเปเบเป
เบเบงเบฒเบกเบชเปเบฒเบเบฑเบเบเบญเบเบเบฒเบเบเปเบฅเบดเบเบฒเบเบเบฑเบ Istio
เบเบงเบเปเบฎเบปเบฒเปเบเปเบญเบฐเบเบดเบเบฒเบเบเบงเบฒเบกเบชเปเบฒเบเบฑเบเบเบญเบ Istio เบเบฑเบเบเบฒเบเบเปเบฅเบดเบเบฒเบ, เปเบเปเบเปเปเปเบกเปเบเบชเบดเปเบเบเบปเบเบเบฑเบเบเปเบฒเบก: เบเบฒเบเบเปเบฅเบดเบเบฒเบเบเปเบฝเบงเบเปเบญเบเบเบฑเบ Istio เปเบเบงเปเบ?
เบเปเบงเบเบเบงเบฒเบกเบเบทเปเบชเบฑเบ, เบเบฒเบเบเปเบฅเบดเบเบฒเบเบฎเบฑเบเบฎเบนเปเปเบเบดเบเบเบฒเบเบเบฐเบเบปเบเบเบปเบงเบเบญเบ Istio เบเปเบญเบเบงเปเบฒเบเบฒเบกเบตเบเปเปเบฒเปเบกเบทเปเบญเบเบงเบเปเบเบปเบฒเบเบฒเบกเบเบปเบงเปเบญเบเบงเปเบฒ "เบเปเปเบฒเปเบกเปเบเบซเบเบฑเบ?"
เบเบฒเบเบเบฐเบเบญเบ
เบเบฑเปเบเบเบฑเปเบ, เบเปเบฒเบเบชเบฒเบกเบฒเบเปเบญเบปเบฒเบเบธเปเบกเบเบตเปเปเบฎเบฑเบเบงเบฝเบเปเบฅเบฐเบซเบผเบฑเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบญเบปเบเบเบฐเบเบญเบ Istio, เบเบฒเบเบเปเบฅเบดเบเบฒเบเบเบตเปเบขเบนเปเปเบเบกเบฑเบเบเบฐเบชเบทเบเบเปเปเปเบฎเบฑเบเบงเบฝเบ, เปเบฅเบฐเบซเบผเบฑเบเบเบฒเบเบเบญเบเบญเบปเบเบเบฐเบเบญเบเปเบซเบผเบปเปเบฒเบเบตเป, เบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบเบเบฐเบเบตเบญเบตเบเปเบเบทเปเบญเบซเบเบถเปเบ. เบกเบฑเบเปเบเบฑเบเบเบตเปเบเบฑเบเปเบเบเบงเปเบฒเปเบเบเปเบฅเบฐเบเบตเบเบตเปเบเปเบฒเบเบเบฐเบชเบนเบเปเบชเบเบเบงเบฒเบกเบชเบฒเบกเบฒเบเบเบตเปเบชเบฐเบซเบเบญเบเปเบซเปเปเบเบ Istio.
เบเบดเบเบชเบฐเบเบตเบเบฝเบเบเป - เปเบซเปเบเบงเบเปเบฎเบปเบฒเปเบญเบปเบฒเบเบงเบฒเบกเบฎเบนเปเบเบตเปเปเบเบปเปเบฒเปเบเปเบเบเบฒเบเบเบฐเบเบดเบเบฑเบ!
เบกเบฑเบเบขเบนเปเปเบเบเบฒเบเบเบฐเบเบดเบเบฑเบ
Istio เบเปเบญเบเบเบฒเบเบเบธเปเบก Kubernetes เบเบตเปเบกเบตเบขเปเบฒเบเปเปเบญเบ 4 vCPUs เปเบฅเบฐ RAM 8 GB. เปเบเบทเปเบญเบเบฑเปเบเบเปเบฒเบเบธเปเบกเบขเปเบฒเบเบงเปเบญเบเปเบงเปเบฅเบฐเบเบฐเบเบดเบเบฑเบเบเบฒเบกเบเปเบฒเปเบเบฐเบเปเบฒเบเบฒเบเบเบปเบเบเบงเบฒเบก, เบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเบฐเบเปเบฒเปเบซเปเปเบเป Google Cloud Platform, เปเบเบดเปเบเบชเบฐเปเบซเบเบตเปเบซเปเบเบนเปเปเบเปเปเบซเบกเป.
เบซเบผเบฑเบเบเบฒเบเบเบฒเบเบชเปเบฒเบเบเบธเปเบก เปเบฅเบฐเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบฒเบเปเบเบปเปเบฒเปเบเบดเบ Kubernetes เบเปเบฒเบ console utility, เบเปเบฒเบเบชเบฒเบกเบฒเบเบเบดเบเบเบฑเปเบ Istio เบเปเบฒเบ Helm package manager.
เบเบฒเบเบเบดเบเบเบฑเปเบเบซเบกเบงเบเบเบฑเบเบเบฐเบเบปเบ
เบเบดเบเบเบฑเปเบเบฅเบนเบเบเปเบฒเบ Helm เปเบเบเบญเบกเบเบดเบงเปเบเบตเบเบญเบเบเปเบฒเบ, เบเบฑเปเบเบเบตเปเบญเบฐเบเบดเบเบฒเบเปเบงเปเปเบ
เบเบฒเบเบเบดเบเบเบฑเปเบ Istio
เบเบฒเบงเปเบซเบฅเบเบเบฑเบเบเบฐเบเบฒเบเบญเบ Istio เบเบฒเบ [istio-resources]
.
เปเบเบทเปเบญเบเปเบฒเบเบปเบเบเบฑเบเบเบฐเบเบฒเบเบญเบ Istio เปเบเปเบขเปเบฒเบเบเปเบฒเบเบเบฒเบ, เบชเปเบฒเบ namespace เปเบเบเบธเปเบก 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 เปเบเบเบธเปเบกเปเบกเปเบเบชเปเบฒเปเบฅเบฑเบ! เบฅเปเบเปเบฒเบเบปเบเบเปเบงเบฒเบเบฑเบเบเบฑเบเบซเบกเบปเบเบขเบนเปเปเบ namespace istio-system
เบเบฐเบชเบฒเบกเบฒเบ Running
เบซเบผเบท Completed
เปเบเบเบเปเบฒเปเบเบตเบเบเบฒเบเบเปเบฒเบชเบฑเปเบเบเปเบฒเบเบฅเบธเปเบกเบเบตเป:
$ kubectl get pods -n istio-system
เบเบญเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเปเบญเบกเบเบตเปเบเบฐเบชเบทเบเบเปเปเปเบเบเบฒเบเบเปเปเปเบ, เบเปเบญเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเบฐเปเบเปเบฎเบฑเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเปเบฅเบฐเบเปเบฒเปเบเบตเบเบเบฒเบ.
เบชเบฐเบเบฒเบเบฑเบเบเบฐเบเบฐเบเปเบฒเบเบญเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบเบฒเบเบงเบดเปเบเบฒเบฐเบเบงเบฒเบกเบฎเบนเปเบชเบถเบ
เปเบซเปเปเบเปเบเบปเบงเบขเปเบฒเบเบเบญเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบ microservice เบเบฒเบเบงเบดเปเบเบฒเบฐเบเบงเบฒเบกเบฎเบนเปเบชเบถเบเบเบตเปเปเบเปเปเบเบเบตเปเปเบเปเบเปเบฒเบงเบกเบฒเปเบฅเปเบง
เบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบเบฐเบเบญเบเบเปเบงเบเบชเบตเป microservices:
- เบเบฒเบเบเปเบฅเบดเบเบฒเบ SA-Fronten, เปเบเบดเปเบเปเบซเปเบเปเบฅเบดเบเบฒเบเบเปเบฒเบเบซเบเปเบฒเบเบญเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบ Reactjs;
- เบเบฒเบเบเปเบฅเบดเบเบฒเบ SA-WebApp, เปเบเบดเปเบเปเบซเปเบเปเบฅเบดเบเบฒเบเบเปเบฒเบเบฒเบกเบเบฒเบเบงเบดเปเบเบฒเบฐเบเบงเบฒเบกเบฎเบนเปเบชเบถเบ;
- เบเบฒเบเบเปเบฅเบดเบเบฒเบ SA-Logic, เปเบเบดเปเบเบเบฐเบเบดเบเบฑเบเบเบปเบงเบเบญเบเบกเบฑเบเปเบญเบ
เบเบฒเบเบงเบดเปเบเบฒเบฐเบเบงเบฒเบกเบฎเบนเปเบชเบถเบ ; - เบเบฒเบเบเปเบฅเบดเบเบฒเบ SA-เบเปเบฒเบเบดเบเบปเบก, เปเบเบดเปเบเปเบเปเบฎเบฑเบเบเปเบฒเบเบถเบเบเปเบฒเปเบซเบฑเบเบเบฒเบเบเบนเปเปเบเปเบเปเบฝเบงเบเบฑเบเบเบงเบฒเบกเบเบทเบเบเปเบญเบเบเบญเบเบเบฒเบเบงเบดเปเบเบฒเบฐ.
เปเบเปเบเบเบงเบฒเบเบเบตเป, เบเบญเบเปเบซเบเบทเบญเบเบฒเบเบเบฒเบเบเปเบฅเบดเบเบฒเบ, เบเบงเบเปเบฎเบปเบฒเบเบฑเบเปเบซเบฑเบ Ingress Controller, เปเบเบดเปเบเปเบ Kubernetes เบชเบปเปเบเปเบชเบฑเปเบเบเบฒเบเบเบฒเบเบฎเปเบญเบเบเปเปเบเบปเปเบฒเบกเบฒเปเบเบซเบฒเบเบฒเบเบเปเบฅเบดเบเบฒเบเบเบตเปเปเบซเบกเบฒเบฐเบชเบปเบก. Istio เปเบเปเปเบเบงเบเบงเบฒเบกเบเบดเบเบเบตเปเบเปเบฒเบเบเบทเบเบฑเบเบเบฒเบเปเบ Ingress Gateway เบเบญเบเบกเบฑเบ, เบฅเบฒเบเบฅเบฐเบญเบฝเบเปเบเบตเปเบกเปเบเบตเบกเบเบฐเบเบฐเบเบดเบเบฑเบเบเบฒเบก.
เปเบฅเปเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเบเปเบงเบเบเบปเบงเปเบเบเบเบฒเบ Istio
เบชเปเบฒเบฅเบฑเบเบเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบเปเบเบตเปเบกเปเบเบตเบกเบเบตเปเปเบเปเบเปเบฒเบงเบกเบฒเปเบเบเบปเบเบเบงเบฒเบก, clone repository เบเบญเบเบเปเบฒเบ
เปเบชเปเบฅเบปเบเบเปเบฒเบ
เบเบฒเบเปเบเบเปเบกเปเบเบชเบฒเบกเบฒเบเปเบฎเบฑเบเปเบเป เบญเบฑเบเบเบฐเปเบเบกเบฑเบ เบซเบผเบท เบเปเบงเบเบเบปเบเปเบญเบ. เปเบเบทเปเบญเปเบชเปเบเบนเปเบเบญเบเปเบเบเปเบเบต sidecar เปเบเบเบญเบฑเบเบเบฐเปเบเบกเบฑเบ, เบเปเบฒเบเบเบฐเบเปเบญเบเบเบฑเปเบเบเปเบฒเบเบเบทเปเปเบชเปเบเบทเป istio-injection=enabled
, เปเบเบดเปเบเปเบฎเบฑเบเบเปเบงเบเบเปเบฒเบชเบฑเปเบเบเปเปเปเบเบเบตเป:
$ kubectl label namespace default istio-injection=enabled
namespace/default labeled
เปเบเบเบฑเบเบเบธเบเบฑเบเปเบเปเบฅเบฐเบเบฑเบเบเบตเปเบเบฐเบเบทเบเบเปเบฒเปเบเปเปเบ namespace เปเบฅเบตเปเบกเบเบปเปเบ (default
) เบเบฐโเปเบเปโเบฎเบฑเบโเบเบฒโเบเบฐโเบเบฐ sidecar เบเบญเบโเบเบปเบโ. เปเบเบทเปเบญเบเบงเบเบชเบญเบเบเบตเป, เปเบซเปเปเบเปเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบเบฒเบเบเบปเบเบชเบญเบเปเบเบเบเบฒเบเปเบเบเบตเปเปเบเปเบฅเบเบฐเบเปเบฅเบตเบฎเบฒเบเบเบญเบ repository [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
เบชเบฒเบเบเบฒเบกเบฑเบเปเบเบดเปเบเบเบทเบงเปเบฒเบเบตเป:
เบเบปเบงเปเบเบเบเบปเบงเปเบเบเปเบเปเบถเปเบเปเบเบเบฑเบ
เปเบเบเบฑเบเบเบธเบเบฑเบเบเบตเปเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเปเบกเปเบเบเบถเปเบเปเบฅเบฐเปเบฅเปเบ, เบเบงเบเปเบฎเบปเบฒเบเบฐเบเปเบญเบเบญเบฐเบเบธเบเบฒเบเปเบซเปเบเบฒเบเบเบฐเบฅเบฒเบเบญเบเปเบเบปเปเบฒเบกเบฒเปเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบ.
เบเบฐเบเบนเบเบฒเบเปเบเบปเปเบฒ
เบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบตเปเบเบตเบเบตเปเบชเบธเบเปเบเบทเปเบญเบเบฑเบเบฅเบธเบเบตเป (เบญเบฐเบเบธเบเบฒเบเปเบซเปเบเบฒเบเบเบฐเบฅเบฒเบเบญเบเปเบเบเบธเปเบก) เปเบกเปเบเบเปเบฒเบ เบเบฐเบเบนเบเบฒเบเปเบเบปเปเบฒ เปเบ 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 เบเบตเปเบเปเบฒเบเบเบปเบงเบเปเบญเบเปเบงเบฑเบเปเบเบเบฑเบเบเบธเบเบฑเบ, เบเปเบฒเบเบเบฐเปเบเปเบฎเบฑเบเบเบงเบฒเบกเบเบดเบเบเบฒเบเบเบฒเบเบเปเบฅเบดเบเบฒเบเบเบตเปเบเปเปเบชเบฒเบกเบฒเบเปเบเปเปเบเป, เปเบเบฒเบฐเบงเปเบฒ เปเบเบเบเปเบฒเปเบฅเบตเปเบกเบเบปเปเบ Istio เบเบฑเบเบเบงเบฒเบเบเบฒเบเบเบฐเบฅเบฒเบเบญเบเบเบฒเปเบเบปเปเบฒเบเบฑเบเบซเบกเบปเบ, Gateway เบเบฑเบเบเปเปเบเบฑเบเปเบเปเบเปเบฒเบเบปเบ.
เบเบฑเบเบเบฐเบเบฒเบเบญเบเบเบฐเบเบน
Gateway เปเบเบฑเบ CRD (Custom Resource Definition) เปเบ Kubernetes, เบเปเบฒเบเบปเบเบซเบผเบฑเบเบเบฒเบเบเบฒเบเบเบดเบเบเบฑเปเบ Istio เปเบ cluster เปเบฅเบฐเปเบฎเบฑเบเปเบซเปเบเบงเบฒเบกเบชเบฒเบกเบฒเบเปเบเบเบฒเบเบฅเบฐเบเบธเบเบญเบ, เปเบเปเบเบเบญเบเปเบฅเบฐเปเบฎเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเปเบญเบเบเบฒเบเบญเบฐเบเบธเบเบฒเบเปเบซเปเบเบฒเบเบเบฐเบฅเบฒเบเบญเบเปเบเบปเปเบฒเบกเบฒ.
เปเบเบเปเบฅเบฐเบเบตเบเบญเบเบเบงเบเปเบฎเบปเบฒ, เบเบงเบเปเบฎเบปเบฒเบเปเบญเบเบเบฒเบเบญเบฐเบเบธเบเบฒเบเปเบซเปเบเบฒเบเบเบฐเบฅเบฒเบเบญเบ 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, เปเบเบดเปเบเบเบทเบเบเบดเบเบเบฑเปเบเปเบเบเบเปเบฒเปเบฅเบตเปเบกเบเบปเปเบเปเบ Istio.
เบเบฒเบเบเบฑเปเบเบเปเบฒเบเบทเบเบเบณเปเบเปเปเบเบเบเบฒเบเปเบญเบตเปเบเบเบณเบชเบฑเปเบเบเปเปเปเบเบเบตเป:
$ kubectl apply -f resource-manifests/istio/http-gateway.yaml gateway.networking.istio.io/http-gateway created
เบเบญเบเบเบตเปเบเบฐเบเบนเบเบฒเบเบญเบฐเบเบธเบเบฒเบเปเบซเปเปเบเบปเปเบฒเปเบเบดเบเบเบญเบ 80, เปเบเปเบเปเปเบฎเบนเปเบงเปเบฒเบเบฐเบชเบปเปเบเปเบชเบฑเปเบเบเบฒเบเบเบฒเบเบฎเปเบญเบเบเปเปเบเปเบช. เบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบตเปเบเปเบฒเบเบเบฐเบเปเบญเบเบเบฒเบ เบเบฒเบเบเปเบฅเบดเบเบฒเบเบชเบฐเปเบทเบญเบเบเบดเบ.
เบเบฑเบเบเบฐเบเบฒเบเบญเบ VirtualService
VirtualService เบเบญเบ Ingress Gateway เบงเบดเบเบตเบเบฒเบเบชเบปเปเบเปเบชเบฑเปเบเบเบฒเบเบเบฒเบเบฎเปเบญเบเบเปเบเบตเปเปเบเปเบฎเบฑเบเบญเบฐเบเบธเบเบฒเบเบเบฒเบเปเบเบเบธเปเบก.
เบเบฒเบเบฎเปเบญเบเบเปเบเปเปเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบเบญเบเบเบงเบเปเบฎเบปเบฒเบเบตเปเปเบเบปเปเบฒเบกเบฒเปเบเบเบเปเบฒเบ http-gateway เบเปเบญเบเบเบทเบเบชเบปเปเบเปเบเบซเบฒเบเบฒเบเบเปเบฅเบดเบเบฒเบ sa-frontend, sa-web-app เปเบฅเบฐ sa-feedback:
เปเบชเบฑเปเบเบเบฒเบเบเบตเปเบเปเบญเบเปเบเปเบฎเบฑเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบเปเบงเบ VirtualServices
เปเบซเปเปเบเบดเปเบเบเปเบฒเบฎเปเบญเบเบเปเบเบตเปเบเบงเบเบเบฐเบเบทเบเบชเบปเปเบเปเบเบซเบฒ SA-Frontend:
- เบเบปเบเบเบฑเบเปเบเปเบเบฒเบกเบเบฒเบ
/
เบเบงเบเบเบฐเบเบทเบเบชเบปเปเบเปเบเบซเบฒ SA-Frontend เปเบเบทเปเบญเปเบซเปเปเบเปเบฎเบฑเบ index.html; - เปเบชเบฑเปเบเบเบฒเบเบฅเปเบงเบเปเปเบฒ
/static/*
เบเปเบญเบเบเบทเบเบชเบปเปเบเปเบเบซเบฒ SA-Frontend เปเบเบทเปเบญเบฎเบฑเบเปเบเบฅเปเบชเบฐเบเบดเบเบเบตเปเปเบเปเปเบ 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) ะะฐะถะฝัะต ะผะพะผะตะฝัั:
ะัะธะผะตัะฐะฝะธะต: ะะพะฝัะธะณััะฐัะธั ะฒััะต ั ัะฐะฝะธััั ะฒ ัะฐะนะปะต
- ะญัะพั VirtualService ะพัะฝะพัะธััั ะบ ะทะฐะฟัะพัะฐะผ, ะฟัะธั ะพะดััะธะผ ัะตัะตะท http-gateway;
- ะ
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 Server ัะพะทะดะฐัั ัะพะฑััะธะต, ะบะพัะพัะพะต ะฟะพะปััะฐะตั Istio Control Plane, ะธ ัะถะต ะฟะพัะปะต ััะพะณะพ ะฝะพะฒะฐั ะบะพะฝัะธะณััะฐัะธั ะฟัะธะผะตะฝัะตััั ะบ ะฟัะพะบัะธ-ัะตัะฒะตัะฐะผ Envoy ะบะฐะถะดะพะณะพ pod'ะฐ. ะ ะบะพะฝััะพะปะปะตั Ingress Gateway ะฟัะตะดััะฐะฒะปัะตััั ะพัะตัะตะดะฝัะผ Envoy, ัะบะพะฝัะธะณััะธัะพะฒะฐะฝะฝัะผ ะฒ Control Plane. ะัั ััะพ ะฝะฐ ัั ะตะผะต ะฒัะณะปัะดะธั ัะฐะบ:
ะะพะฝัะธะณััะฐัะธั Istio-IngressGateway ะดะปั ะผะฐัััััะธะทะฐัะธะธ ะทะฐะฟัะพัะพะฒะัะธะปะพะถะตะฝะธะต Sentiment Analysis ััะฐะปะพ ะดะพัััะฟะฝัะผ ะฟะพ
http://{EXTERNAL-IP}/
. ะะต ะฟะตัะตะถะธะฒะฐะนัะต, ะตัะปะธ ะฒั ะฟะพะปััะฐะตัะต ััะฐััั Not Found: ะธะฝะพะณะดะฐ ััะตะฑัะตััั ัััั ะฑะพะปััะต ะฒัะตะผะตะฝะธ ะดะปั ัะพะณะพ, ััะพะฑั ะบะพะฝัะธะณััะฐัะธั ะฒัััะฟะธะปะฐ ะฒ ัะธะปั ะธ ะบััะธ Envoy ะพะฑะฝะพะฒะธะปะธัั.ะะตัะตะด ัะตะผ, ะบะฐะบ ะฟัะพะดะพะปะถะธัั, ะฟะพัะฐะฑะพัะฐะนัะต ะฝะตะผะฝะพะณะพ ั ะฟัะธะปะพะถะตะฝะธะตะผ, ััะพะฑั ัะณะตะฝะตัะธัะพะฒะฐัั ััะฐัะธะบ (ะตะณะพ ะฝะฐะปะธัะธะต ะฝะตะพะฑั ะพะดะธะผะพ ะดะปั ะฝะฐะณะปัะดะฝะพััะธ ะฒ ะฟะพัะปะตะดัััะธั ะดะตะนััะฒะธัั โ ะฟัะธะผ. ะฟะตัะตะฒ.).
Kialiโ: ะฝะฐะฑะปัะดะฐะตะผะพััั
ะงัะพะฑั ะฟะพะฟะฐััั ะฒ ะฐะดะผะธะฝะธัััะฐัะธะฒะฝัะน ะธะฝัะตััะตะนั Kiali, ะฒัะฟะพะปะฝะธัะต ัะปะตะดััััั ะบะพะผะฐะฝะดั:
$ kubectl port-forward $(kubectl get pod -n istio-system -l app=kiali -o jsonpath='{.items[0].metadata.name}') -n istio-system 20001
โฆ ะธ ะพัะบัะพะนัะต
http://localhost:20001/ , ะทะฐะปะพะณะธะฝะธะฒัะธัั ะฟะพะด admin/admin. ะะดะตัั ะฒั ะฝะฐะนะดะตัะต ะผะฝะพะถะตััะฒะพ ะฟะพะปะตะทะฝัั ะฒะพะทะผะพะถะฝะพััะตะน, ะฝะฐะฟัะธะผะตั, ะดะปั ะฟัะพะฒะตัะบะธ ะบะพะฝัะธะณััะฐัะธะธ ะบะพะผะฟะพะฝะตะฝัะพะฒ Istio, ะฒะธะทัะฐะปะธะทะฐัะธะธ ัะตัะฒะธัะพะฒ ะฟะพ ะธะฝัะพัะผะฐัะธะธ, ัะพะฑัะฐะฝะฝะพะน ะฟัะธ ะฟะตัะตั ะฒะฐัะต ัะตัะตะฒัั ะทะฐะฟัะพัะพะฒ, ะฟะพะปััะตะฝะธั ะพัะฒะตัะพะฒ ะฝะฐ ะฒะพะฟัะพัั ยซะัะพ ะบ ะบะพะผั ะพะฑัะฐัะฐะตััั?ยป, ยซะฃ ะบะฐะบะพะน ะฒะตััะธะธ ัะตัะฒะธัะฐ ะฒะพะทะฝะธะบะฐัั ัะฑะพะธ?ยป ะธ ั.ะฟ. ะ ะพะฑัะตะผ, ะธะทััะธัะต ะฒะพะทะผะพะถะฝะพััะธ Kiali ะฟะตัะตะด ัะตะผ, ะบะฐะบ ะดะฒะธะณะฐัััั ะดะฐะปััะต โ ะบ ะฒะธะทัะฐะปะธะทะฐัะธะธ ะผะตััะธะบ ั Grafana.Grafana: ะฒะธะทัะฐะปะธะทะฐัะธั ะผะตััะธะบ
ะกะพะฑัะฐะฝะฝัะต ะฒ Istio ะผะตััะธะบะธ ะฟะพะฟะฐะดะฐัั ะฒ Prometheus ะธ ะฒะธะทัะฐะปะธะทะธัััััั ั Grafana. ะงัะพะฑั ะฟะพะฟะฐััั ะฒ ะฐะดะผะธะฝะธัััะฐัะธะฒะฝัะน ะธะฝัะตััะตะนั Grafana, ะฒัะฟะพะปะฝะธัะต ะบะพะผะฐะฝะดั ะฝะธะถะต, ะฟะพัะปะต ัะตะณะพ ะพัะบัะพะนัะต
http://localhost:3000/ :$ kubectl -n istio-system port-forward $(kubectl -n istio-system get pod -l app=grafana -o jsonpath={.items[0].metadata.name}) 3000
ะะปะธะบะฝัะฒ ะฝะฐ ะผะตะฝั Home ัะปะตะฒะฐ ัะฒะตัั ั ะธ ะฒัะฑัะฐะฒ Istio Service Dashboard ะฒ ะปะตะฒะพะผ ะฒะตัั ะฝะตะผ ัะณะปั, ะฝะฐัะฝะธัะต ั ัะตัะฒะธัะฐ sa-web-app, ััะพะฑั ะฟะพัะผะพััะตัั ะฝะฐ ัะพะฑัะฐะฝะฝัะต ะผะตััะธะบะธ:
ะะดะตัั ะฝะฐั ะถะดัั ะฟัััะพะต ะธ ัะพะฒะตััะตะฝะฝะพ ัะบััะฝะพะต ะฟัะตะดััะฐะฒะปะตะฝะธะต โ ััะบะพะฒะพะดััะฒะพ ะฝะธะบะพะณะดะฐ ัะฐะบะพะต ะฝะต ะพะดะพะฑัะธั. ะะฐะฒะฐะนัะต ะถะต ัะพะทะดะฐะดะธะผ ะฝะตะฑะพะปัััั ะฝะฐะณััะทะบั ัะปะตะดัััะตะน ะบะพะผะฐะฝะดะพะน:
$ while true; do curl -i http://$EXTERNAL_IP/sentiment -H "Content-type: application/json" -d '{"sentence": "I love yogobella"}'; sleep .8; done
ะะพั ัะตะฟะตัั ั ะฝะฐั ะณะพัะฐะทะดะพ ะฑะพะปะตะต ัะธะผะฟะฐัะธัะฝัะต ะณัะฐัะธะบะธ, ะฐ ะฒ ะดะพะฟะพะปะฝะตะฝะธะต ะบ ะฝะธะผ โ ะทะฐะผะตัะฐัะตะปัะฝัะต ะธะฝััััะผะตะฝัั Prometheus ะดะปั ะผะพะฝะธัะพัะธะฝะณะฐ ะธ Grafana ะดะปั ะฒะธะทัะฐะปะธะทะฐัะธะธ ะผะตััะธะบ, ััะพ ะฟะพะทะฒะพะปัั ะฝะฐะผ ัะทะฝะฐัั ะพ ะฟัะพะธะทะฒะพะดะธัะตะปัะฝะพััะธ, ัะพััะพัะฝะธะธ ะทะดะพัะพะฒัั, ัะปัััะตะฝะธัั /ะดะตะณัะฐะดะฐัะธะธ ะฒ ัะฐะฑะพัะต ัะตัะฒะธัะพะฒ ะฝะฐ ะฟัะพััะถะตะฝะธะธ ะฒัะตะผะตะฝะธ.
ะะฐะบะพะฝะตั, ะฟะพัะผะพััะธะผ ะฝะฐ ััะฐััะธัะพะฒะบั ะทะฐะฟัะพัะพะฒ ะฒ ัะตัะฒะธัะฐั .
Jaegerโ: ััะฐััะธัะพะฒะบะฐ
ะขัะฐััะธัะพะฒะบะฐ ะฝะฐะผ ะฟะพััะตะฑัะตััั, ะฟะพัะพะผั ััะพ ัะตะผ ะฑะพะปััะต ั ะฝะฐั ัะตัะฒะธัะพะฒ, ัะตะผ ัะปะพะถะฝะตะต ะดะพะฑัะฐัััั ะดะพ ะฟัะธัะธะฝั ัะฑะพั. ะะพัะผะพััะธะผ ะฝะฐ ะฟัะพััะพะน ัะปััะฐะน ะธะท ะบะฐััะธะฝะบะธ ะฝะธะถะต:
ะขะธะฟะพะฒะพะน ะฟัะธะผะตั ัะปััะฐะนะฝะพะณะพ ะฝะตัะดะฐัะฝะพะณะพ ะทะฐะฟัะพัะฐะะฐะฟัะพั ะฟัะธั ะพะดะธั, ะฟะฐะดะฐะตั โ ะฒ ััะผ ะถะต ะฟัะธัะธะฝะฐ? ะะตัะฒัะน ัะตัะฒะธั? ะะปะธ ะฒัะพัะพะน? ะัะบะปััะตะฝะธั ะตััั ะฒ ะพะฑะพะธั โ ะดะฐะฒะฐะนัะต ะฟะพัะผะพััะธะผ ะฝะฐ ะปะพะณะธ ะบะฐะถะดะพะณะพ. ะะฐะบ ัะฐััะพ ะฒั ะปะพะฒะธะปะธ ัะตะฑั ะทะฐ ัะฐะบะธะผ ะทะฐะฝััะธะตะผ? ะะฐัะฐ ัะฐะฑะพัะฐ ะฑะพะปััะต ะฟะพั ะพะถะฐ ะฝะฐ ะดะตัะตะบัะธะฒะพะฒ ะฟัะพะณัะฐะผะผะฝะพะณะพ ะพะฑะตัะฟะตัะตะฝะธั, ะฐ ะฝะต ัะฐะทัะฐะฑะพััะธะบะพะฒโฆ
ะญัะพ ัะธัะพะบะพ ัะฐัะฟัะพัััะฐะฝัะฝะฝะฐั ะฟัะพะฑะปะตะผะฐ ะฒ ะผะธะบัะพัะตัะฒะธัะฐั ะธ ัะตัะฐะตััั ะพะฝะฐ ัะฐัะฟัะตะดะตะปัะฝะฝัะผะธ ัะธััะตะผะฐะผะธ ััะฐััะธัะพะฒะบะธ, ะฒ ะบะพัะพััั ัะตัะฒะธัั ะฟะตัะตะดะฐัั ะดััะณ ะดััะณั ัะฝะธะบะฐะปัะฝัะน ะทะฐะณะพะปะพะฒะพะบ, ะฟะพัะปะต ัะตะณะพ ััะฐ ะธะฝัะพัะผะฐัะธั ะฟะตัะตะฝะฐะฟัะฐะฒะปัะตััั ะฒ ัะธััะตะผั ััะฐััะธัะพะฒะบะธ, ะณะดะต ะพะฝะฐ ัะพะฟะพััะฐะฒะปัะตััั ั ะดะฐะฝะฝัะผะธ ะทะฐะฟัะพัะฐ. ะะพั ะธะปะปััััะฐัะธั:
ะะปั ะธะดะตะฝัะธัะธะบะฐัะธะธ ะทะฐะฟัะพัะฐ ะธัะฟะพะปัะทัะตััั 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
ะขะตะฟะตัั ะทะฐะนะดะธัะต ะฝะฐ
http://localhost:16686/ ะธ ะฒัะฑะตัะธัะต ัะตัะฒะธั sa-web-app. ะัะปะธ ัะตัะฒะธั ะฝะต ะฟะพะบะฐะทะฐะฝ ะฒ ะฒัะฟะฐะดะฐััะตะผ ะผะตะฝั โ ะฟัะพัะฒะธัะต/ัะณะตะฝะตัะธััะนัะต ะฐะบัะธะฒะฝะพััั ะฝะฐ ัััะฐะฝะธัะต ะธ ะพะฑะฝะพะฒะธัะต ะธะฝัะตััะตะนั. ะะพัะปะต ััะพะณะพ ะฝะฐะถะผะธัะต ะฝะฐ ะบะฝะพะฟะบั Find Traces, ะบะพัะพัะฐั ะฟะพะบะฐะถะตั ัะฐะผัะต ะฟะพัะปะตะดะฝะธะต ััะตะนัั โ ะฒัะฑะตัะธัะต ะปัะฑะพะน โ ะฟะพะบะฐะถะตััั ะดะตัะฐะปะธะทะธัะพะฒะฐะฝะฝะฐั ะธะฝัะพัะผะฐัะธั ะฟะพ ะฒัะตะผ ััะตะนัะฐะผ:ะญัะพั ััะตะนั ะฟะพะบะฐะทัะฒะฐะตั:
- ะะฐะฟัะพั ะฟัะธั ะพะดะธั ะฒ istio-ingressgateway (ััะพ ะฟะตัะฒะพะต ะฒะทะฐะธะผะพะดะตะนััะฒะธะต ั ะพะดะฝะธะผ ะธะท ัะตัะฒะธัะพะฒ, ะธ ะดะปั ะทะฐะฟัะพัะฐ ะณะตะฝะตัะธััะตััั Trace ID), ะฟะพัะปะต ัะตะณะพ ัะปัะท ะฝะฐะฟัะฐะฒะปัะตั ะทะฐะฟัะพั ะฒ ัะตัะฒะธั sa-web-app.
- ะ ัะตัะฒะธัะต sa-web-app ะทะฐะฟัะพั ะฟะพะดั ะฒะฐััะฒะฐะตััั Envoy sidecar'ะพะผ, ัะพะทะดะฐัััั ยซัะตะฑัะฝะพะบยป ะฒ span'ะต (ะฟะพััะพะผั ะผั ะฒะธะดะธะผ ะตะณะพ ะฒ ััะตะนัะฐั ) ะธ ะฟะตัะตะฝะฐะฟัะฐะฒะปัะตััั ะฒ ะบะพะฝัะตะนะฝะตั sa-web-app. (
Span โ ะปะพะณะธัะตัะบะฐั ะตะดะธะฝะธัะฐ ัะฐะฑะพัั ะฒ Jaeger, ะธะผะตััะฐั ะฝะฐะทะฒะฐะฝะธะต, ะฒัะตะผั ะฝะฐัะฐะปะพ ะพะฟะตัะฐัะธะธ ะธ ะตั ะฟัะพะดะพะปะถะธัะตะปัะฝะพััั. Span'ั ะผะพะณัั ะฑััั ะฒะปะพะถะตะฝะฝัะผะธ ะธ ัะฟะพััะดะพัะตะฝะฝัะผะธ. ะัะธะตะฝัะธัะพะฒะฐะฝะฝัะน ะฐัะธะบะปะธัะตัะบะธะน ะณัะฐั ะธะท span'ะพะฒ ะพะฑัะฐะทัะตั trace. โ ะฟัะธะผ. ะฟะตัะตะฒ.)- ะะดะตัั ะทะฐะฟัะพั ะพะฑัะฐะฑะฐััะฒะฐะตััั ะผะตัะพะดะพะผ sentimentAnalysis. ะญัะธ ััะตะนัั ัะถะต ัะณะตะฝะตัะธัะพะฒะฐะฝั ะฟัะธะปะพะถะตะฝะธะตะผ, ั.ะต. ะดะปั ะฝะธั ะฟะพััะตะฑะพะฒะฐะปะธัั ะธะทะผะตะฝะตะฝะธั ะฒ ะบะพะดะต.
- ะก ััะพะณะพ ะผะพะผะตะฝัะฐ ะธะฝะธัะธะธััะตััั POST-ะทะฐะฟัะพั ะฒ sa-logic. Trace ID ะดะพะปะถะตะฝ ะฑััั ะฟัะพะฑัะพัะตะฝ ะธะท sa-web-app.
- โฆ
ะัะธะผะตัะฐะฝะธะต: ะะฐ 4 ัะฐะณะต ะฟัะธะปะพะถะตะฝะธะต ะดะพะปะถะฝะพ ัะฒะธะดะตัั ะทะฐะณะพะปะพะฒะบะธ, ัะณะตะฝะตัะธัะพะฒะฐะฝะฝัะต Istio, ะธ ะฟะตัะตะดะฐัั ะธั ะฒ ะฟะพัะปะตะดัััะธะต ะทะฐะฟัะพัั, ะบะฐะบ ะฟะพะบะฐะทะฐะฝะพ ะฝะฐ ะธะทะพะฑัะฐะถะตะฝะธะธ ะฝะธะถะต:
(A) ะะฐ ะฟัะพะฑัะพั ะทะฐะณะพะปะพะฒะบะพะฒ ะพัะฒะตัะฐะตั Istio; (B) ะะฐ ะทะฐะณะพะปะพะฒะบะธ ะพัะฒะตัะฐัั ัะตัะฒะธััIstio ะดะตะปะฐะตั ะพัะฝะพะฒะฝัั ัะฐะฑะพัั, ั.ะบ. ะณะตะฝะตัะธััะตั ะทะฐะณะพะปะพะฒะบะธ ะดะปั ะฒั ะพะดััะธั ะทะฐะฟัะพัะพะฒ, ัะพะทะดะฐัั ะฝะพะฒัะต span'ั ะฒ ะบะฐะถะดะพะผ sidecare'ะต ะธ ะฟัะพะฑัะฐััะฒะฐะตั ะธั . ะะดะฝะฐะบะพ ะฑะตะท ัะฐะฑะพัั ั ะทะฐะณะพะปะพะฒะบะฐะผะธ ะฒะฝัััะธ ัะตัะฒะธัะพะฒ ะฟะพะปะฝัะน ะฟััั ััะฐััะธัะพะฒะบะธ ะทะฐะฟัะพัะฐ ะฑัะดะตั ััะตััะฝ.
ะะตะพะฑั ะพะดะธะผะพ ััะธััะฒะฐัั (ะฟัะพะฑัะฐััะฒะฐัั) ัะปะตะดัััะธะต ะทะฐะณะพะปะพะฒะบะธ:
x-request-id x-b3-traceid x-b3-spanid x-b3-parentspanid x-b3-sampled x-b3-flags x-ot-span-context
ะญัะพ ะฝะตัะปะพะถะฝะฐั ะทะฐะดะฐัะฐ, ะพะดะฝะฐะบะพ ะดะปั ัะฟัะพัะตะฝะธั ะตั ัะตะฐะปะธะทะฐัะธะธ ัะถะต ัััะตััะฒัะตั
ะผะฝะพะถะตััะฒะพ ะฑะธะฑะปะธะพัะตะบ โ ะฝะฐะฟัะธะผะตั, ะฒ ัะตัะฒะธัะต sa-web-app ะบะปะธะตะฝั RestTemplate ะฟัะพะฑัะฐััะฒะฐะตั ััะธ ะทะฐะณะพะปะพะฒะบะธ, ะตัะปะธ ะฟัะพััะพ ะดะพะฑะฐะฒะธัั ะฑะธะฑะปะธะพัะตะบะธ Jaeger ะธ OpenTracing ะฒะตะณะพ ะทะฐะฒะธัะธะผะพััะธ .ะะฐะผะตัััะต, ััะพ ะฟัะธะปะพะถะตะฝะธะต Sentiment Analysis ะดะตะผะพะฝัััะธััะตั ัะตะฐะปะธะทะฐัะธะธ ะฝะฐ Flask, Spring ะธ ASP.NET Core.
ะขะตะฟะตัั, ะบะพะณะดะฐ ััะฐะปะพ ััะฝะพ, ััะพ ะผั ะฟะพะปััะฐะตะผ ะธะท ะบะพัะพะฑะบะธ (ะธะปะธ ะฟะพััะธ ยซะธะท ะบะพัะพะฑะบะธยป), ัะฐััะผะพััะธะผ ะฒะพะฟัะพัั ัะพะฝะบะพ ะฝะฐัััะฐะธะฒะฐะตะผะพะน ะผะฐัััััะธะทะฐัะธะธ, ัะฟัะฐะฒะปะตะฝะธั ัะตัะตะฒัะผ ััะฐัะธะบะพะผ, ะฑะตะทะพะฟะฐัะฝะพััะธ ะธ ั.ะฟ.!
ะัะธะผ. ะฟะตัะตะฒ.: ะพะฑ ััะพะผ ัะธัะฐะนัะต ะฒ ัะปะตะดัััะตะน ัะฐััะธ ะผะฐัะตัะธะฐะปะพะฒ ะฟะพ Istio ะพั Rinor Maloku, ะฟะตัะตะฒะพะดั ะบะพัะพััั ะฟะพัะปะตะดััั ะฒ ะฝะฐัะตะผ ะฑะปะพะณะต ะฒ ะฑะปะธะถะฐะนัะตะต ะฒัะตะผั. UPDATE (14 ะผะฐััะฐ):
ะัะพัะฐั ัะฐััั ัะถะต ะพะฟัะฑะปะธะบะพะฒะฐะฝะฐ.P.S. ะพั ะฟะตัะตะฒะพะดัะธะบะฐ
ะงะธัะฐะนัะต ัะฐะบะถะต ะฒ ะฝะฐัะตะผ ะฑะปะพะณะต:
- ยซะะฐะทะฐะด ะบ ะผะธะบัะพัะตัะฒะธัะฐะผ ะฒะผะตััะต ั Istioยป:
ัะฐััั 2 (ะผะฐัััััะธะทะฐัะธั, ัะฟัะฐะฒะปะตะฝะธะต ััะฐัะธะบะพะผ) ,ัะฐััั 3 (ะฐััะตะฝัะธัะธะบะฐัะธั ะธ ะฐะฒัะพัะธะทะฐัะธั) ;- ยซ
Conduit โ ะปะตะณะบะพะฒะตัะฝัะน service mesh ะดะปั Kubernetes ยป;- ยซ
ะงัะพ ัะฐะบะพะต service mesh ะธ ะฟะพัะตะผั ะพะฝ ะผะฝะต ะฝัะถะตะฝ [ะดะปั ะพะฑะปะฐัะฝะพะณะพ ะฟัะธะปะพะถะตะฝะธั ั ะผะธะบัะพัะตัะฒะธัะฐะผะธ]? ยป;- ยซ
ะะปะปััััะธัะพะฒะฐะฝะฝะพะต ััะบะพะฒะพะดััะฒะพ ะฟะพ ััััะพะนััะฒั ัะตัะธ ะฒ Kubernetes. ะงะฐััะธ 1 ะธ 2 ยป;- ยซ
ะะฐะบ ััะพั sidecar-ะบะพะฝัะตะนะฝะตั ะพะบะฐะทะฐะปัั ะทะดะตัั [ะฒ Kubernetes]? ยป.ะััะพัะฝะธะบ: habr.com
route:
- destination:
host: sa-frontend # 2
port:
number: 80
เบเบธเบ เบชเบณ เบเบฑเบ:
- VirtualService เบเบตเปเบซเบกเบฒเบเปเบเบดเบเบเบฒเบเบฎเปเบญเบเบเปเบเบตเปเปเบเบปเปเบฒเบกเบฒ http-gateway;
- ะ
destination
เบเบฒเบเบเปเบฅเบดเบเบฒเบเบเบตเปเบเบฐเบชเบปเปเบเบเปเบฒเบฎเปเบญเบเบเปเปเบกเปเบเบเบทเบเบเปเบฒเบเบปเบ.ะัะธะผะตัะฐะฝะธะต: เบเบฒเบเบเบฑเปเบเบเปเบฒเบเปเบฒเบเปเบเบดเบเปเบกเปเบเปเบเบฑเบเปเบงเปเปเบเปเบเบฅเป
sa-virtualservice-external.yaml
, เปเบเบดเปเบเบเบฑเบเบกเบตเบเบฒเบเบเบฑเปเบเบเปเบฒเบชเปเบฒเบฅเบฑเบเปเบชเบฑเปเบเบเบฒเบเปเบ SA-WebApp เปเบฅเบฐ SA-Feedback, เปเบเปเปเบเปเบเบทเบเบซเบเปเปเบขเบนเปเบเบตเปเบเบตเปเปเบเบเบปเบเบเบงเบฒเบกเบชเปเบฒเบฅเบฑเบเบเบงเบฒเบกเบซเบเปเป.เบกเบฒเบชเบฐเปเบฑเบ VirtualService เปเบเบเบเบฒเบเปเบเบซเบฒ:
ะัะธะผะตัะฐะฝะธะต: เปเบกเบทเปเบญเบเบงเบเปเบฎเบปเบฒเบเปเบฅเบดเปเบเบเบเบฑเบเบเบฐเบเบฒเบเบญเบ Istio, Kubernetes API Server เบชเปเบฒเบเปเบซเบเบเบฒเบเบเบตเปเปเบเปเบฎเบฑเบเปเบเบ Istio Control Plane, เปเบฅเบฐเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบฒเบเบเบฑเปเบเบเปเบฒเปเบซเบกเปเปเบกเปเบเปเบเปเบเบฑเบเบเบปเบงเปเบเบเบเบญเบเปเบเปเบฅเบฐ pod's Envoy proxies. เปเบฅเบฐเบเบปเบงเบเบงเบเบเบธเบก Ingress Gateway เบเบฐเบเบปเบเบงเปเบฒเปเบเบฑเบ Envoy เบญเบทเปเบเบเบตเปเบเบทเบเบเบฑเปเบเบเปเบฒเบขเบนเปเปเบเบเบปเบเบเบงเบเบเบธเบก. เบเบฑเบเปเบปเบเบเบตเปเปเบเบดเปเบเบเบทเปเบเปเบเบเบงเบฒเบ:
เบเบฒเบเบเบฑเปเบเบเปเบฒ Istio-IngressGateway เบชเปเบฒเบฅเบฑเบเปเบชเบฑเปเบเบเบฒเบเบเบฒเบเบฎเปเบญเบเบเปเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบเบฒเบเบงเบดเปเบเบฒเบฐเบเบงเบฒเบกเบฎเบนเปเบชเบถเบเปเบกเปเบเบกเบตเบขเบนเปเปเบ
http://{EXTERNAL-IP}/
. เบขเปเบฒเบเบฑเบเบงเบปเบเบเปเบฒเบเปเบฒเบเปเบเปเบฎเบฑเบเบชเบฐเบเบฒเบเบฐเบเปเปเบเบปเบ: เบเบฒเบเบเบฑเปเบเบกเบฑเบเปเบเปเปเบงเบฅเบฒเบเบปเบเบเบงเปเบฒเปเบฅเบฑเบเบเปเบญเบเปเบเบทเปเบญเปเบซเปเบเบฒเบเบเบฑเปเบเบเปเบฒเบกเบตเบเบปเบ เปเบฅเบฐ Envoy cache เปเบเบทเปเบญเบญเบฑเบเปเบเบ.เบเปเบญเบเบเบตเปเบเบฐเบเปเบฒเปเบเบตเบเบเบฒเบ, เบซเบผเบดเปเบเบเบฑเบ app เปเบฅเบฑเบเบเปเบญเบเปเบเบทเปเบญเบชเปเบฒเบเบเบฒเบเบเบฐเบฅเบฒเบเบญเบ. (เบเบฒเบเบเบฐเบเบปเบเบเบปเบงเบเบญเบเบกเบฑเบเปเบเบฑเบเบชเบดเปเบเบเปเบฒเปเบเบฑเบเปเบเบทเปเบญเบเบงเบฒเบกเบเบฑเบเปเบเบเปเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเปเปเปเบ - เบเบฐเบกเบฒเบ transl.).
Kiali: เบเบฒเบเบชเบฑเบเปเบเบเบเบฒเบ
เปเบเบทเปเบญเปเบเบปเปเบฒเบซเบฒเบเบฒเบเปเบเปเบเบญเบเบเบฒเบเบเปเบฅเบดเบซเบฒเบ Kiali, เบเปเบฒเปเบเบตเบเบเบฒเบเบเปเบฒเบชเบฑเปเบเบเปเปเปเบเบเบตเป:
... เปเบฅเบฐเปเบเบตเบ
http://localhost:20001/ , เปเบเบปเปเบฒเบชเบนเปเบฅเบฐเบเบปเบเปเบเบฑเบ admin/admin. เบเบตเปเบเบตเปเปเบเบปเปเบฒเบเบฐเบเบปเบเปเบซเบฑเบเบซเบผเบฒเบเบฅเบฑเบเบชเบฐเบเบฐเบเบตเปเปเบเบฑเบเบเบฐเปเบซเบเบ, เบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบปเบเบเบปเบงเบขเปเบฒเบ, เบเบฒเบเบเบงเบเบชเบญเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบญเบเบญเบปเบเบเบฐเบเบญเบ Istio, เบเบฒเบเบชเบฐเปเบเบเบเบฒเบเบเบฒเบเบเปเบฅเบดเบเบฒเบเปเบเบเบเปเบฒเปเบเปเบเปเปเบกเบนเบเบเบตเปเปเบเบฑเบเบเปเบฒเบเบฒเบเบเบฒเบเบเบฑเบเบเบงเบฒเบเบเบฒเบเบฎเปเบญเบเบเปเปเบเบทเบญเบเปเบฒเบ, เปเบเปเบฎเบฑเบเบเปเบฒเบเบญเบเบเปเปเบเปเบฒเบเบฒเบก "เบเบนเปเบเบตเปเบเปเบฒเบฅเบฑเบเบเบดเบเบเปเปเบเบฑเบเปเบ?", "เบเบฒเบเบเปเบฅเบดเบเบฒเบเบชเบฐเบเบฑเบเปเบเบเปเบฒเบฅเบฑเบเบเบฐเบชเบปเบ. เบเบงเบฒเบกเบฅเบปเปเบกเปเบซเบผเบง?โ เปเบฅเบฐเบญเบทเปเบเป. เปเบเบเบเบปเปเบงเปเบเปเบฅเปเบง, เบชเบณเบซเบผเบงเบเบเบงเบฒเบกเบชเบฒเบกเบฒเบเบเบญเบ Kiali เบเปเบญเบเบเบตเปเบเบฐเบเปเบฒเบงเปเบเบชเบนเปเบเบฒเบเปเบเบดเปเบเปเบซเบฑเบเบเบปเบงเบเบตเปเบงเบฑเบเบเปเบงเบ Grafana.Grafana: เบเบฒเบเบชเบฐเปเบเบเบเบฒเบเปเบเบเบงเบฑเบเปเบเบ
เบเบฒเบเบงเบฑเบเปเบเบเบเบตเปเปเบเบฑเบเบเปเบฒเปเบ Istio เปเบเบปเปเบฒเปเบเปเบ Prometheus เปเบฅเบฐเบเบทเบเปเบเบดเปเบเปเบซเบฑเบเบเปเบงเบ Grafana. เปเบเบทเปเบญเปเบเบปเปเบฒเบซเบฒเบเบฒเบเปเบเปเบเบญเบเบเบฒเบเบเปเบฅเบดเบซเบฒเบ Grafana, เบเปเบฒเปเบเบตเบเบเบฒเบเบเปเบฒเบชเบฑเปเบเบเปเบฒเบเบฅเบธเปเบกเบเบตเปเปเบฅเบฐเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเปเบเบตเบ
http://localhost:3000/ :เบเบฒเบเบเบฅเบดเบเปเบชเปเปเบกเบเบน เบซเบเปเบฒเบเปเบฒเบญเบดเบ เปเบเบดเบเบเปเบฒเบเปเบฅเบฐเปเบฅเบทเบญเบ Istio เบเปเบฅเบดเบเบฒเบ Dashboard เปเบเบกเบธเบกเบเปเบฒเบเปเบเบดเบ, เปเบฅเบตเปเบกเบเบปเปเบเบเปเบงเบเบเบฒเบเบเปเบฅเบดเบเบฒเบ sa-web-appเปเบเบทเปเบญเปเบเบดเปเบเบเบฒเบเบงเบฑเบเปเบเบเบเบตเปเปเบเบฑเบเบเปเบฒ:
เบชเบดเปเบเบเบตเปเบฅเปเบเปเบฒเบเบงเบเปเบฎเบปเบฒเบขเบนเปเบเบตเปเปเบกเปเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบตเปเบซเบงเปเบฒเบเปเบเบปเปเบฒเปเบฅเบฐเบซเบเปเบฒเปเบเบทเปเบญเบซเบกเบปเบ - เบเบฒเบเบเบธเปเบกเบเบญเบเบเบฐเบเปเปเบญเบฐเบเบธเบกเบฑเบเปเบฅเบทเปเบญเบเบเบตเป. เปเบซเปเบชเปเบฒเบเบเบฒเบเปเบซเบผเบเบเปเบญเบเปเบเปเบงเบเบเปเบฒเบชเบฑเปเบเบเปเปเปเบเบเบตเป:
เปเบเบเบฑเบเบเบธเบเบฑเบเบเบงเบเปเบฎเบปเบฒเบกเบตเบเบฒเบเบเบตเปเบเบฒเบกเบเบงเปเบฒเบซเบผเบฒเบ, เปเบฅเบฐเบเบญเบเปเบซเบเบทเบญเบเบฒเบเบเบงเบเบกเบฑเบ, เปเบเบทเปเบญเบเบกเบท Prometheus เบเบตเปเบเบตเปเบฅเบตเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบดเบเบเบฒเบกเบเบงเบเบเบฒเปเบฅเบฐ Grafana เบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบเบดเปเบเปเบซเบฑเบ metrics เบเบตเปเบเบฐเบเปเบงเบเปเบซเปเบเบงเบเปเบฎเบปเบฒเบฎเบฝเบเบฎเบนเปเบเปเบฝเบงเบเบฑเบเบเบฒเบเบเบฐเบเบดเบเบฑเบ, เบชเบธเบเบฐเบเบฒเบ, เบเบฒเบเบเบฑเบเบเบธเบ / เบเบฒเบเปเบเบทเปเบญเบกเปเบเบกเปเบเบเบฒเบเบเปเบฅเบดเบเบฒเบเปเบเปเบฅเบเบฐเปเบงเบฅเบฒ.
เบชเบธเบเบเปเบฒเบ, เปเบซเปเปเบเบดเปเบเบเบฒเบเบฎเปเบญเบเบเปเบเบฒเบเบเบดเบเบเบฒเบกเปเบเบเบฒเบเบเปเบฅเบดเบเบฒเบ.
Jaeger: เบเบดเบเบเบฒเบก
เบเบงเบเปเบฎเบปเบฒเบเบฐเบเปเบญเบเบเบฒเบเบเบฒเบเบเบดเบเบเบฒเบกเบเปเบญเบเบงเปเบฒเบเบงเบเปเบฎเบปเบฒเบกเบตเบเปเบฅเบดเบเบฒเบเบซเบผเบฒเบ, เบกเบฑเบเบกเบตเบเบงเบฒเบกเบซเบเบธเปเบเบเบฒเบเบซเบผเบฒเบเบเบตเปเบเบฐเปเบเบปเปเบฒเบซเบฒเบชเบฒเปเบซเบเบเบญเบเบเบงเบฒเบกเบฅเบปเปเบกเปเบซเบฅเบง. เปเบซเปเปเบเบดเปเบเบเปเบฅเบฐเบเบตเบเบตเปเบเปเบฒเบเบเบฒเบเบเบฒเบเบฎเบนเบเบเปเบฒเบเบฅเบธเปเบกเบเบตเป:
เบเบปเบงเบขเปเบฒเบเบเบปเปเบงเปเบเบเบญเบเบเบฒเบเบฎเปเบญเบเบเปเบเบตเปเบฅเบปเปเบกเปเบซเบฅเบงเปเบเบเบชเบธเปเบกเบเบฒเบเบฎเปเบญเบเบเปเบกเบฒ, เบเบปเบ - เปเบซเบเบเบปเบเปเบกเปเบเบซเบเบฑเบ? เบเปเบฅเบดเบเบฒเบเบเปเบฒเบญเบดเบ? เบซเบผเบทเบญเบฑเบเบเบตเบชเบญเบ? เบกเบตเบเปเปเบเบปเบเปเบงเบฑเปเบเปเบเบเบฑเบเบชเบญเบ - เปเบซเปเปเบเบดเปเบเบขเบนเปเปเบเบเบฑเบเบเบถเบเบเบญเบเปเบเปเบฅเบฐเบเบปเบ. เปเบเบปเปเบฒเบเบฑเบเบเบปเบงเปเบเบปเปเบฒเปเบฎเบฑเบเปเบเบเบเบตเปเปเบฅเบทเปเบญเบเปเบชเปเปเบฒเปเบ? เบงเบฝเบเบเบฒเบเบเบญเบเบเบงเบเปเบฎเบปเบฒเปเบกเปเบเบเปเบฒเบเบเบทเบเบฑเบเบเบฑเบเบชเบทเบเบเบญเบเปเบงเบซเบผเบฒเบเบเบงเปเบฒเบเบฑเบเบเบฑเบเบเบฐเบเบฒ ...
เบเบตเปเปเบกเปเบเบเบฑเบเบซเบฒเบเบปเปเบงเปเบเปเบ microservices เปเบฅเบฐเบเบทเบเปเบเปเปเบเปเบเบเบฅเบฐเบเบปเบเบเบฒเบเบเบดเบเบเบฒเบกเบเบตเปเปเบเบเบขเบฒเบ, เปเบเบดเปเบเบเบฒเบเบเปเบฅเบดเบเบฒเบเบเปเบฒเบ header เปเบเบฑเบเปเบญเบเบฐเบฅเบฑเบเปเบเบซเบฒเบเบฑเบเปเบฅเบฐเบเบฑเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเปเปเบกเบนเบเบเบตเปเบเบทเบเบชเบปเปเบเปเบเบซเบฒเบฅเบฐเบเบปเบเบเบฒเบเบเบดเบเบเบฒเบก, เบเปเบญเบเบเบตเปเบกเบฑเบเบเบทเบเบเบฝเบเบเบฝเบเบเบฑเบเบเปเปเบกเบนเบเบเบฒเบเบฎเปเบญเบเบเป. เบเบตเปเปเบกเปเบเบเบปเบงเบขเปเบฒเบ:
TraceId เบเบทเบเบเปเบฒเปเบเปเปเบเบทเปเบญเบเปเบฒเบเบปเบเบเบฒเบเบฎเปเบญเบเบเปIstio เปเบเป Jaeger Tracer, เปเบเบดเปเบเบเบฐเบเบดเบเบฑเบเบเบญเบ OpenTracing API เบเบญเบเบเบนเปเบเบฒเบเปเบญเบเบฐเบฅเบฒเบ. เบเปเบฒเบเบชเบฒเบกเบฒเบเปเบเบปเปเบฒเปเบเบดเบเบชเปเบงเบเบเบดเบเบเปเปเบเบนเปเปเบเป Jaeger เบเปเบงเบเบเปเบฒเบชเบฑเปเบเบเปเปเปเบเบเบตเป:
เปเบเบเบฑเบเบเบธเบเบฑเบเปเบ
http://localhost:16686/ เปเบฅเบฐเปเบฅเบทเบญเบเบเบฒเบเบเปเบฅเบดเบเบฒเบ sa-web-app. เบเปเบฒเบเบฒเบเบเปเบฅเบดเบเบฒเบเบเปเปเบชเบฐเปเบเบเบขเบนเปเปเบเปเบกเบเบนเปเบฅเบทเปเบญเบเบฅเบปเบ, เบชเบฐเปเบเบ / เบชเปเบฒเบเบเบดเบเบเบฐเบเปเบฒเปเบเบซเบเปเบฒเปเบฅเบฐเบเบฑเบเบเบธเบเบเบฒเบเปเบเปเบเบญเบ. เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ, เปเบซเปเบเบฅเบดเบเปเบชเปเบเบธเปเบก เบเบญเบเบซเบฒเบฎเปเบญเบเบฎเบญเบ, เปเบเบดเปเบเบเบฐเบชเบฐเปเบเบเบฎเปเบญเบเบฎเบญเบเบซเบฅเปเบฒเบชเบธเบ - เปเบฅเบทเบญเบเปเบเป - เบเปเปเบกเบนเบเบฅเบฒเบเบฅเบฐเบญเบฝเบเบเปเบฝเบงเบเบฑเบเบเบฒเบเบเบดเบเบเบฒเบกเบเบฑเบเบซเบกเบปเบเบเบฐเบเบฒเบเบปเบ:เบฎเปเบญเบเบฎเบญเบเบเบตเปเบชเบฐเปเบเบเปเบซเปเปเบซเบฑเบ:
- เบเบฒเบเบฎเปเบญเบเบเปเปเบเบปเปเบฒเบกเบฒ istio-ingressgateway (เบเบตเปโเปเบกเปเบโเบเบฒเบโเปเบเปโเบเบญเบโเบเบฑเปเบโเบเปเบฒโเบญเบดเบโเบเบฑเบโเบซเบเบถเปเบโเบเบญเบโเบเบฒเบโเบเปโเบฅเบดโเบเบฒเบโ, เปเบฅเบฐ ID เบเบฒเบโเบเบดเบโเบเบฒเบกโเบเบทเบโเบชเปเบฒเบโเบเบถเปเบโเบชเปเบฒโเบฅเบฑเบโเบเปเบฒโเบฎเปเบญเบโเบชเบฐโเบซเบกเบฑเบโ)โ, เบซเบผเบฑเบโเบเบฒเบโเบเบฑเปเบโเบเบฐโเบเบนโเบชเบปเปเบโเบเปเบฒโเบฎเปเบญเบโเบชเบฐโเบซเบกเบฑเบโเบเบฑเบโเบเบฒเบโเบเปโเบฅเบดโเบเบฒเบ sa-web-app.
- เปเบเบเบฒเบเบเปเบฅเบดเบเบฒเบ sa-web-app เบเบฒเบเบฎเปเบญเบเบเปเปเบกเปเบเปเบเปเบฎเบฑเบเปเบเบ Envoy sidecar, "เปเบเบฑเบเบเปเบญเบ" เปเบเปเบเบทเบเบชเปเบฒเบเบเบทเปเบเปเบเปเบฅเบเบฐ (เบเบฑเปเบเปเบกเปเบเปเบซเบเบเบปเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเปเบซเบฑเบเบกเบฑเบเบขเบนเปเปเบเบฎเปเบญเบเบฎเบญเบ) เปเบฅเบฐเบเปเบฝเบเปเบชเบฑเปเบเบเบฒเบเปเบเบซเบฒเบเบนเปเบเบญเบเปเบเบเปเบเบต. sa-web-app. (
span - เบซเบเปเบงเบเบเบฒเบเบเบตเปเบกเบตเปเบซเบเบเบปเบเปเบ Jaeger, เปเบเบดเปเบเบกเบตเบเบทเป, เปเบงเบฅเบฒเปเบฅเบตเปเบกเบเบปเปเบเบเบญเบเบเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบเปเบฅเบฐเปเบฅเบเบฐเปเบงเบฅเบฒเบเบญเบเบกเบฑเบ. Spans เบชเบฒเบกเบฒเบเบเบทเบเบฎเบฑเบเปเบฅเบฐเบชเบฑเปเบ. เปเบชเบฑเปเบเบเบฃเบฒเบ acyclic เบเบตเปเบเบญเบเบเบญเบ spans เบเบฐเบเบญเบเปเบเบฑเบเบเบฒเบเบเบดเบเบเบฒเบก. โ เบเบฐโเบกเบฒเบโ. เปเบ.)- เบเบตเปเบเบตเปเบเปเบฒเบฎเปเบญเบเบเปเบเบทเบเบเปเบฒเปเบเบตเบเบเบฒเบเปเบเบเบงเบดเบเบตเบเบฒเบ เบเบฒเบเบงเบดเปเบเบฒเบฐเบเบงเบฒเบกเบฎเบนเปเบชเบถเบ. เบฎเปเบญเบเบฎเบญเบเปเบซเบผเบปเปเบฒเบเบตเปเบเบทเบเบชเปเบฒเบเบเบทเปเบเปเบฅเปเบงเปเบเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบ, i.e. เบเบงเบเปเบเบปเบฒเบเปเบญเบเบเบฒเบเบเบฒเบเบเปเบฝเบเปเบเบเบฅเบฐเบซเบฑเบ.
- เบเบฑเปเบเปเบเปเบเบตเปเปเบเบฑเบเบเบปเปเบเปเบ, เบเบฒเบเบฎเปเบญเบเบเป POST เปเบกเปเบเปเบฅเบตเปเบกเบเบปเปเบเปเบ เปเบซเบเบเบปเบ. ID เบเบฒเบเบเบดเบเบเบฒเบกเบเปเบญเบเบเบทเบเบชเบปเปเบเบเปเปเบเบฒเบ sa-web-app.
- ...
ะัะธะผะตัะฐะฝะธะต: เปเบเบเบฑเปเบเบเบญเบเบเบต 4, เปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเบเบงเบเปเบเบดเปเบ headers เบเบตเปเบชเปเบฒเบเบเบถเปเบเปเบเบ Istio เปเบฅเบฐเบชเบปเปเบเปเบซเปเบเบงเบเปเบเบปเบฒเปเบเบซเบฒเบเปเบฒเบฎเปเบญเบเบเปเบเปเปเปเบเบเบฑเปเบเบเบตเปเบชเบฐเปเบเบเบขเบนเปเปเบเบฎเบนเบเบเปเบฒเบเบฅเบธเปเบกเบเบตเป:
(A) Istio เบฎเบฑเบเบเบดเบเบเบญเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบชเบปเปเบเบเปเป headers; (B) เบเบฒเบเบเปเบฅเบดเบเบฒเบเปเบกเปเบเบฎเบฑเบเบเบดเบเบเบญเบเบชเปเบฒเบฅเบฑเบเบซเบปเบงIstio เปเบฎเบฑเบเบงเบฝเบเบชเปเบงเบเปเบซเบเปเปเบเบฒเบฐเบงเปเบฒ ... เบชเปเบฒเบเบชเปเบงเบเบซเบปเบงเบชเปเบฒเบฅเบฑเบเบเปเบฒเบฎเปเบญเบเบเปเบเบตเปเปเบเบปเปเบฒเบกเบฒ, เบชเปเบฒเบ spans เปเบซเบกเปเปเบเปเบเปเบฅเบฐ sidecare เปเบฅเบฐเบชเบปเปเบเบเปเปเปเบซเปเปเบเบปเบฒเปเบเบปเปเบฒ. เบขเปเบฒเบเปเบเบเปเบเบฒเบก, เปเบเบเบเปเปเบกเบตเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบฑเบ headers เบเบฒเบเปเบเบเบฒเบเบเปเบฅเบดเบเบฒเบ, เปเบชเบฑเปเบเบเบฒเบเบเบฒเบเบเบดเบเบเบฒเบกเบเปเบฒเบฎเปเบญเบเบเปเบขเปเบฒเบเปเบเบฑเบกเบเบตเปเบเบฐเบชเบนเบเปเบชเบเปเบ.
เบซเบปเบงเบเปเปเบเปเปเปเบเบเบตเปเบเปเบญเบเบเบทเบเบเบดเบเบฒเบฅเบฐเบเบฒ:
เบเบตเปโเบเปเปโเปเบกเปเบโเปเบเบฑเบโเบงเบฝเบโเบเบฒเบโเบเบตเปโเบกเบตโเบเบงเบฒเบกโเบซเบเบธเปเบโเบเบฒเบโ, เปเบเปโเปเบเบทเปเบญโเบเปเบฒเบโเบเบฒเบโเบเบฐโเบเบดโเบเบฑเบโเบเบญเบโเบเบปเบโเบกเบตโเบขเบนเปโเปเบฅเปเบงโ
เบซเปเบญเบเบชเบฐเบซเบกเบธเบเบเปเบฒเบเบงเบเบซเบผเบฒเบ - เบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบปเบเบเบปเบงเบขเปเบฒเบ, เปเบเบเบฒเบเบเปเบฅเบดเบเบฒเบ sa-web-app, เบฅเบนเบเบเปเบฒ RestTemplate เบชเบปเปเบเบเปเปเบซเบปเบงเปเบซเบผเบปเปเบฒเบเบตเปเบเปเบฒเบซเบฒเบเบงเปเบฒเบเปเบฒเบเบเบฝเบเปเบเปเปเบเบตเปเบกเบซเปเบญเบเบชเบฐเบซเบกเบธเบ Jaeger เปเบฅเบฐ OpenTracing เบเบฑเบเบชเบดเปเบเปเบชเบเบเบดเบเบเบญเบเบฅเบฒเบง .เปเบซเปเบชเบฑเบเปเบเบเบงเปเบฒเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบเบฒเบเบงเบดเปเบเบฒเบฐเบเบงเบฒเบกเบฎเบนเปเบชเบถเบเบชเบฐเปเบเบเปเบซเปเปเบซเบฑเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเปเบ Flask, Spring, เปเบฅเบฐ ASP.NET Core.
เบเบญเบเบเบตเปเบกเบฑเบเบเบฐเปเบเปเบเบชเบดเปเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเบญเบญเบเบเบฒเบเบเปเบญเบ (เบซเบผเบทเปเบเบทเบญเบเบญเบญเบเบเบฒเบเบเปเบญเบ), เปเบซเปเปเบเบดเปเบเบเบฒเบเบเบฑเบเปเบชเบฑเปเบเบเบฒเบ, เบเบฒเบเบเบธเปเบกเบเบญเบเบเบฒเบเบเบฐเบฅเบฒเบเบญเบเปเบเบทเบญเบเปเบฒเบ, เบเบงเบฒเบกเบเบญเบเปเบ, เปเบฅเบฐเบญเบทเปเบเป!
เบซเบกเบฒเบโเปเบซเบโ. เปเบ.: เบญเปเบฒเบเบเปเบฝเบงเบเบฑเบเปเบฅเบทเปเบญเบเบเบตเปเปเบเบชเปเบงเบเบเปเปเปเบเบเบญเบเปเบญเบเบฐเบชเบฒเบเบเปเบฝเบงเบเบฑเบ Istio เบเบฒเบ Rinor Maloku, เบเบฒเบเปเบเบเบฒเบชเบฒเบเบตเปเบเบฐเบเบฐเบเบดเบเบฑเบเบเบฒเบกเปเบ blog เบเบญเบเบเบงเบเปเบฎเบปเบฒเปเบเบญเบฐเบเบฒเบเบปเบเบญเบฑเบเปเบเปเบเบตเป. UPDATE (เบงเบฑเบเบเบต 14 เบกเบตเบเบฒ):
เบชเปเบงเบเบเบตเบชเบญเบ เปเบเปเบเบทเบเปเบเบตเบเปเบเปเปเบฅเปเบง.PS เบเบฒเบเบเบฑเบเปเบ
เบญเปเบฒเบเบเบฑเบเบขเบนเปเปเบ blog เบเบญเบเบเบงเบเปเบฎเบปเบฒ:
- "เบเบฑเบเบเบทเบเปเบเบเปเบญเบเบเปเบฅเบดเบเบฒเบเบเบธเบฅเบฐเบเบฒเบเบเบฑเบ Istio":
เบเบฒเบโเบเบต 2 (เปเบชเบฑเปเบโเบเบฒเบโ, เบเบฒเบโเบเบงเบโเบเบธเบกโเบเบฐโเบฅเบฒโเบเบญเบโ) ,เบเบฒเบโเบเบต 3 (เบเบฒเบโเบเบงเบโเบชเบญเบโเปเบฅเบฐโเบญเบฐโเบเบธโเบเบฒเบโ) ; - ยซ
Conduit - เบเบฒเบซเบเปเบฒเบเบเบฒเบเบเปเบฅเบดเบเบฒเบเบเบตเปเบกเบตเบเปเปเบฒเบซเบเบฑเบเปเบเบปเบฒเบชเปเบฒเบฅเบฑเบ Kubernetes " - ยซ
เบเบฒเปเปเบฒเบเบเปเบฅเบดเบเบฒเบเปเบกเปเบเบซเบเบฑเบ เปเบฅเบฐเปเบเบฑเบเบซเบเบฑเบเบเปเบญเบเบเบถเปเบเบเปเบญเบเบเบฒเบเบกเบฑเบ [เบชเบณเบฅเบฑเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเบเบฅเบฒเบงเบเบฑเบเบเปเบฅเบดเบเบฒเบเบเบธเบฅเบฐเบเบฒเบ]? " - ยซ
เบเบนเปเบกเบทเบเบตเปเบชเบฐเปเบเบเปเบซเปเปเบซเบฑเบเปเบเบดเบเบเบฒเบเบชเปเบฒเบเปเบเบทเบญเบเปเบฒเบเปเบ Kubernetes. เบเบฒเบเบเบต 1 เปเบฅเบฐ 2 " - ยซ
เบเบนเปเบเบญเบเปเบเบเปเบเบตเบฅเบปเบเบเปเบฒเบเบเบตเปเบกเบฒเบขเบนเปเบเปเบญเบเบเบตเปเปเบเบงเปเบ [เปเบ Kubernetes]? ".
เปเบซเบผเปเบเบเปเปเบกเบนเบ: www.habr.com