เด‡เดธเตเดคเดฟเดฏเต‹เดฏเตโ€Œเด•เตเด•เตŠเดชเตเดชเด‚ เดฎเตˆเด•เตเดฐเต‹เดธเตผเดตเต€เดธเตเด•เดณเดฟเดฒเต‡เด•เตเด•เต เดฎเดŸเด™เตเด™เตเด•. เดญเดพเด—เด‚ 1

เด‡เดธเตเดคเดฟเดฏเต‹เดฏเตโ€Œเด•เตเด•เตŠเดชเตเดชเด‚ เดฎเตˆเด•เตเดฐเต‹เดธเตผเดตเต€เดธเตเด•เดณเดฟเดฒเต‡เด•เตเด•เต เดฎเดŸเด™เตเด™เตเด•. เดญเดพเด—เด‚ 1

เด•เตเดฑเดฟเดชเตเดชเต. เดตเดฟเดตเตผเดคเตเดคเดจเด‚.: เดฎเตˆเด•เตเดฐเต‹เดธเตผเดตเต€เดธเต เด†เตผเด•เตเด•เดฟเดŸเต†เด•เตเดšเตผ เดชเดฟเดจเตเดคเตเดŸเดฐเตเดจเตเดจ เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเด•เตพเด•เตเด•เตเดณเตเดณ เด†เดงเตเดจเดฟเด• เด‡เตปเดซเตเดฐเดพเดธเตเดŸเตเดฐเด•เตเดšเดฑเดฟเตฝ เดธเตผเดตเต€เดธเต เดฎเต†เดทเตเด•เตพ เดคเต€เตผเดšเตเดšเดฏเดพเดฏเตเด‚ เดชเตเดฐเดธเด•เตเดคเดฎเดพเดฏ เด’เดฐเต เดชเดฐเดฟเดนเดพเดฐเดฎเดพเดฏเดฟ เดฎเดพเดฑเดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต. เดชเดฒ DevOps เดŽเดžเตเดšเดฟเดจเต€เดฏเตผเดฎเดพเดฐเตเดŸเต†เดฏเตเด‚ เดšเตเดฃเตเดŸเตเด•เดณเดฟเตฝ Istio เด‰เดฃเตเดŸเดพเดฏเดฟเดฐเดฟเด•เตเด•เตเดฎเต†เด™เตเด•เดฟเดฒเตเด‚, เด‡เดคเต เดคเดฟเด•เดšเตเดšเตเด‚ เดชเตเดคเดฟเดฏเตŠเดฐเต เด‰เตฝเดชเตเดชเดจเตเดจเดฎเดพเดฃเต, เด…เดคเต เดจเตฝเด•เตเดจเตเดจ เด•เดดเดฟเดตเตเด•เดณเตเดŸเต† เด•เดพเดฐเตเดฏเดคเตเดคเดฟเตฝ เดธเดฎเด—เตเดฐเดฎเดพเดฃเต†เด™เตเด•เดฟเดฒเตเด‚, เดชเดฐเดฟเดšเดฏเดชเตเดชเต†เดŸเดพเตป เด—เดฃเตเดฏเดฎเดพเดฏ เดธเดฎเดฏเด‚ เด†เดตเดถเตเดฏเดฎเดพเดฏเดฟ เดตเดจเตเดจเต‡เด•เตเด•เดพเด‚. เดŸเต†เดฒเดฟเด•เดฎเตเดฎเตเดฏเต‚เดฃเดฟเด•เตเด•เต‡เดทเตป เด•เดฎเตเดชเดจเดฟเดฏเดพเดฏ เด“เดฑเดžเตเดšเต เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เดฟเดฒเต† เดตเดฒเดฟเดฏ เด•เตเดฒเดฏเดจเตเดฑเตเด•เตพเด•เตเด•เต เด•เตเดฒเต—เดกเต เด•เดฎเตเดชเตเดฏเต‚เดŸเตเดŸเดฟเด‚เด—เดฟเดจเตเดฑเต† เด‰เดคเตเดคเดฐเดตเดพเดฆเดฟเดคเตเดคเดฎเตเดณเตเดณ เดœเตผเดฎเตเดฎเตป เดŽเดžเตเดšเดฟเดจเต€เดฏเตผ เดฑเดฟเดจเต‹เตผ เดฎเดพเดฒเต‹เด•เต, เด‡เดธเตเดคเดฟเดฏเต‹เดฏเดฟเดฒเต‡เด•เตเด•เต เดตเต‡เด—เดคเตเดคเดฟเดฒเตเด‚ เด†เดดเดคเตเดคเดฟเดฒเตเด‚ เดฎเตเด™เตเด™เดพเตป เดจเดฟเด™เตเด™เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจ เด’เดฐเต เดฎเดฟเด•เดšเตเดš เดฎเต†เดฑเตเดฑเต€เดฐเดฟเดฏเดฒเตเด•เตพ เดŽเดดเตเดคเดฟเดฏเดฟเดŸเตเดŸเตเดฃเตเดŸเต. เด‡เดธเตเดคเดฟเดฏเต‹เดฏเตเด•เตเด•เต เดชเตŠเดคเตเดตเดพเดฏเดฟ เดŽเดจเตเดคเตเดšเต†เดฏเตเดฏเดพเตป เด•เดดเดฟเดฏเตเด‚, เดจเดฟเด™เตเด™เดณเตเดŸเต† เดธเตเดตเดจเตเดคเด‚ เด•เดฃเตเดฃเตเด•เตŠเดฃเตเดŸเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด…เดคเต เดŽเด™เตเด™เดจเต† เดตเต‡เด—เดคเตเดคเดฟเตฝ เด•เดพเดฃเดพเดจเดพเด•เตเด‚ เดŽเดจเตเดจเดคเดฟเดฒเดพเดฃเต เด…เดฆเตเดฆเต‡เดนเด‚ เดคเดจเตเดฑเต† เด•เดฅ เด†เดฐเด‚เดญเดฟเด•เตเด•เตเดจเตเดจเดคเต.

เด‡เดธเตเดคเต‹ โ€” Google, IBM, Lyft เดŽเดจเตเดจเดฟเดตเดฏเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดŸเต€เดฎเตเด•เดณเตเดฎเดพเดฏเดฟ เดธเดนเด•เดฐเดฟเดšเตเดšเต เดตเดฟเด•เดธเดฟเดชเตเดชเดฟเดšเตเดš เด’เดฐเต เด“เดชเตเดชเตบ เดธเต‹เดดเตเดธเต เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเต. เดฎเตˆเด•เตเดฐเต‹เดธเตผเดตเต€เดธเต เด…เดŸเดฟเดธเตเดฅเดพเดจเดฎเดพเด•เตเด•เดฟเดฏเตเดณเตเดณ เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเด•เดณเดฟเตฝ เด‰เดฃเตเดŸเดพเด•เตเดจเตเดจ เดธเด™เตเด•เต€เตผเดฃเดคเด•เตพ เด‡เดคเต เดชเดฐเดฟเดนเดฐเดฟเด•เตเด•เตเดจเตเดจเต, เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจเดต:

  • เดŸเตเดฐเดพเดซเดฟเด•เต เดฎเดพเดจเต‡เดœเตเดฎเต†เดจเตเดฑเต: เด•เดพเดฒเดนเดฐเดฃเดชเตเดชเต†เดŸเตฝ, เดตเต€เดฃเตเดŸเตเด‚ เดถเตเดฐเดฎเดฟเด•เตเด•เตฝ, เดฒเต‹เดกเต เดฌเดพเดฒเตปเดธเดฟเด™เต;
  • เดธเตเดฐเด•เตเดท: เด…เดจเตเดคเดฟเดฎ เด‰เดชเดฏเต‹เด•เตเดคเตƒ เดชเตเดฐเดพเดฎเดพเดฃเต€เด•เดฐเดฃเดตเตเด‚ เด…เด‚เด—เต€เด•เดพเดฐเดตเตเด‚;
  • เดจเดฟเดฐเต€เด•เตเดทเดฃเด•เตเดทเดฎเดค: เด•เดฃเตเดŸเต†เดคเตเดคเตฝ, เดจเดฟเดฐเต€เด•เตเดทเดฃเด‚, เดฒเต‹เด—เดฟเด‚เด—เต.

เด‡เดตเดฏเต†เดฒเตเดฒเดพเด‚ เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดคเดฒเดคเตเดคเดฟเตฝ เดชเดฐเดฟเดนเดฐเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚, เดŽเดจเตเดจเดพเตฝ เด…เดคเดฟเดจเตเดถเต‡เดทเด‚ เดจเดฟเด™เตเด™เดณเตเดŸเต† เดธเต‡เดตเดจเด™เตเด™เตพ "เดฎเตˆเด•เตเดฐเต‹" เด†เดฏเดฟเดฐเดฟเด•เตเด•เดฟเดฒเตเดฒ. เดˆ เดชเตเดฐเดถเตโ€Œเดจเด™เตเด™เตพ เดชเดฐเดฟเดนเดฐเดฟเด•เตเด•เดพเดจเตเดณเตเดณ เดŽเดฒเตเดฒเดพ เด…เดงเดฟเด• เดถเตเดฐเดฎเด™เตเด™เดณเตเด‚ เดฌเดฟเดธเดฟเดจเดธเตเดธเต เดฎเต‚เดฒเตเดฏเดคเตเดคเดฟเดจเดพเดฏเดฟ เดจเต‡เดฐเดฟเดŸเตเดŸเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเดตเตเดจเตเดจ เด•เดฎเตเดชเดจเดฟ เดตเดฟเดญเดตเด™เตเด™เดณเตเดŸเต† เดชเดพเดดเดพเด•เตเด•เดฒเดพเดฃเต. เดจเดฎเตเด•เตเด•เต เด’เดฐเต เด‰เดฆเดพเดนเดฐเดฃเด‚ เดจเต‹เด•เตเด•เดพเด‚:

เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเต เดฎเดพเดจเต‡เดœเตผ: เด’เดฐเต เดซเต€เดกเตเดฌเดพเด•เตเด•เต เดซเต€เดšเตเดšเตผ เดšเต‡เตผเด•เตเด•เดพเตป เดŽเดคเตเดฐ เดธเดฎเดฏเดฎเต†เดŸเตเด•เตเด•เตเด‚?
เดกเต†เดตเดฒเดชเตเดชเตผ: เดฐเดฃเตเดŸเต เดธเตเดชเตเดฐเดฟเดจเตเดฑเตเด•เตพ.

เดŽเด‚เดชเดฟ: เดŽเดจเตเดคเดพ?.. เด‡เดคเต เดตเต†เดฑเตเด‚ CRUD เด†เดฃเต!
R: CRUD เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต เดŽเดณเตเดชเตเดชเดฎเตเดณเตเดณ เดญเดพเด—เดฎเดพเดฃเต, เดŽเดจเตเดจเดพเตฝ เดžเด™เตเด™เตพเด•เตเด•เต เด‡เดชเตเดชเต‹เดดเตเด‚ เด‰เดชเดฏเต‹เด•เตเดคเดพเด•เตเด•เดณเต†เดฏเตเด‚ เดธเต‡เดตเดจเด™เตเด™เดณเต†เดฏเตเด‚ เดชเตเดฐเดพเดฎเดพเดฃเต€เด•เดฐเดฟเด•เตเด•เตเด•เดฏเตเด‚ เด…เด‚เด—เต€เด•เดฐเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต. เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดตเดฟเดถเตเดตเดธเดจเต€เดฏเดฎเดฒเตเดฒเดพเดคเตเดคเดคเดฟเดจเดพเตฝ, เดจเดฟเด™เตเด™เตพ เด†เดตเตผเดคเตเดคเดฟเดšเตเดšเตเดณเตเดณ เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เตพ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต เดธเตผเด•เตเดฏเต‚เดŸเตเดŸเต เดฌเตเดฐเต‡เด•เตเด•เตผ เดชเดพเดฑเตเดฑเต‡เตบ เด•เตเดฒเดฏเดจเตเดฑเตเด•เดณเดฟเตฝ. เด•เต‚เดŸเดพเดคเต†, เดฎเตเดดเตเดตเตป เดธเดฟเดธเตเดฑเตเดฑเดตเตเด‚ เด•เตเดฐเดพเดทเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดฟเดฒเตเดฒเต†เดจเตเดจเต เด‰เดฑเดชเตเดชเดพเด•เตเด•เดพเตป, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดธเดฎเดฏเดชเดฐเดฟเดงเดฟเด•เตพ เด†เดตเดถเตเดฏเดฎเดพเดฃเต เดฌเตพเด•เตเด•เตเดนเต†เดกเตเดธเต (เดชเตเดฐเดธเตเดคเดพเดตเดฟเดšเตเดš เดฐเดฃเตเดŸเต เดชเดพเดฑเตเดฑเต‡เดฃเตเด•เดณเต†เดฏเตเด‚ เด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เด•เต‚เดŸเตเดคเตฝ เดตเดฟเดตเดฐเด™เตเด™เตพเด•เตเด•เต, เดชเดฟเดจเตเดจเต€เดŸเต เดฒเต‡เด–เดจเดคเตเดคเดฟเตฝ เด•เดพเดฃเตเด• - เดเด•เดฆเต‡เดถเด‚. เดตเดฟเดตเตผเดคเตเดคเดจเด‚.), เด•เต‚เดŸเดพเดคเต† เดชเตเดฐเดถเตเดจเด™เตเด™เตพ เด•เดฃเตเดŸเต†เดคเตเดคเตเดจเตเดจเดคเดฟเดจเต, เดจเดฟเดฐเต€เด•เตเดทเดฃเด‚, เด•เดฃเตเดŸเต†เดคเตเดคเตฝ, [โ€ฆ]

เดŽเด‚โ€Œเดชเดฟ: เด“, เดจเดฎเตเด•เตเด•เต เดˆ เดธเดตเดฟเดถเต‡เดทเดค เด‰เตฝเดชเตเดชเดจเตเดจ เดธเต‡เดตเดจเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เดคเดฟเดฐเตเด•เดพเด‚.

เด†เดถเดฏเด‚ เดตเตเดฏเด•เตเดคเดฎเดพเดฃเต†เดจเตเดจเต เดžเดพเตป เด•เดฐเตเดคเตเดจเตเดจเต: เด’เดฐเต เดธเต‡เดตเดจเด‚ เดšเต‡เตผเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เด†เดตเดถเตเดฏเดฎเดพเดฏ เดจเดŸเดชเดŸเดฟเด•เดณเตเด‚ เดชเดฐเดฟเดถเตเดฐเดฎเดตเตเด‚ เดตเดณเดฐเต† เดตเดฒเตเดคเดพเดฃเต. เดˆ เดฒเต‡เด–เดจเดคเตเดคเดฟเตฝ, เดธเต‡เดตเดจเด™เตเด™เดณเดฟเตฝ เดจเดฟเดจเตเดจเต เดฎเตเด•เดณเดฟเตฝ เดธเต‚เดšเดฟเดชเตเดชเดฟเดšเตเดš เดŽเดฒเตเดฒเดพ เดธเด™เตเด•เต€เตผเดฃเตเดฃเดคเด•เดณเตเด‚ (เด…เดคเต เดฌเดฟเดธเดฟเดจเดธเตเดธเต เดฒเต‹เดœเดฟเด•เต เด†เดฏเดฟเดฐเดฟเด•เตเด•เดพเตป เด‰เดฆเตเดฆเต‡เดถเดฟเดšเตเดšเตเดณเตเดณเดคเดฒเตเดฒ) เดŽเด™เตเด™เดจเต† เด‡เดธเตเดคเดฟเดฏเต‹ เดจเต€เด•เตเด•เด‚เดšเต†เดฏเตเดฏเตเดจเตเดจเตเดตเต†เดจเตเดจเต เดžเด™เตเด™เตพ เดจเต‹เด•เตเด•เดพเด‚.

เด‡เดธเตเดคเดฟเดฏเต‹เดฏเตโ€Œเด•เตเด•เตŠเดชเตเดชเด‚ เดฎเตˆเด•เตเดฐเต‹เดธเตผเดตเต€เดธเตเด•เดณเดฟเดฒเต‡เด•เตเด•เต เดฎเดŸเด™เตเด™เตเด•. เดญเดพเด—เด‚ 1

เด…เดญเดฟเดชเดพเดฏเดชเตเดชเต†เดŸเตเด•: เดˆ เดฒเต‡เด–เดจเด‚ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด•เตเดฌเต†เตผเดจเต†เดฑเตเดฑเดธเดฟเดจเต† เด•เตเดฑเดฟเดšเตเดšเต เดชเตเดฐเดตเตผเดคเตเดคเดจเดชเดฐเดฎเดพเดฏ เด…เดฑเดฟเดตเตเดฃเตเดŸเต†เดจเตเดจเต เด…เดจเตเดฎเดพเดจเดฟเด•เตเด•เตเดจเตเดจเต. เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ, เดตเดพเดฏเดฟเด•เตเด•เดพเตป เดžเดพเตป เดถเตเดชเดพเตผเดถ เดšเต†เดฏเตเดฏเตเดจเตเดจเต เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเดฟเดจเตเดณเตเดณ เดŽเดจเตเดฑเต† เด†เดฎเตเด–เด‚ เด…เดคเดฟเดจเตเดถเต‡เดทเด‚ เดฎเดพเดคเตเดฐเดฎเต‡ เดˆ เดฎเต†เดฑเตเดฑเต€เดฐเดฟเดฏเตฝ เดตเดพเดฏเดฟเด•เตเด•เตเดจเตเดจเดคเต เดคเตเดŸเดฐเต‚.

เด‡เดธเตเดคเดฟเดฏเต‹ เด†เดถเดฏเด‚

เด‡เดธเตเดคเดฟเดฏเต‹ เด‡เดฒเตเดฒเดพเดคเตเดค เดฒเต‹เด•เดคเตเดคเต, เด’เดฐเต เดธเต‡เดตเดจเด‚ เดฎเดฑเตเดฑเตŠเดจเตเดจเดฟเดฒเต‡เด•เตเด•เต เดจเต‡เดฐเดฟเดŸเตเดŸเต เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เตพ เดจเดŸเดคเตเดคเตเดจเตเดจเต, เด’เดฐเต เดชเดฐเดพเดœเดฏเดฎเตเดฃเตเดŸเดพเดฏเดพเตฝ, เดธเต‡เดตเดจเด‚ เด…เดคเต เดธเตเดตเดฏเด‚ เด•เตˆเด•เดพเดฐเตเดฏเด‚ เดšเต†เดฏเตเดฏเดฃเด‚: เด’เดฐเต เดชเตเดคเดฟเดฏ เดถเตเดฐเดฎเด‚ เดจเดŸเดคเตเดคเตเด•, เดธเดฎเดฏเดชเดฐเดฟเดงเดฟ เดจเตฝเด•เตเด•, เด’เดฐเต เดธเตผเด•เตเดฏเต‚เดŸเตเดŸเต เดฌเตเดฐเต‡เด•เตเด•เตผ เดคเตเดฑเด•เตเด•เตเด• เดคเตเดŸเด™เตเด™เดฟเดฏเดต.

เด‡เดธเตเดคเดฟเดฏเต‹เดฏเตโ€Œเด•เตเด•เตŠเดชเตเดชเด‚ เดฎเตˆเด•เตเดฐเต‹เดธเตผเดตเต€เดธเตเด•เดณเดฟเดฒเต‡เด•เตเด•เต เดฎเดŸเด™เตเด™เตเด•. เดญเดพเด—เด‚ 1
เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเดฟเดฒเต† เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดŸเตเดฐเดพเดซเดฟเด•เต

Istio เด’เดฐเต เดชเตเดฐเดคเตเดฏเต‡เด• เดชเดฐเดฟเดนเดพเดฐเด‚ เดตเดพเด—เตเดฆเดพเดจเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต, เดธเต‡เดตเดจเด™เตเด™เดณเดฟเตฝ เดจเดฟเดจเตเดจเต เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏเตเด‚ เดตเต‡เตผเดชเต†เดŸเตเดคเตเดคเดฟ เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เด†เดถเดฏเดตเดฟเดจเดฟเดฎเดฏเดคเตเดคเดฟเตฝ เด‡เดŸเดชเต†เดŸเตเดจเตเดจเดคเดฟเดฒเต‚เดŸเต† เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต. เด…เด™เตเด™เดจเต† เด…เดคเต เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตเดจเตเดจเต:

  • เดคเต†เดฑเตเดฑเต เดธเดนเดฟเดทเตเดฃเตเดค: เดชเตเดฐเดคเดฟเด•เดฐเดฃเดคเตเดคเดฟเดฒเต† เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดธเต เด•เต‹เดกเดฟเดจเตเดฑเต† เด…เดŸเดฟเดธเตเดฅเดพเดจเดคเตเดคเดฟเตฝ, เด…เดญเตเดฏเตผเดคเตเดฅเดจ เดชเดฐเดพเดœเดฏเดชเตเดชเต†เดŸเตเดŸเต‹ เดŽเดจเตเดจเต เดฎเดจเดธเดฟเดฒเดพเด•เตเด•เตเด•เดฏเตเด‚ เด…เดคเต เดตเต€เดฃเตเดŸเตเด‚ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต.
  • เด•เดพเดจเดฑเดฟ เดฑเต‹เตพเด”เดŸเตเดŸเตเด•เตพ: เดธเต‡เดตเดจเดคเตเดคเดฟเดจเตเดฑเต† เดชเตเดคเดฟเดฏ เดชเดคเดฟเดชเตเดชเดฟเดฒเต‡เด•เตเด•เต เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เดณเตเดŸเต† เด’เดฐเต เดจเดฟเดถเตเดšเดฟเดค เดถเดคเดฎเดพเดจเด‚ เดฎเดพเดคเตเดฐเด‚ เดฑเต€เดกเดฏเดฑเด•เตโ€ŒเดŸเต เดšเต†เดฏเตเดฏเตเดจเตเดจเต.
  • เดจเดฟเดฐเต€เด•เตเดทเดฃเดตเตเด‚ เด…เดณเดตเตเด•เดณเตเด‚: เดธเต‡เดตเดจเด‚ เดชเตเดฐเดคเดฟเด•เดฐเดฟเด•เตเด•เดพเตป เดŽเดคเตเดฐ เดธเดฎเดฏเดฎเต†เดŸเตเดคเตเดคเต?
  • เด•เดฃเตเดŸเต†เดคเตเดคเดฒเตเด‚ เดจเดฟเดฐเต€เด•เตเดทเดฃเดตเตเด‚: เด“เดฐเต‹ เด…เดญเตเดฏเตผเดคเตเดฅเดจเดฏเดฟเดฒเตเด‚ เดชเตเดฐเดคเตเดฏเต‡เด• เดคเดฒเด•เตเด•เต†เดŸเตเดŸเตเด•เตพ เดšเต‡เตผเด•เตเด•เตเด•เดฏเตเด‚ เด•เตเดฒเดธเตเดฑเตเดฑเดฑเดฟเดฒเตเดŸเดจเต€เดณเด‚ เด…เดตเดฏเต† เด•เดฃเตเดŸเต†เดคเตเดคเตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต.
  • เดธเตเดฐเด•เตเดท: JWT เดŸเต‹เด•เตเด•เตบ เดตเต€เดฃเตเดŸเต†เดŸเตเด•เตเด•เตเดจเตเดจเต, เด†เดงเดฟเด•เดพเดฐเดฟเด•เดฎเดพเด•เตเด•เตเดจเตเดจเต, เด‰เดชเดฏเต‹เด•เตเดคเดพเด•เตเด•เดณเต† เด…เด‚เด—เต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเต.

เดจเดฟเด™เตเด™เดณเต† เด•เต—เดคเตเด•เดชเตเดชเต†เดŸเตเดคเตเดคเดพเดจเตเดณเตเดณ เดšเดฟเดฒ เดธเดพเดงเตเดฏเดคเด•เตพ (เดถเดฐเดฟเด•เตเด•เตเด‚ เดšเดฟเดฒเดคเต เดฎเดพเดคเตเดฐเด‚!) เด‡เดตเดฏเดพเดฃเต. เด‡เดจเดฟ เดจเดฎเตเด•เตเด•เต เดธเดพเด™เตเด•เต‡เดคเดฟเด• เดตเดฟเดถเดฆเดพเด‚เดถเด™เตเด™เดณเดฟเดฒเต‡เด•เตเด•เต เด•เดŸเด•เตเด•เดพเด‚!

เด‡เดธเตเดคเดฟเดฏเต‹ เดตเดพเดธเตเดคเตเดตเดฟเดฆเตเดฏ

Istio เดŽเดฒเตเดฒเดพ เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดŸเตเดฐเดพเดซเดฟเด•เตเด•เตเด‚ เดคเดŸเดธเตเดธเดชเตเดชเต†เดŸเตเดคเตเดคเตเด•เดฏเตเด‚ เด…เดคเดฟเดจเต เด’เดฐเต เด•เต‚เดŸเตเดŸเด‚ เดจเดฟเดฏเดฎเด™เตเด™เตพ เดชเตเดฐเดฏเต‹เด—เดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต, เด“เดฐเต‹ เดชเต‹เดกเดฟเดฒเต‡เด•เตเด•เตเด‚ เด’เดฐเต เดธเตˆเดกเตโ€Œเด•เดพเตผ เด•เดฃเตเดŸเต†เดฏเตโ€Œเดจเดฑเดฟเดจเตเดฑเต† เดฐเต‚เดชเดคเตเดคเดฟเตฝ เด’เดฐเต เดธเตเดฎเดพเตผเดŸเตเดŸเต เดชเตเดฐเต‹เด•เตโ€Œเดธเดฟ เดšเต‡เตผเด•เตเด•เตเดจเตเดจเต. เดŽเดฒเตเดฒเดพ เด•เดดเดฟเดตเตเด•เดณเตเด‚ เดธเดœเต€เดตเดฎเดพเด•เตเด•เตเดจเตเดจ เดชเตเดฐเต‹เด•เตเดธเดฟเด•เตพ เดฐเต‚เดชเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเต a เดกเดพเดฑเตเดฑเดพ เดตเดฟเดฎเดพเดจเด‚, เด•เต‚เดŸเดพเดคเต† เด…เดต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดšเดฒเดจเดพเดคเตเดฎเด•เดฎเดพเดฏเดฟ เด•เต‹เตบเดซเดฟเด—เตผ เดšเต†เดฏเตเดฏเดพเดตเตเดจเตเดจเดคเดพเดฃเต เดจเดฟเดฏเดจเตเดคเตเดฐเดฃ เดคเดฒเด‚.

เดกเดพเดฑเตเดฑเดพ เดตเดฟเดฎเดพเดจเด‚

เดชเต‹เดกเตเด•เดณเดฟเดฒเต‡เด•เตเด•เต เดšเต‡เตผเดคเตเดค เดชเตเดฐเต‹เด•เตเดธเดฟเด•เตพ เดจเดฎเตเด•เตเด•เต เด†เดตเดถเตเดฏเดฎเตเดณเตเดณ เด†เดตเดถเตเดฏเด•เดคเด•เตพ เดŽเดณเตเดชเตเดชเดคเตเดคเดฟเตฝ เดจเดฟเดฑเดตเต‡เดฑเตเดฑเดพเตป เด‡เดธเตเดคเดฟเดฏเต‹เดฏเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดจเดฎเตเด•เตเด•เต เดตเต€เดฃเตเดŸเตเด‚ เดถเตเดฐเดฎเดฟเด•เตเด•เดพเด‚, เดธเตผเด•เตเดฏเต‚เดŸเตเดŸเต เดฌเตเดฐเต‡เด•เตเด•เตผ เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เตพ เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เดพเด‚.

เด‡เดธเตเดคเดฟเดฏเต‹เดฏเตโ€Œเด•เตเด•เตŠเดชเตเดชเด‚ เดฎเตˆเด•เตเดฐเต‹เดธเตผเดตเต€เดธเตเด•เดณเดฟเดฒเต‡เด•เตเด•เต เดฎเดŸเด™เตเด™เตเด•. เดญเดพเด—เด‚ 1
เดŽเตปเดตเต‹เดฏเดฟเดฏเดฟเตฝ เดŽเด™เตเด™เดจเต†เดฏเดพเดฃเต เดฑเต€เดŸเตเดฐเตˆเด•เดณเตเด‚ เดธเตผเด•เตเดฏเต‚เดŸเตเดŸเต เดฌเตเดฐเต‡เด•เตเด•เดฟเด‚เด—เตเด‚ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตเดจเตเดจเดคเต

เดšเตเดฐเตเด•เตเด•เดคเตเดคเดฟเตฝ:

  1. เดŽเตปเดตเดฏเตเด•เตเด•เตŠเดชเตเดชเด‚ (เดžเด™เตเด™เตพ เดธเด‚เดธเดพเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเต เด’เดฐเต เดธเตˆเดกเตเด•เดพเตผ เด•เดฃเตเดŸเต†เดฏเตเดจเดฑเดฟเตฝ เดธเตเดฅเดฟเดคเดฟเดšเต†เดฏเตเดฏเตเดจเตเดจ เด’เดฐเต เดชเตเดฐเต‹เด•เตเดธเดฟเดฏเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเดพเดฃเต, เด…เดคเต เดตเดฟเดคเดฐเดฃเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต เดชเตเดฐเดคเตเดฏเต‡เด• เด‰เตฝเดชเตเดชเดจเตเดจเด‚ - เดเด•เดฆเต‡เดถเด‚. เดชเดฐเดฟเดญเดพเดท.) เดธเต‡เดตเดจ เดฌเดฟเดฏเตเดŸเต† เด†เดฆเตเดฏ เดธเด‚เดญเดตเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เด’เดฐเต เด…เดญเตเดฏเตผเดคเตเดฅเดจ เด…เดฏเดฏเตเด•เตเด•เตเด•เดฏเตเด‚ เดชเดฐเดพเดœเดฏเดชเตเดชเต†เดŸเตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต.
  2. เดฆเต‚เดคเตป เดธเตˆเดกเตเด•เดพเตผ เดตเต€เดฃเตเดŸเตเด‚ เดถเตเดฐเดฎเดฟเด•เตเด•เตเดจเตเดจเต (เดตเต€เดฃเตเดŸเตเด‚ เดถเตเดฐเดฎเดฟเด•เตเด•เตเด•). (1)
  3. เด…เดญเตเดฏเตผเดคเตเดฅเดจ เดชเดฐเดพเดœเดฏเดชเตเดชเต†เดŸเตเด•เดฏเตเด‚ เด…เดคเดฟเดจเต† เดตเดฟเดณเดฟเดšเตเดš เดชเตเดฐเต‹เด•เตเดธเดฟเดฏเดฟเดฒเต‡เด•เตเด•เต เดคเดฟเดฐเดฟเด•เต† เดจเตฝเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต.
  4. เด‡เดคเต เดธเตผเด•เตเดฏเต‚เดŸเตเดŸเต เดฌเตเดฐเต‡เด•เตเด•เตผ เดคเตเดฑเด•เตเด•เตเด•เดฏเตเด‚ เดคเตเดŸเตผเดจเตเดจเตเดณเตเดณ เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เตพเด•เตเด•เดพเดฏเดฟ เด…เดŸเตเดคเตเดค เดธเต‡เดตเดจเดคเตเดคเต† เดตเดฟเดณเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต. (2)

เด‡เดคเดฟเดจเตผเดคเตเดฅเด‚ เดจเดฟเด™เตเด™เตพ เดฎเดฑเตเดฑเตŠเดฐเต เดฑเต€เดŸเตเดฐเดฟ เดฒเตˆเดฌเตเดฐเดฑเดฟ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เต‡เดฃเตเดŸเดคเดฟเดฒเตเดฒ เดŽเดจเตเดจเดพเดฃเต, เดธเตผเด•เตเดฏเต‚เดŸเตเดŸเต เดฌเตเดฐเต‡เด•เตเด•เดฟเด‚เด—เตเด‚ เดธเต‡เดตเดจ เด•เดฃเตเดŸเต†เดคเตเดคเดฒเตเด‚ เดชเตเดฐเต‹เด—เตเดฐเดพเดฎเดฟเด‚เด—เต เดญเดพเดทเดฏเดพเดฏ X, Y เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ Z เดŽเดจเตเดจเดฟเดตเดฏเดฟเตฝ เดจเดฟเด™เตเด™เตพ เดธเตเดตเดฏเด‚ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เต‡เดฃเตเดŸเดคเดฟเดฒเตเดฒ. เด‡เดคเต†เดฒเตเดฒเดพเด‚ เดฌเต‹เด•เตโ€Œเดธเดฟเดจเต เดชเตเดฑเดคเตเดคเต เดฒเดญเตเดฏเดฎเดพเดฃเต. เด‡เดธเตเดคเดฟเดฏเต‹เดฏเดฟเตฝ, เด†เดตเดถเตเดฏเดฎเดฟเดฒเตเดฒ เด‡เดฒเตเดฒ เด•เต‹เดกเดฟเดฒเต† เดฎเดพเดฑเตเดฑเด™เตเด™เตพ.

เด•เตŠเดณเตเดณเดพเด‚! เด‡เดชเตเดชเต‹เตพ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด‡เดธเตเดคเดฟเดฏเต‹เดฏเตโ€Œเด•เตเด•เตŠเดชเตเดชเด‚ เด’เดฐเต เดฏเดพเดคเตเดฐ เดชเต‹เด•เดพเตป เดคเดพเตฝเดชเตเดชเดฐเตเดฏเดฎเตเดฃเตเดŸเดพเด•เดพเด‚, เดชเด•เตเดทเต‡ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด‡เดชเตเดชเต‹เดดเตเด‚ เดšเดฟเดฒ เดธเด‚เดถเดฏเด™เตเด™เดณเตเดฃเตเดŸเต, เดคเตเดฑเดจเตเดจ เดšเต‹เดฆเตเดฏเด™เตเด™เตพ. เด‡เดคเต เดœเต€เดตเดฟเดคเดคเตเดคเดฟเดฒเต† เดŽเดฒเตเดฒเดพ เด…เดตเดธเดฐเด™เตเด™เตพเด•เตเด•เตเด‚ เด’เดฐเต เดธเดพเตผเดตเดคเตเดฐเดฟเด• เดชเดฐเดฟเดนเดพเดฐเดฎเดพเดฃเต†เด™เตเด•เดฟเตฝ, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดธเตเดตเดพเดญเดพเดตเดฟเด• เดธเด‚เดถเดฏเดฎเตเดฃเตเดŸเต: เดŽเดฒเตเดฒเดพเดคเตเดคเดฟเดจเตเดฎเตเดชเดฐเดฟ, เดตเดพเดธเตเดคเดตเดคเตเดคเดฟเตฝ เด…เดคเตเดคเดฐเด‚ เดŽเดฒเตเดฒเดพ เดชเดฐเดฟเดนเดพเดฐเด™เตเด™เดณเตเด‚ เด’เดฐเต เด•เต‡เดธเดฟเดจเตเด‚ เด…เดจเตเดฏเต‹เดœเตเดฏเดฎเดฒเตเดฒ.

เด’เดŸเตเดตเดฟเตฝ เดจเดฟเด™เตเด™เตพ เดšเต‹เดฆเดฟเด•เตเด•เตเดจเตเดจเต: "เด‡เดคเต เด‡เดทเตเดŸเดพเดจเตเดธเตƒเดคเดฎเดพเด•เตเด•เดพเดจเดพเด•เตเดฎเต‹?"

เด‡เดชเตเดชเต‹เตพ เดจเดฟเด™เตเด™เตพ เด•เดŸเตฝ เดฏเดพเดคเตเดฐเดฏเตเด•เตเด•เต เดคเดฏเตเดฏเดพเดฑเดพเดฃเต, เดจเดฎเตเด•เตเด•เต เด•เตบเดŸเตเดฐเต‹เตพ เดชเตเดฒเต†เดฏเดฟเดจเดฟเดจเต† เดชเดฐเดฟเดšเดฏเดชเตเดชเต†เดŸเดพเด‚.

เดจเดฟเดฏเดจเตเดคเตเดฐเดฃ เดคเดฒเด‚

เด…เดคเดฟเตฝ เดฎเต‚เดจเตเดจเต เด˜เดŸเด•เด™เตเด™เตพ เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต: เดชเตˆเดฒเดฑเตเดฑเต, เดฎเดฟเด•เตเดธเดฐเต ะธ เด•เต‡เดพเดŸเตเดŸ, เดŸเตเดฐเดพเดซเดฟเด•เต เดฑเต‚เดŸเตเดŸเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเด‚ เดจเดฏเด™เตเด™เตพ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเด‚ เดŸเต†เดฒเดฟเดฎเต†เดŸเตเดฐเดฟ เดกเดพเดฑเตเดฑ เดถเต‡เด–เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเด‚ เดฆเต‚เดคเดจเตเดฎเดพเดฐเต† เด•เต‹เตบเดซเดฟเด—เตผ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต เด’เดฐเตเดฎเดฟเดšเตเดšเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต. เด†เดธเต‚เดคเตเดฐเดฟเดคเดฎเดพเดฏเดฟ, เดŽเดฒเตเดฒเดพเด‚ เด‡เดคเตเดชเต‹เดฒเต† เด•เดพเดฃเดชเตเดชเต†เดŸเตเดจเตเดจเต:

เด‡เดธเตเดคเดฟเดฏเต‹เดฏเตโ€Œเด•เตเด•เตŠเดชเตเดชเด‚ เดฎเตˆเด•เตเดฐเต‹เดธเตผเดตเต€เดธเตเด•เดณเดฟเดฒเต‡เด•เตเด•เต เดฎเดŸเด™เตเด™เตเด•. เดญเดพเด—เด‚ 1
เดกเดพเดฑเตเดฑเดพ เดชเตเดฒเต†เดฏเดฟเดจเตเดฎเดพเดฏเตเดณเตเดณ เด•เตบเดŸเตเดฐเต‹เตพ เดชเตเดฒเต†เดฏเดฟเดจเดฟเดจเตเดฑเต† เด‡เดŸเดชเต†เดŸเตฝ

เดฆเต‚เดคเดจเตเดฎเดพเตผ (เด…เดคเดพเดฏเดคเต เดกเดพเดฑเตเดฑเดพ เดตเดฟเดฎเดพเดจเด‚) เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด•เต‹เตบเดซเดฟเด—เตผ เดšเต†เดฏเตโ€Œเดคเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต เด•เตเดฌเต†เตผเดจเต†เดฑเตเดฑเดธเต เดธเดฟเด†เตผเดกเดฟ (เด‡เดทเตโ€ŒเดŸเดพเดจเตเดธเตƒเดค เดตเดฟเดญเดต เดจเดฟเตผเดตเดšเดจเด™เตเด™เตพ) เด‡เดธเตเดคเดฟเดฏเต‹ เดจเดฟเตผเดตเตเดตเดšเดฟเดšเตเดšเดคเตเด‚ เดˆ เด†เดตเดถเตเดฏเดคเตเดคเดฟเดจเดพเดฏเดฟ เดชเตเดฐเดคเตเดฏเต‡เด•เด‚ เด‰เดฆเตเดฆเต‡เดถเดฟเดšเตเดšเดฟเดŸเตเดŸเตเดณเตเดณเดคเตเดฎเดพเดฃเต. เด‡เดคเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด…เตผเดคเตเดฅเดฎเดพเด•เตเด•เตเดจเตเดจเดคเต, เดชเดฐเดฟเดšเดฟเดคเดฎเดพเดฏ เดตเดพเด•เตเดฏเด˜เดŸเดจเดฏเตเดณเตเดณ เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเดฟเดฒเต† เดฎเดฑเตเดฑเตŠเดฐเต เด‰เดฑเดตเดฟเดŸเดฎเดพเดฏเดฟ เด…เดต เด•เดพเดฃเดชเตเดชเต†เดŸเตเดจเตเดจเต เดŽเดจเตเดจเดคเดพเดฃเต. เดธเตƒเดทเตเดŸเดฟเดšเตเดšเตเด•เดดเดฟเดžเตเดžเดพเตฝ, เดˆ เดตเดฟเดญเดตเด‚ เด•เตบเดŸเตเดฐเต‹เตพ เดชเตเดฒเต†เดฏเดฟเตป เดŽเดŸเตเดคเตเดคเต เดฆเต‚เดคเดจเตเดฎเดพเตผเด•เตเด•เต เดชเตเดฐเดฏเต‹เด—เดฟเด•เตเด•เตเด‚.

เด‡เดธเตเดคเดฟเดฏเต‹เดฏเตเดฎเดพเดฏเตเดณเตเดณ เดธเต‡เดตเดจเด™เตเด™เดณเตเดŸเต† เดฌเดจเตเดงเด‚

เดธเต‡เดตเดจเด™เตเด™เดณเตเดฎเดพเดฏเตเดณเตเดณ เด‡เดธเตเดคเดฟเดฏเต‹เดฏเตเดŸเต† เดฌเดจเตเดงเด‚ เดžเด™เตเด™เตพ เดตเดฟเดตเดฐเดฟเดšเตเดšเดฟเดŸเตเดŸเตเดฃเตเดŸเต, เดชเด•เตเดทเต‡ เดตเดฟเดชเดฐเต€เดคเดฎเดฒเตเดฒ: เดธเต‡เดตเดจเด™เตเด™เตพ เด‡เดธเตเดคเดฟเดฏเต‹เดฏเตเดฎเดพเดฏเดฟ เดŽเด™เตเด™เดจเต† เดฌเดจเตเดงเดชเตเดชเต†เดŸเตเดŸเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต?

เดธเดคเตเดฏเด‚ เดชเดฑเดžเตเดžเดพเตฝ, "เดŽเดจเตเดคเดพเดฃเต เดตเต†เดณเตเดณเด‚" เดŽเดจเตเดจเต เดธเตเดตเดฏเด‚ เดšเต‹เดฆเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ, เดฎเดคเตเดธเตเดฏเด‚ เดตเต†เดณเตเดณเดฎเตเดณเตเดณเดคเตเดชเต‹เดฒเต†, เด‡เดธเตเดคเดฟเดฏเต‹เดฏเตเดŸเต† เดธเดพเดจเตเดจเดฟเดงเตเดฏเด‚ เดธเต‡เดตเดจเด™เตเด™เตพเด•เตเด•เต เด…เดฑเดฟเดฏเดพเด‚.

เด‡เดธเตเดคเดฟเดฏเต‹เดฏเตโ€Œเด•เตเด•เตŠเดชเตเดชเด‚ เดฎเตˆเด•เตเดฐเต‹เดธเตผเดตเต€เดธเตเด•เดณเดฟเดฒเต‡เด•เตเด•เต เดฎเดŸเด™เตเด™เตเด•. เดญเดพเด—เด‚ 1
เดšเดฟเดคเตเดฐเต€เด•เดฐเดฃเด‚ เดตเดฟเด•เตเดŸเต‹เดฑเดฟเดฏ เดฆเดฟเดฎเดฟเดคเตเดฐเด•เต‹เดชเต—เดฒเต‹เดธเต:- เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดตเต†เดณเตเดณเด‚ เดŽเด™เตเด™เดจเต† เด‡เดทเตเดŸเดฎเดพเดฃเต? - เดŽเดจเตเดคเดพเดฏเดพเดฒเตเด‚ เดตเต†เดณเตเดณเด‚ เดŽเดจเตเดคเดพเดฃเต?

เด…เด™เตเด™เดจเต†, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต เดตเตผเด•เตเด•เดฟเด‚เด—เต เด•เตเดฒเดธเตเดฑเตเดฑเตผ เดŽเดŸเตเด•เตเด•เดพเด‚, เด‡เดธเตเดคเดฟเดฏเต‹ เด˜เดŸเด•เด™เตเด™เตพ เดตเดฟเดจเตเดฏเดธเดฟเดšเตเดšเดคเดฟเดจเต เดถเต‡เดทเด‚, เด…เดคเดฟเตฝ เดธเตเดฅเดฟเดคเดฟเดšเต†เดฏเตเดฏเตเดจเตเดจ เดธเต‡เดตเดจเด™เตเด™เตพ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเดคเต เดคเตเดŸเดฐเตเด‚, เดˆ เด˜เดŸเด•เด™เตเด™เตพ เดจเต€เด•เตเด•เด‚ เดšเต†เดฏเตเดคเดคเดฟเดจเต เดถเต‡เดทเด‚ เดŽเดฒเตเดฒเดพเด‚ เดตเต€เดฃเตเดŸเตเด‚ เดถเดฐเดฟเดฏเดพเด•เตเด‚. เดˆ เดธเดพเดนเดšเดฐเตเดฏเดคเตเดคเดฟเตฝ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด‡เดธเตเดคเดฟเดฏเต‹ เดจเตฝเด•เตเดจเตเดจ เด•เดดเดฟเดตเตเด•เตพ เดจเดทเตเดŸเดชเตเดชเต†เดŸเตเดฎเต†เดจเตเดจเต เดตเตเดฏเด•เตเดคเดฎเดพเดฃเต.

เดฎเดคเดฟเดฏเดพเดฏ เดธเดฟเดฆเตเดงเดพเดจเตเดคเด‚ - เดจเดฎเตเด•เตเด•เต เดˆ เด…เดฑเดฟเดตเต เดชเตเดฐเดพเดฏเต‹เด—เดฟเด•เดฎเดพเด•เตเด•เดพเด‚!

เดชเตเดฐเดพเดฏเต‹เด—เดฟเด•เดฎเดพเดฏเดฟ เด‡เดธเตเดคเดฟเดฏเต‹

เด•เตเดฑเดžเตเดžเดคเต 4 vCPU-เด•เดณเตเด‚ 8 GB เดฑเดพเดฎเตเด‚ เด‰เดณเตเดณ เด’เดฐเต Kubernetes เด•เตเดฒเดธเตเดฑเตเดฑเตผ Istio-เดจเต เด†เดตเดถเตเดฏเดฎเดพเดฃเต. เด’เดฐเต เด•เตเดฒเดธเตเดฑเตเดฑเตผ เดตเต‡เด—เดคเตเดคเดฟเตฝ เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเด‚ เดฒเต‡เด–เดจเดคเตเดคเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดจเดฟเตผเดฆเตเดฆเต‡เดถเด™เตเด™เตพ เดชเดพเดฒเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเด‚, เดชเตเดคเดฟเดฏ เด‰เดชเดฏเต‹เด•เตเดคเดพเด•เตเด•เตพ เดตเดพเด—เตเดฆเดพเดจเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจ Google เด•เตเดฒเต—เดกเต เดชเตเดฒเดพเดฑเตเดฑเตเดซเต‹เด‚ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเตป เดžเดพเตป เดถเตเดชเดพเตผเดถ เดšเต†เดฏเตเดฏเตเดจเตเดจเต เดธเต—เดœเดจเตเดฏ $300.

เด’เดฐเต เด•เตเดฒเดธเตเดฑเตเดฑเตผ เดธเตƒเดทเตเดŸเดฟเดšเตเดšเต เด•เตบเดธเต‹เตพ เดฏเต‚เดŸเตเดŸเดฟเดฒเดฟเดฑเตเดฑเดฟ เดตเดดเดฟ Kubernetes-เดฒเต‡เด•เตเด•เตเดณเตเดณ เด†เด•เตเดธเดธเต เด•เต‹เตบเดซเดฟเด—เตผ เดšเต†เดฏเตเดค เดถเต‡เดทเด‚, Helm เดชเดพเด•เตเด•เต‡เดœเต เดฎเดพเดจเต‡เดœเตผ เดตเดดเดฟ เดจเดฟเด™เตเด™เตพเด•เตเด•เต Istio เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเดพเตป เด•เดดเดฟเดฏเตเด‚.

เดนเต†เตฝเด‚ เด‡เตปเดธเตเดฑเตเดฑเดพเดณเต‡เดทเตป

เดตเดฟเดตเดฐเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเตเดชเต‹เดฒเต†, เดจเดฟเด™เตเด™เดณเตเดŸเต† เด•เดฎเตเดชเตเดฏเต‚เดŸเตเดŸเดฑเดฟเตฝ เดนเต†เตฝเด‚ เด•เตเดฒเดฏเดจเตเดฑเต เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเตเด• เด”เดฆเตเดฏเต‹เด—เดฟเด• เดกเต‹เด•เตเดฏเตเดฎเต†เดจเตเดฑเต‡เดทเตป. เด…เดŸเตเดคเตเดค เดตเดฟเดญเดพเด—เดคเตเดคเดฟเตฝ Istio เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดŸเต†เด‚เดชเตเดฒเต‡เดฑเตเดฑเตเด•เตพ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดพเตป เดžเด™เตเด™เตพ เด‡เดคเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด‚.

เด‡เดธเตเดคเดฟเดฏเต‹ เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเตเดจเตเดจเต

เด‡เดธเตเดฑเตเดฑเดฟเดฏเต‹ เด‰เดฑเดตเดฟเดŸเด™เตเด™เตพ เดกเต—เตบเดฒเต‹เดกเต เดšเต†เดฏเตเดฏเตเด• เดเดฑเตเดฑเดตเตเด‚ เดชเตเดคเดฟเดฏ เดฑเดฟเดฒเต€เดธเต (เดชเดคเดฟเดชเตเดชเต 1.0.5-เดฒเต‡เด•เตเด•เตเดณเตเดณ เดฏเดฅเดพเตผเดคเตเดฅ เดฐเดšเดฏเดฟเดคเดพเดตเดฟเดจเตเดฑเต† เดฒเดฟเด™เตเด•เต เดจเดฟเดฒเดตเดฟเดฒเตเดณเตเดณเดคเดฟเดฒเต‡เด•เตเด•เต เดฎเดพเดฑเตเดฑเดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต, เด…เดคเดพเดฏเดคเต 1.0.6 - เดเด•เดฆเต‡เดถเด‚. เดตเดฟเดตเตผเดคเตเดคเดจเด‚.), เด’เดฐเต เดกเดฏเดฑเด•เตโ€ŒเดŸเดฑเดฟเดฏเดฟเดฒเต‡เด•เตเด•เต เด‰เดณเตเดณเดŸเด•เตเด•เด™เตเด™เตพ เดŽเด•เตโ€Œเดธเตโ€ŒเดŸเตเดฐเดพเด•เตโ€Œเดฑเตเดฑเต เดšเต†เดฏเตเดฏเตเด•, เด…เดคเดฟเดจเต† เดžเดพเตป เด‡เดจเดฟ เดตเดฟเดณเดฟเด•เตเด•เตเด‚ [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.yaml. เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดชเดพเดฐเดพเดฎเต€เดฑเตเดฑเดฑเตเด•เตพ เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เดฟเด•เตเด•เตŠเดฃเตเดŸเต เดžเด™เตเด™เตพ เดธเตเดฑเตเดฑเดพเตปเดกเต‡เตผเดกเต เดŸเต†เด‚เดชเตเดฒเต‡เดฑเตเดฑเต เดžเด™เตเด™เตพเด•เตเด•เต เด…เดจเตเดฏเต‹เดœเตเดฏเดฎเดพเด•เตเด•เดพเตป เดชเดฐเดฟเดทเตเด•เดฐเดฟเดšเตเดšเต:

  • global.mtls.enabled เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดคเต false (เด…เดคเดพเดฏเดคเต mTLS เดชเตเดฐเดพเดฎเดพเดฃเต€เด•เดฐเดฃเด‚ เดชเตเดฐเดตเตผเดคเตเดคเดจเดฐเดนเดฟเดคเดฎเดพเด•เตเด•เดฟ - เดเด•เดฆเต‡เดถเด‚.)เดžเด™เตเด™เดณเตเดŸเต† เดกเต‡เดฑเตเดฑเดฟเด‚เด—เต เดชเตเดฐเด•เตเดฐเดฟเดฏ เดฒเดณเดฟเดคเดฎเดพเด•เตเด•เดพเตป;
  • tracing.enabled เดœเต†เดฏเตเด—เตผ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเตเดณเตเดณ เด…เดญเตเดฏเตผเดคเตเดฅเดจ เดŸเตเดฐเต†เดฏเตโ€Œเดธเดฟเด‚เด—เต เด‰เตพเดชเตเดชเต†เดŸเตเดจเตเดจเต;
  • kiali.enabled เดธเต‡เดตเดจเด™เตเด™เดณเตเด‚ เดŸเตเดฐเดพเดซเดฟเด•เตเด•เตเด‚ เดฆเตƒเดถเตเดฏเดตเตฝเด•เตเด•เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เด•เดฟเดฏเดพเดฒเดฟเดฏเต† เด’เดฐเต เด•เตเดฒเดธเตเดฑเตเดฑเดฑเดฟเดฒเต‡เด•เตเด•เต เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเตเดจเตเดจเต;
  • grafana.enabled เดถเต‡เด–เดฐเดฟเดšเตเดš เด…เดณเดตเตเด•เตพ เดฆเตƒเดถเตเดฏเดตเตฝเด•เตเด•เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เด—เตเดฐเดพเดซเดพเดจ เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเตเดจเตเดจเต.

เด•เดฎเดพเตปเดกเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดธเตƒเดทเตเดŸเดฟเดšเตเดš เด‰เดฑเดตเดฟเดŸเด™เตเด™เตพ เดจเดฎเตเด•เตเด•เต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚:

$ kubectl apply -f istio.yaml

เด•เตเดฒเดธเตเดฑเตเดฑเดฑเดฟเดฒเต† เด‡เดธเตเดคเดฟเดฏเต‹เดฏเตเดŸเต† เด‡เตปเดธเตเดฑเตเดฑเดพเดณเต‡เดทเตป เดชเต‚เตผเดคเตเดคเดฟเดฏเดพเดฏเดฟ! เดŽเดฒเตเดฒเดพ เดชเต‹เดกเตเด•เดณเตเด‚ เดจเต†เดฏเดฟเด‚เดธเตเดชเต‡เดธเดฟเตฝ เดตเดฐเตเดจเตเดจเดคเตเดตเดฐเต† เด•เดพเดคเตเดคเดฟเดฐเดฟเด•เตเด•เตเด• istio-system เด•เดดเดฟเดฏเตเด‚ Running เด…เดฅเดตเดพ Completedเดคเดพเดดเต†เดฏเตเดณเตเดณ เด•เดฎเดพเตปเดกเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดฒเต‚เดŸเต†:

$ kubectl get pods -n istio-system

เด‡เดชเตเดชเต‹เตพ เดžเด™เตเด™เตพ เด…เดŸเตเดคเตเดค เดตเดฟเดญเดพเด—เดคเตเดคเดฟเตฝ เดคเตเดŸเดฐเดพเตป เดคเดฏเตเดฏเดพเดฑเดพเดฃเต, เด…เดตเดฟเดŸเต† เดžเด™เตเด™เตพ เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดชเตเดฐเดตเตผเดคเตเดคเดจเด•เตเดทเดฎเดฎเดพเด•เตเด•เตเด‚.

เดธเต†เดจเตเดฑเดฟเดฎเต†เดจเตเดฑเต เด…เดจเดพเดฒเดฟเดธเดฟเดธเต เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเดฑเต† เด†เตผเด•เตเด•เดฟเดŸเต†เด•เตเดšเตผ

เด‡เดคเดฟเดจเด•เด‚ เดธเต‚เดšเดฟเดชเตเดชเดฟเดšเตเดšเดคเดฟเตฝ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เดธเต†เดจเตเดฑเดฟเดฎเต†เดจเตเดฑเต เด…เดจเดพเดฒเดฟเดธเดฟเดธเต เดฎเตˆเด•เตเดฐเต‹ เดธเตผเดตเต€เดธเต เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเดฑเต† เด‰เดฆเดพเดนเดฐเดฃเด‚ เดจเดฎเตเด•เตเด•เต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚ เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเดฟเดจเตเดฑเต† เด†เดฎเตเด– เดฒเต‡เด–เดจเด‚. เดชเตเดฐเดพเดฏเต‹เด—เดฟเด•เดฎเดพเดฏเดฟ เด‡เดธเตเดคเดฟเดฏเต‹เดฏเตเดŸเต† เด•เดดเดฟเดตเตเด•เตพ เด•เดพเดฃเดฟเด•เตเด•เดพเตป เด‡เดคเต เดธเด™เตเด•เต€เตผเดฃเตเดฃเดฎเดพเดฃเต.

เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเดฟเตฝ เดจเดพเดฒเต เดฎเตˆเด•เตเดฐเต‹เดธเตผเดตเต€เดธเตเด•เตพ เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต:

  1. เดธเต‡เดตเดจเด‚ เดŽเดธเตเดŽ-เดซเตเดฐเดฃเตเดŸเต†เตปเดกเต, เด’เดฐเต Reactjs เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเดฑเต† เดฎเตเตปเดญเดพเด—เดคเตเดคเต† เดธเต‡เดตเดฟเด•เตเด•เตเดจเตเดจเต;
  2. เดธเต‡เดตเดจเด‚ SA-WebApp, เด…เดคเต เดธเต†เดจเตเดฑเดฟเดฎเต†เดจเตเดฑเต เด…เดจเดพเดฒเดฟเดธเดฟเดธเต เด…เดจเตเดตเต‡เดทเดฃเด™เตเด™เตพ เดจเตฝเด•เตเดจเตเดจเต;
  3. เดธเต‡เดตเดจเด‚ เดŽเดธเตเดŽ-เดฒเต‹เดœเดฟเด•เต, เด…เดคเต เดธเตเดตเดฏเด‚ เดจเดฟเตผเดตเดนเดฟเด•เตเด•เตเดจเตเดจเต เดตเดฟเด•เดพเดฐ เดตเดฟเดถเด•เดฒเดจเด‚;
  4. เดธเต‡เดตเดจเด‚ SA-เดซเต€เดกเตเดฌเดพเด•เตเด•เต, เดตเดฟเดถเด•เดฒเดจเดคเตเดคเดฟเดจเตเดฑเต† เด•เตƒเดคเตเดฏเดคเดฏเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เด‰เดชเดฏเต‹เด•เตเดคเดพเด•เตเด•เดณเดฟเตฝ เดจเดฟเดจเตเดจเต เดซเต€เดกเตเดฌเดพเด•เตเด•เต เดธเตเดตเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเต.

เด‡เดธเตเดคเดฟเดฏเต‹เดฏเตโ€Œเด•เตเด•เตŠเดชเตเดชเด‚ เดฎเตˆเด•เตเดฐเต‹เดธเตผเดตเต€เดธเตเด•เดณเดฟเดฒเต‡เด•เตเด•เต เดฎเดŸเด™เตเด™เตเด•. เดญเดพเด—เด‚ 1

เดˆ เดกเดฏเด—เตเดฐเดพเดฎเดฟเตฝ, เดธเต‡เดตเดจเด™เตเด™เตพเด•เตเด•เต เดชเตเดฑเดฎเต‡, เด‡เตปโ€Œเด—เตเดฐเต†เดธเต เด•เตบเดŸเตเดฐเต‹เดณเดฑเตเด‚ เดžเด™เตเด™เตพ เด•เดพเดฃเตเดจเตเดจเต, เด…เดคเต เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเดฟเตฝ เด‰เดšเดฟเดคเดฎเดพเดฏ เดธเต‡เดตเดจเด™เตเด™เดณเดฟเดฒเต‡เด•เตเด•เต เด‡เตปเด•เดฎเดฟเด‚เด—เต เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เตพ เดฑเต‚เดŸเตเดŸเต เดšเต†เดฏเตเดฏเตเดจเตเดจเต. เด‡เดธเตเดคเดฟเดฏเต‹ เด…เดคเดฟเดจเตเดฑเต† เด‡เตปเด—เตเดฐเต†เดธเตเดธเต เด—เต‡เดฑเตเดฑเตโ€Œเดตเต‡เดฏเดฟเตฝ เดธเดฎเดพเดจเดฎเดพเดฏ เด’เดฐเต เด†เดถเดฏเด‚ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต, เด…เดคเดฟเดจเตเดฑเต† เด•เต‚เดŸเตเดคเตฝ เดตเดฟเดถเดฆเดพเด‚เดถเด™เตเด™เตพ เดชเดฟเดจเตเดคเตเดŸเดฐเตเด‚.

เด‡เดธเตเดคเดฟเดฏเต‹เดฏเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เด’เดฐเต เดชเตเดฐเต‹เด•เตเดธเดฟ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด’เดฐเต เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเต

เดฒเต‡เด–เดจเดคเตเดคเดฟเตฝ เดชเดฐเดพเดฎเตผเดถเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เด•เต‚เดŸเตเดคเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เตพเด•เตเด•เดพเดฏเดฟ, เดจเดฟเด™เตเด™เดณเตเดŸเต† เดถเต‡เด–เดฐเด‚ เด•เตเดฒเต‹เตบ เดšเต†เดฏเตเดฏเตเด• istio-mastery. เด•เตเดฌเต†เตผเดจเต†เดฑเตเดฑเดธเดฟเดจเตเด‚ เด‡เดธเตเดฑเตเดฑเดฟเดฏเต‹เดฏเตเด•เตเด•เตเดฎเตเดณเตเดณ เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเด‚ เดฎเดพเดจเดฟเดซเต†เดธเตเดฑเตเดฑเตเด•เดณเตเด‚ เด‡เดคเดฟเตฝ เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต.

เดธเตˆเดกเตเด•เดพเดฑเตเด•เตพ เดšเต‡เตผเด•เตเด•เตเดจเตเดจเต

เด‰เตพเดชเตเดชเต†เดŸเตเดคเตเดคเตฝ เดจเดŸเดคเตเดคเดพเด‚ เดฏเดพเดจเตเดคเตเดฐเดฟเด•เดฎเดพเดฏเดฟ เด…เดฅเดตเดพ เด•เตˆเด•เตŠเดฃเตเดŸเต. เดธเตˆเดกเตโ€Œเด•เดพเตผ เด•เดฃเตเดŸเต†เดฏเตโ€Œเดจเดฑเตเด•เตพ เดธเตเดตเดฏเดฎเต‡เดต เดšเต‡เตผเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต, เดจเดฟเด™เตเด™เตพ เดจเต†เดฏเดฟเด‚เดธเตโ€Œเดชเต†เดฏเตโ€Œเดธเดฟเดฒเต‡เด•เตเด•เต เด’เดฐเต เดฒเต‡เดฌเตฝ เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต istio-injection=enabled, เด‡เดคเต เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เด•เดฎเดพเตปเดกเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเดพเดฃเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต:

$ kubectl label namespace default istio-injection=enabled
namespace/default labeled

เด‡เดชเตเดชเต‹เตพ เดกเดฟเดซเต‹เตพเดŸเตเดŸเต เดจเต†เดฏเดฟเด‚เดธเตเดชเต‡เดธเดฟเตฝ เดตเดฟเดจเตเดฏเดธเดฟเด•เตเด•เตเดจเตเดจ เด“เดฐเต‹ เดชเต‹เดกเตเด‚ (default) เด…เดคเดฟเดจเตเดฑเต† เดธเตˆเดกเตเด•เดพเตผ เด•เดฃเตเดŸเต†เดฏเตเดจเตผ เดฒเดญเดฟเด•เตเด•เตเด‚. เด‡เดคเต เดธเตเดฅเดฟเดฐเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต, เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟเดฏเตเดŸเต† เดฑเต‚เดŸเตเดŸเต เดกเดฏเดฑเด•เตเดŸเดฑเดฟเดฏเดฟเดฒเต‡เด•เตเด•เต เดชเต‹เดฏเดฟ เดŸเต†เดธเตเดฑเตเดฑเต เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดตเดฟเดจเตเดฏเดธเดฟเด•เตเด•เดพเด‚ [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

เดฆเตƒเดถเตเดฏเดชเดฐเดฎเดพเดฏเดฟ เด‡เดคเต เด‡เดคเตเดชเต‹เดฒเต† เด•เดพเดฃเดชเตเดชเต†เดŸเตเดจเตเดจเต:

เด‡เดธเตเดคเดฟเดฏเต‹เดฏเตโ€Œเด•เตเด•เตŠเดชเตเดชเด‚ เดฎเตˆเด•เตเดฐเต‹เดธเตผเดตเต€เดธเตเด•เดณเดฟเดฒเต‡เด•เตเด•เต เดฎเดŸเด™เตเด™เตเด•. เดญเดพเด—เด‚ 1
เดชเต‹เดกเตเด•เดณเดฟเดฒเตŠเดจเตเดจเดฟเตฝ เดŽเตปเดตเต‹เดฏเต เดชเตเดฐเต‹เด•เตเดธเดฟ

เด‡เดชเตเดชเต‹เตพ เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดชเตเดฐเดตเตผเดคเตเดคเดจเด•เตเดทเดฎเดฎเดพเดฏเดคเดฟเดจเดพเตฝ, เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเดฟเดฒเต‡เด•เตเด•เต เด‡เตปเด•เดฎเดฟเด‚เด—เต เดŸเตเดฐเดพเดซเดฟเด•เตเด•เดฟเดฒเต‡เด•เตเด•เต เดตเดฐเดพเตป เดžเด™เตเด™เตพ เด…เดจเตเดตเดฆเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต.

เดชเตเดฐเดตเต‡เดถเดจ เด•เดตเดพเดŸเด‚

เด‡เดคเต เดจเต‡เดŸเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดเดฑเตเดฑเดตเตเด‚ เดจเดฒเตเดฒ เดธเดฎเตเดชเตเดฐเดฆเดพเดฏเด‚ (เด•เตเดฒเดธเตเดฑเตเดฑเดฑเดฟเตฝ เดŸเตเดฐเดพเดซเดฟเด•เต เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเด•) เดตเดดเดฟเดฏเดพเดฃเต เดชเตเดฐเดตเต‡เดถเดจ เด•เดตเดพเดŸเด‚ เด‡เดธเตเดฑเตเดฑเดฟเดฏเต‹เดฏเดฟเตฝ, เด‡เดคเต เด•เตเดฒเดธเตเดฑเตเดฑเดฑเดฟเดจเตเดฑเต† "เด…เดฐเดฟเด•เดฟเตฝ" เดธเตเดฅเดฟเดคเดฟเดšเต†เดฏเตเดฏเตเดจเตเดจเต, เด•เต‚เดŸเดพเดคเต† เดฑเต‚เดŸเตเดŸเดฟเด‚เด—เต, เดฒเต‹เดกเต เดฌเดพเดฒเตปเดธเดฟเด™เต, เดธเตเดฐเด•เตเดท, เด‡เตปเด•เดฎเดฟเด‚เด—เต เดŸเตเดฐเดพเดซเดฟเด•เตเด•เดฟเดจเดพเดฏเตเดณเตเดณ เดจเดฟเดฐเต€เด•เตเดทเดฃเด‚ เดŽเดจเตเดจเดฟเดต เดชเต‹เดฒเต†เดฏเตเดณเตเดณ เด‡เดธเตเดคเดฟเดฏเต‹ เดธเดตเดฟเดถเต‡เดทเดคเด•เตพ เดชเตเดฐเดตเตผเดคเตเดคเดจเด•เตเดทเดฎเดฎเดพเด•เตเด•เดพเตป เดจเดฟเด™เตเด™เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต.

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 เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดžเด™เตเด™เตพ เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เด†เด•เตเดธเดธเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต เดคเตเดŸเดฐเตเด‚ (เดžเดพเตป เด…เดคเดฟเดจเต† เดฌเดพเดนเตเดฏ-IP เดŽเดจเตเดจเต เดตเดฟเดณเดฟเด•เตเด•เตเด‚), เด…เดคเดฟเดจเดพเตฝ เดธเต—เด•เดฐเตเดฏเดพเตผเดคเตเดฅเด‚ เดžเด™เตเด™เตพ เดฎเต‚เดฒเตเดฏเด‚ เด’เดฐเต เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเดฟเดฒเต‡เด•เตเด•เต เดŽเดดเตเดคเตเด‚:

$ EXTERNAL_IP=$(kubectl get svc -n istio-system 
  -l app=istio-ingressgateway 
  -o jsonpath='{.items[0].status.loadBalancer.ingress[0].ip}')

เดจเดฟเด™เตเด™เตพ เด‡เดชเตเดชเต‹เตพ เด’เดฐเต เดฌเตเดฐเต—เดธเดฑเดฟเดฒเต‚เดŸเต† เดˆ เดเดชเดฟ เด†เด•เตเดธเดธเต เดšเต†เดฏเตเดฏเดพเตป เดถเตเดฐเดฎเดฟเด•เตเด•เตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต เดธเต‡เดตเดจเด‚ เดฒเดญเตเดฏเดฎเดฒเตเดฒ เดŽเดจเตเดจ เดชเดฟเดถเด•เต เดฒเดญเดฟเด•เตเด•เตเด‚, เด•เดพเดฐเดฃเด‚ เดธเตเดฅเดฟเดฐเดธเตเดฅเดฟเดคเดฟเดฏเดพเดฏเดฟ เด‡เดธเตเดคเดฟเดฏเต‹ เดŽเดฒเตเดฒเดพ เด‡เตปเด•เดฎเดฟเด‚เด—เต เดŸเตเดฐเดพเดซเดฟเด•เตเด•เตเด‚ เดคเดŸเดฏเตเดจเตเดจเต, เด—เต‡เดฑเตเดฑเตโ€Œเดตเต‡ เด‡เดคเตเดตเดฐเต† เดจเดฟเตผเดตเดšเดฟเดšเตเดšเดฟเดŸเตเดŸเดฟเดฒเตเดฒ.

เด—เต‡เดฑเตเดฑเตเดตเต‡ เดฑเดฟเดธเต‹เดดเตเดธเต

เด—เต‡เดฑเตเดฑเตโ€Œเดตเต‡ เดŽเดจเตเดจเดคเต เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเดฟเดฒเต† เด’เดฐเต CRD (เด•เดธเตเดฑเตเดฑเด‚ เดฑเดฟเดธเต‹เดดเตโ€Œเดธเต เดกเต†เดซเดจเดฟเดทเตป) เด†เดฃเต, เด•เตเดฒเดธเตเดฑเตเดฑเดฑเดฟเตฝ Istio เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตโ€Œเดคเต เดžเด™เตเด™เตพ เด‡เตปเด•เดฎเดฟเด‚เด—เต เดŸเตเดฐเดพเดซเดฟเด•เต เด…เดจเตเดตเดฆเดฟเด•เตเด•เดพเตป เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเดจเตเดจ เดชเต‹เตผเดŸเตเดŸเตเด•เตพ, เดชเตเดฐเต‹เดŸเตเดŸเต‹เด•เตเด•เต‹เตพ, เดนเต‹เดธเตเดฑเตเดฑเตเด•เตพ เดŽเดจเตเดจเดฟเดต เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เดพเดจเตเดณเตเดณ เด•เดดเดฟเดตเต เดชเตเดฐเดพเดชเตโ€Œเดคเดฎเดพเด•เตเด•เดฟเดฏเดคเดฟเดจเต เดถเต‡เดทเด‚ เดจเดฟเตผเดตเดšเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต.

เดžเด™เตเด™เดณเตเดŸเต† เด•เดพเดฐเตเดฏเดคเตเดคเดฟเตฝ, เดŽเดฒเตเดฒเดพ เดนเต‹เดธเตเดฑเตเดฑเตเด•เตพเด•เตเด•เตเด‚ เดชเต‹เตผเดŸเตเดŸเต 80-เตฝ HTTP เดŸเตเดฐเดพเดซเดฟเด•เต เด…เดจเตเดตเดฆเดฟเด•เตเด•เดพเตป เดžเด™เตเด™เตพ เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเดจเตเดจเต. เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดจเดฟเตผเดตเตเดตเดšเดจเด‚ เด…เดจเตเดธเดฐเดฟเดšเตเดšเต เดšเตเดฎเดคเดฒ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตเดจเตเดจเต (http-gateway.yaml):

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 เด•เตบเดŸเตเดฐเต‹เดณเตผ, เด‡เดคเต Istio-เดฏเดฟเตฝ เดธเตเดฅเดฟเดฐเดธเตเดฅเดฟเดคเดฟเดฏเดพเดฏเดฟ เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดคเต.

เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เด•เดฎเดพเตปเดกเต เดตเดฟเดณเดฟเดšเตเดšเต เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เดชเตเดฐเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต:

$ kubectl apply -f resource-manifests/istio/http-gateway.yaml gateway.networking.istio.io/http-gateway created

เด—เต‡เดฑเตเดฑเตโ€Œเดตเต‡ เด‡เดชเตเดชเต‹เตพ เดชเต‹เตผเดŸเตเดŸเต 80-เดฒเต‡เด•เตเด•เต เด†เด•เตโ€Œเดธเดธเตเดธเต เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต, เดŽเดจเตเดจเดพเตฝ เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เตพ เดŽเดตเดฟเดŸเต‡เด•เตเด•เดพเดฃเต เดฑเต‚เดŸเตเดŸเต เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดคเต†เดจเตเดจเต เด…เดฑเดฟเดฏเดฟเดฒเตเดฒ. เด‡เดคเดฟเดจเดพเดฏเดฟ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด†เดตเดถเตเดฏเดฎเดพเดฏเดฟ เดตเดฐเตเด‚ เดตเต†เตผเดšเตเดตเตฝ เดธเต‡เดตเดจเด™เตเด™เตพ.

เดตเต†เตผเดšเตเดตเตฝ เดธเตผเดตเต€เดธเต เดฑเดฟเดธเต‹เดดเตเดธเต

เด•เตเดฒเดธเตเดฑเตเดฑเดฑเดฟเดจเตเดณเตเดณเดฟเตฝ เด…เดจเตเดตเดฆเดจเต€เดฏเดฎเดพเดฏ เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เตพ เดŽเด™เตเด™เดจเต† เดฑเต‚เดŸเตเดŸเต เดšเต†เดฏเตเดฏเดพเดฎเต†เดจเตเดจเต เดตเต†เตผเดšเตเดตเตฝ เดธเตผเดตเต€เดธเต เด‡เตปเด—เตเดฐเต†เดธเตเดธเต เด—เต‡เดฑเตเดฑเตโ€Œเดตเต‡เดฏเต‹เดŸเต เดชเดฑเดฏเตเดจเตเดจเต.

http-gateway เดตเดดเดฟ เดตเดฐเตเดจเตเดจ เดžเด™เตเด™เดณเตเดŸเต† เด…เดชเต‡เด•เตเดทเดฏเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เตพ sa-frontend, sa-web-app, sa-feedback เดธเต‡เดตเดจเด™เตเด™เตพ เดŽเดจเตเดจเดฟเดตเดฏเดฟเดฒเต‡เด•เตเด•เต เด…เดฏเดฏเตเด•เตเด•เดฃเด‚:

เด‡เดธเตเดคเดฟเดฏเต‹เดฏเตโ€Œเด•เตเด•เตŠเดชเตเดชเด‚ เดฎเตˆเด•เตเดฐเต‹เดธเตผเดตเต€เดธเตเด•เดณเดฟเดฒเต‡เด•เตเด•เต เดฎเดŸเด™เตเด™เตเด•. เดญเดพเด—เด‚ 1
เดตเต†เตผเดšเตเดตเตฝ เดธเต‡เดตเดจเด™เตเด™เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด•เต‹เตบเดซเดฟเด—เตผ เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸ เดฑเต‚เดŸเตเดŸเตเด•เตพ

SA-Frontend-เดฒเต‡เด•เตเด•เต เด…เดฏเดฏเตโ€Œเด•เตเด•เต‡เดฃเตเดŸ เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เตพ เดจเต‹เด•เตเด•เดพเด‚:

  • เดตเดดเดฟเดฏเดฟเตฝ เด•เตƒเดคเตเดฏเดฎเดพเดฏ เดชเตŠเดฐเตเดคเตเดคเด‚ / index.html เดฒเดญเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต SA-Frontend-เดฒเต‡เด•เตเด•เต เด…เดฏเดฏเตเด•เตเด•เดฃเด‚;
  • เดชเตเดฐเดฟเดซเดฟเด•เตโ€Œเดธเต เดšเต†เดฏเตโ€Œเดค เดชเดพเดคเด•เตพ /static/* CSS, JavaScript เดŽเดจเตเดจเดฟเดต เดชเต‹เดฒเตเดณเตเดณ เดซเตเดฐเดฃเตเดŸเตโ€ŒเดŽเตปเดกเดฟเตฝ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจ เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดฟเด•เต เดซเดฏเดฒเตเด•เตพ เดธเตเดตเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต SA-Frontend-เดฒเต‡เด•เตเด•เต เด…เดฏเดฏเตเด•เตเด•เดฃเด‚;
  • เดชเดคเดฟเดตเต เดŽเด•เตเดธเตเดชเตเดฐเดทเดจเตเดฎเดพเดฏเดฟ เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดจเตเดจ เดชเดพเดคเด•เตพ '^.*.(ico|png|jpg)$', SA-Frontend-เดฒเต‡เด•เตเด•เต เด…เดฏเดฏเตเด•เตเด•เดฃเด‚, เด•เดพเดฐเดฃเด‚ เดชเต‡เดœเดฟเตฝ เดชเตเดฐเดฆเตผเดถเดฟเดชเตเดชเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เดšเดฟเดคเตเดฐเด™เตเด™เดณเดพเดฃเดฟเดต.

เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เดตเดดเดฟ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตฝ เด•เตˆเดตเดฐเดฟเด•เตเด•เตเดจเตเดจเต (sa-virtualservice-external.yaml):

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)

ะ’ะฐะถะฝั‹ะต ะผะพะผะตะฝั‚ั‹:

  1. ะญั‚ะพั‚ VirtualService ะพั‚ะฝะพัะธั‚ัั ะบ ะทะฐะฟั€ะพัะฐะผ, ะฟั€ะธั…ะพะดัั‰ะธะผ ั‡ะตั€ะตะท http-gateway;
  2. ะ’ 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. ะงะฐัั‚ัŒ 1
ะšะพะฝั„ะธะณัƒั€ะฐั†ะธั 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.

ะะฐะทะฐะด ะบ ะผะธะบั€ะพัะตั€ะฒะธัะฐะผ ะฒะผะตัั‚ะต ั Istio. ะงะฐัั‚ัŒ 1

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, ั‡ั‚ะพะฑั‹ ะฟะพัะผะพั‚ั€ะตั‚ัŒ ะฝะฐ ัะพะฑั€ะฐะฝะฝั‹ะต ะผะตั‚ั€ะธะบะธ:

ะะฐะทะฐะด ะบ ะผะธะบั€ะพัะตั€ะฒะธัะฐะผ ะฒะผะตัั‚ะต ั Istio. ะงะฐัั‚ัŒ 1

ะ—ะดะตััŒ ะฝะฐั ะถะดั‘ั‚ ะฟัƒัั‚ะพะต ะธ ัะพะฒะตั€ัˆะตะฝะฝะพ ัะบัƒั‡ะฝะพะต ะฟั€ะตะดัั‚ะฐะฒะปะตะฝะธะต โ€” ั€ัƒะบะพะฒะพะดัั‚ะฒะพ ะฝะธะบะพะณะดะฐ ั‚ะฐะบะพะต ะฝะต ะพะดะพะฑั€ะธั‚. ะ”ะฐะฒะฐะนั‚ะต ะถะต ัะพะทะดะฐะดะธะผ ะฝะตะฑะพะปัŒัˆัƒัŽ ะฝะฐะณั€ัƒะทะบัƒ ัะปะตะดัƒัŽั‰ะตะน ะบะพะผะฐะฝะดะพะน:

$ 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โ€Š: ั‚ั€ะฐััะธั€ะพะฒะบะฐ

ะขั€ะฐััะธั€ะพะฒะบะฐ ะฝะฐะผ ะฟะพั‚ั€ะตะฑัƒะตั‚ัั, ะฟะพั‚ะพะผัƒ ั‡ั‚ะพ ั‡ะตะผ ะฑะพะปัŒัˆะต ัƒ ะฝะฐั ัะตั€ะฒะธัะพะฒ, ั‚ะตะผ ัะปะพะถะฝะตะต ะดะพะฑั€ะฐั‚ัŒัั ะดะพ ะฟั€ะธั‡ะธะฝั‹ ัะฑะพั. ะŸะพัะผะพั‚ั€ะธะผ ะฝะฐ ะฟั€ะพัั‚ะพะน ัะปัƒั‡ะฐะน ะธะท ะบะฐั€ั‚ะธะฝะบะธ ะฝะธะถะต:

ะะฐะทะฐะด ะบ ะผะธะบั€ะพัะตั€ะฒะธัะฐะผ ะฒะผะตัั‚ะต ั Istio. ะงะฐัั‚ัŒ 1
ะขะธะฟะพะฒะพะน ะฟั€ะธะผะตั€ ัะปัƒั‡ะฐะนะฝะพะณะพ ะฝะตัƒะดะฐั‡ะฝะพะณะพ ะทะฐะฟั€ะพัะฐ

ะ—ะฐะฟั€ะพั ะฟั€ะธั…ะพะดะธั‚, ะฟะฐะดะฐะตั‚ โ€” ะฒ ั‡ั‘ะผ ะถะต ะฟั€ะธั‡ะธะฝะฐ? ะŸะตั€ะฒั‹ะน ัะตั€ะฒะธั? ะ˜ะปะธ ะฒั‚ะพั€ะพะน? ะ˜ัะบะปัŽั‡ะตะฝะธั ะตัั‚ัŒ ะฒ ะพะฑะพะธั… โ€” ะดะฐะฒะฐะนั‚ะต ะฟะพัะผะพั‚ั€ะธะผ ะฝะฐ ะปะพะณะธ ะบะฐะถะดะพะณะพ. ะšะฐะบ ั‡ะฐัั‚ะพ ะฒั‹ ะปะพะฒะธะปะธ ัะตะฑั ะทะฐ ั‚ะฐะบะธะผ ะทะฐะฝัั‚ะธะตะผ? ะะฐัˆะฐ ั€ะฐะฑะพั‚ะฐ ะฑะพะปัŒัˆะต ะฟะพั…ะพะถะฐ ะฝะฐ ะดะตั‚ะตะบั‚ะธะฒะพะฒ ะฟั€ะพะณั€ะฐะผะผะฝะพะณะพ ะพะฑะตัะฟะตั‡ะตะฝะธั, ะฐ ะฝะต ั€ะฐะทั€ะฐะฑะพั‚ั‡ะธะบะพะฒโ€ฆ

ะญั‚ะพ ัˆะธั€ะพะบะพ ั€ะฐัะฟั€ะพัั‚ั€ะฐะฝั‘ะฝะฝะฐั ะฟั€ะพะฑะปะตะผะฐ ะฒ ะผะธะบั€ะพัะตั€ะฒะธัะฐั… ะธ ั€ะตัˆะฐะตั‚ัั ะพะฝะฐ ั€ะฐัะฟั€ะตะดะตะปั‘ะฝะฝั‹ะผะธ ัะธัั‚ะตะผะฐะผะธ ั‚ั€ะฐััะธั€ะพะฒะบะธ, ะฒ ะบะพั‚ะพั€ั‹ั… ัะตั€ะฒะธัั‹ ะฟะตั€ะตะดะฐัŽั‚ ะดั€ัƒะณ ะดั€ัƒะณัƒ ัƒะฝะธะบะฐะปัŒะฝั‹ะน ะทะฐะณะพะปะพะฒะพะบ, ะฟะพัะปะต ั‡ะตะณะพ ัั‚ะฐ ะธะฝั„ะพั€ะผะฐั†ะธั ะฟะตั€ะตะฝะฐะฟั€ะฐะฒะปัะตั‚ัั ะฒ ัะธัั‚ะตะผัƒ ั‚ั€ะฐััะธั€ะพะฒะบะธ, ะณะดะต ะพะฝะฐ ัะพะฟะพัั‚ะฐะฒะปัะตั‚ัั ั ะดะฐะฝะฝั‹ะผะธ ะทะฐะฟั€ะพัะฐ. ะ’ะพั‚ ะธะปะปัŽัั‚ั€ะฐั†ะธั:

ะะฐะทะฐะด ะบ ะผะธะบั€ะพัะตั€ะฒะธัะฐะผ ะฒะผะตัั‚ะต ั Istio. ะงะฐัั‚ัŒ 1
ะ”ะปั ะธะดะตะฝั‚ะธั„ะธะบะฐั†ะธะธ ะทะฐะฟั€ะพัะฐ ะธัะฟะพะปัŒะทัƒะตั‚ัั 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. ะงะฐัั‚ัŒ 1

ะญั‚ะพั‚ ั‚ั€ะตะนั ะฟะพะบะฐะทั‹ะฒะฐะตั‚:

  1. ะ—ะฐะฟั€ะพั ะฟั€ะธั…ะพะดะธั‚ ะฒ istio-ingressgateway (ัั‚ะพ ะฟะตั€ะฒะพะต ะฒะทะฐะธะผะพะดะตะนัั‚ะฒะธะต ั ะพะดะฝะธะผ ะธะท ัะตั€ะฒะธัะพะฒ, ะธ ะดะปั ะทะฐะฟั€ะพัะฐ ะณะตะฝะตั€ะธั€ัƒะตั‚ัั Trace ID), ะฟะพัะปะต ั‡ะตะณะพ ัˆะปัŽะท ะฝะฐะฟั€ะฐะฒะปัะตั‚ ะทะฐะฟั€ะพั ะฒ ัะตั€ะฒะธั sa-web-app.
  2. ะ’ ัะตั€ะฒะธัะต sa-web-app ะทะฐะฟั€ะพั ะฟะพะดั…ะฒะฐั‚ั‹ะฒะฐะตั‚ัั Envoy sidecar'ะพะผ, ัะพะทะดะฐั‘ั‚ัั ยซั€ะตะฑั‘ะฝะพะบยป ะฒ span'ะต (ะฟะพัั‚ะพะผัƒ ะผั‹ ะฒะธะดะธะผ ะตะณะพ ะฒ ั‚ั€ะตะนัะฐั…) ะธ ะฟะตั€ะตะฝะฐะฟั€ะฐะฒะปัะตั‚ัั ะฒ ะบะพะฝั‚ะตะนะฝะตั€ sa-web-app. (Span โ€” ะปะพะณะธั‡ะตัะบะฐั ะตะดะธะฝะธั†ะฐ ั€ะฐะฑะพั‚ั‹ ะฒ Jaeger, ะธะผะตัŽั‰ะฐั ะฝะฐะทะฒะฐะฝะธะต, ะฒั€ะตะผั ะฝะฐั‡ะฐะปะพ ะพะฟะตั€ะฐั†ะธะธ ะธ ะตั‘ ะฟั€ะพะดะพะปะถะธั‚ะตะปัŒะฝะพัั‚ัŒ. Span'ั‹ ะผะพะณัƒั‚ ะฑั‹ั‚ัŒ ะฒะปะพะถะตะฝะฝั‹ะผะธ ะธ ัƒะฟะพั€ัะดะพั‡ะตะฝะฝั‹ะผะธ. ะžั€ะธะตะฝั‚ะธั€ะพะฒะฐะฝะฝั‹ะน ะฐั†ะธะบะปะธั‡ะตัะบะธะน ะณั€ะฐั„ ะธะท span'ะพะฒ ะพะฑั€ะฐะทัƒะตั‚ trace. โ€” ะฟั€ะธะผ. ะฟะตั€ะตะฒ.)
  3. ะ—ะดะตััŒ ะทะฐะฟั€ะพั ะพะฑั€ะฐะฑะฐั‚ั‹ะฒะฐะตั‚ัั ะผะตั‚ะพะดะพะผ sentimentAnalysis. ะญั‚ะธ ั‚ั€ะตะนัั‹ ัƒะถะต ัะณะตะฝะตั€ะธั€ะพะฒะฐะฝั‹ ะฟั€ะธะปะพะถะตะฝะธะตะผ, ั‚.ะต. ะดะปั ะฝะธั… ะฟะพั‚ั€ะตะฑะพะฒะฐะปะธััŒ ะธะทะผะตะฝะตะฝะธั ะฒ ะบะพะดะต.
  4. ะก ัั‚ะพะณะพ ะผะพะผะตะฝั‚ะฐ ะธะฝะธั†ะธะธั€ัƒะตั‚ัั POST-ะทะฐะฟั€ะพั ะฒ sa-logic. Trace ID ะดะพะปะถะตะฝ ะฑั‹ั‚ัŒ ะฟั€ะพะฑั€ะพัˆะตะฝ ะธะท sa-web-app.
  5. โ€ฆ

ะŸั€ะธะผะตั‡ะฐะฝะธะต: ะะฐ 4 ัˆะฐะณะต ะฟั€ะธะปะพะถะตะฝะธะต ะดะพะปะถะฝะพ ัƒะฒะธะดะตั‚ัŒ ะทะฐะณะพะปะพะฒะบะธ, ัะณะตะฝะตั€ะธั€ะพะฒะฐะฝะฝั‹ะต Istio, ะธ ะฟะตั€ะตะดะฐั‚ัŒ ะธั… ะฒ ะฟะพัะปะตะดัƒัŽั‰ะธะต ะทะฐะฟั€ะพัั‹, ะบะฐะบ ะฟะพะบะฐะทะฐะฝะพ ะฝะฐ ะธะทะพะฑั€ะฐะถะตะฝะธะธ ะฝะธะถะต:

ะะฐะทะฐะด ะบ ะผะธะบั€ะพัะตั€ะฒะธัะฐะผ ะฒะผะตัั‚ะต ั Istio. ะงะฐัั‚ัŒ 1
(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. ะพั‚ ะฟะตั€ะตะฒะพะดั‡ะธะบะฐ

ะงะธั‚ะฐะนั‚ะต ั‚ะฐะบะถะต ะฒ ะฝะฐัˆะตะผ ะฑะปะพะณะต:

ะ˜ัั‚ะพั‡ะฝะธะบ: habr.com

route:
- destination:
host: sa-frontend # 2
port:
number: 80

เดชเตเดฐเดงเดพเดจ เดชเต‹เดฏเดฟเดจเตเดฑเตเด•เตพ:

  1. เดˆ เดตเต†เตผเดšเตเดตเตฝ เดธเตผเดตเต€เดธเต เดตเดฐเตเดจเตเดจ เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เดณเต† เดธเต‚เดšเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเต http-เด—เต‡เดฑเตเดฑเตโ€Œเดตเต‡;
  2. ะ’ destination เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เตพ เด…เดฏเดฏเตโ€Œเด•เตเด•เตเดจเตเดจ เดธเต‡เดตเดจเด‚ เดจเดฟเตผเดฃเตเดฃเดฏเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดจเตเดจเต.

เด…เดญเดฟเดชเดพเดฏเดชเตเดชเต†เดŸเตเด•: เดฎเตเด•เดณเดฟเดฒเตเดณเตเดณ เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เด’เดฐเต เดซเดฏเดฒเดฟเตฝ เดธเด‚เดญเดฐเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต sa-virtualservice-external.yaml, เด‡เดคเดฟเตฝ SA-WebApp, SA-เดซเต€เดกเตโ€Œเดฌเดพเด•เตเด•เต เดŽเดจเตเดจเดฟเดตเดฏเดฟเดฒเต† เดฑเต‚เดŸเตเดŸเดฟเด‚เด—เดฟเดจเตเดณเตเดณ เด•เตเดฐเดฎเต€เด•เดฐเดฃเด™เตเด™เดณเตเด‚ เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต, เดŽเดจเตเดจเดพเตฝ เด‡เดตเดฟเดŸเต† เดธเด‚เด•เตเดทเดฟเดชเตโ€Œเดคเดคเดฏเตโ€Œเด•เตเด•เดพเดฏเดฟ เดฒเต‡เด–เดจเดคเตเดคเดฟเตฝ เดšเตเดฐเตเด•เตเด•เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต.

เดตเดฟเดณเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดฒเต‚เดŸเต† เดจเดฎเตเด•เตเด•เต เดตเต†เตผเดšเตเดตเตฝ เดธเต‡เดตเดจเด‚ เดชเตเดฐเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚:


เด…เดญเดฟเดชเดพเดฏเดชเตเดชเต†เดŸเตเด•: เดจเดฎเตเดฎเตพ Istio เด‰เดฑเดตเดฟเดŸเด™เตเด™เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ, Kubernetes API เดธเต†เตผเดตเตผ Istio เด•เตบเดŸเตเดฐเต‹เตพ เดชเตเดฒเต†เดฏเดฟเตป เดธเตเดตเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจ เด’เดฐเต เด‡เดตเดจเตเดฑเต เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจเต, เด…เดคเดฟเดจเตเดถเต‡เดทเด‚ เด“เดฐเต‹ เดชเต‹เดกเดฟเดจเตเดฑเต†เดฏเตเด‚ เดŽเตปเดตเต‹เดฏเต เดชเตเดฐเต‹เด•เตเดธเดฟเด•เดณเดฟเตฝ เดชเตเดคเดฟเดฏ เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เดชเตเดฐเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต. เด‡เตปเด—เตเดฐเต†เดธเตเดธเต เด—เต‡เดฑเตเดฑเตโ€Œเดตเต‡ เด•เตบเดŸเตเดฐเต‹เดณเตผ เด•เตบเดŸเตเดฐเต‹เตพ เดชเตเดฒเต†เดฏเดฟเดจเดฟเตฝ เด•เต‹เตบเดซเดฟเด—เตผ เดšเต†เดฏเตโ€Œเดคเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เดฎเดฑเตเดฑเตŠเดฐเต เดฆเต‚เดคเตป เด†เดฃเต†เดจเตเดจเต เดคเต‹เดจเตเดจเตเดจเตเดจเต. เดกเดฏเด—เตเดฐเดพเดฎเดฟเตฝ เด‡เดคเต†เดฒเตเดฒเดพเด‚ เด‡เดคเตเดชเต‹เดฒเต† เด•เดพเดฃเดชเตเดชเต†เดŸเตเดจเตเดจเต:

เด‡เดธเตเดคเดฟเดฏเต‹เดฏเตโ€Œเด•เตเด•เตŠเดชเตเดชเด‚ เดฎเตˆเด•เตเดฐเต‹เดธเตผเดตเต€เดธเตเด•เดณเดฟเดฒเต‡เด•เตเด•เต เดฎเดŸเด™เตเด™เตเด•. เดญเดพเด—เด‚ 1
เด…เดญเตเดฏเตผเดคเตเดฅเดจ เดฑเต‚เดŸเตเดŸเดฟเด‚เด—เดฟเดจเตเดณเตเดณ เด‡เดธเตเดคเดฟเดฏเต‹-เด‡เตปเด—เตเดฐเดธเตเด—เต‡เดฑเตเดฑเตเดตเต‡ เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป

เดธเต†เดจเตเดฑเดฟเดฎเต†เดจเตเดฑเต เด…เดจเดพเดฒเดฟเดธเดฟเดธเต เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เด‡เดชเตเดชเต‹เตพ เดฒเดญเตเดฏเดฎเดพเดฃเต http://{EXTERNAL-IP}/. เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด•เดฃเตเดŸเต†เดคเตเดคเดฟเดฏเดฟเดฒเตเดฒ เดŽเดจเตเดจ เดจเดฟเดฒ เดฒเดญเดฟเด•เตเด•เตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ เดตเดฟเดทเดฎเดฟเด•เตเด•เต‡เดฃเตเดŸ: เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เดชเตเดฐเดพเดฌเดฒเตเดฏเดคเตเดคเดฟเตฝ เดตเดฐเตเดจเตเดจเดคเดฟเดจเตเด‚ เดŽเตปเดตเต‹เดฏเต เด•เดพเดทเต†เด•เตพ เด…เดชเตโ€Œเดกเต‡เดฑเตเดฑเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเด‚ เดšเดฟเดฒเดชเตเดชเต‹เตพ เด•เตเดฑเดšเตเดšเต เดธเดฎเดฏเดฎเต†เดŸเตเด•เตเด•เตเด‚.

เดฎเตเดจเตเดจเต‹เดŸเตเดŸเต เดชเต‹เด•เตเดจเตเดจเดคเดฟเดจเต เดฎเตเดฎเตเดชเต, เดŸเตเดฐเดพเดซเดฟเด•เต เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดพเตป เด†เดชเตเดชเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด…เตฝเดชเตเดชเด‚ เด•เดณเดฟเด•เตเด•เตเด•. (เดคเตเดŸเตผเดจเตเดจเตเดณเตเดณ เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เดณเดฟเตฝ เดตเตเดฏเด•เตเดคเดคเดฏเตเด•เตเด•เต เด…เดคเดฟเดจเตเดฑเต† เดธเดพเดจเตเดจเดฟเดงเตเดฏเด‚ เด†เดตเดถเตเดฏเดฎเดพเดฃเต - เดเด•เดฆเต‡เดถเด‚ เดตเดฟเดตเตผเดคเตเดคเดจเด‚.).

เด•เดฟเดฏเดพเดฒเดฟ: เดจเดฟเดฐเต€เด•เตเดทเดฃเด•เตเดทเดฎเดค

เด•เดฟเดฏเดพเดฒเดฟ เด…เดกเตเดฎเดฟเดจเดฟเดธเตเดŸเตเดฐเต‡เดฑเตเดฑเต€เดตเต เด‡เดจเตเดฑเตผเดซเต‡เดธเดฟเดฒเต‡เด•เตเด•เต เดชเต‹เด•เตเดจเตเดจเดคเดฟเดจเต, เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เด•เดฎเดพเตปเดกเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเด•:


... เดคเตเดฑเดจเตเดจเต http://localhost:20001/, เด…เดกเตเดฎเดฟเตป/เด…เดกเตเดฎเดฟเตป เด†เดฏเดฟ เดฒเต‹เด—เดฟเตป เดšเต†เดฏเตเดฏเตเดจเตเดจเต. เด‡เดตเดฟเดŸเต† เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด‰เดชเดฏเต‹เด—เดชเตเดฐเดฆเดฎเดพเดฏ เดจเดฟเดฐเดตเดงเดฟ เดธเดตเดฟเดถเต‡เดทเดคเด•เตพ เด•เดพเดฃเดพเด‚, เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เด‡เดธเตเดคเดฟเดฏเต‹ เด˜เดŸเด•เด™เตเด™เดณเตเดŸเต† เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เดพเตป, เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เตพ เดคเดŸเดธเตเดธเดชเตเดชเต†เดŸเตเดคเตเดคเตเดจเตเดจเดคเดฟเตฝ เดจเดฟเดจเตเดจเต เดถเต‡เด–เดฐเดฟเดšเตเดš เดตเดฟเดตเดฐเด™เตเด™เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดธเต‡เดตเดจเด™เตเด™เตพ เดฆเตƒเดถเตเดฏเดตเตฝเด•เตเด•เดฐเดฟเด•เตเด•เตเด•, "เด†เดฐเดพเดฃเต เด†เดฐเต†เดฏเดพเดฃเต เดฌเดจเตเดงเดชเตเดชเต†เดŸเตเดจเตเดจเดคเต?", "เดธเต‡เดตเดจเดคเตเดคเดฟเดจเตเดฑเต† เดเดคเต เดชเดคเดฟเดชเตเดชเดพเดฃเต เด…เดจเตเดญเดตเดฟเด•เตเด•เตเดจเตเดจเดคเต" เดŽเดจเตเดจเต€ เดšเต‹เดฆเตเดฏเด™เตเด™เตพเด•เตเด•เต เด‰เดคเตเดคเดฐเด‚ เดจเต‡เดŸเตเด•. เดชเดฐเดพเดœเดฏเด™เตเด™เตพ?" เด‡เดคเตเดฏเดพเดฆเดฟ. เดชเตŠเดคเตเดตเต‡, เด—เตเดฐเดพเดซเดพเดจเดฏเตโ€Œเด•เตเด•เตŠเดชเตเดชเด‚ เดฎเต†เดŸเตเดฐเดฟเด•เตโ€Œเดธเต เดฆเตƒเดถเตเดฏเดตเตฝเด•เตเด•เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดฎเตเดฎเตเดชเต เด•เดฟเดฏเดพเดฒเดฟเดฏเตเดŸเต† เด•เดดเดฟเดตเตเด•เตพ เดชเดฐเตเดฏเดตเต‡เด•เตเดทเดฃเด‚ เดšเต†เดฏเตเดฏเตเด•.

เด‡เดธเตเดคเดฟเดฏเต‹เดฏเตโ€Œเด•เตเด•เตŠเดชเตเดชเด‚ เดฎเตˆเด•เตเดฐเต‹เดธเตผเดตเต€เดธเตเด•เดณเดฟเดฒเต‡เด•เตเด•เต เดฎเดŸเด™เตเด™เตเด•. เดญเดพเด—เด‚ 1

เด—เตเดฐเดพเดซเดพเดจ: เดฎเต†เดŸเตเดฐเดฟเด•เตเดธเต เดตเดฟเดทเตเดตเดฒเตˆเดธเต‡เดทเตป

เด‡เดธเตเดคเดฟเดฏเต‹เดฏเดฟเตฝ เดถเต‡เด–เดฐเดฟเดšเตเดš เด…เดณเดตเตเด•เตพ เดชเตเดฐเต‹เดฎเดฟเดคเตเดฏเต‚เดธเดฟเดฒเต‡เด•เตเด•เต เดชเต‹เดฏเดฟ เด—เตเดฐเดพเดซเดพเดจ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดฆเตƒเดถเตเดฏเดตเตฝเด•เตเด•เดฐเดฟเด•เตเด•เตเดจเตเดจเต. เด—เตเดฐเดพเดซเดพเดจ เด…เดกเตเดฎเดฟเดจเดฟเดธเตเดŸเตเดฐเต‡เดฑเตเดฑเต€เดตเต เด‡เดจเตเดฑเตผเดซเต‡เดธเดฟเดฒเต‡เด•เตเด•เต เดชเต‹เด•เตเดจเตเดจเดคเดฟเดจเต, เดคเดพเดดเต†เดฏเตเดณเตเดณ เด•เดฎเดพเตปเดกเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเดšเตเดšเต เดคเตเดฑเด•เตเด•เตเด• http://localhost:3000/:


เดฎเต†เดจเตเดตเดฟเตฝ เด•เตเดฒเดฟเด•เตเด•เต เดšเต†เดฏเตเดฏเตเด• เดตเต€เดŸเต เดฎเตเด•เดณเดฟเตฝ เด‡เดŸเดคเต เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เตเดจเตเดจเต เด‡เดธเตเดคเดฟเดฏเต‹ เดธเต‡เดตเดจ เดกเดพเดทเตเดฌเต‹เตผเดกเต เดฎเตเด•เดณเดฟเตฝ เด‡เดŸเดคเต เดฎเต‚เดฒเดฏเดฟเตฝ, เดธเต‡เดตเดจเด‚ เด†เดฐเด‚เดญเดฟเด•เตเด•เตเด• sa-web-appเดถเต‡เด–เดฐเดฟเดšเตเดš เด…เดณเดตเตเด•เตพ เดจเต‹เด•เตเด•เดพเตป:

เด‡เดธเตเดคเดฟเดฏเต‹เดฏเตโ€Œเด•เตเด•เตŠเดชเตเดชเด‚ เดฎเตˆเด•เตเดฐเต‹เดธเตผเดตเต€เดธเตเด•เดณเดฟเดฒเต‡เด•เตเด•เต เดฎเดŸเด™เตเด™เตเด•. เดญเดพเด—เด‚ 1

เด‡เดตเดฟเดŸเต† เดžเด™เตเด™เดณเต† เด•เดพเดคเตเดคเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเต เดถเต‚เดจเตเดฏเดตเตเด‚ เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏเตเด‚ เดตเดฟเดฐเดธเดตเตเดฎเดพเดฏ เดชเตเดฐเด•เดŸเดจเดฎเดพเดฃเต - เดฎเดพเดจเต‡เดœเตเดฎเต†เดจเตเดฑเต เด‡เดคเต เด’เดฐเดฟเด•เตเด•เดฒเตเด‚ เด…เด‚เด—เต€เด•เดฐเดฟเด•เตเด•เดฟเดฒเตเดฒ. เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เด•เดฎเดพเตปเดกเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดจเดฎเตเด•เตเด•เต เด’เดฐเต เดšเต†เดฑเดฟเดฏ เดฒเต‹เดกเต เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดพเด‚:


เด‡เดชเตเดชเต‹เตพ เดžเด™เตเด™เตพเด•เตเด•เต เดตเดณเดฐเต† เดจเดฒเตเดฒ เด—เตเดฐเดพเดซเตเด•เตพ เด‰เดฃเตเดŸเต, เด…เดตเดฏเตโ€Œเด•เตเด•เต เดชเตเดฑเดฎเต‡, เดจเดฟเดฐเต€เด•เตเดทเดฃเดคเตเดคเดฟเดจเตเดณเตเดณ เด…เดคเดฟเดถเดฏเด•เดฐเดฎเดพเดฏ เดชเตเดฐเต‹เดฎเดฟเดคเตเดฏเต‚เดธเต เดŸเต‚เดณเตเด•เดณเตเด‚, เดฎเต†เดŸเตเดฐเดฟเด•เตโ€Œเดธเต เดฆเตƒเดถเตเดฏเดตเตฝเด•เตเด•เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เด—เตเดฐเดพเดซเดพเดจเดฏเตเด‚, เด…เดคเต เด•เดพเดฒเด•เตเดฐเดฎเต‡เดฃ เดธเต‡เดตเดจเด™เตเด™เดณเดฟเดฒเต† เดชเตเดฐเด•เดŸเดจเด‚, เด†เดฐเต‹เด—เตเดฏเด‚, เดฎเต†เดšเตเดšเดชเตเดชเต†เดŸเตเดคเตเดคเดฒเตเด•เตพ / เดคเด•เตผเดšเตเดš เดŽเดจเตเดจเดฟเดตเดฏเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เดชเด เดฟเด•เตเด•เดพเตป เดžเด™เตเด™เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต.

เด…เดตเดธเดพเดจเดฎเดพเดฏเดฟ, เดธเต‡เดตเดจเด™เตเด™เดณเดฟเดฒเต† เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เตพ เด•เดฃเตเดŸเต†เดคเตเดคเตเดจเตเดจเดคเต เดจเต‹เด•เตเด•เดพเด‚.

เดœเต†เดฏเตเด—เตผ: เดŸเตเดฐเต‡เดธเดฟเด‚เด—เต

เดžเด™เตเด™เตพเด•เตเด•เต เดŸเตเดฐเต†เดฏเตโ€Œเดธเดฟเด‚เด—เต เด†เดตเดถเตเดฏเดฎเดพเดฏเดฟ เดตเดฐเตเด‚, เด•เดพเดฐเดฃเด‚ เดžเด™เตเด™เตพเด•เตเด•เต เด•เต‚เดŸเตเดคเตฝ เดธเต‡เดตเดจเด™เตเด™เดณเตเดฃเตเดŸเต, เดชเดฐเดพเดœเดฏเดคเตเดคเดฟเดจเตเดฑเต† เด•เดพเดฐเดฃเด‚ เด•เดฃเตเดŸเต†เดคเตเดคเตเดจเตเดจเดคเต เด•เต‚เดŸเตเดคเตฝ เดฌเตเดฆเตเดงเดฟเดฎเตเดŸเตเดŸเดพเดฃเต. เดšเตเดตเดŸเต†เดฏเตเดณเตเดณ เดšเดฟเดคเตเดฐเดคเตเดคเดฟเตฝ เดจเดฟเดจเตเดจเต เด’เดฐเต เดฒเดณเดฟเดคเดฎเดพเดฏ เด•เต‡เดธเต เดจเต‹เด•เตเด•เดพเด‚:

เด‡เดธเตเดคเดฟเดฏเต‹เดฏเตโ€Œเด•เตเด•เตŠเดชเตเดชเด‚ เดฎเตˆเด•เตเดฐเต‹เดธเตผเดตเต€เดธเตเด•เดณเดฟเดฒเต‡เด•เตเด•เต เดฎเดŸเด™เตเด™เตเด•. เดญเดพเด—เด‚ 1
เด•เตเดฐเดฎเดฐเดนเดฟเดคเดฎเดพเดฏเดฟ เดชเดฐเดพเดœเดฏเดชเตเดชเต†เดŸเตเดŸ เด…เดญเตเดฏเตผเดคเตเดฅเดจเดฏเตเดŸเต† เดธเดพเดงเดพเดฐเดฃ เด‰เดฆเดพเดนเดฐเดฃเด‚

เด…เดญเตเดฏเตผเดคเตเดฅเดจ เดตเดฐเตเดจเตเดจเต, เดตเต€เดดเตเดจเตเดจเต - เดŽเดจเตเดคเดพเดฃเต เด•เดพเดฐเดฃเด‚? เด†เดฆเตเดฏ เดธเต‡เดตเดจเด‚? เด…เดคเต‹ เดฐเดฃเตเดŸเดพเดฎเดคเตเดคเต‡เดคเต‹? เดฐเดฃเตเดŸเดฟเดฒเตเด‚ เด’เดดเดฟเดตเดพเด•เตเด•เดฒเตเด•เตพ เด‰เดฃเตเดŸเต - เด“เดฐเต‹เดจเตเดจเดฟเดจเตเดฑเต†เดฏเตเด‚ เดฒเต‹เด—เตเด•เตพ เดจเต‹เด•เตเด•เดพเด‚. เดŽเดคเตเดฐ เดคเดตเดฃ เดจเดฟเด™เตเด™เตพ เด‡เดคเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต เดธเตเดตเดฏเด‚ เดชเดฟเดŸเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดŸเดฟเดŸเตเดŸเตเดฃเตเดŸเต? เดžเด™เตเด™เดณเตเดŸเต† เดœเต‹เดฒเดฟ เดกเต†เดตเดฒเดชเตเดชเตผเดฎเดพเดฐเต‡เด•เตเด•เดพเตพ เดธเต‹เดซเตเดฑเตเดฑเตโ€Œเดตเต†เดฏเตผ เดกเดฟเดฑเตเดฑเด•เตเดŸเต€เดตเตเด•เดณเต† เดชเต‹เดฒเต†เดฏเดพเดฃเต...

เด‡เดคเต เดฎเตˆเด•เตเดฐเต‹เดธเตผเดตเต€เดธเตเด•เดณเดฟเดฒเต† เด’เดฐเต เดธเดพเดงเดพเดฐเดฃ เดชเตเดฐเดถเตโ€Œเดจเดฎเดพเดฃเต, เดกเดฟเดธเตเดŸเตเดฐเดฟเดฌเตเดฏเต‚เดŸเตเดŸเต เดŸเตเดฐเต†เดฏเตโ€Œเดธเดฟเด‚เด—เต เดธเดฟเดธเตเดฑเตเดฑเด™เตเด™เตพ เดตเดดเดฟเดฏเดพเดฃเต เด‡เดคเต เดชเดฐเดฟเดนเดฐเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดจเตเดจเดคเต, เด…เดคเดฟเตฝ เดธเต‡เดตเดจเด™เตเด™เตพ เดชเดฐเดธเตเดชเดฐเด‚ เด’เดฐเต เด…เดฆเตเดตเดฟเดคเต€เดฏ เดคเดฒเด•เตเด•เต†เดŸเตเดŸเต เด•เตˆเดฎเดพเดฑเตเดจเตเดจเต, เด…เดคเดฟเดจเตเดถเต‡เดทเด‚ เดˆ เดตเดฟเดตเดฐเด™เตเด™เตพ เดŸเตเดฐเต‡เดธเดฟเด‚เด—เต เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เด•เตˆเดฎเดพเดฑเตเดจเตเดจเต, เด…เดตเดฟเดŸเต† เด…เดคเต เด…เดญเตเดฏเตผเดคเตเดฅเดจ เดกเดพเดฑเตเดฑเดฏเตเดฎเดพเดฏเดฟ เดคเดพเดฐเดคเดฎเตเดฏเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต. เด’เดฐเต เดฆเตƒเดทเตเดŸเดพเดจเตเดคเด‚ เด‡เดคเดพ:

เด‡เดธเตเดคเดฟเดฏเต‹เดฏเตโ€Œเด•เตเด•เตŠเดชเตเดชเด‚ เดฎเตˆเด•เตเดฐเต‹เดธเตผเดตเต€เดธเตเด•เดณเดฟเดฒเต‡เด•เตเด•เต เดฎเดŸเด™เตเด™เตเด•. เดญเดพเด—เด‚ 1
เด…เดญเตเดฏเตผเดคเตเดฅเดจ เดคเดฟเดฐเดฟเดšเตเดšเดฑเดฟเดฏเดพเตป TraceId เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต

เดตเต†เดฃเตเดŸเตผ-เดธเตเดตเดคเดจเตเดคเตเดฐ เด“เดชเตเดชเตบเดŸเตเดฐเต‡เดธเดฟเด‚เด—เต API เดšเดŸเตเดŸเด•เตเด•เต‚เดŸเต เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตเดจเตเดจ เดœเต†เดฏเตเด—เตผ เดŸเตเดฐเต‡เดธเตผ, เด‡เดธเตเดคเดฟเดฏเต‹ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต. เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เด•เดฎเดพเตปเดกเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดœเต†เดฏเตเด—เตผ เด‰เดชเดฏเต‹เด•เตเดคเตƒ เด‡เดจเตเดฑเตผเดซเต‡เดธเต เด†เด•เตเดธเดธเต เดšเต†เดฏเตเดฏเดพเตป เด•เดดเดฟเดฏเตเด‚:


เด‡เดชเตเดชเต‹เตพ เดชเต‹เด•เตเด• http://localhost:16686/ เด’เดฐเต เดธเต‡เดตเดจเด‚ เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เตเด• sa-web-app. เดกเตเดฐเต‹เดชเตเดชเต-เดกเต—เตบ เดฎเต†เดจเตเดตเดฟเตฝ เดธเต‡เดตเดจเด‚ เด•เดพเดฃเดฟเดšเตเดšเดฟเดŸเตเดŸเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ, เดชเต‡เดœเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดจเด‚ เด•เดพเดฃเดฟเด•เตเด•เตเด•/เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเด•, เด‡เดจเตเดฑเตผเดซเต‡เดธเต เด…เดชเตเดกเต‡เดฑเตเดฑเต เดšเต†เดฏเตเดฏเตเด•. เด…เดคเดฟเดจเตเดถเต‡เดทเด‚, เดฌเดŸเตเดŸเดฃเดฟเตฝ เด•เตเดฒเดฟเด•เตเด•เตเดšเต†เดฏเตเดฏเตเด• เดŸเตเดฐเต†เดฏเตเดธเต เด•เดฃเตเดŸเต†เดคเตเดคเตเด•, เด…เดคเต เดเดฑเตเดฑเดตเตเด‚ เดชเตเดคเดฟเดฏ เดŸเตเดฐเต†เดฏเตโ€Œเดธเตเด•เตพ เด•เดพเดฃเดฟเด•เตเด•เตเด‚ - เดเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เตเด• - เดŽเดฒเตเดฒเดพ เดŸเตเดฐเต†เดฏเตโ€Œเดธเตเด•เดณเต†เดฏเตเด‚ เด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เดตเดฟเดถเดฆเดฎเดพเดฏ เดตเดฟเดตเดฐเด™เตเด™เตพ เดฆเตƒเดถเตเดฏเดฎเดพเด•เตเด‚:

เด‡เดธเตเดคเดฟเดฏเต‹เดฏเตโ€Œเด•เตเด•เตŠเดชเตเดชเด‚ เดฎเตˆเด•เตเดฐเต‹เดธเตผเดตเต€เดธเตเด•เดณเดฟเดฒเต‡เด•เตเด•เต เดฎเดŸเด™เตเด™เตเด•. เดญเดพเด—เด‚ 1

เดˆ เดŸเตเดฐเต†เดฏเตเดธเต เด•เดพเดฃเดฟเด•เตเด•เตเดจเตเดจเดคเต:

  1. เด…เดญเตเดฏเตผเดคเตเดฅเดจ เดตเดฐเตเดจเตเดจเต istio-ingressgateway (เด‡เดคเต เด’เดฐเต เดธเต‡เดตเดจเดตเตเดฎเดพเดฏเตเดณเตเดณ เด†เดฆเตเดฏ เด‡เดŸเดชเต†เดŸเดฒเดพเดฃเต, เด…เดญเตเดฏเตผเดคเตเดฅเดจเดฏเตเด•เตเด•เดพเดฏเดฟ เด’เดฐเต เดŸเตเดฐเต‡เดธเต เดเดกเดฟ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดจเตเดจเต), เด…เดคเดฟเดจเตเดถเต‡เดทเด‚ เด—เต‡เดฑเตเดฑเตโ€Œเดตเต‡ เดธเต‡เดตเดจเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เด…เดญเตเดฏเตผเดคเตเดฅเดจ เด…เดฏเดฏเตเด•เตเด•เตเดจเตเดจเต sa-web-app.
  2. เดœเต‡เดพเดฒเดฟเดฏเดฟเตฝ sa-web-app เด…เดญเตเดฏเตผเดคเตเดฅเดจ เดŽเตปเดตเต‹เดฏเต เดธเตˆเดกเตโ€Œเด•เดพเตผ เดŽเดŸเตเด•เตเด•เตเดจเตเดจเต, เด’เดฐเต "เด•เตเดŸเตเดŸเดฟ" เดธเตโ€Œเดชเดพเดจเดฟเตฝ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดจเตเดจเต (เด…เดคเตเด•เตŠเดฃเตเดŸเดพเดฃเต เดžเด™เตเด™เตพ เด…เดคเต เดŸเตเดฐเต†เดฏเตโ€Œเดธเตเด•เดณเดฟเตฝ เด•เดพเดฃเตเดจเตเดจเดคเต) เด•เต‚เดŸเดพเดคเต† เด•เดฃเตเดŸเต†เดฏเตโ€Œเดจเดฑเดฟเดฒเต‡เด•เตเด•เต เดฑเต€เดกเดฏเดฑเด•เตโ€ŒเดŸเต เดšเต†เดฏเตเดฏเตเดจเตเดจเต sa-web-app. (เดธเตเดชเดพเตป - เดœเต†เดฏเตเด—เดฑเดฟเดฒเต† เดœเต‹เดฒเดฟเดฏเตเดŸเต† เด’เดฐเต เดฒเต‹เดœเดฟเด•เตเด•เตฝ เดฏเต‚เดฃเดฟเดฑเตเดฑเต, เด…เดคเดฟเดจเต เด’เดฐเต เดชเต‡เดฐเต, เดชเตเดฐเดตเตผเดคเตเดคเดจเดคเตเดคเดฟเดจเตเดฑเต† เด†เดฐเด‚เดญ เดธเดฎเดฏเด‚, เด…เดคเดฟเดจเตเดฑเต† เดฆเตˆเตผเด˜เตเดฏเด‚ เดŽเดจเตเดจเดฟเดตเดฏเตเดฃเตเดŸเต. เดธเตเดชเดพเดจเตเด•เตพ เดจเต†เดธเตเดฑเตเดฑเตเดšเต†เดฏเตเดคเต เด“เตผเดกเตผ เดšเต†เดฏเตเดฏเดพเดตเตเดจเตเดจเดคเดพเดฃเต. เดธเตเดชเดพเดจเตเด•เดณเตเดŸเต† เด’เดฐเต เดกเดฏเดฑเด•เตเดฑเตเดฑเต เด…เดธเตˆเด•เตเดฒเดฟเด•เต เด—เตเดฐเดพเดซเต เด’เดฐเต เดŸเตเดฐเต†เดฏเตเดธเต เดฐเต‚เดชเดชเตเดชเต†เดŸเตเดคเตเดคเตเดจเตเดจเต. - เดเด•เดฆเต‡เดถเด‚. เดชเดฐเดฟเดญเดพเดท.)
  3. เด‡เดตเดฟเดŸเต† เด…เดญเตเดฏเตผเดคเตเดฅเดจ เดฐเต€เดคเดฟ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดชเตเดฐเต‹เดธเดธเตเดธเต เดšเต†เดฏเตเดฏเตเดจเตเดจเต เดตเดฟเด•เดพเดฐ เดตเดฟเดถเด•เดฒเดจเด‚. เดˆ เดŸเตเดฐเต†เดฏเตโ€Œเดธเตเด•เตพ เด‡เดคเดฟเดจเด•เด‚ เดคเดจเตเดจเต† เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดธเตƒเดทเตเดŸเดฟเดšเตเดšเดคเดพเดฃเต, เด…เดคเดพเดฏเดคเต. เด…เดตเตผเด•เตเด•เต เด•เต‹เดกเต เดฎเดพเดฑเตเดฑเด™เตเด™เตพ เด†เดตเดถเตเดฏเดฎเดพเดฏเดฟเดฐเตเดจเตเดจเต.
  4. เดˆ เดจเดฟเดฎเดฟเดทเด‚ เดฎเตเดคเตฝ, เด’เดฐเต POST เด…เดญเตเดฏเตผเดคเตเดฅเดจ เด†เดฐเด‚เดญเดฟเด•เตเด•เตเดจเตเดจเต เดธเดพ-เดฒเต‹เดœเดฟเด•เต. เดŸเตเดฐเต†เดฏเตโ€Œเดธเต เดเดกเดฟ เดซเต‹เตผเดตเต‡เดกเต เดšเต†เดฏเตเดฏเดฃเด‚ sa-web-app.
  5. เดชเด™เตเด•เต โ‚ฌ |

เด…เดญเดฟเดชเดพเดฏเดชเตเดชเต†เดŸเตเด•: เด˜เดŸเตเดŸเด‚ 4-เตฝ, เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เด‡เดธเตเดฑเตเดฑเดฟเดฏเต‹ เดธเตƒเดทเตเดŸเดฟเดšเตเดš เดคเดฒเด•เตเด•เต†เดŸเตเดŸเตเด•เตพ เด•เดพเดฃเตเด•เดฏเตเด‚ เดšเตเดตเดŸเต†เดฏเตเดณเตเดณ เดšเดฟเดคเตเดฐเดคเตเดคเดฟเตฝ เด•เดพเดฃเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเตเดชเต‹เดฒเต† เดคเตเดŸเตผเดจเตเดจเตเดณเตเดณ เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เดณเดฟเดฒเต‡เด•เตเด•เต เด•เตˆเดฎเดพเดฑเตเด•เดฏเตเด‚ เดตเต‡เดฃเด‚:

เด‡เดธเตเดคเดฟเดฏเต‹เดฏเตโ€Œเด•เตเด•เตŠเดชเตเดชเด‚ เดฎเตˆเด•เตเดฐเต‹เดธเตผเดตเต€เดธเตเด•เดณเดฟเดฒเต‡เด•เตเด•เต เดฎเดŸเด™เตเด™เตเด•. เดญเดพเด—เด‚ 1
(A) เดคเดฒเด•เตเด•เต†เดŸเตเดŸเตเด•เตพ เด•เตˆเดฎเดพเดฑเตเดจเตเดจเดคเดฟเดจเต เด‡เดธเตเดคเดฟเดฏเต‹ เด‰เดคเตเดคเดฐเดตเดพเดฆเดฟเดฏเดพเดฃเต; (เดฌเดฟ) เดนเต†เดกเดฑเตเด•เตพเด•เตเด•เต เดธเต‡เดตเดจเด™เตเด™เตพ เด‰เดคเตเดคเดฐเดตเดพเดฆเดฟเด•เดณเดพเดฃเต

เด‡เดธเตเดคเดฟเดฏเต‹ เดฎเดฟเด•เตเด• เดœเต‹เดฒเดฟเด•เดณเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต เด•เดพเดฐเดฃเด‚... เด‡เตปเด•เดฎเดฟเด‚เด—เต เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เตพเด•เตเด•เดพเดฏเดฟ เดนเต†เดกเดฑเตเด•เตพ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจเต, เด“เดฐเต‹ เดธเตˆเดกเตโ€Œเด•เต†เดฏเดฑเดฟเดฒเตเด‚ เดชเตเดคเดฟเดฏ เดธเตเดชเดพเดจเตเด•เตพ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเด•เดฏเตเด‚ เด…เดต เด•เตˆเดฎเดพเดฑเตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต. เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚, เดธเต‡เดตเดจเด™เตเด™เตพเด•เตเด•เตเดณเตเดณเดฟเดฒเต† เดนเต†เดกเดฑเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เดพเดคเต†, เดฎเตเดดเตเดตเตป เด…เดญเตเดฏเตผเดคเตเดฅเดจ เดŸเตเดฐเต†เดฏเตเดธเต เดชเดพเดคเดฏเตเด‚ เดจเดทเตโ€ŒเดŸเดชเตเดชเต†เดŸเตเด‚.

เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดคเดฒเด•เตเด•เต†เดŸเตเดŸเตเด•เตพ เด•เดฃเด•เตเด•เดฟเดฒเต†เดŸเตเด•เตเด•เดฃเด‚:


เด‡เดคเต เดฌเตเดฆเตเดงเดฟเดฎเตเดŸเตเดŸเตเดณเตเดณ เด•เดพเดฐเตเดฏเดฎเดฒเตเดฒ, เดชเด•เตเดทเต‡ เด…เดคเดฟเดจเตเดฑเต† เดจเดŸเดชเตเดชเดพเด•เตเด•เตฝ เดฒเดณเดฟเดคเดฎเดพเด•เตเด•เดพเตป เด‡เดคเดฟเดจเด•เด‚ เดคเดจเตเดจเต† เด‰เดฃเตเดŸเต เดจเดฟเดฐเดตเดงเดฟ เดฒเตˆเดฌเตเดฐเดฑเดฟเด•เตพ - เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, sa-web-app เดธเต‡เดตเดจเดคเตเดคเดฟเตฝ, เดจเดฟเด™เตเด™เตพ Jaeger, OpenTracing เดฒเตˆเดฌเตเดฐเดฑเดฟเด•เตพ เดšเต‡เตผเดคเตเดคเดพเตฝ RestTemplate เด•เตเดฒเดฏเดจเตเดฑเต เดˆ เดคเดฒเด•เตเด•เต†เดŸเตเดŸเตเด•เตพ เด•เตˆเดฎเดพเดฑเตเดจเตเดจเต. เด…เดตเดจเตเดฑเต† เด†เดธเด•เตเดคเดฟเด•เตพ.

เดธเต†เดจเตเดฑเดฟเดฎเต†เดจเตเดฑเต เด…เดจเดพเดฒเดฟเดธเดฟเดธเต เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดซเตเดฒเดพเดธเตเด•เต, เดธเตเดชเตเดฐเดฟเด‚เด—เต, ASP.NET เด•เต‹เตผ เดŽเดจเตเดจเดฟเดตเดฏเดฟเตฝ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เดฒเตเด•เตพ เด•เดพเดฃเดฟเด•เตเด•เตเดจเตเดจเต เดŽเดจเตเดจเดคเต เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เตเด•.

เดฌเต‹เด•เตโ€Œเดธเดฟเตฝ เดจเดฟเดจเตเดจเต เดจเดฎเตเด•เตเด•เต เดŽเดจเตเดคเดพเดฃเต เดฒเดญเดฟเด•เตเด•เตเดจเตเดจเดคเต†เดจเตเดจเต เด‡เดชเตเดชเต‹เตพ เดตเตเดฏเด•เตเดคเดฎเดพเดฃเต (เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดฌเต‹เด•เตโ€Œเดธเดฟเดจเต เดชเตเดฑเดคเตเดคเต), เดฎเดฟเด•เดšเตเดš เดฑเต‚เดŸเตเดŸเดฟเด‚เด—เต, เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดŸเตเดฐเดพเดซเดฟเด•เต เดฎเดพเดจเต‡เดœเตเดฎเต†เดจเตเดฑเต, เดธเตเดฐเด•เตเดท เดฎเตเดคเดฒเดพเดฏเดต เดจเดฎเตเด•เตเด•เต เดจเต‹เด•เตเด•เดพเด‚!

เด•เตเดฑเดฟเดชเตเดชเต. เดตเดฟเดตเตผเดคเตเดคเดจเด‚.: เดฑเดฟเดจเต‹เตผ เดฎเดพเดฒเต‹เด•เตเดตเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เด‡เดธเตเดฑเตเดฑเดฟเดฏเต‹เดฏเดฟเดฒเต† เดฎเต†เดฑเตเดฑเต€เดฐเดฟเดฏเดฒเตเด•เดณเตเดŸเต† เด…เดŸเตเดคเตเดค เดญเดพเด—เดคเตเดคเต เด‡เดคเดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เดตเดพเดฏเดฟเด•เตเด•เตเด•, เด…เดคเดฟเดจเตเดฑเต† เดตเดฟเดตเตผเดคเตเดคเดจเด™เตเด™เตพ เดธเดฎเต€เดชเดญเดพเดตเดฟเดฏเดฟเตฝ เดžเด™เตเด™เดณเตเดŸเต† เดฌเตเดฒเต‹เด—เดฟเตฝ เดชเดฟเดจเตเดคเตเดŸเดฐเตเด‚. เด…เดชเตเดกเต‡เดฑเตเดฑเต (เดฎเดพเตผเดšเตเดšเต 14): เดฐเดฃเตเดŸเดพเด‚ เดญเดพเด—เด‚ เด‡เดคเดฟเดจเด•เด‚ เดชเตเดฐเดธเดฟเดฆเตเดงเต€เด•เดฐเดฟเดšเตเดšเดฟเดŸเตเดŸเตเดฃเตเดŸเต.

เดตเดฟเดตเตผเดคเตเดคเด•เดจเดฟเตฝ เดจเดฟเดจเตเดจเต เดชเดฟ.เดŽเดธเต

เดžเด™เตเด™เดณเตเดŸเต† เดฌเตเดฒเต‹เด—เดฟเดฒเตเด‚ เดตเดพเดฏเดฟเด•เตเด•เตเด•:

เด…เดตเดฒเด‚เดฌเด‚: www.habr.com