เบเบฒเบ™เป€เบ›เบตเบ”เบ•เบปเบงเบŠเป‰เปเบฒเปƒเบ™ Istio: เบšเปเบฅเบดเบเบฒเบ™เบฅเบฑเบš

"เบญเบฑเบ™เบ•เบฐเบฅเบฒเบเปเบกเปˆเบ™เบŠเบทเปˆเบเบฒเบ‡เบ‚เบญเบ‡เบ‚เป‰เบญเบ," Austin Powers, เบœเบนเป‰เบŠเบฒเบเบชเบฒเบเบปเบ™เบ—เบตเปˆเบกเบตเบ„เบงเบฒเบกเบฅเบถเบเบฅเบฑเบš, เป€เบ„เบตเบเป€เบงเบปเป‰เบฒ. เปเบ•เปˆเบชเบดเปˆเบ‡เบ—เบตเปˆเบ–เบทเบขเบนเปˆเปƒเบ™เบ„เบงเบฒเบกเบ™เบฑเบšเบ–เบทเบชเบนเบ‡เป‚เบ”เบเบ•เบปเบงเปเบ—เบ™ super เปเบฅเบฐเบšเปเบฅเบดเบเบฒเบ™เบ—เบฒเบ‡เบ›เบฑเบ™เบเบฒเปเบกเปˆเบ™เบšเปเปˆเป€เบซเบกเบฒเบฐเบชเบปเบกเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ„เบญเบกเบžเบดเบงเป€เบ•เบต, เบšเปˆเบญเบ™เบ—เบตเปˆเบ„เบงเบฒเบกเป€เบšเบทเปˆเบญเปเบกเปˆเบ™เบ”เบตเบเปˆเบงเบฒเบญเบฑเบ™เบ•เบฐเบฅเบฒเบ.

เบเบฒเบ™เป€เบ›เบตเบ”เบ•เบปเบงเบŠเป‰เปเบฒเปƒเบ™ Istio: เบšเปเบฅเบดเบเบฒเบ™เบฅเบฑเบš

เปเบฅเบฐ Istio, เบฎเปˆเบงเบกเบเบฑเบš OpenShift เปเบฅเบฐ Kubernetes, เป€เบฎเบฑเบ”เปƒเบซเป‰เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบˆเบธเบฅเบฐเบžเบฒเบเบ—เบตเปˆเปœเป‰เบฒเป€เบšเบทเปˆเบญ เปเบฅเบฐเบชเบฒเบกเบฒเบ”เบ„เบฒเบ”เป€เบ”เบปเบฒเป„เบ”เป‰เบขเปˆเบฒเบ‡เปเบ—เป‰เบˆเบดเบ‡ - เปเบฅเบฐเบ™เบฑเป‰เบ™เบเปเปˆเบ”เบตเบซเบผเบฒเบ. เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเป€เบงเบปเป‰เบฒเบเปˆเบฝเบงเบเบฑเบšเป€เบฅเบทเปˆเบญเบ‡เบ™เบตเป‰เปเบฅเบฐเบซเบผเบฒเบเบเบงเปˆเบฒเบ™เบตเป‰เปƒเบ™เบšเบปเบ”เบ—เบตเบชเบตเปˆเปเบฅเบฐเบชเบธเบ”เบ—เป‰เบฒเบเปƒเบ™เบŠเบธเบ” Istio.

เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเป€เบšเบทเปˆเบญเปเบกเปˆเบ™เบ–เบทเบเบ•เป‰เบญเบ‡

เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ, เบ„เบงเบฒเบกเป€เบšเบทเปˆเบญเป€เบเบตเบ”เบ‚เบถเป‰เบ™เบžเบฝเบ‡เปเบ•เปˆเปƒเบ™เป„เบฅเบเบฐเบชเบธเบ”เบ—เป‰เบฒเบ, เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบ—เบฑเบ‡เบซเบกเบปเบ”เบ—เบตเปˆเบเบฑเบ‡เป€เบซเบผเบทเบญเปเบกเปˆเบ™เป€เบžเบทเปˆเบญเบ™เบฑเปˆเบ‡เป€เบšเบดเปˆเบ‡เบ‚เบฐเบšเบงเบ™เบเบฒเบ™. เปเบ•เปˆเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ™เบตเป‰, เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡ configure เบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เบ—เปเบฒเบญเบดเบ”, เปเบฅเบฐเบซเบผเบฒเบเบชเบดเปˆเบ‡เบ—เบตเปˆเบซเบ™เป‰เบฒเบชเบปเบ™เปƒเบˆเบฅเปเบ–เป‰เบฒเบ—เปˆเบฒเบ™เบขเบนเปˆเบ—เบตเปˆเบ™เบตเป‰.

เปƒเบ™โ€‹เป€เบงโ€‹เบฅเบฒโ€‹เบ—เบตเปˆโ€‹เบเบฒเบ™โ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰โ€‹เบชเบฐโ€‹เบšเบฑเบšโ€‹เปƒเบซเบกเปˆโ€‹เบ‚เบญเบ‡โ€‹เบŠเบญเบšโ€‹เปเบงโ€‹เบ‚เบญเบ‡โ€‹เบ—เปˆเบฒเบ™โ€‹, เบกเบฑเบ™โ€‹เป€เบ›เบฑเบ™โ€‹เบเบฒเบ™โ€‹เบžเบดโ€‹เบˆเบฒโ€‹เบฅเบฐโ€‹เบ™เบฒโ€‹เบ—เบฒเบ‡โ€‹เป€เบฅเบทเบญเบโ€‹เบ—เบฑเบ‡โ€‹เบซเบกเบปเบ”โ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบเบฒเบ™โ€‹เบซเบผเบธเบ”โ€‹เบœเปˆเบญเบ™โ€‹เบ„เบงเบฒเบกโ€‹เบชเปˆเบฝเบ‡โ€‹. เปเบฅเปˆเบ™เบ‚เบฐเบซเบ™เบฒเบ™เป€เบ›เบฑเบ™เบงเบดเบ—เบตเบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบ—เบตเปˆเบกเบตเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบซเบผเบฒเบเปเบฅเบฐเบ–เบทเบเบžเบดเบชเบนเบ”เปเบฅเป‰เบง, เปเบฅเบฐ Istio เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ—เปˆเบฒเบ™เปƒเบŠเป‰ "เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบฅเบฑเบš" (เบชเบฐเบšเบฑเบšเบ—เบตเปˆเป€เบŠเบทเปˆเบญเบ‡เป„เบงเป‰เบ‚เบญเบ‡ microservice เบ‚เบญเบ‡เบ—เปˆเบฒเบ™) เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เบชเบดเปˆเบ‡เบ™เบตเป‰เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เปเบŠเบเปเบŠเบ‡เบฅเบฐเบšเบปเบšเบเบฒเบ™เบœเบฐเบฅเบดเบ”. เบกเบตเป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบ„เปเบฒเบชเบฑเบšเบžเบดเป€เบชเบ”เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ™เบตเป‰ - "Dark Launch", เป€เบŠเบดเปˆเบ‡เปƒเบ™เบ—เบตเปˆเบชเบธเบ”เปเบกเปˆเบ™ activated เป‚เบ”เบเบซเบ™เป‰เบฒเบ—เบตเปˆเบ—เบตเปˆเบกเบตเบŠเบทเปˆ spy เป€เบ—เบปเปˆเบฒเบ—เบฝเบกเบเบฑเบ™ "เบเบฒเบ™เบชเบฐเบ—เป‰เบญเบ™เบเบฒเบ™เบˆเบฐเบฅเบฒเบˆเบญเบ™".

เบเบฐเบฅเบธเบ™เบฒเบชเบฑเบ‡เป€เบเบ”เบงเปˆเบฒเบ›เบฐเป‚เบซเบเบเบ—เปเบฒเบญเบดเบ”เบ‚เบญเบ‡เบงเบฑเบเบ—เบตเปˆเบœเปˆเบฒเบ™เบกเบฒเปƒเบŠเป‰เบ„เปเบฒเบงเปˆเบฒ "เบ›เบฑเบšเปƒเบŠเป‰" เปเบ—เบ™เบ—เบตเปˆเบˆเบฐ "เบ›เปˆเบญเบ". เป€เบˆเบปเป‰เบฒเบ„เบงเบ™เบˆเบฐเบชเบฒเบกเบฒเบ”เบ™เบณเปƒเบŠเป‰เป„เบ”เป‰เปเบ—เป‰เป†โ€”เปเบฅเบฐ, เปเบ™เปˆเบ™เบญเบ™, เปƒเบŠเป‰โ€”เบšเปเบฅเบดเบเบฒเบ™เบˆเบธเบฅเบฐเบžเบฒเบเบ‚เบญเบ‡เป€เบˆเบปเป‰เบฒเป€เบฅเบทเป‰เบญเบเป†เป€เบ—เบปเปˆเบฒเบ—เบตเปˆเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™. เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ™เบตเป‰เบˆเบฐเบ•เป‰เบญเบ‡เบชเบฒเบกเบฒเบ”เบฎเบฑเบšเปเบฅเบฐเบ›เบธเบ‡เปเบ•เปˆเบ‡เบเบฒเบ™เบˆเบฐเบฅเบฒเบˆเบญเบ™, เบœเบฐเบฅเบดเบ”เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบš, เปเบฅเบฐเบเบฑเบ‡เบ‚เบฝเบ™เบฅเบปเบ‡เปƒเบ™เบšเบฑเบ™เบ—เบถเบเปเบฅเบฐเบ•เบดเบ”เบ•เบฒเบก. เปเบ•เปˆเปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™, เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ™เบตเป‰เป€เบญเบ‡เบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบ›เปˆเบญเบเบญเบญเบเบกเบฒเปƒเบ™เบเบฒเบ™เบœเบฐเบฅเบดเบ”. เบเบฒเบ™เบ™เบณเปƒเบŠเป‰ เปเบฅเบฐเบ›เปˆเบญเบเบŠเบญเบšเปเบงเบšเปเปˆเปเบกเปˆเบ™เบชเบดเปˆเบ‡เบ”เบฝเบงเบเบฑเบ™เบชเบฐเป€เปเบตเป„เบ›. เบ—เปˆเบฒเบ™โ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰โ€‹เบ—เบธเบโ€‹เบ„เบฑเป‰เบ‡โ€‹เบ—เบตเปˆโ€‹เบ—เปˆเบฒเบ™โ€‹เบ•เป‰เบญเบ‡โ€‹เบเบฒเบ™โ€‹, เปเบ•เปˆโ€‹เบ›เปˆเบญเบโ€‹เบžเบฝเบ‡โ€‹เปเบ•เปˆโ€‹เปƒเบ™โ€‹เป€เบงโ€‹เบฅเบฒโ€‹เบ—เบตเปˆโ€‹เบ—เปˆเบฒเบ™โ€‹เบžเป‰เบญเบกโ€‹.

เบเบฒเบ™เบˆเบฑเบ”เบฅเบฐเบšเบฝเบšเป€เบšเบทเปˆเบญเปเบกเปˆเบ™เบซเบ™เป‰เบฒเบชเบปเบ™เปƒเบˆ

เป€เบšเบดเปˆเบ‡เบเบปเบ”เบฅเบฐเบšเบฝเบšเบเบฒเบ™เบเปเบฒเบ™เบปเบ”เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡ Istio เบ•เปเปˆเป„เบ›เบ™เบตเป‰, เป€เบŠเบดเปˆเบ‡เบชเบปเปˆเบ‡เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เป HTTP เบ—เบฑเบ‡เบซเบกเบปเบ”เป„เบ›เบซเบฒเบ„เปเบฒเปเบ™เบฐเบ™เปเบฒ microservice v1 (เบ•เบปเบงเบขเปˆเบฒเบ‡เบ—เบฑเบ‡เบซเบกเบปเบ”เบ—เบตเปˆเป€เบญเบปเบฒเบกเบฒเบˆเบฒเบ Istio Tutorial GitHub repo), เปƒเบ™โ€‹เบ‚เบฐโ€‹เบ™เบฐโ€‹เบ—เบตเปˆโ€‹เบžเป‰เบญเบกโ€‹เบเบฑเบ™โ€‹เบชเบฐโ€‹เบ—เป‰เบญเบ™โ€‹เปƒเบซเป‰โ€‹เป€เบ‚เบปเบฒโ€‹เป€เบˆเบปเป‰เบฒโ€‹เบเบฑเบšโ€‹เบเบฒเบ™โ€‹เปเบ™เบฐโ€‹เบ™เปเบฒ v2 microserviceโ€‹:

เบเบฒเบ™เป€เบ›เบตเบ”เบ•เบปเบงเบŠเป‰เปเบฒเปƒเบ™ Istio: เบšเปเบฅเบดเบเบฒเบ™เบฅเบฑเบš
เป€เบญเบปเบฒเปƒเบˆเปƒเบชเปˆเบเบฑเบšเบ›เป‰เบฒเบเบŠเบทเปˆ mirror: เบขเบนเปˆเบฅเบธเปˆเบกเบชเบธเบ”เบ‚เบญเบ‡เบซเบ™เป‰เบฒเบˆเป - เบกเบฑเบ™เปเบกเปˆเบ™เบ™เบตเป‰เบเปเบฒเบ™เบปเบ”เบเบฒเบ™เบชเบฐเบ—เป‰เบญเบ™เบเบฒเบ™เบˆเบฐเบฅเบฒเบˆเบญเบ™. เปเบกเปˆเบ™เปเบฅเป‰เบง, เบกเบฑเบ™เบ‡เปˆเบฒเบเบ”เบฒเบเบซเบผเบฒเบ!

เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบ‚เบญเบ‡เบเบปเบ”เบฅเบฐเบšเบฝเบšเบ™เบตเป‰เปเบกเปˆเบ™เบงเปˆเบฒเบฅเบฐเบšเบปเบšเบเบฒเบ™เบœเบฐเบฅเบดเบ”เบ‚เบญเบ‡เบ—เปˆเบฒเบ™ (v1) เบˆเบฐเบชเบทเบšเบ•เปเปˆเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเบ—เบตเปˆเป€เบ‚เบปเป‰เบฒเบกเบฒ, เปเบ•เปˆเบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบ•เบปเบงเบกเบฑเบ™เป€เบญเบ‡เบˆเบฐเบ–เบทเบเบชเบฐเบ—เป‰เบญเบ™เบเบฑเบš v2 เบ—เบตเปˆเบšเปเปˆเบŠเป‰เปเบฒเบเบฑเบ™, เบ™เบฑเป‰เบ™เปเบกเปˆเบ™, เบ‚เปเป‰เบกเบนเบ™เบŠเป‰เปเบฒเบเบฑเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒเบˆเบฐเป„เบ›เบขเบนเปˆเบ—เบตเปˆเบ™เบฑเป‰เบ™. เบงเบดเบ—เบตเบ™เบตเป‰, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ—เบปเบ”เบชเบญเบš v2 เปƒเบ™เบชเบฐเบžเบฒเบšเบ—เบตเปˆเปเบ—เป‰เบˆเบดเบ‡ - เบเปˆเบฝเบงเบเบฑเบšเบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเปเบ—เป‰เบˆเบดเบ‡เปเบฅเบฐเบเบฒเบ™เบˆเบฐเบฅเบฒเบˆเบญเบ™ - เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เปเบŠเบเปเบŠเบ‡เปƒเบ™เบ—เบฒเบ‡เปƒเบ”เบเปเปˆเบ•เบฒเบกเบเบฑเบšเบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเบเบฒเบ™เบœเบฐเบฅเบดเบ”. เบ™เบตเป‰เป€เบฎเบฑเบ”เปƒเบซเป‰เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบเบฒเบ™เบˆเบฑเบ”เบฅเปเบฒเบ”เบฑเบšเบซเบ™เป‰เบฒเป€เบšเบทเปˆเบญเบšเป? เปเบกเปˆเบ™เปเบฅเป‰เบง, เปเบ™เปˆเบ™เบญเบ™. เปเบ•เปˆเบกเบฑเบ™เป€เบฎเบฑเบ”เป„เบ”เป‰เปƒเบ™เบ—เบฒเบ‡เบ—เบตเปˆเบซเบ™เป‰เบฒเบชเบปเบ™เปƒเบˆ.

เปƒเบซเป‰เป€เบžเบตเปˆเบกเบฅเบฐเบ„เบญเบ™

เบเบฐเบฅเบธเบ™เบฒเบฎเบฑเบšเบŠเบฒเบšเบงเปˆเบฒเปƒเบ™เบฅเบฐเบซเบฑเบ” v2 เบกเบฑเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบชเบฐเบซเบ™เบญเบ‡เบชเปเบฒเบฅเบฑเบšเบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบ—เบตเปˆเบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเป€เบ‚เบปเป‰เบฒเบกเบฒเบญเบฒเบ”เบˆเบฐเบ™เปเบฒเป„เบ›เบชเบนเปˆเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ‚เปเป‰เบกเบนเบ™. เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบ•เบปเบงเบกเบฑเบ™เป€เบญเบ‡เบ–เบทเบเบชเบฐเบ—เป‰เบญเบ™เบขเปˆเบฒเบ‡เบ‡เปˆเบฒเบเบ”เบฒเบเปเบฅเบฐเป‚เบ›เปˆเบ‡เปƒเบช, เปเบ•เปˆเบเบฒเบ™เป€เบฅเบทเบญเบเบงเบดเบ—เบตเบเบฒเบ™เบ›เบธเบ‡เปเบ•เปˆเบ‡เปƒเบ™เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเปเบกเปˆเบ™เบ‚เบถเป‰เบ™เบเบฑเบšเบ—เปˆเบฒเบ™ - เปเบฅเบฐเบ™เบตเป‰เปเบกเปˆเบ™เบ„เบงเบฒเบกเบเบฑเบ‡เบงเบปเบ™เป€เบฅเบฑเบเบ™เป‰เบญเบ.

เบ‚เปเปƒเบซเป‰เป€เบงเบปเป‰เบฒเบ„เบทเบ™เบˆเบธเบ”เบชเปเบฒเบ„เบฑเบ™

เบเบฒเบ™เป€เบ›เบตเบ”เบ•เบปเบงเบฅเบฑเบšเบ”เป‰เบงเบเบเบฒเบ™เบชเบฐเบ—เป‰เบญเบ™เบชเบฐเบžเบฒเบšเบˆเบฐเบฅเบฒเบˆเบญเบ™ (Dark Launch/Request Mirroring) เบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เป„เบ”เป‰เป‚เบ”เบเบšเปเปˆเบกเบตเบœเบปเบ™เบเบฐเบ—เบปเบšเบ•เปเปˆเบฅเบฐเบซเบฑเบ”เปƒเบ”เป†.

เบญเบฒเบซเบฒเบ™เบชเปเบฒเบฅเบฑเบšเบ„เบงเบฒเบกเบ„เบดเบ”

เบˆเบฐเป€เบ›เบฑเบ™เปเบ™เบงเปƒเบ”เบ–เป‰เบฒเบšเปˆเบญเบ™เบ—เบตเปˆเบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเบ–เบทเบเบชเบฐเบ—เป‰เบญเบ™เบชเบปเปˆเบ‡เบšเบฒเบ‡เบชเปˆเบงเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒเบšเปเปˆเปƒเบซเป‰ v1, เปเบ•เปˆเป„เบ›เบซเบฒ v2? เบ•เบปเบงเบขเปˆเบฒเบ‡, เบซเบ™เบถเปˆเบ‡เบชเปˆเบงเบ™เบฎเป‰เบญเบเบ‚เบญเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเบ—เบฑเบ‡เบซเบกเบปเบ”เบซเบผเบทเบžเบฝเบ‡เปเบ•เปˆเบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเบˆเบฒเบเบเบธเปˆเบกเบœเบนเป‰เปƒเบŠเป‰เบชเบฐเป€เบžเบฒเบฐเปƒเบ”เบซเบ™เบถเปˆเบ‡. เปเบฅเบฐเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เปเบฅเป‰เบงเป€เบšเบดเปˆเบ‡เบงเบดเบ—เบตเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบ v2, เบ„เปˆเบญเบเป†เป‚เบญเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเบ—เบฑเบ‡เบซเบกเบปเบ”เป„เบ›เบซเบฒเบชเบฐเบšเบฑเบšเปƒเบซเบกเปˆ. เบซเบผเบทเปƒเบ™เบ—เบฒเบ‡เบเบฑเบšเบเบฑเบ™, เบเบฑเบšเบ„เบทเบ™เบ—เบธเบเบขเปˆเบฒเบ‡เปƒเบซเป‰เบเบฑเบš v1 เบ–เป‰เบฒเบกเบตเบšเบฒเบ‡เบขเปˆเบฒเบ‡เบœเบดเบ”เบžเบฒเบ”เบเบฑเบš v2. เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบ„เบดเบ”เบงเปˆเบฒเบกเบฑเบ™เบ–เบทเบเป€เบญเบตเป‰เบ™เบงเปˆเบฒ Canary Deployment. เบเบฑเบšเป„เบ›เบ‚เบธเบ”เบ„เบปเป‰เบ™เบšเปเปˆเปเบฎเปˆ, เปเบฅเบฐเบ–เป‰เบฒเบกเบฑเบ™เบกเบตเบ•เบปเป‰เบ™เบเปเบฒเป€เบ™เบตเบ”เบ‚เบญเบ‡เบฅเบฑเบ”เป€เบŠเบ, เบกเบฑเบ™เบญเบฒเบ”เบˆเบฐเป€เบ›เบฑเบ™เบเบฒเบ™เบญเป‰เบฒเบ‡เบญเบตเบ‡เป€เบ–เบดเบ‡ เปเบกเบง), เปเบฅเบฐเปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเป€เบšเบดเปˆเบ‡เบ™เบตเป‰เปƒเบ™เบฅเบฒเบเบฅเบฐเบญเบฝเบ”เป€เบžเบตเปˆเบกเป€เบ•เบตเบก.

เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ” Canary เปƒเบ™ Istio: เป€เบฎเบฑเบ”เปƒเบซเป‰เบเบฒเบ™เบกเบญเบšเบซเบกเบฒเบเบ‡เปˆเบฒเบเบ‚เบถเป‰เบ™

เบฅเบฐเบกเบฑเบ”เบฅเบฐเบงเบฑเบ‡เปเบฅเบฐเบ„เปˆเบญเบเป†

เป‚เบ”เบเป€เบ™เบทเป‰เบญเปเบ—เป‰เปเบฅเป‰เบงเบ‚เบญเบ‡เบฎเบนเบšเปเบšเบšเบเบฒเบ™เบ™เบณเปƒเบŠเป‰ Canary Deployment เปเบกเปˆเบ™เบ‡เปˆเบฒเบเบ”เบฒเบเบ—เบตเปˆเบชเบธเบ”: เป€เบกเบทเปˆเบญเบ—เปˆเบฒเบ™เป€เบ›เบตเบ”เป‚เบ›เบผเปเบเบผเบกเป‚เบ›เบผเปเบเบผเบกเป‚เบ›เบผเปเบเบผเบกเป‚เบ›เบผเปเบเบผเบกเป‚เบ›เบผเปเบเบผเบกเป‚เบ›เบผเปเบเบผเบกเป‚เบ›เบผเปเบเบผเบกเป‚เบ›เบผเปเบเบผเบกเป‚เบ›เบผเปเบเบผเบกเป‚เบ›เบผเปเบเบผเบกเป‚เบ›เบผเปเบเบผเบกเป‚เบ›เบผเปเบเบผเบกเป‚เบ›เบผเปเบเบผเบกเป‚เบ›เบผเปเบเบผเบกเป‚เบ›เบผเปเบเบผเบกเป‚เบ›เบผเปเบเบผเบกเป‚เบ›เบผเปเบเบผเบกเป‚เบ›เบผเปเบเบผเบกเป‚เบ›เบผเปเบเบผเบกเป‚เบ›เบผเปเบเบผเบกเป‚เบ›เบผเปเบเบผเบกแ€œแ€ฝแ€พแ€ฌเธญเธตเธเธ”เน‰เธงเธข, เบ—เปเบฒเบญเบดเบ”เบ—เปˆเบฒเบ™เปƒเบซเป‰เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบกเบฑเบ™เบเบฑเบšเบเบธเปˆเบกเบœเบนเป‰เปƒเบŠเป‰เบ™เป‰เบญเบเป†. เบ–เป‰เบฒเบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เบ”เบต, เบ—เปˆเบฒเบ™เบ„เปˆเบญเบเป†เป€เบžเบตเปˆเบกเบเบธเปˆเบกเบ™เบตเป‰เบˆเบปเบ™เบเปˆเบงเบฒเบฎเบธเปˆเบ™เปƒเบซเบกเปˆเป€เบฅเบตเปˆเบกเบ›เบฐเบ•เบดเบšเบฑเบ”, เบซเบผเบท - เบ–เป‰เบฒเบกเบฑเบ™เบšเปเปˆ - เปƒเบ™เบ—เบตเปˆเบชเบธเบ”เบเปเปˆเบเป‰เบฒเบเบœเบนเป‰เปƒเบŠเป‰เบ—เบฑเบ‡เบซเบกเบปเบ”เป„เบ›เบซเบฒเบกเบฑเบ™. เป‚เบ”เบเบเบฒเบ™เบ„เบดเบ”เปเบฅเบฐเบ„เปˆเบญเบเป†เปเบ™เบฐเบ™เปเบฒเบชเบฐเบšเบฑเบšเปƒเบซเบกเปˆเปเบฅเบฐเบ›เปˆเบฝเบ™เบœเบนเป‰เปƒเบŠเป‰เป„เบ›เบซเบฒเบกเบฑเบ™เปƒเบ™เบฅเบฑเบเบชเบฐเบ™เบฐเบ—เบตเปˆเบกเบตเบเบฒเบ™เบ„เบงเบšเบ„เบธเบก, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบซเบผเบธเบ”เบœเปˆเบญเบ™เบ„เบงเบฒเบกเบชเปˆเบฝเบ‡เปเบฅเบฐเป€เบžเบตเปˆเบกเบ„เปเบฒเบ•เบดเบŠเบปเบกเป„เบ”เป‰.

เปเบ™เปˆเบ™เบญเบ™, Istio เบ›เบฑเบšเบ›เบธเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ” Canary เป‚เบ”เบเบชเบฐเป€เบซเบ™เบตเบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ—เบตเปˆเบ”เบตเบซเบผเบฒเบเบชเปเบฒเบฅเบฑเบšเป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบญเบฑเบ”เบชเบฐเบฅเบดเบเบฐ. เปเบฅเบฐเปเบกเปˆเบ™เปเบฅเป‰เบง, เบ—เบฑเบ‡เบซเบกเบปเบ”เบ™เบตเป‰เบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เป„เบ”เป‰เป‚เบ”เบเบšเปเปˆเบ•เป‰เบญเบ‡เปเบ•เบฐเบฅเบฐเบซเบฑเบ”เปเบซเบผเปˆเบ‡เบ‚เบญเบ‡เป€เบˆเบปเป‰เบฒเปƒเบ™เบ—เบฒเบ‡เปƒเบ”เบเปเปˆเบ•เบฒเบก.

เบเบฒเบ™เบเบฑเปˆเบ™เบ•เบญเบ‡เบ‚เบญเบ‡เบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบš

เบซเบ™เบถเปˆเบ‡เปƒเบ™เป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เบเบฒเบ™เบเปเบฒเบ™เบปเบ”เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เบ—เบตเปˆเบ‡เปˆเบฒเบเบ”เบฒเบเบ—เบตเปˆเบชเบธเบ”เปเบกเปˆเบ™เบเบฒเบ™เบ›เปˆเบฝเบ™เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เบ—เบตเปˆเบญเบตเบ‡เปƒเบชเปˆเบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบš. เปƒเบซเป‰เป€เบงเบปเป‰เบฒเบงเปˆเบฒเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เบžเบฝเบ‡เปเบ•เปˆเบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบˆเบฒเบเบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบš Safari เป„เบ›เบซเบฒ v2. เบ™เบตเป‰เปเบกเปˆเบ™เบงเบดเบ—เบตเบ—เบตเปˆเบกเบฑเบ™เป€เบฎเบฑเบ”เปเบฅเป‰เบง:

เบเบฒเบ™เป€เบ›เบตเบ”เบ•เบปเบงเบŠเป‰เปเบฒเปƒเบ™ Istio: เบšเปเบฅเบดเบเบฒเบ™เบฅเบฑเบš
เปƒเบซเป‰เปƒเบŠเป‰เบเบปเบ”เบฅเบฐเบšเบฝเบšเบเบฒเบ™เบเปเบฒเบ™เบปเบ”เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เบ™เบตเป‰เปเบฅเบฐเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบ™เปเบฒเปƒเบŠเป‰เบ„เปเบฒเบชเบฑเปˆเบ‡ curl เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบˆเปเบฒเบฅเบญเบ‡เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบ—เบตเปˆเปเบ—เป‰เบˆเบดเบ‡เบเบฑเบš microservice เปƒเบ™ loop เป€เบ›เบฑเบ™. เบ”เบฑเปˆเบ‡เบ—เบตเปˆเป€เบˆเบปเป‰เบฒเบชเบฒเบกเบฒเบ”เป€เบซเบฑเบ™เปƒเบ™เบžเบฒเบšเปœเป‰เบฒเบˆเป, เบžเบงเบเบกเบฑเบ™เบ—เบฑเบ‡เปเบปเบ”เบˆเบฐเป„เบ›เบ—เบตเปˆ v1:

เบเบฒเบ™เป€เบ›เบตเบ”เบ•เบปเบงเบŠเป‰เปเบฒเปƒเบ™ Istio: เบšเปเบฅเบดเบเบฒเบ™เบฅเบฑเบš
เบเบฒเบ™เบˆเบฐเบฅเบฒเบˆเบญเบ™เบขเบนเปˆเปƒเบช v2? เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒเปƒเบ™เบ•เบปเบงเบขเปˆเบฒเบ‡เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบ—เบธเบเบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเบกเบฒเบˆเบฒเบเป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเป€เบญเบ‡, เบกเบฑเบ™เบšเปเปˆเบกเบตเบขเบนเปˆ. เปเบ•เปˆเปƒเบซเป‰เป€เบญเบปเบฒเปƒเบˆเปƒเบชเปˆเบเบฑเบšเบˆเบธเบ”เบฅเบธเปˆเบกเบชเบธเบ”เปƒเบ™เบซเบ™เป‰เบฒเบˆเปเบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡: เบ™เบตเป‰เปเบกเปˆเบ™เบ›เบฐเบ•เบดเบเบดเบฅเบดเบเบฒเบเบฑเบšเบ„เบงเบฒเบกเบˆเบดเบ‡เบ—เบตเปˆเบงเปˆเบฒเบžเบงเบเป€เบฎเบปเบฒเบ›เบฐเบ•เบดเบšเบฑเบ”เบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเบˆเบฒเบเบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบš Safari, เป€เบŠเบดเปˆเบ‡เปƒเบ™เบ™เบฑเป‰เบ™เบเปเปˆเบœเบฐเบฅเบดเบ”เบ™เบตเป‰:

เบเบฒเบ™เป€เบ›เบตเบ”เบ•เบปเบงเบŠเป‰เปเบฒเปƒเบ™ Istio: เบšเปเบฅเบดเบเบฒเบ™เบฅเบฑเบš

เบžเบฐเบฅเบฑเบ‡เบ‡เบฒเบ™เบšเปเปˆเบˆเปเบฒเบเบฑเบ”

เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบ‚เบฝเบ™เปเบฅเป‰เบงเบงเปˆเบฒเบเบฒเบ™เบชเบฐเปเบ”เบ‡เบญเบญเบเบ›เบปเบเบเบฐเบ•เบดเบชเบฐเบซเบ™เบญเบ‡เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เบ—เบตเปˆเบกเบตเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบซเบผเบฒเบเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡. เป€เบšเบดเปˆเบ‡เบ•เบปเบงเบขเปˆเบฒเบ‡เบ•เปเปˆเป„เบ›เบ™เบตเป‰ (เบžเบงเบเป€เบฎเบปเบฒเบ„เบดเบ”เบงเปˆเบฒเบ—เปˆเบฒเบ™เบˆเบฐเป€เบ‚เบปเป‰เบฒเปƒเบˆเบชเบดเปˆเบ‡เบ—เบตเปˆเบกเบฑเบ™เป€เบฎเบฑเบ”):

เบเบฒเบ™เป€เบ›เบตเบ”เบ•เบปเบงเบŠเป‰เปเบฒเปƒเบ™ Istio: เบšเปเบฅเบดเบเบฒเบ™เบฅเบฑเบš
เป‚เบ”เบเปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบ—เปˆเบฒเบ™เบญเบฒเบ”เบˆเบฐเบกเบตเบ„เบงเบฒเบกเบ„เบดเบ”เบ‚เบญเบ‡เบชเบดเปˆเบ‡เบ—เบตเปˆเบชเบฐเปเบ”เบ‡เบญเบญเบเป€เบ›เบฑเบ™เบ›เบปเบเบเบฐเบ•เบดเบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เป„เบ”เป‰.

เบ›เบฐเบ•เบดเบšเบฑเบ” Smart

เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เบญเบฑเบ”เบชเบฐเบฅเบดเบเบฐ, เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐเบเบฒเบ™เบ›เบฐเบกเบงเบ™เบœเบปเบ™เบซเบปเบงเบŠเบธเบ”เป‚เบ”เบเปƒเบŠเป‰เบเบฒเบ™เบชเบฐเปเบ”เบ‡เบญเบญเบเบ›เบปเบเบเบฐเบ•เบด, เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบŠเบตเป‰เบ™เปเบฒเบเบฒเบ™เบˆเบฐเบฅเบฒเบˆเบญเบ™เบ•เบฒเบกเบ—เบตเปˆเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™. เปเบฅเบฐเบ™เบตเป‰เป€เบฎเบฑเบ”เปƒเบซเป‰เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบฅเบฐเบซเบฑเบ”เปƒเบซเบกเปˆเบ‡เปˆเบฒเบเบ”เบฒเบเบซเบผเบฒเบ - เบกเบฑเบ™เบ‡เปˆเบฒเบเบ”เบฒเบ, เบกเบฑเบ™เบšเปเปˆเป„เบ”เป‰เบฎเบฝเบเบฎเป‰เบญเบ‡เปƒเบซเป‰เบกเบตเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบฅเบฐเบซเบฑเบ”เบ•เบปเบงเบกเบฑเบ™เป€เบญเบ‡, เปเบฅเบฐเบ–เป‰เบฒเบˆเปเบฒเป€เบ›เบฑเบ™, เบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เบชเบฒเบกเบฒเบ”เบเบฑเบšเบ„เบทเบ™เบกเบฒเป„เบ”เป‰เป„เบงเป€เบ—เบปเปˆเบฒเบ—เบตเปˆเป€เบ›เบฑเบ™เป„เบ›.

เบชเบปเบ™เปƒเบˆ?

เบ—เปˆเบฒเบ™เบกเบตเบ„เบงเบฒเบกเบเบฐเบ•เบทเบฅเบทเบฅเบปเป‰เบ™เบ—เบตเปˆเบˆเบฐเบ—เบปเบ”เบฅเบญเบ‡เบเบฑเบš Istio, Kubernetes เปเบฅเบฐ OpenShift เปƒเบ™เบ„เบญเบกเบžเบดเบงเป€เบ•เบตเบ‚เบญเบ‡เบ—เปˆเบฒเบ™เบšเป? เบ—เบตเบกเบ‡เบฒเบ™ เบ—เบตเบกเบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒ Red Hat เบเบฒเบ™โ€‹เบเบฐโ€‹เบเบฝเบกโ€‹เบ—เบตเปˆโ€‹เบ”เบตโ€‹เป€เบฅเบตเบ”โ€‹ เบ›เบทเป‰เบกเบฎเบฝเบ™ เบเปˆเบฝเบงเบเบฑเบšเบซเบปเบงเบ‚เปเป‰เบ™เบตเป‰ เปเบฅเบฐเป€เบฎเบฑเบ”เปƒเบซเป‰เบ—เบธเบเป„เบŸเบฅเปŒเบ—เบตเปˆเบกเบฒเบžเป‰เบญเบกเบเบฑเบšเบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐ. เบชเบฐเบ™เบฑเป‰เบ™เบˆเบปเปˆเบ‡เบชเบทเบšเบ•เปเปˆเป€เบ”เบตเบ™เบซเบ™เป‰เบฒเปเบฅเบฐเบขเปˆเบฒเบ›เบฐเบ•เบดเป€เบชเบ”เบ•เบปเบงเป€เบญเบ‡.
โ€ƒ

Istio Egress: เบญเบญเบเบˆเบฒเบเบฎเป‰เบฒเบ™เบ‚เบฒเบเป€เบ„เบทเปˆเบญเบ‡เบ—เบตเปˆเบฅเบฐเบ™เบถเบ

เป‚เบ”เบเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ Istio เบฎเปˆเบงเบกเบเบฑเบš Red Hat OpenShift เปเบฅเบฐ Kubernetes, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เปƒเบซเป‰เบŠเบตเบงเบดเบ”เบ‚เบญเบ‡เบ—เปˆเบฒเบ™เบเบฑเบš microservices เบ‡เปˆเบฒเบเบ‚เบถเป‰เบ™เบซเบผเบฒเบ. เบ•เบฒเปœเปˆเบฒเบ‡เบšเปเบฅเบดเบเบฒเบ™เบ‚เบญเบ‡ Istio เบ–เบทเบเป€เบŠเบทเปˆเบญเบ‡เป„เบงเป‰เบžเบฒเบเปƒเบ™เบเบฑเบ Kubernetes, เปเบฅเบฐเบฅเบฐเบซเบฑเบ”เบ‚เบญเบ‡เบ—เปˆเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบ (เบชเปˆเบงเบ™เบซเบผเบฒเบเปเบกเปˆเบ™) เบขเบนเปˆเปƒเบ™เบเบฒเบ™เป‚เบ”เบ”เบ”เปˆเบฝเบง. เบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบš, เบ„เบงเบฒเบกเบ‡เปˆเบฒเบเบ‚เบญเบ‡เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡, เบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบก, เปเบฅเบฐเบญเบทเปˆเบ™เป† โ€“ เบ—เบฑเบ‡เบซเบกเบปเบ”เบ™เบตเป‰เปเบกเปˆเบ™เบ‡เปˆเบฒเบเบ—เบตเปˆเบˆเบฐเบ™เปเบฒเปƒเบŠเป‰เบ‚เปเบ‚เบญเบšเปƒเบˆเบเบฑเบšเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ‚เบญเบ‡เบšเบฑเบ™เบˆเบธ sidecar. เปเบ•เปˆเบˆเบฐเป€เบฎเบฑเบ”เปเบ™เบงเปƒเบ”เบ–เป‰เบฒเบšเปเบฅเบดเบเบฒเบ™เบˆเบธเบฅเบฐเบžเบฒเบเบ‚เบญเบ‡เบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เบ•เบดเบ”เบ•เปเปˆเบชเบทเปˆเบชเบฒเบ™เบเบฑเบšเบšเปเบฅเบดเบเบฒเบ™เบญเบทเปˆเบ™เป†เบ—เบตเปˆเบขเบนเปˆเบ™เบญเบเบฅเบฐเบšเบปเบš OpenShift-Kubernetes เบ‚เบญเบ‡เบ—เปˆเบฒเบ™?

เบ™เบตเป‰เปเบกเปˆเบ™เบšเปˆเบญเบ™เบ—เบตเปˆ Istio Egress เป€เบ‚เบปเป‰เบฒเบกเบฒเบŠเปˆเบงเบ. เป‚เบ”เบเบซเบเปเป‰, เบกเบฑเบ™เบžเบฝเบ‡เปเบ•เปˆเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ—เปˆเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™ (เบญเปˆเบฒเบ™: "เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™") เบ—เบตเปˆเบšเปเปˆเปเบกเปˆเบ™เบชเปˆเบงเบ™เบซเบ™เบถเปˆเบ‡เบ‚เบญเบ‡เบฅเบฐเบšเบปเบš pods Kubernetes เบ‚เบญเบ‡เบ—เปˆเบฒเบ™. เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบšเปเปˆเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเป€เบžเบตเปˆเบกเป€เบ•เบตเบก, เบเบฒเบ™เบˆเบฐเบฅเบฒเบˆเบญเบ™เปƒเบ™เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก Istio Egress เปเบกเปˆเบ™เบชเบปเปˆเบ‡เบœเปˆเบฒเบ™เบžเบฝเบ‡เปเบ•เปˆเบžเบฒเบเปƒเบ™เบเบธเปˆเบกเบ‚เบญเบ‡เบเบฑเบเปเบฅเบฐเบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบธเปˆเบกเบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆเบ•เบฒเบ•เบฐเบฅเบฒเบ‡ IP เบžเบฒเบเปƒเบ™. เปเบฅเบฐ pupation เบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเป€เบฎเบฑเบ”เบงเบฝเบเป„เบ”เป‰เบ”เบตเบ•เบฒเบšเปƒเบ”เบ—เบตเปˆเบ—เปˆเบฒเบ™เบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบˆเบฒเบเบžเบฒเบเบ™เบญเบ.

Egress เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ—เปˆเบฒเบ™เบ‚เป‰เบฒเบกเบ•เบฒเบ•เบฐเบฅเบฒเบ‡ IP เบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡, เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆเบเบปเบ”เบฅเบฐเบšเบฝเบš Egress เบซเบผเบทเบขเบนเปˆเปƒเบ™เบ‚เบญเบšเป€เบ‚เบ”เบ‚เบญเบ‡เบ—เบตเปˆเบขเบนเปˆ IP.

เปƒเบซเป‰เป€เบงเบปเป‰เบฒเบงเปˆเบฒเบžเบงเบเป€เบฎเบปเบฒเบกเบตเป‚เบ„เบ‡เบเบฒเบ™ Java เบ—เบตเปˆเป€เบฎเบฑเบ”เปƒเบซเป‰เบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เป GET เบเบฑเบš httpbin.org/headers.

(httpbin.org เปเบกเปˆเบ™เบžเบฝเบ‡เปเบ•เปˆเป€เบ›เบฑเบ™เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบ—เบตเปˆเบชเบฐเบ”เบงเบเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ‚เบฒเบญเบญเบ.)

เบ–เป‰เบฒเบ—เปˆเบฒเบ™เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡ curl http://httpbin.org/headers, เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเป€เบซเบฑเบ™เบ”เบฑเปˆเบ‡เบ•เปเปˆเป„เบ›เบ™เบตเป‰:

เบเบฒเบ™เป€เบ›เบตเบ”เบ•เบปเบงเบŠเป‰เปเบฒเปƒเบ™ Istio: เบšเปเบฅเบดเบเบฒเบ™เบฅเบฑเบš
เบซเบผเบทเบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบ›เบตเบ”เบ—เบตเปˆเบขเบนเปˆเบ”เบฝเบงเบเบฑเบ™เบขเบนเปˆเปƒเบ™เบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบš:

เบเบฒเบ™เป€เบ›เบตเบ”เบ•เบปเบงเบŠเป‰เปเบฒเปƒเบ™ Istio: เบšเปเบฅเบดเบเบฒเบ™เบฅเบฑเบš
เบ”เบฑเปˆเบ‡เบ—เบตเปˆเป€เบˆเบปเป‰เบฒเบชเบฒเบกเบฒเบ”เป€เบซเบฑเบ™เป„เบ”เป‰, เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ—เบตเปˆเบ•เบฑเป‰เบ‡เบขเบนเปˆเบ—เบตเปˆเบ™เบฑเป‰เบ™เบžเบฝเบ‡เปเบ•เปˆเบชเบปเปˆเบ‡เบ„เบทเบ™ headers เบ—เบตเปˆเบœเปˆเบฒเบ™เป„เบ›เบซเบฒเบกเบฑเบ™.

เบžเบงเบเป€เบฎเบปเบฒเบ›เปˆเบฝเบ™เปเบ—เบ™เบเบฒเบ™เบ™เปเบฒเป€เบ‚เบปเป‰เบฒ

เบ•เบญเบ™เบ™เบตเป‰เปƒเบซเป‰เป€เบญเบปเบฒเบฅเบฐเบซเบฑเบ” Java เบ‚เบญเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ™เบตเป‰, เบžเบฒเบเบ™เบญเบเบเบฑเบšเบฅเบฐเบšเบปเบšเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ, เปเบฅเบฐเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบกเบฑเบ™เบ”เป‰เบงเบเบ•เบปเบงเป€เบฎเบปเบฒเป€เบญเบ‡, เบšเปˆเบญเบ™เบ—เบตเปˆ, เบˆเบทเปˆ, Istio เบ–เบทเบเบ•เบดเบ”เบ•เบฑเป‰เบ‡. (เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เบชเบดเปˆเบ‡เบ™เบตเป‰เบ”เป‰เบงเบเบ•เบปเบ™เป€เบญเบ‡เป‚เบ”เบเบเบฒเบ™เบ•เบดเบ”เบ•เปเปˆ เบเบฒเบ™เบชเบญเบ™ Istio เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ.) เป„เบ”เป‰เบชเป‰เบฒเบ‡เบฎเบนเบšเบžเบฒเบšเบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบกเปเบฅเบฐเป€เบ›เบตเบ”เบ•เบปเบงเปƒเบ™เป€เบงเบ—เบต OpenShift, เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเป‚เบ—เบซเบฒเบšเปเบฅเบดเบเบฒเบ™เบ™เบตเป‰เบ”เป‰เบงเบเบ„เปเบฒเบชเบฑเปˆเบ‡ curl egresshttpbin-istioegress.$(minishift ip).nip.io, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเป€เบซเบฑเบ™เบกเบฑเบ™เบขเบนเปˆเปƒเบ™เบซเบ™เป‰เบฒเบˆเป:

เบเบฒเบ™เป€เบ›เบตเบ”เบ•เบปเบงเบŠเป‰เปเบฒเปƒเบ™ Istio: เบšเปเบฅเบดเบเบฒเบ™เบฅเบฑเบš
เบญเบธเบ, เป€เบเบตเบ”เบซเบเบฑเบ‡เบ‚เบถเป‰เบ™? เบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เบžเบฝเบ‡เปเบ•เปˆเป€เบฎเบฑเบ”เบงเบฝเบ. เบšเปเปˆเบžเบปเบš เปเบฒเบ เบ„เบงเบฒเบกเบงเปˆเบฒเปเบ™เบงเปƒเบ”? เบžเบงเบเป€เบฎเบปเบฒเบžเบฝเบ‡เปเบ•เปˆเป€เบฎเบฑเบ”เบกเบฑเบ™เบชเปเบฒเบฅเบฑเบšเบฅเบฒเบง curl.

เบ‚เบฐเบซเบเบฒเบเบ•เบฒเบ•เบฐเบฅเบฒเบ‡ IP เป„เบ›เบชเบนเปˆเบญเบดเบ™เป€เบ•เบตเป€เบ™เบฑเบ”เบ—เบฑเบ‡เบซเบกเบปเบ”

Istio เบ„เบงเบ™เบ–เบทเบเบ•เปเบฒเบซเบ™เบด (เบซเบผเบทเบ‚เบญเบšเปƒเบˆ) เบชเปเบฒเบฅเบฑเบšเป€เบฅเบทเปˆเบญเบ‡เบ™เบตเป‰. เบซเบผเบฑเบ‡เบˆเบฒเบเบ—เบตเปˆเบ—เบฑเบ‡เบซเบกเบปเบ”, Istio เปเบกเปˆเบ™เบžเบฝเบ‡เปเบ•เปˆเบ•เบนเป‰เบ„เบญเบ™เป€เบ—เบ™เป€เบ™เบต sidecar เบ—เบตเปˆเบฎเบฑเบšเบœเบดเบ”เบŠเบญเบšเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบŠเบญเบเบ„เบปเป‰เบ™เบซเบฒเปเบฅเบฐเป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡ (เปเบฅเบฐเบซเบผเบฒเบเบชเบดเปˆเบ‡เบญเบทเปˆเบ™เป†เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เป€เบงเบปเป‰เบฒเบเปˆเบฝเบงเบเบฑเบšเบเปˆเบญเบ™เบซเบ™เป‰เบฒเบ™เบตเป‰). เบชเปเบฒเบฅเบฑเบšเป€เบซเบ”เบœเบปเบ™เบ™เบตเป‰, เบ•เบฒเบ•เบฐเบฅเบฒเบ‡ IP เบžเบฝเบ‡เปเบ•เปˆเบฎเบนเป‰เบงเปˆเบฒเบชเบดเปˆเบ‡เบ—เบตเปˆเบขเบนเปˆเปƒเบ™เบฅเบฐเบšเบปเบš cluster เบ‚เบญเบ‡เบ—เปˆเบฒเบ™. เปเบฅเบฐ httpbin.org เปเบกเปˆเบ™เบ•เบฑเป‰เบ‡เบขเบนเปˆเบžเบฒเบเบ™เบญเบเปเบฅเบฐเบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบˆเบถเปˆเบ‡เบšเปเปˆเบชเบฒเบกเบฒเบ”เป€เบ‚เบปเป‰เบฒเป„เบ”เป‰. เปเบฅเบฐเบ™เบตเป‰เปเบกเปˆเบ™เบšเปˆเบญเบ™เบ—เบตเปˆ Istio Egress เป€เบ‚เบปเป‰เบฒเบกเบฒเบŠเปˆเบงเบเบŠเบตเบงเบดเบ” - เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เป€เบฅเบฑเบเบ™เป‰เบญเบเบ•เปเปˆเบเบฑเบšเบฅเบฐเบซเบฑเบ”เปเบซเบผเปˆเบ‡เบ‚เบญเบ‡เบ—เปˆเบฒเบ™.

เบเบปเบ”เบฅเบฐเบšเบฝเบš Egress เบ‚เป‰เบฒเบ‡เบฅเบธเปˆเบกเบ™เบตเป‰เบšเบฑเบ‡เบ„เบฑเบšเปƒเบซเป‰ Istio เบ„เบปเป‰เบ™เบซเบฒ (เบ–เป‰เบฒเบˆเปเบฒเป€เบ›เบฑเบ™, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เปƒเบ™เบ—เบปเปˆเบงเบญเบดเบ™เป€เบ•เบตเป€เบ™เบฑเบ”เบ—เบฑเบ‡เบซเบกเบปเบ”) เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™, เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ™เบตเป‰, httpbin.org. เบ”เบฑเปˆเบ‡เบ—เบตเปˆเป€เบˆเบปเป‰เบฒเบชเบฒเบกเบฒเบ”เป€เบซเบฑเบ™เป„เบ”เป‰เบˆเบฒเบเป„เบŸเบฅเปŒเบ™เบตเป‰ (egress_httpbin.yml), เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบขเบนเปˆเบ—เบตเปˆเบ™เบตเป‰เปเบกเปˆเบ™เบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡เบ‡เปˆเบฒเบเบ”เบฒเบ:

เบเบฒเบ™เป€เบ›เบตเบ”เบ•เบปเบงเบŠเป‰เปเบฒเปƒเบ™ Istio: เบšเปเบฅเบดเบเบฒเบ™เบฅเบฑเบš
เบ—เบฑเบ‡เบซเบกเบปเบ”เบ—เบตเปˆเบเบฑเบ‡เป€เบซเบผเบทเบญเปเบกเปˆเบ™เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบเบปเบ”เบฅเบฐเบšเบฝเบšเบ™เบตเป‰:

istioctl create -f egress_httpbin.yml -n istioegress

เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบšเบดเปˆเบ‡เบเบปเบ”เบฅเบฐเบšเบฝเบš Egress เบ”เป‰เบงเบเบ„เปเบฒเบชเบฑเปˆเบ‡ istioctl get egressrules:

เบเบฒเบ™เป€เบ›เบตเบ”เบ•เบปเบงเบŠเป‰เปเบฒเปƒเบ™ Istio: เบšเปเบฅเบดเบเบฒเบ™เบฅเบฑเบš
เปเบฅเบฐเบชเบธเบ”เบ—เป‰เบฒเบ, เบžเบงเบเป€เบฎเบปเบฒเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เบญเบตเบเป€เบ—เบทเปˆเบญเบซเบ™เบถเปˆเบ‡ curl - เปเบฅเบฐเบžเบงเบเป€เบฎเบปเบฒเป€เบซเบฑเบ™เบงเปˆเบฒเบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เป€เบฎเบฑเบ”เบงเบฝเบ:

เบเบฒเบ™เป€เบ›เบตเบ”เบ•เบปเบงเบŠเป‰เปเบฒเปƒเบ™ Istio: เบšเปเบฅเบดเบเบฒเบ™เบฅเบฑเบš

เบžเบงเบเป€เบฎเบปเบฒเบ„เบดเบ”เบขเปˆเบฒเบ‡เป€เบ›เบตเบ”เป€เบœเบตเบ

เบ”เบฑเปˆเบ‡เบ—เบตเปˆเป€เบˆเบปเป‰เบฒเบชเบฒเบกเบฒเบ”เป€เบซเบฑเบ™เป„เบ”เป‰, Istio เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบˆเบฑเบ”เบ•เบฑเป‰เบ‡เบเบฒเบ™เบžเบปเบงเบžเบฑเบ™เบเบฑเบšเป‚เบฅเบเบžเบฒเบเบ™เบญเบเป„เบ”เป‰. เปƒเบ™เบ„เปเบฒเบชเบฑเบšเบ•เปˆเบฒเบ‡เป†เบญเบทเปˆเบ™เป†, เบ—เปˆเบฒเบ™เบเบฑเบ‡เบชเบฒเบกเบฒเบ”เบชเป‰เบฒเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™ OpenShift เปเบฅเบฐเบˆเบฑเบ”เบเบฒเบ™เบžเบงเบเบกเบฑเบ™เบœเปˆเบฒเบ™ Kubernetes, เบฎเบฑเบเบชเบฒเบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เบขเบนเปˆเปƒเบ™เบเบฑเบเบ—เบตเปˆเบ‚เบฐเบซเบ™เบฒเบ”เบ‚เบถเป‰เบ™เปเบฅเบฐเบฅเบปเบ‡เบ•เบฒเบกเบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™. เปเบฅเบฐเปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบžเบฒเบเบ™เบญเบเบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบ‚เบญเบ‡เบ—เปˆเบฒเบ™เบขเปˆเบฒเบ‡เบ›เบญเบ”เป„เบž. เปเบฅเบฐเปเบกเปˆเบ™เปเบฅเป‰เบง, เบžเบงเบเป€เบฎเบปเบฒเป€เบงเบปเป‰เบฒเบญเบตเบเบ„เบฑเป‰เบ‡เบงเปˆเบฒเบ—เบฑเบ‡เปเบปเบ”เบ™เบตเป‰เบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เป„เบ”เป‰เป‚เบ”เบเบšเปเปˆเบ•เป‰เบญเบ‡เปเบ•เบฐเบฅเบฐเบซเบฑเบ”เบ‚เบญเบ‡เป€เบˆเบปเป‰เบฒเปƒเบ™เบ—เบฒเบ‡เปƒเบ”เบเปเปˆเบ•เบฒเบก.

เบ™เบตเป‰เปเบกเปˆเบ™เบเบฒเบ™เบ•เบญเบšเบซเบผเป‰เบฒเบชเบธเบ”เปƒเบ™เบŠเบธเบ”เปƒเบ™ Istio. เบขเบนเปˆ tuned - เบกเบตเบซเบผเบฒเบเบชเบดเปˆเบ‡เบ—เบตเปˆเบซเบ™เป‰เบฒเบชเบปเบ™เปƒเบˆเบขเบนเปˆเบ‚เป‰เบฒเบ‡เบซเบ™เป‰เบฒ!

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™