เจ‡เจธเจŸเฉ€เจ“ เจฆเฉ‡ เจจเจพเจฒ เจฎเจพเจˆเจ•เฉเจฐเฉ‹ เจธเจฐเจตเจฟเจธเจฟเจœเจผ 'เจคเฉ‡ เจตเจพเจชเจธ เจœเจพเจ“เฅค เจญเจพเจ— 1

เจ‡เจธเจŸเฉ€เจ“ เจฆเฉ‡ เจจเจพเจฒ เจฎเจพเจˆเจ•เฉเจฐเฉ‹ เจธเจฐเจตเจฟเจธเจฟเจœเจผ 'เจคเฉ‡ เจตเจพเจชเจธ เจœเจพเจ“เฅค เจญเจพเจ— 1

เจจเฉ‹เจŸ เจ•เจฐเฉ‹เฅค เจ…เจจเฉเจตเจพเจฆ: เจฎเจพเจˆเจ•เฉเจฐเฉ‹เจธเจฐเจตเจฟเจธ เจ†เจฐเจ•เฉ€เจŸเฉˆเจ•เจšเจฐ เจฆเฉ€ เจชเจพเจฒเจฃเจพ เจ•เจฐเจจ เจตเจพเจฒเฉ€เจ†เจ‚ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจฒเจˆ เจ†เจงเฉเจจเจฟเจ• เจฌเฉเจจเจฟเจ†เจฆเฉ€ เจขเจพเจ‚เจšเฉ‡ เจตเจฟเฉฑเจš เจธเจฐเจตเจฟเจธ เจฎเฉˆเจธเจผ เจฏเจ•เฉ€เจจเฉ€ เจคเฉŒเจฐ 'เจคเฉ‡ เจ‡เฉฑเจ• เจขเฉเจ•เจตเจพเจ‚ เจนเฉฑเจฒ เจฌเจฃ เจ—เจ เจนเจจเฅค เจนเจพเจฒเจพเจ‚เจ•เจฟ Istio เจฌเจนเฉเจค เจธเจพเจฐเฉ‡ DevOps เจ‡เฉฐเจœเฉ€เจจเฉ€เจ…เจฐเจพเจ‚ เจฆเฉ‡ เจฌเฉเฉฑเจฒเฉเจนเจพเจ‚ 'เจคเฉ‡ เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆ, เจ‡เจน เจ‡เฉฑเจ• เจ•เจพเจซเจผเฉ€ เจจเจตเจพเจ‚ เจ‰เจคเจชเจพเจฆ เจนเฉˆ, เจœเจฆเฉ‹เจ‚ เจ•เจฟ เจ‡เจน เจชเฉเจฐเจฆเจพเจจ เจ•เฉ€เจคเฉ€เจ†เจ‚ เจ—เจˆเจ†เจ‚ เจธเจฎเจฐเฉฑเจฅเจพเจตเจพเจ‚ เจฆเฉ‡ เจธเฉฐเจฆเจฐเจญ เจตเจฟเฉฑเจš เจตเจฟเจ†เจชเจ• เจนเฉˆ, เจ‡เจธเจฆเฉ‡ เจจเจพเจฒ เจœเจพเจฃเฉ‚ เจนเฉ‹เจฃ เจฒเจˆ เจ•เจพเจซเจผเฉ€ เจธเจฎเจพเจ‚ เจฒเฉฑเจ— เจธเจ•เจฆเจพ เจนเฉˆเฅค เจœเจฐเจฎเจจ เจ‡เฉฐเจœเฉ€เจจเฉ€เจ…เจฐ เจฐเจฟเจจเฉ‹เจฐ เจฎเจฒเฉ‹เจ•เฉ‚, เจœเฉ‹ เจ•เจฟ เจฆเฉ‚เจฐเจธเฉฐเจšเจพเจฐ เจ•เฉฐเจชเจจเฉ€ เจ”เจฐเฉ‡เจ‚เจœ เจจเฉˆเจŸเจตเจฐเจ•เจธ เจฆเฉ‡ เจตเฉฑเจกเฉ‡ เจ—เจพเจนเจ•เจพเจ‚ เจฒเจˆ เจ•เจฒเจพเจ‰เจก เจ•เฉฐเจชเจฟเจŠเจŸเจฟเฉฐเจ— เจฒเจˆ เจœเจผเจฟเฉฐเจฎเฉ‡เจตเจพเจฐ เจนเฉˆ, เจจเฉ‡ เจธเจฎเฉฑเจ—เจฐเฉ€ เจฆเฉ€ เจ‡เฉฑเจ• เจธเจผเจพเจจเจฆเจพเจฐ เจฒเฉœเฉ€ เจฒเจฟเจ–เฉ€ เจนเฉˆ เจœเฉ‹ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เจธเจคเฉ€เจ“ เจตเจฟเฉฑเจš เจคเฉ‡เจœเจผเฉ€ เจจเจพเจฒ เจ…เจคเฉ‡ เจกเฉ‚เฉฐเจ˜เจพเจˆ เจจเจพเจฒ เจกเฉเจฌเจ•เฉ€ เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเฉ€ เจนเฉˆเฅค เจ‰เจน เจ†เจชเจฃเฉ€ เจ•เจนเจพเจฃเฉ€ เจ‡เจธ เจจเจพเจฒ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจฆเจพ เจนเฉˆ เจ•เจฟ เจ‡เจธเจŸเฉ€เจ“ เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡ เจ•เฉ€ เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจคเฉเจธเฉ€เจ‚ เจ‡เจธ เจจเฉ‚เฉฐ เจ†เจชเจฃเฉ€เจ†เจ‚ เจ…เฉฑเจ–เจพเจ‚ เจจเจพเจฒ เจ•เจฟเจตเฉ‡เจ‚ เจฆเฉ‡เจ– เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค

เจ†เจˆเจธเจŸเฉ€เจ“ โ€” เจ—เฉ‚เจ—เจฒ, โ€‹โ€‹เจ†เจˆเจฌเฉ€เจเจฎ เจ…เจคเฉ‡ เจฒเจฟเจซเจŸ เจฆเฉ€เจ†เจ‚ เจŸเฉ€เจฎเจพเจ‚ เจฆเฉ‡ เจธเจนเจฟเจฏเฉ‹เจ— เจจเจพเจฒ เจตเจฟเจ•เจธเจค เจ‡เฉฑเจ• เจ“เจชเจจ เจธเฉ‹เจฐเจธ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸเฅค เจ‡เจน เจฎเจพเจˆเจ•เฉเจฐเฉ‹ เจธเจฐเจตเจฟเจธเจฟเจœเจผ-เจ…เจงเจพเจฐเจฟเจค เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจตเจฟเฉฑเจš เจชเฉˆเจฆเจพ เจนเฉ‹เจฃ เจตเจพเจฒเฉ€เจ†เจ‚ เจœเจŸเจฟเจฒเจคเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจนเฉฑเจฒ เจ•เจฐเจฆเจพ เจนเฉˆ, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ:

  • เจŸเฉเจฐเฉˆเจซเจฟเจ• เจชเฉเจฐเจฌเฉฐเจงเจจ: เจธเจฎเจพเจ‚ เจธเจฎเจพเจชเจค, เจฎเฉเฉœ เจ•เฉ‹เจธเจผเจฟเจธเจผเจพเจ‚, เจฒเฉ‹เจก เจธเฉฐเจคเฉเจฒเจจ;
  • เจธเฉเจฐเฉฑเจ–เจฟเจ† เจจเฉ‚เฉฐ: เจ…เฉฐเจคเจฎ เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจชเฉเจฐเจฎเจพเจฃเจฟเจ•เจคเจพ เจ…เจคเฉ‡ เจ…เจงเจฟเจ•เจพเจฐ;
  • เจจเจฟเจฐเฉ€เจ–เจฃเจฏเฉ‹เจ—เจคเจพ: เจŸเจฐเฉ‡เจธเจฟเฉฐเจ—, เจจเจฟเจ—เจฐเจพเจจเฉ€, เจฒเจพเจ—เจฟเฉฐเจ—.

เจ‡เจน เจธเจญ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจชเฉฑเจงเจฐ 'เจคเฉ‡ เจนเฉฑเจฒ เจ•เฉ€เจคเฉ‡ เจœเจพ เจธเจ•เจฆเฉ‡ เจนเจจ, เจชเจฐ เจ‰เจธ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจคเฉเจนเจพเจกเฉ€เจ†เจ‚ เจธเฉ‡เจตเจพเจตเจพเจ‚ เจนเฉเจฃ "เจฎเจพเจˆเจ•เฉเจฐเฉ‹" เจจเจนเฉ€เจ‚ เจฐเจนเจฟเจฃเจ—เฉ€เจ†เจ‚เฅค เจ‡เจนเจจเจพเจ‚ เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจจเฉ‚เฉฐ เจนเฉฑเจฒ เจ•เจฐเจจ เจฒเจˆ เจธเจพเจฐเฉ‡ เจตเจพเจงเฉ‚ เจฏเจคเจจ เจ•เฉฐเจชเจจเฉ€ เจฆเฉ‡ เจธเจฐเฉ‹เจคเจพเจ‚ เจฆเฉ€ เจฌเจฐเจฌเจพเจฆเฉ€ เจนเฉˆ เจœเฉ‹ เจธเจฟเฉฑเจงเฉ‡ เจตเจชเจพเจฐเจ• เจฎเฉเฉฑเจฒ เจฒเจˆ เจตเจฐเจคเฉ‡ เจœเจพ เจธเจ•เจฆเฉ‡ เจนเจจเฅค เจ†เจ“ เจ‡เฉฑเจ• เจ‰เจฆเจพเจนเจฐเจจ เจตเฉ‡เจ–เฉ€เจ:

เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจฎเฉˆเจจเฉ‡เจœเจฐ: เจ‡เฉฑเจ• เจซเฉ€เจกเจฌเฉˆเจ• เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพ เจœเฉ‹เฉœเจจ เจตเจฟเฉฑเจš เจ•เจฟเฉฐเจจเจพ เจธเจฎเจพเจ‚ เจฒเฉฑเจ—เจฆเจพ เจนเฉˆ?
เจตเจฟเจ•เจพเจธเจ•เจพเจฐ: เจฆเฉ‹ เจธเจชเฉเจฐเจฟเฉฐเจŸเจธเฅค

เจเจฎ.เจชเฉ€.: เจ•เฉ€?... เจ‡เจน เจธเจฟเจฐเจซเจผ CRUD เจนเฉˆ!
R: CRUD เจ•เจฐเจจเจพ เจ†เจธเจพเจจ เจนเจฟเฉฑเจธเจพ เจนเฉˆ, เจชเจฐ เจธเจพเจจเฉ‚เฉฐ เจ…เจœเฉ‡ เจตเฉ€ เจ‰เจชเจญเฉ‹เจ—เจคเจพเจตเจพเจ‚ เจ…เจคเฉ‡ เจธเฉ‡เจตเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจชเฉเจฐเจฎเจพเจฃเจฟเจค เจ…เจคเฉ‡ เจ…เจงเจฟเจ•เจพเจฐเจค เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆเฅค เจ•เจฟเจ‰เจ‚เจ•เจฟ เจจเฉˆเจŸเจตเจฐเจ• เจญเจฐเฉ‹เจธเฉ‡เจฏเฉ‹เจ— เจจเจนเฉ€เจ‚ เจนเฉˆ, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจตเจพเจฐ-เจตเจพเจฐ เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉ‹เจตเฉ‡เจ—เฉ€, เจจเจพเจฒ เจนเฉ€ เจธเจฐเจ•เจŸ เจคเฉ‹เฉœเจจ เจตเจพเจฒเจพ เจชเฉˆเจŸเจฐเจจ เจ—เจพเจนเจ•เจพเจ‚ เจตเจฟเฉฑเจš. เจจเจพเจฒ เจนเฉ€, เจ‡เจน เจฏเจ•เฉ€เจจเฉ€ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ เจ•เจฟ เจธเจพเจฐเจพ เจธเจฟเจธเจŸเจฎ เจ•เฉเจฐเฉˆเจธเจผ เจจเจพ เจนเฉ‹เจตเฉ‡, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจธเจฎเจพเจ‚ เจธเจฎเจพเจชเจคเฉ€ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉ‹เจตเฉ‡เจ—เฉ€ เจ…เจคเฉ‡ bulkheads (เจ‰เจฒเฉ‡เจ– เจ•เฉ€เจคเฉ‡ เจฆเฉ‹เจจเจพเจ‚ เจชเฉˆเจŸเจฐเจจเจพเจ‚ เจฌเจพเจฐเฉ‡ เจนเฉ‹เจฐ เจตเฉ‡เจฐเจตเจฟเจ†เจ‚ เจฒเจˆ, เจฒเฉ‡เจ– เจตเจฟเฉฑเจš เจฌเจพเจ…เจฆ เจตเจฟเฉฑเจš เจฆเฉ‡เจ–เฉ‹ - เจฒเจ—เจญเจ— เจ…เจจเฉเจตเจพเจฆเฅค), เจ…เจคเฉ‡ เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจฆเจพ เจชเจคเจพ เจฒเจ—เจพเจ‰เจฃ เจฒเจˆ, เจจเจฟเจ—เจฐเจพเจจเฉ€, เจŸเจฐเฉ‡เจธเจฟเฉฐเจ—, [โ€ฆ]

เจเจฎ.เจชเฉ€.: เจ“เจน, เจคเจพเจ‚ เจ†เจ“ เจ‡เจธ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพ เจจเฉ‚เฉฐ เจ‰เจคเจชเจพเจฆ เจธเฉ‡เจตเจพ เจตเจฟเฉฑเจš เจธเจผเจพเจฎเจฒ เจ•เจฐเฉ€เจเฅค

เจฎเฉˆเจจเฉ‚เฉฐ เจฒเจ—เจฆเจพ เจนเฉˆ เจ•เจฟ เจตเจฟเจšเจพเจฐ เจธเจชเจธเจผเจŸ เจนเฉˆ: เจ‡เฉฑเจ• เจธเฉ‡เจตเจพ เจจเฉ‚เฉฐ เจœเฉ‹เฉœเจจ เจฒเจˆ เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ‡ เจ•เจฆเจฎเจพเจ‚ เจ…เจคเฉ‡ เจœเจคเจจเจพเจ‚ เจฆเฉ€ เจฎเจพเจคเจฐเจพ เจฌเจนเฉเจค เจœเจผเจฟเจ†เจฆเจพ เจนเฉˆเฅค เจ‡เจธ เจฒเฉ‡เจ– เจตเจฟเฉฑเจš, เจ…เจธเฉ€เจ‚ เจฆเฉ‡เจ–เจพเจ‚เจ—เฉ‡ เจ•เจฟ เจ•เจฟเจตเฉ‡เจ‚ Istio เจธเฉ‡เจตเจพเจตเจพเจ‚ เจคเฉ‹เจ‚ เจ‰เฉฑเจชเจฐ เจฆเฉฑเจธเฉ€เจ†เจ‚ เจธเจพเจฐเฉ€เจ†เจ‚ เจ—เฉเฉฐเจเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจฆเฉ‚เจฐ เจ•เจฐเจฆเจพ เจนเฉˆ (เจœเฉ‹ เจ•เจฟ เจตเจชเจพเจฐเจ• เจคเจฐเจ• เจจเจนเฉ€เจ‚ เจนเฉˆ)เฅค

เจ‡เจธเจŸเฉ€เจ“ เจฆเฉ‡ เจจเจพเจฒ เจฎเจพเจˆเจ•เฉเจฐเฉ‹ เจธเจฐเจตเจฟเจธเจฟเจœเจผ 'เจคเฉ‡ เจตเจพเจชเจธ เจœเจพเจ“เฅค เจญเจพเจ— 1

เจŸเจฟเฉฑเจชเจฃเฉ€: เจ‡เจน เจฒเฉ‡เจ– เจฎเฉฐเจจเจฆเจพ เจนเฉˆ เจ•เจฟ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจฆเจพ เจ•เฉฐเจฎเจ•เจพเจœเฉ€ เจ—เจฟเจ†เจจ เจนเฉˆเฅค เจจเจนเฉ€เจ‚ เจคเจพเจ‚, เจฎเฉˆเจ‚ เจชเฉœเฉเจนเจจ เจฆเฉ€ เจธเจฟเจซเจพเจฐเจธเจผ เจ•เจฐเจฆเจพ เจนเจพเจ‚ เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจจเจพเจฒ เจฎเฉ‡เจฐเฉ€ เจœเจพเจฃ-เจชเจ›เจพเจฃ เจ…เจคเฉ‡ เจ‰เจธ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจนเฉ€ เจ‡เจธ เจธเจฎเฉฑเจ—เจฐเฉ€ เจจเฉ‚เฉฐ เจชเฉœเฉเจนเจจเจพ เจœเจพเจฐเฉ€ เจฐเฉฑเจ–เฉ‹เฅค

Istio เจตเจฟเจšเจพเจฐ

Istio เจคเฉ‹เจ‚ เจฌเจฟเจจเจพเจ‚ เจ‡เฉฑเจ• เจธเฉฐเจธเจพเจฐ เจตเจฟเฉฑเจš, เจ‡เฉฑเจ• เจธเฉ‡เจตเจพ เจฆเฉ‚เจœเฉ€ เจจเฉ‚เฉฐ เจธเจฟเฉฑเจงเฉ€ เจฌเฉ‡เจจเจคเฉ€ เจ•เจฐเจฆเฉ€ เจนเฉˆ, เจ…เจคเฉ‡ เจ‡เฉฑเจ• เจ…เจธเจซเจฒเจคเจพ เจฆเฉ€ เจธเจฅเจฟเจคเฉ€ เจตเจฟเฉฑเจš, เจธเฉ‡เจตเจพ เจจเฉ‚เฉฐ เจ‡เจธเจจเฉ‚เฉฐ เจ–เฉเจฆ เจธเฉฐเจญเจพเจฒเจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ: เจ‡เฉฑเจ• เจจเจตเฉ€เจ‚ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐเฉ‹, เจ‡เฉฑเจ• เจธเจฎเจพเจ‚ เจธเจฎเจพเจชเจค เจ•เจฐเฉ‹, เจ‡เฉฑเจ• เจธเจฐเจ•เจŸ เจฌเฉเจฐเฉ‡เจ•เจฐ เจ–เฉ‹เจฒเฉเจนเฉ‹, เจ†เจฆเจฟเฅค

เจ‡เจธเจŸเฉ€เจ“ เจฆเฉ‡ เจจเจพเจฒ เจฎเจพเจˆเจ•เฉเจฐเฉ‹ เจธเจฐเจตเจฟเจธเจฟเจœเจผ 'เจคเฉ‡ เจตเจพเจชเจธ เจœเจพเจ“เฅค เจญเจพเจ— 1
เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจตเจฟเฉฑเจš เจจเฉˆเฉฑเจŸเจตเจฐเจ• เจŸเฉเจฐเฉˆเจซเจฟเจ•

Istio เจ‡เฉฑเจ• เจตเจฟเจธเจผเฉ‡เจธเจผ เจนเฉฑเจฒ เจชเฉ‡เจธเจผ เจ•เจฐเจฆเจพ เจนเฉˆ, เจจเฉˆเฉฑเจŸเจตเจฐเจ• เจธเฉฐเจšเจพเจฐ เจตเจฟเฉฑเจš เจฆเจ–เจฒ เจฆเฉ‡ เจ•เฉ‡ เจธเฉ‡เจตเจพเจตเจพเจ‚ เจ…เจคเฉ‡ เจ•เฉฐเจฎเจ•เจพเจœ เจคเฉ‹เจ‚ เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจตเฉฑเจ– เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค เจ…เจคเฉ‡ เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ เจ‡เจน เจฒเจพเจ—เฉ‚ เจ•เจฐเจฆเจพ เจนเฉˆ:

  • เจจเฉเจ•เจธ เจธเจนเจฟเจฃเจธเจผเฉ€เจฒเจคเจพ: เจœเจตเจพเจฌ เจตเจฟเฉฑเจš เจธเจฅเจฟเจคเฉ€ เจ•เฉ‹เจก เจฆเฉ‡ เจ†เจงเจพเจฐ 'เจคเฉ‡, เจ‡เจน เจธเจฎเจเจฆเจพ เจนเฉˆ เจ•เจฟ เจ•เฉ€ เจฌเฉ‡เจจเจคเฉ€ เจ…เจธเจซเจฒ เจนเฉ‹เจˆ เจ…เจคเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ เจฎเฉเฉœ-เจเจ•เจœเจผเฉ€เจ•เจฟเจŠเจŸ เจ•เจฐเจฆเจพ เจนเฉˆเฅค
  • เจ•เฉˆเจจเจฐเฉ€ เจฐเฉ‹เจฒเจ†เจŠเจŸเจธ: เจธเฉ‡เจตเจพ เจฆเฉ‡ เจจเจตเฉ‡เจ‚ เจธเฉฐเจธเจ•เจฐเจฃ เจฒเจˆ เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ เจฆเฉ€ เจธเจฟเจฐเจซ เจ‡เฉฑเจ• เจจเจฟเจธเจผเจšเจฟเจค เจชเฉเจฐเจคเฉ€เจธเจผเจค เจจเฉ‚เฉฐ เจฐเฉ€เจกเจพเจ‡เจฐเฉˆเจ•เจŸ เจ•เจฐเจฆเจพ เจนเฉˆเฅค
  • เจจเจฟเจ—เจฐเจพเจจเฉ€ เจ…เจคเฉ‡ เจฎเฉˆเจŸเฉเจฐเจฟเจ•เจธ: เจธเฉ‡เจตเจพ เจจเฉ‚เฉฐ เจœเจตเจพเจฌ เจฆเฉ‡เจฃ เจตเจฟเฉฑเจš เจ•เจฟเฉฐเจจเจพ เจธเจฎเจพเจ‚ เจฒเฉฑเจ—เจฟเจ†?
  • เจŸเจฐเฉ‡เจธเจฟเฉฐเจ— เจ…เจคเฉ‡ เจจเจฟเจฐเฉ€เจ–เจฃเจฏเฉ‹เจ—เจคเจพ: เจนเจฐเฉ‡เจ• เจฌเฉ‡เจจเจคเฉ€ เจฒเจˆ เจตเจฟเจธเจผเฉ‡เจธเจผ เจธเจฟเจฐเจฒเฉ‡เจ– เจœเฉ‹เฉœเจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจ•เจฒเฉฑเจธเจŸเจฐ เจตเจฟเฉฑเจš เจŸเจฐเฉ‡เจธ เจ•เจฐเจฆเจพ เจนเฉˆเฅค
  • เจธเฉเจฐเฉฑเจ–เจฟเจ† เจจเฉ‚เฉฐ: JWT เจŸเฉ‹เจ•เจจ เจฎเฉเฉœ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจฆเจพ เจนเฉˆ, เจ‰เจชเจญเฉ‹เจ—เจคเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจชเฉเจฐเจฎเจพเจฃเจฟเจค เจ•เจฐเจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจ…เจงเจฟเจ•เจพเจฐเจค เจ•เจฐเจฆเจพ เจนเฉˆเฅค

เจ‡เจน เจธเจฟเจฐเจซเจผ เจ•เฉเจ เจธเฉฐเจญเจพเจตเจจเจพเจตเจพเจ‚ เจนเจจ (เจ…เจธเจฒ เจตเจฟเฉฑเจš เจ•เฉเจ เจ•เฉ!) เจคเฉเจนเจพเจจเฉ‚เฉฐ เจฆเจฟเจฒเจšเจธเจช เจฌเจฃเจพเจ‰เจฃ เจฒเจˆเฅค เจ†เจ“ เจนเฉเจฃ เจคเจ•เจจเฉ€เจ•เฉ€ เจตเฉ‡เจฐเจตเจฟเจ†เจ‚ เจตเจฟเฉฑเจš เจกเฉเจฌเจ•เฉ€ เจ•เจฐเฉ€เจ!

เจ‡เจธเจŸเฉ€เจ“ เจ†เจฐเจ•เฉ€เจŸเฉˆเจ•เจšเจฐ

Istio เจธเจพเจฐเฉ‡ เจจเฉˆเฉฑเจŸเจตเจฐเจ• เจŸเฉเจฐเฉˆเจซเจฟเจ• เจจเฉ‚เฉฐ เจฐเฉ‹เจ•เจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจนเจฐเฉ‡เจ• เจชเฉŒเจก เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจธเจพเจˆเจกเจ•เจพเจฐ เจ•เฉฐเจŸเฉ‡เจจเจฐ เจฆเฉ‡ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจธเจฎเจพเจฐเจŸ เจชเฉเจฐเฉŒเจ•เจธเฉ€ เจชเจพ เจ•เฉ‡, เจ‡เจธ 'เจคเฉ‡ เจจเจฟเจฏเจฎเจพเจ‚ เจฆเจพ เจ‡เฉฑเจ• เจธเฉˆเฉฑเจŸ เจฒเจพเจ—เฉ‚ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจชเฉเจฐเฉŒเจ•เจธเฉ€เจœเจผ เจœเฉ‹ เจธเจพเจฐเฉ€เจ†เจ‚ เจธเจฎเจฐเฉฑเจฅเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจธเจฐเจ—เจฐเจฎ เจ•เจฐเจฆเฉ€เจ†เจ‚ เจนเจจ a เจกเจพเจŸเจพ เจชเจฒเฉ‡เจจ, เจ…เจคเฉ‡ เจ‰เจนเจจเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจ—เจคเฉ€เจธเจผเฉ€เจฒ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจธเฉฐเจฐเจšเจฟเจค เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ เจ•เฉฐเจŸเจฐเฉ‹เจฒ เจชเจฒเฉ‡เจจ.

เจกเจพเจŸเจพ เจชเจฒเฉ‡เจจ

เจชเฉ‹เจกเจพเจ‚ เจตเจฟเฉฑเจš เจชเจพเจˆเจ†เจ‚ เจ—เจˆเจ†เจ‚ เจชเฉเจฐเฉŒเจ•เจธเฉ€เจœเจผ เจ‡เจธเจŸเฉ€เจ“ เจจเฉ‚เฉฐ เจธเจพเจกเฉ€เจ†เจ‚ เจฒเฉ‹เฉœเจพเจ‚ เจจเฉ‚เฉฐ เจ†เจธเจพเจจเฉ€ เจจเจพเจฒ เจชเฉ‚เจฐเจพ เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเฉ€เจ†เจ‚ เจนเจจเฅค เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจ†เจ‰ เจฆเฉเจฌเจพเจฐเจพ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ…เจคเฉ‡ เจธเจฐเจ•เจŸ เจฌเฉเจฐเฉ‡เจ•เจฐ เจซเฉฐเจ•เจธเจผเจจเจพเจ‚ เจฆเฉ€ เจœเจพเจ‚เจš เจ•เจฐเฉ€เจเฅค

เจ‡เจธเจŸเฉ€เจ“ เจฆเฉ‡ เจจเจพเจฒ เจฎเจพเจˆเจ•เฉเจฐเฉ‹ เจธเจฐเจตเจฟเจธเจฟเจœเจผ 'เจคเฉ‡ เจตเจพเจชเจธ เจœเจพเจ“เฅค เจญเจพเจ— 1
เจฆเฉ‚เจค เจตเจฟเฉฑเจš เจฎเฉเฉœ เจ•เฉ‹เจธเจผเจฟเจธเจผเจพเจ‚ เจ…เจคเฉ‡ เจธเจฐเจ•เจŸ เจคเฉ‹เฉœเจจ เจจเฉ‚เฉฐ เจ•เจฟเจตเฉ‡เจ‚ เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ

เจธเฉฐเจ–เฉ‡เจช:

  1. เจฆเฉ‚เจค (เจ…เจธเฉ€เจ‚ เจ‡เฉฑเจ• เจธเจพเจˆเจกเจ•เจพเจฐ เจ•เฉฐเจŸเฉ‡เจจเจฐ เจตเจฟเฉฑเจš เจธเจฅเจฟเจค เจ‡เฉฑเจ• เจชเฉเจฐเฉŒเจ•เจธเฉ€ เจฌเจพเจฐเฉ‡ เจ—เฉฑเจฒ เจ•เจฐ เจฐเจนเฉ‡ เจนเจพเจ‚, เจœเจฟเจธเจจเฉ‚เฉฐ เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ เจตเฉฐเจกเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ เจตเฉฑเจ–เจฐเจพ เจ‰เจคเจชเจพเจฆ - เจฒเจ—เจญเจ— เจ…เจจเฉเจตเจพเจฆเฅค) เจธเฉ‡เจตเจพ B เจฆเฉ€ เจชเจนเจฟเจฒเฉ€ เจธเจฅเจฟเจคเฉ€ เจจเฉ‚เฉฐ เจฌเฉ‡เจจเจคเฉ€ เจญเฉ‡เจœเจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจ…เจธเจซเจฒ เจนเฉ‹ เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค
  2. เจฆเฉ‚เจค เจธเจพเจˆเจกเจ•เจพเจฐ เจจเฉ‡ เจฆเฉเจฌเจพเจฐเจพ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เฉ€เจคเฉ€ (เจฎเฉเฉœ เจ•เฉ‹เจธเจผเจฟเจธเจผ). (1)
  3. เจฌเฉ‡เจจเจคเฉ€ เจ…เจธเจซเจฒ เจนเฉ‹ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ เจ…เจคเฉ‡ เจชเฉเจฐเฉŒเจ•เจธเฉ€ เจจเฉ‚เฉฐ เจตเจพเจชเจธ เจ•เจฐ เจฆเจฟเฉฑเจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ เจœเจฟเจธเจจเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ เจฌเฉเจฒเจพเจ‡เจ† เจนเฉˆเฅค
  4. เจ‡เจน เจธเจฐเจ•เจŸ เจฌเฉเจฐเฉ‡เจ•เจฐ เจ–เฉ‹เจฒเฉเจนเจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจ…เจ—เจฒเฉ€เจ†เจ‚ เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ เจฒเจˆ เจ…เจ—เจฒเฉ€ เจธเฉ‡เจตเจพ เจจเฉ‚เฉฐ เจ•เจพเจฒ เจ•เจฐเจฆเจพ เจนเฉˆเฅค (2)

เจ‡เจธเจฆเจพ เจฎเจคเจฒเจฌ เจ‡เจน เจนเฉˆ เจ•เจฟ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ•เฉ‹เจˆ เจนเฉ‹เจฐ เจฎเฉเฉœ-เจ•เฉ‹เจธเจผเจฟเจธเจผ เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจจเจนเฉ€เจ‚ เจนเฉˆ, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจฟเฉฐเจ— เจญเจพเจธเจผเจพ X, Y เจœเจพเจ‚ Z เจตเจฟเฉฑเจš เจธเจฐเจ•เจŸ เจฌเฉเจฐเฉ‡เจ•เจฟเฉฐเจ— เจ…เจคเฉ‡ เจธเจฐเจตเจฟเจธ เจกเจฟเจธเจ•เจตเจฐเฉ€ เจจเฉ‚เฉฐ เจ–เฉเจฆ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจจเจนเฉ€เจ‚ เจนเฉˆเฅค เจ‡เจน เจธเจญ เจ…เจคเฉ‡ เจนเฉ‹เจฐ เจฌเจนเฉเจค เจ•เฉเจ เจฌเจพเจ•เจธ เจคเฉ‹เจ‚ เจฌเจพเจนเจฐ เจ‰เจชเจฒเจฌเจง เจนเฉˆเฅค Istio เจตเจฟเฉฑเจš เจ…เจคเฉ‡ เจ‡เจธเจฆเฉ€ เจฒเฉ‹เฉœ เจจเจนเฉ€เจ‚ เจนเฉˆ เจจเจนเฉ€เจ‚ เจ•เฉ‹เจก เจตเจฟเฉฑเจš เจฌเจฆเจฒเจพเจ….

เจฌเจนเฉเจค เจตเจงเฉ€เจ†! เจนเฉเจฃ เจคเฉเจธเฉ€เจ‚ เจ‡เจธเจŸเฉ€เจ“ เจฆเฉ‡ เจจเจพเจฒ เจธเจฎเฉเฉฐเจฆเจฐเฉ€ เจธเจซเจผเจฐ 'เจคเฉ‡ เจœเจพเจฃเจพ เจšเจพเจน เจธเจ•เจฆเฉ‡ เจนเฉ‹, เจชเจฐ เจคเฉเจนเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจ…เจœเฉ‡ เจตเฉ€ เจ•เฉเจ เจธเจผเฉฐเจ•เฉ‡ เจนเจจ, เจ–เฉเฉฑเจฒเฉเจนเฉ‡ เจธเจตเจพเจฒ เจนเจจเฅค เจœเฉ‡ เจ‡เจน เจœเฉ€เจตเจจ เจฆเฉ‡ เจธเจพเจฐเฉ‡ เจฎเฉŒเจ•เจฟเจ†เจ‚ เจฒเจˆ เจ‡เฉฑเจ• เจตเจฟเจ†เจชเจ• เจนเฉฑเจฒ เจนเฉˆ, เจคเจพเจ‚ เจคเฉเจนเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจ‡เฉฑเจ• เจ•เฉเจฆเจฐเจคเฉ€ เจธเจผเฉฑเจ• เจนเฉˆ: เจ†เจ–เจผเจฐเจ•เจพเจฐ, เจ…เจธเจฒ เจตเจฟเฉฑเจš เจ…เจœเจฟเจนเฉ‡ เจธเจพเจฐเฉ‡ เจนเฉฑเจฒ เจ•เจฟเจธเฉ‡ เจตเฉ€ เจ•เฉ‡เจธ เจฒเจˆ เจ…เจฃเจ‰เจšเจฟเจค เจธเจพเจฌเจค เจนเฉเฉฐเจฆเฉ‡ เจนเจจ.

เจ…เจคเฉ‡ เจ…เฉฐเจค เจตเจฟเฉฑเจš เจคเฉเจธเฉ€เจ‚ เจชเฉเฉฑเจ›เจฆเฉ‡ เจนเฉ‹: "เจ•เฉ€ เจ‡เจน เจ…เจจเฉเจ•เฉ‚เจฒเจฟเจค เจนเฉˆ?"

เจนเฉเจฃ เจคเฉเจธเฉ€เจ‚ เจธเจฎเฉเฉฐเจฆเจฐเฉ€ เจธเจซเจผเจฐ เจฒเจˆ เจคเจฟเจ†เจฐ เจนเฉ‹, เจ†เจ“ เจ•เฉฐเจŸเจฐเฉ‹เจฒ เจชเจฒเฉ‡เจจ เจคเฉ‹เจ‚ เจœเจพเจฃเฉ‚ เจ•เจฐเฉ€เจเฅค

เจ•เฉฐเจŸเจฐเฉ‹เจฒ เจชเจฒเฉ‡เจจ

เจ‡เจธ เจตเจฟเฉฑเจš เจคเจฟเฉฐเจจ เจญเจพเจ— เจนเจจ: เจชเจพเจ‡เจฒเจŸ, เจฎเจฟเจ•เจธเจฐ ะธ เจ•เจฟเจฒเฉ‡, เจœเฉ‹ เจ•เจฟ เจฐเฉ‚เจŸ เจŸเฉเจฐเฉˆเจซเจฟเจ•, เจจเฉ€เจคเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ, เจ…เจคเฉ‡ เจŸเฉˆเจฒเฉ€เจฎเฉˆเจŸเจฐเฉ€ เจกเฉ‡เจŸเจพ เจ‡เจ•เฉฑเจคเจฐ เจ•เจฐเจจ เจฒเจˆ เจฐเจพเจœเจฆเฉ‚เจคเจพเจ‚ เจจเฉ‚เฉฐ เจ•เฉŒเจ‚เจซเจฟเจ—เจฐ เจ•เจฐเจจ เจฒเจˆ เจฎเจฟเจฒ เจ•เฉ‡ เจ•เฉฐเจฎ เจ•เจฐเจฆเฉ‡ เจนเจจเฅค เจฏเฉ‹เจœเจจเจพเจฌเฉฑเจง เจคเฉŒเจฐ 'เจคเฉ‡ เจ‡เจน เจธเจญ เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ เจฆเจฟเจ–เจพเจˆ เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ:

เจ‡เจธเจŸเฉ€เจ“ เจฆเฉ‡ เจจเจพเจฒ เจฎเจพเจˆเจ•เฉเจฐเฉ‹ เจธเจฐเจตเจฟเจธเจฟเจœเจผ 'เจคเฉ‡ เจตเจพเจชเจธ เจœเจพเจ“เฅค เจญเจพเจ— 1
เจกเจพเจŸเจพ เจชเจฒเฉ‡เจจ เจฆเฉ‡ เจจเจพเจฒ เจ•เฉฐเจŸเจฐเฉ‹เจฒ เจชเจฒเฉ‡เจจ เจฆเฉ€ เจ‡เฉฐเจŸเจฐเจเจ•เจธเจผเจจ

เจฆเฉ‚เจค (เจ…เจฐเจฅเจพเจค เจกเฉ‡เจŸเจพ เจชเจฒเฉ‡เจจ) เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจธเฉฐเจฐเจšเจฟเจค เจ•เฉ€เจคเฉ‡ เจ—เจ เจนเจจ เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจธเฉ€เจ†เจฐเจกเฉ€ (เจ•เจธเจŸเจฎ เจธเจฐเฉ‹เจค เจชเจฐเจฟเจญเจพเจธเจผเจพเจตเจพเจ‚) Istio เจฆเฉเจ†เจฐเจพ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ…เจคเฉ‡ เจ–เจพเจธ เจคเฉŒเจฐ 'เจคเฉ‡ เจ‡เจธ เจ‰เจฆเฉ‡เจธเจผ เจฒเจˆ เจคเจฟเจ†เจฐ เจ•เฉ€เจคเฉ‡ เจ—เจ เจนเจจเฅค เจคเฉเจนเจพเจกเฉ‡ เจฒเจˆ เจ‡เจธเจฆเจพ เจ•เฉ€ เจ…เจฐเจฅ เจนเฉˆ เจ•เจฟ เจ‰เจน เจ‡เฉฑเจ• เจœเจพเจฃเฉ‡-เจชเจ›เจพเจฃเฉ‡ เจธเฉฐเจŸเฉˆเจ•เจธ เจฆเฉ‡ เจจเจพเจฒ เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจนเฉ‹เจฐ เจธเจฐเฉ‹เจค เจœเจพเจชเจฆเฉ‡ เจนเจจเฅค เจ‡เฉฑเจ• เจตเจพเจฐ เจฌเจฃเจพเจ เจœเจพเจฃ 'เจคเฉ‡, เจ‡เจธ เจธเจฐเฉ‹เจค เจจเฉ‚เฉฐ เจ•เฉฐเจŸเจฐเฉ‹เจฒ เจชเจฒเฉ‡เจจ เจฆเฉเจ†เจฐเจพ เจšเฉเฉฑเจ•เจฟเจ† เจœเจพเจตเฉ‡เจ—เจพ เจ…เจคเฉ‡ เจฐเจพเจœเจฆเฉ‚เจคเจพเจ‚ 'เจคเฉ‡ เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเจพ เจœเจพเจตเฉ‡เจ—เจพเฅค

Istio เจจเจพเจฒ เจธเฉ‡เจตเจพเจตเจพเจ‚ เจฆเจพ เจธเจฌเฉฐเจง

เจ…เจธเฉ€เจ‚ เจธเฉ‡เจตเจพเจตเจพเจ‚ เจจเจพเจฒ Istio เจฆเฉ‡ เจธเจฌเฉฐเจงเจพเจ‚ เจฆเจพ เจตเจฐเจฃเจจ เจ•เฉ€เจคเจพ เจนเฉˆ, เจชเจฐ เจ‰เจฒเจŸเจพ เจจเจนเฉ€เจ‚: เจธเฉ‡เจตเจพเจตเจพเจ‚ Istio เจจเจพเจฒ เจ•เจฟเจตเฉ‡เจ‚ เจธเฉฐเจฌเฉฐเจงเจฟเจค เจนเจจ?

เจ‡เจฎเจพเจจเจฆเจพเจฐ เจนเฉ‹เจฃ เจฒเจˆ, เจธเฉ‡เจตเจพเจตเจพเจ‚ เจ‡เจธเจŸเฉ€เจ“ เจฆเฉ€ เจฎเฉŒเจœเฉ‚เจฆเจ—เฉ€ เจฌเจพเจฐเฉ‡ เจ“เจจเฉ€ เจนเฉ€ เจœเจพเจฃเฉ‚ เจนเฉเฉฐเจฆเฉ€เจ†เจ‚ เจนเจจ เจœเจฟเฉฐเจจเฉ€เจ†เจ‚ เจฎเฉฑเจ›เฉ€เจ†เจ‚ เจชเจพเจฃเฉ€ เจฆเฉ€เจ†เจ‚ เจนเฉเฉฐเจฆเฉ€เจ†เจ‚ เจนเจจ เจœเจฆเฉ‹เจ‚ เจ‰เจน เจ†เจชเจฃเฉ‡ เจ†เจช เจจเฉ‚เฉฐ เจชเฉเฉฑเจ›เจฆเฉ€เจ†เจ‚ เจนเจจ, "เจซเจฟเจฐ เจตเฉ€ เจชเจพเจฃเฉ€ เจ•เฉ€ เจนเฉˆ?"

เจ‡เจธเจŸเฉ€เจ“ เจฆเฉ‡ เจจเจพเจฒ เจฎเจพเจˆเจ•เฉเจฐเฉ‹ เจธเจฐเจตเจฟเจธเจฟเจœเจผ 'เจคเฉ‡ เจตเจพเจชเจธ เจœเจพเจ“เฅค เจญเจพเจ— 1
เจฆเฉเจฐเจฟเจธเจผเจŸเจพเจ‚เจค เจตเจฟเจ•เจŸเฉ‹เจฐเฉ€เจ† เจฆเจฟเจฎเจฟเจคเจฐเจพเจ•เฉ‹เจชเฉ‹เจฒเฉ‹เจธ:- เจคเฉเจนเจพเจจเฉ‚เฉฐ เจชเจพเจฃเฉ€ เจ•เจฟเจนเฉ‹ เจœเจฟเจนเจพ เจฒเฉฑเจ—เจฆเจพ เจนเฉˆ? - เจซเจฟเจฐ เจตเฉ€ เจชเจพเจฃเฉ€ เจ•เฉ€ เจนเฉˆ?

เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚, เจคเฉเจธเฉ€เจ‚ เจ‡เฉฑเจ• เจตเจฐเจ•เจฟเฉฐเจ— เจ•เจฒเฉฑเจธเจŸเจฐ เจฒเฉˆ เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจ…เจคเฉ‡ เจ‡เจธเจŸเฉ€เจ“ เจ•เฉฐเจชเฉ‹เจจเฉˆเจ‚เจŸเจธ เจจเฉ‚เฉฐ เจคเจพเจ‡เจจเจพเจค เจ•เจฐเจจ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจ‡เจธ เจตเจฟเฉฑเจš เจธเจฅเจฟเจค เจธเฉ‡เจตเจพเจตเจพเจ‚ เจ•เฉฐเจฎ เจ•เจฐเจฆเฉ€เจ†เจ‚ เจฐเจนเจฟเจฃเจ—เฉ€เจ†เจ‚, เจ…เจคเฉ‡ เจ‡เจนเจจเจพเจ‚ เจญเจพเจ—เจพเจ‚ เจจเฉ‚เฉฐ เจนเจŸเจพเจ‰เจฃ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจธเจญ เจ•เฉเจ เจฆเฉเจฌเจพเจฐเจพ เจ เฉ€เจ• เจนเฉ‹ เจœเจพเจตเฉ‡เจ—เจพเฅค เจ‡เจน เจธเจชเฉฑเจธเจผเจŸ เจนเฉˆ เจ•เจฟ เจ‡เจธ เจ•เฉ‡เจธ เจตเจฟเฉฑเจš เจคเฉเจธเฉ€เจ‚ เจ‡เจธเจŸเฉ€เจ“ เจฆเฉเจ†เจฐเจพ เจชเฉเจฐเจฆเจพเจจ เจ•เฉ€เจคเฉ€เจ†เจ‚ เจธเจฎเจฐเฉฑเจฅเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจ—เฉเจ† เจฆเฉ‡เจตเฉ‹เจ—เฉ‡.

เจ•เจพเจซเจผเฉ€ เจฅเจฟเจŠเจฐเฉ€ - เจ†เจ“ เจ‡เจธ เจ—เจฟเจ†เจจ เจจเฉ‚เฉฐ เจ…เจญเจฟเจ†เจธ เจตเจฟเฉฑเจš เจชเจพเจˆเจ!

เจ…เจญเจฟเจ†เจธ เจตเจฟเฉฑเจš Istio

Istio เจจเฉ‚เฉฐ เจ˜เฉฑเจŸเฉ‹-เจ˜เฉฑเจŸ 4 vCPUs เจ…เจคเฉ‡ 8 GB RAM เจ‰เจชเจฒเจฌเจง เจนเฉ‹เจฃ เจตเจพเจฒเฉ‡ เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจ•เจฒเฉฑเจธเจŸเจฐ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆเฅค เจ‡เฉฑเจ• เจ•เจฒเฉฑเจธเจŸเจฐ เจจเฉ‚เฉฐ เจคเฉ‡เจœเจผเฉ€ เจจเจพเจฒ เจธเฉˆเจŸ เจ…เจช เจ•เจฐเจจ เจ…เจคเฉ‡ เจฒเฉ‡เจ– เจฆเฉ€เจ†เจ‚ เจนเจฟเจฆเจพเจ‡เจคเจพเจ‚ เจฆเฉ€ เจชเจพเจฒเจฃเจพ เจ•เจฐเจจ เจฒเจˆ, เจฎเฉˆเจ‚ เจ—เฉ‚เจ—เจฒ เจ•เจฒเจพเจ‰เจก เจชเจฒเฉ‡เจŸเจซเจพเจฐเจฎ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจฆเฉ€ เจธเจฟเจซเจพเจฐเจธเจผ เจ•เจฐเจฆเจพ เจนเจพเจ‚, เจœเฉ‹ เจจเจตเฉ‡เจ‚ เจ‰เจชเจญเฉ‹เจ—เจคเจพเจตเจพเจ‚ เจฆเฉ€ เจชเฉ‡เจธเจผเจ•เจธเจผ เจ•เจฐเจฆเจพ เจนเฉˆ เจฎเฉเจซเจผเจค $300.

เจ‡เฉฑเจ• เจ•เจฒเฉฑเจธเจŸเจฐ เจฌเจฃเจพเจ‰เจฃ เจ…เจคเฉ‡ เจ•เฉฐเจธเฉ‹เจฒ เจ‰เจชเจฏเฉ‹เจ—เจคเจพ เจฆเฉเจ†เจฐเจพ เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจคเฉฑเจ• เจชเจนเฉเฉฐเจš เจจเฉ‚เฉฐ เจ•เฉŒเจ‚เจซเจฟเจ—เจฐ เจ•เจฐเจจ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจคเฉเจธเฉ€เจ‚ เจนเฉˆเจฒเจฎ เจชเฉˆเจ•เฉ‡เจœ เจฎเฉˆเจจเฉ‡เจœเจฐ เจฆเฉเจ†เจฐเจพ เจ‡เจธเจŸเฉ€เจ“ เจจเฉ‚เฉฐ เจธเจฅเจพเจชเจฟเจค เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค

เจนเฉˆเจฒเจฎ เจ‡เฉฐเจธเจŸเจพเจฒเฉ‡เจธเจผเจจ

เจนเฉˆเจฒเจฎ เจ•เจฒเจพเจ‡เฉฐเจŸ เจจเฉ‚เฉฐ เจ†เจชเจฃเฉ‡ เจ•เฉฐเจชเจฟเจŠเจŸเจฐ 'เจคเฉ‡ เจธเจฅเจพเจชเจฟเจค เจ•เจฐเฉ‹, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจตเจฟเฉฑเจš เจฆเฉฑเจธเจฟเจ† เจ—เจฟเจ† เจนเฉˆ เจ…เจงเจฟเจ•เจพเจฐเจค เจฆเจธเจคเจพเจตเฉ‡เจœเจผ. เจ…เจธเฉ€เจ‚ เจ‡เจธเจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ…เจ—เจฒเฉ‡ เจญเจพเจ— เจตเจฟเฉฑเจš Istio เจจเฉ‚เฉฐ เจธเจฅเจพเจชเจฟเจค เจ•เจฐเจจ เจฒเจˆ เจŸเฉˆเจ‚เจชเจฒเฉ‡เจŸ เจคเจฟเจ†เจฐ เจ•เจฐเจจ เจฒเจˆ เจ•เจฐเจพเจ‚เจ—เฉ‡เฅค

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 เจฆเฉ‡ เจฎเฉเฉฑเจ– เจญเจพเจ—เจพเจ‚ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจซเจพเจˆเจฒ เจตเจฟเฉฑเจš เจ†เจ‰เจŸเจชเฉเฉฑเจŸ เจ•เจฐเฉ‡เจ—เฉ€ istio.yaml. เจ…เจธเฉ€เจ‚ เจนเฉ‡เจ เจพเจ‚ เจฆเจฟเฉฑเจคเฉ‡ เจฎเจพเจชเจฆเฉฐเจกเจพเจ‚ เจจเฉ‚เฉฐ เจจเจฟเจธเจผเจšเจฟเจค เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ, เจ†เจชเจฃเฉ‡ เจ…เจจเฉเจ•เฉ‚เจฒ เจนเฉ‹เจฃ เจฒเจˆ เจฎเจฟเจ†เจฐเฉ€ เจŸเฉˆเจ‚เจชเจฒเฉ‡เจŸ เจจเฉ‚เฉฐ เจธเฉ‹เจงเจฟเจ† เจนเฉˆ:

  • global.mtls.enabled เจตเจฟเฉฑเจš เจธเจฅเจพเจชเจฟเจค false (เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ mTLS เจชเฉเจฐเจฎเจพเจฃเฉ€เจ•เจฐเจจ เจ…เจฏเฉ‹เจ— เจนเฉˆ - เจฒเจ—เจญเจ—เฅค)เจธเจพเจกเฉ€ เจกเฉ‡เจŸเจฟเฉฐเจ— เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจจเฉ‚เฉฐ เจธเจฐเจฒ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ;
  • tracing.enabled เจœเฉˆเจ—เจฐ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจฌเฉ‡เจจเจคเฉ€ เจŸเจฐเฉ‡เจธเจฟเฉฐเจ— เจธเจผเจพเจฎเจฒ เจนเฉˆ;
  • kiali.enabled เจธเฉ‡เจตเจพเจตเจพเจ‚ เจ…เจคเฉ‡ เจŸเฉเจฐเฉˆเจซเจฟเจ• เจฆเฉ€ เจ•เจฒเจชเจจเจพ เจ•เจฐเจจ เจฒเจˆ เจ•เจฟเจ†เจฒเฉ€ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจ•เจฒเฉฑเจธเจŸเจฐ เจตเจฟเฉฑเจš เจธเจฅเจพเจชเจฟเจค เจ•เจฐเจฆเจพ เจนเฉˆ;
  • grafana.enabled เจ‡เจ•เฉฑเจคเจฐ เจ•เฉ€เจคเฉ‡ เจฎเฉˆเจŸเฉเจฐเจฟเจ•เจธ เจฆเฉ€ เจ•เจฒเจชเจจเจพ เจ•เจฐเจจ เจฒเจˆ เจ—เฉเจฐเจพเจซเจพเจจเจพ เจจเฉ‚เฉฐ เจธเจฅเจพเจชเจฟเจค เจ•เจฐเจฆเจพ เจนเฉˆเฅค

เจ†เจ‰ เจ•เจฎเจพเจ‚เจก เจจเจพเจฒ เจคเจฟเจ†เจฐ เจธเจฐเฉ‹เจคเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเฉ€เจ:

$ kubectl apply -f istio.yaml

เจ•เจฒเฉฑเจธเจŸเจฐ 'เจคเฉ‡ Istio เจฆเฉ€ เจธเจฅเจพเจชเจจเจพ เจชเฉ‚เจฐเฉ€ เจนเฉ‹ เจ—เจˆ เจนเฉˆ! เจ‡เฉฐเจคเจœเจผเจพเจฐ เจ•เจฐเฉ‹ เจœเจฆเฉ‹เจ‚ เจคเฉฑเจ• เจธเจพเจฐเฉ€เจ†เจ‚ เจชเฉŒเจกเจธ เจจเฉ‡เจฎเจธเจชเฉ‡เจธ เจตเจฟเฉฑเจš เจจเจนเฉ€เจ‚ เจนเจจ istio-system เจ•เจฐเจจ เจฆเฉ‡ เจฏเฉ‹เจ— เจนเฉ‹ เจœเจพเจตเฉ‡เจ—เจพ Running เจœ Completedเจนเฉ‡เจ  เจฆเจฟเฉฑเจคเฉ€ เจ•เจฎเจพเจ‚เจก เจšเจฒเจพ เจ•เฉ‡:

$ kubectl get pods -n istio-system

เจนเฉเจฃ เจ…เจธเฉ€เจ‚ เจ…เจ—เจฒเฉ‡ เจญเจพเจ— เจตเจฟเฉฑเจš เจœเจพเจฐเฉ€ เจฐเฉฑเจ–เจฃ เจฒเจˆ เจคเจฟเจ†เจฐ เจนเจพเจ‚, เจœเจฟเฉฑเจฅเฉ‡ เจ…เจธเฉ€เจ‚ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจจเฉ‚เฉฐ เจšเจพเจฒเฉ‚ เจ…เจคเฉ‡ เจšเจพเจฒเฉ‚ เจ•เจฐเจพเจ‚เจ—เฉ‡เฅค

เจญเจพเจตเจจเจพ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจฆเจพ เจ†เจฐเจ•เฉ€เจŸเฉˆเจ•เจšเจฐ

เจ†เจ“ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจœเจผเจฟเจ•เจฐ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจญเจพเจตเจจเจพ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ เจฎเจพเจˆเจ•เฉเจฐเฉ‹เจธเจฐเจตเจฟเจธ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจฆเฉ€ เจ‰เจฆเจพเจนเจฐเจฃ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเฉ€เจ เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจฒเจˆ เจœเจพเจฃ-เจชเจ›เจพเจฃ เจฒเฉ‡เจ–. เจ…เจญเจฟเจ†เจธ เจตเจฟเฉฑเจš เจ‡เจธเจŸเฉ€เจ“ เจฆเฉ€เจ†เจ‚ เจธเจฎเจฐเฉฑเจฅเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจฆเจฟเจ–เจพเจ‰เจฃ เจฒเจˆ เจ‡เจน เจ•เจพเจซเจผเฉ€ เจ—เฉเฉฐเจเจฒเจฆเจพเจฐ เจนเฉˆ.

เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจตเจฟเฉฑเจš เจšเจพเจฐ เจฎเจพเจˆเจ•เฉเจฐเฉ‹ เจธเจฐเจตเจฟเจธเจฟเจœเจผ เจธเจผเจพเจฎเจฒ เจนเจจ:

  1. เจธเฉ‡เจตเจพ SA-เจซเจฐเฉฐเจŸเจเจ‚เจก, เจœเฉ‹ เจ•เจฟ เจ‡เฉฑเจ• Reactjs เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจฆเฉ‡ เจซเจฐเฉฐเจŸเจเจ‚เจก เจฆเฉ€ เจธเฉ‡เจตเจพ เจ•เจฐเจฆเจพ เจนเฉˆ;
  2. เจธเฉ‡เจตเจพ SA-WebApp, เจœเฉ‹ เจญเจพเจตเจจเจพ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ เจธเจตเจพเจฒเจพเจ‚ เจฆเฉ€ เจธเฉ‡เจตเจพ เจ•เจฐเจฆเจพ เจนเฉˆ;
  3. เจธเฉ‡เจตเจพ เจธเจพ-เจคเจฐเจ•, เจœเฉ‹ เจ†เจชเจฃเฉ‡ เจ†เจช เจจเฉ‚เฉฐ เจ•เจฐเจฆเจพ เจนเฉˆ เจญเจพเจตเจจเจพ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ;
  4. เจธเฉ‡เจตเจพ SA-เจซเฉ€เจกเจฌเฉˆเจ•, เจœเฉ‹ เจ•เจฟ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ เจฆเฉ€ เจธเจผเฉเฉฑเจงเจคเจพ เจฌเจพเจฐเฉ‡ เจ‰เจชเจญเฉ‹เจ—เจคเจพเจตเจพเจ‚ เจคเฉ‹เจ‚ เจซเฉ€เจกเจฌเฉˆเจ• เจชเฉเจฐเจพเจชเจค เจ•เจฐเจฆเจพ เจนเฉˆเฅค

เจ‡เจธเจŸเฉ€เจ“ เจฆเฉ‡ เจจเจพเจฒ เจฎเจพเจˆเจ•เฉเจฐเฉ‹ เจธเจฐเจตเจฟเจธเจฟเจœเจผ 'เจคเฉ‡ เจตเจพเจชเจธ เจœเจพเจ“เฅค เจญเจพเจ— 1

เจ‡เจธ เจกเจพเจ‡เจ—เฉเจฐเจพเจฎ เจตเจฟเฉฑเจš, เจธเฉ‡เจตเจพเจตเจพเจ‚ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, เจ…เจธเฉ€เจ‚ เจ‡เฉฐเจ—เฉเจฐเฉ‡เจธ เจ•เฉฐเจŸเจฐเฉ‹เจฒเจฐ เจตเฉ€ เจฆเฉ‡เจ–เจฆเฉ‡ เจนเจพเจ‚, เจœเฉ‹ เจ•เจฟ เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจตเจฟเฉฑเจš เจ†เจ‰เจฃ เจตเจพเจฒเฉ€เจ†เจ‚ เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจ‰เจšเจฟเจค เจธเฉ‡เจตเจพเจตเจพเจ‚ เจฒเจˆ เจฐเฉ‚เจŸ เจ•เจฐเจฆเจพ เจนเฉˆเฅค Istio เจ†เจชเจฃเฉ‡ เจ‡เจจเจ—เจฐเฉ‡เจธ เจ—เฉ‡เจŸเจตเฉ‡ เจฆเฉ‡ เจ…เฉฐเจฆเจฐ เจ‡เฉฑเจ• เจธเจฎเจพเจจ เจธเฉฐเจ•เจฒเจช เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเจพ เจนเฉˆ, เจœเจฟเจธ เจฆเฉ‡ เจนเฉ‹เจฐ เจตเฉ‡เจฐเจตเฉ‡ เจ†เจ‰เจฃเจ—เฉ‡เฅค

Istio เจคเฉ‹เจ‚ เจ‡เฉฑเจ• เจชเฉเจฐเฉŒเจ•เจธเฉ€ เจจเจพเจฒ เจ‡เฉฑเจ• เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจšเจฒเจพ เจฐเจฟเจนเจพ เจนเฉˆ

เจฒเฉ‡เจ– เจตเจฟเฉฑเจš เจฆเฉฑเจธเฉ‡ เจ—เจ เจนเฉ‹เจฐ เจ•เจพเจฐเจœเจพเจ‚ เจฒเจˆ, เจ†เจชเจฃเฉ€ เจฐเจฟเจชเฉ‹เจœเจผเจŸเจฐเฉ€ เจจเฉ‚เฉฐ เจ•เจฒเฉ‹เจจ เจ•เจฐเฉ‹ istio-เจฎเฉเจนเจพเจฐเจค. เจ‡เจธ เจตเจฟเฉฑเจš เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจ…เจคเฉ‡ เจ‡เจธเจŸเฉ€เจ“ เจฒเจˆ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจ…เจคเฉ‡ เจฎเฉˆเจจเฉ€เจซเฉˆเจธเจŸ เจธเจผเจพเจฎเจฒ เจนเจจเฅค

เจธเจพเจˆเจกเจ•เจพเจฐ เจธเจผเจพเจฎเจฒ เจ•เจฐเจจเจพ

เจธเฉฐเจฎเจฟเจฒเจจ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ เจ†เจชเจฃเฉ‡ เจ†เจช เจœ เจนเฉฑเจฅ เจจเจพเจฒ. เจธเจพเจˆเจกเจ•เจพเจฐ เจ•เฉฐเจŸเฉ‡เจจเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจ†เจŸเฉ‹เจฎเฉˆเจŸเจฟเจ•เจฒเฉ€ เจชเจพเจ‰เจฃ เจฒเจˆ, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจจเฉ‡เจฎเจธเจชเฉ‡เจธ 'เจคเฉ‡ เจ‡เฉฑเจ• เจฒเฉ‡เจฌเจฒ เจธเฉˆเฉฑเจŸ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉ‹เจตเฉ‡เจ—เฉ€ 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
เจชเฉŒเจกเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ‡เฉฑเจ• เจตเจฟเฉฑเจš เจฆเฉ‚เจค เจชเฉเจฐเฉŒเจ•เจธเฉ€

เจนเฉเจฃ เจœเจฆเฉ‹เจ‚ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจšเจพเจฒเฉ‚ เจ…เจคเฉ‡ เจšเฉฑเจฒ เจฐเจนเฉ€ เจนเฉˆ, เจธเจพเจจเฉ‚เฉฐ เจ†เจ‰เจฃ เจตเจพเจฒเฉ‡ เจŸเฉเจฐเฉˆเจซเจฟเจ• เจจเฉ‚เฉฐ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจตเจฟเฉฑเจš เจ†เจ‰เจฃ เจฆเฉ€ เจ†เจ—เจฟเจ† เจฆเฉ‡เจฃ เจฆเฉ€ เจœเจผเจฐเฉ‚เจฐเจค เจนเฉ‹เจเจ—เฉ€เฅค

เจชเฉเจฐเจตเฉ‡เจธเจผ เจ—เฉ‡เจŸเจตเฉ‡

เจ‡เจธ เจจเฉ‚เฉฐ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจ เจฒเจˆ เจธเจญ เจคเฉ‹เจ‚ เจตเจงเฉ€เจ† เจ…เจญเจฟเจ†เจธ (เจ•เจฒเฉฑเจธเจŸเจฐ เจตเจฟเฉฑเจš เจ†เจตเจพเจœเจพเจˆ เจฆเฉ€ เจ†เจ—เจฟเจ† เจฆเจฟเจ“) เจฆเฉเจ†เจฐเจพ เจนเฉˆ เจชเฉเจฐเจตเฉ‡เจธเจผ เจ—เฉ‡เจŸเจตเฉ‡ Istio เจตเจฟเฉฑเจš, เจœเฉ‹ เจ•เจฟ เจ•เจฒเฉฑเจธเจŸเจฐ เจฆเฉ‡ "เจ•เจฟเจจเจพเจฐเฉ‡" 'เจคเฉ‡ เจธเจฅเจฟเจค เจนเฉˆ เจ…เจคเฉ‡ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ†เจ‰เจฃ เจตเจพเจฒเฉ‡ เจŸเฉเจฐเฉˆเจซเจฟเจ• เจฒเจˆ เจฐเฉ‚เจŸเจฟเฉฐเจ—, เจฒเฉ‹เจก เจธเฉฐเจคเฉเจฒเจจ, เจธเฉเจฐเฉฑเจ–เจฟเจ† เจ…เจคเฉ‡ เจจเจฟเจ—เจฐเจพเจจเฉ€ เจตเจฐเจ—เฉ€เจ†เจ‚ Istio เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจธเจฎเจฐเฉฑเจฅ เจ•เจฐเจจ เจฆเฉ€ เจ†เจ—เจฟเจ† เจฆเจฟเฉฐเจฆเจพ เจนเฉˆเฅค

Ingress Gateway เจ•เฉฐเจชเฉ‹เจจเฉˆเจ‚เจŸ เจ…เจคเฉ‡ เจธเฉ‡เจตเจพ เจœเฉ‹ เจ‡เจธเจจเฉ‚เฉฐ เจฌเจพเจนเจฐเฉ€ เจคเฉŒเจฐ 'เจคเฉ‡ เจ…เฉฑเจ—เฉ‡ เจญเฉ‡เจœเจฆเฉ€ เจนเฉˆ, เจ•เจฒเฉฑเจธเจŸเจฐ เจตเจฟเฉฑเจš Istio เจ‡เฉฐเจธเจŸเจพเจฒเฉ‡เจธเจผเจจ เจฆเฉŒเจฐเจพเจจ เจธเจฅเจพเจชเจฟเจค เจ•เฉ€เจคเฉ€ เจ—เจˆ เจธเฉ€เฅค เจธเฉ‡เจตเจพ เจฆเจพ เจฌเจพเจนเจฐเฉ€ IP เจชเจคเจพ เจชเจคเจพ เจ•เจฐเจจ เจฒเจˆ, เจšเจฒเจพเจ“:

$ kubectl get svc -n istio-system -l istio=ingressgateway
NAME                   TYPE           CLUSTER-IP     EXTERNAL-IP
istio-ingressgateway   LoadBalancer   10.0.132.127   13.93.30.120

เจ…เจธเฉ€เจ‚ เจ‡เจธ IP เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจคเฉฑเจ• เจชเจนเฉเฉฐเจš เจ•เจฐเจจเจพ เจœเจพเจฐเฉ€ เจฐเฉฑเจ–เจพเจ‚เจ—เฉ‡ (เจฎเฉˆเจ‚ เจ‡เจธเจจเฉ‚เฉฐ EXTERNAL-IP เจฆเฉ‡ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจธเฉฐเจฆเจฐเจญ เจ•เจฐเจพเจ‚เจ—เจพ), เจ‡เจธเจฒเจˆ เจธเจนเฉ‚เจฒเจค เจฒเจˆ เจ…เจธเฉ€เจ‚ เจ‡เฉฑเจ• เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจตเจฟเฉฑเจš เจฎเฉเฉฑเจฒ เจฒเจฟเจ–เจพเจ‚เจ—เฉ‡:

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

เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ เจนเฉเจฃเฉ‡ เจ‡เฉฑเจ• เจฌเฉเจฐเจพเจŠเจœเจผเจฐ เจฐเจพเจนเฉ€เจ‚ เจ‡เจธ IP เจคเฉฑเจ• เจชเจนเฉเฉฐเจš เจ•เจฐเจจ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐเจฆเฉ‡ เจนเฉ‹, เจคเจพเจ‚ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจธเฉ‡เจตเจพ เจ…เจฃเจ‰เจชเจฒเจฌเจง เจ—เจฒเจคเฉ€ เจฎเจฟเจฒเฉ‡เจ—เฉ€, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจฎเฉ‚เจฒ เจฐเฉ‚เจช เจตเจฟเฉฑเจš Istio เจธเจพเจฐเฉ‡ เจ†เจ‰เจฃ เจตเจพเจฒเฉ‡ เจŸเฉเจฐเฉˆเจซเจฟเจ• เจจเฉ‚เฉฐ เจฐเฉ‹เจ•เจฆเจพ เจนเฉˆ, เจ—เฉ‡เจŸเจตเฉ‡ เจจเฉ‚เฉฐ เจ…เจœเฉ‡ เจคเฉฑเจ• เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ.

เจ—เฉ‡เจŸเจตเฉ‡ เจธเจฐเฉ‹เจค

เจ—เฉ‡เจŸเจตเฉ‡ เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• 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. เจ‡เจธ เจšเฉ‹เจฃเจ•เจพเจฐ เจฆเฉ‡ เจจเจพเจฒ เจ…เจธเฉ€เจ‚ เจ‡เจน เจจเจฟเจฐเจงเจพเจฐเจฟเจค เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเจพเจ‚ เจ•เจฟ เจ•เจฟเจธ เจ‡เจจเจ—เฉเจฐเฉ‡เจธ เจ—เฉ‡เจŸเจตเฉ‡ 'เจคเฉ‡ เจธเฉฐเจฐเจšเจจเจพ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจเฉ€ เจนเฉˆเฅค เจธเจพเจกเฉ‡ เจ•เฉ‡เจธ เจตเจฟเฉฑเจš, เจ‡เจน เจ‡เฉฐเจ—เฉเจฐเฉ‡เจธ เจ—เฉ‡เจŸเจตเฉ‡ เจ•เฉฐเจŸเจฐเฉ‹เจฒเจฐ เจนเฉˆ, เจœเฉ‹ เจ‡เจธเจŸเฉ€เจ“ เจตเจฟเฉฑเจš เจฎเฉ‚เจฒ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจธเจฅเจพเจชเจฟเจค เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€เฅค

เจธเฉฐเจฐเจšเจจเจพ เจนเฉ‡เจ  เจฆเจฟเฉฑเจคเฉ€ เจ•เจฎเจพเจ‚เจก เจจเฉ‚เฉฐ เจ•เจพเจฒ เจ•เจฐเจ•เฉ‡ เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ:

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

เจ—เฉ‡เจŸเจตเฉ‡ เจนเฉเจฃ เจชเฉ‹เจฐเจŸ 80 เจคเฉฑเจ• เจชเจนเฉเฉฐเจš เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ, เจชเจฐ เจ‡เจธ เจฌเจพเจฐเฉ‡ เจ•เฉ‹เจˆ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจจเจนเฉ€เจ‚ เจนเฉˆ เจ•เจฟ เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจ•เจฟเฉฑเจฅเฉ‡ เจฐเฉ‚เจŸ เจ•เจฐเจจเจพ เจนเฉˆเฅค เจ‡เจธ เจฆเฉ‡ เจฒเจˆ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจฒเฉ‹เฉœ เจนเฉ‹เจตเฉ‡เจ—เฉ€ เจตเจฐเจšเฉเจ…เจฒ เจธเฉ‡เจตเจพเจตเจพเจ‚.

เจตเจฐเจšเฉเจ…เจฒ เจธเฉ‡เจตเจพ เจธเจฐเฉ‹เจค

เจตเจฐเจšเฉเจ…เจฒ เจธเจฐเจตเจฟเจธ เจ‡เจจเจ—เจฐเฉ‡เจธ เจ—เฉ‡เจŸเจตเฉ‡ เจจเฉ‚เฉฐ เจฆเฉฑเจธเจฆเฉ€ เจนเฉˆ เจ•เจฟ เจ•เจฒเฉฑเจธเจŸเจฐ เจฆเฉ‡ เจ…เฉฐเจฆเจฐ เจฎเจจเจœเจผเฉ‚เจฐ เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจ•เจฟเจตเฉ‡เจ‚ เจฐเฉ‚เจŸ เจ•เจฐเจจเจพ เจนเฉˆเฅค

http-เจ—เฉ‡เจŸเจตเฉ‡ เจฐเจพเจนเฉ€เจ‚ เจ†เจ‰เจฃ เจตเจพเจฒเฉ€ เจธเจพเจกเฉ€ เจ…เจฐเจœเจผเฉ€ เจฒเจˆ เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ sa-เจซเจฐเฉฐเจŸเจเจ‚เจก, sa-เจตเฉˆเจฌ-เจเจช เจ…เจคเฉ‡ sa-เจซเฉ€เจกเจฌเฉˆเจ• เจธเฉ‡เจตเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจญเฉ‡เจœเฉ€เจ†เจ‚ เจœเจพเจฃเฉ€เจ†เจ‚ เจšเจพเจนเฉ€เจฆเฉ€เจ†เจ‚ เจนเจจ:

เจ‡เจธเจŸเฉ€เจ“ เจฆเฉ‡ เจจเจพเจฒ เจฎเจพเจˆเจ•เฉเจฐเฉ‹ เจธเจฐเจตเจฟเจธเจฟเจœเจผ 'เจคเฉ‡ เจตเจพเจชเจธ เจœเจพเจ“เฅค เจญเจพเจ— 1
เจฐเฉ‚เจŸ เจœเจฟเจจเฉเจนเจพเจ‚ เจจเฉ‚เฉฐ VirtualServices เจจเจพเจฒ เจ•เฉŒเจ‚เจซเจฟเจ—เจฐ เจ•เฉ€เจคเฉ‡ เจœเจพเจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ

เจ†เจ‰ เจ‰เจนเจจเจพเจ‚ เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจตเฉ‡เจ–เฉ€เจ เจœเฉ‹ 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
เจฌเฉ‡เจจเจคเฉ€ เจฐเฉ‚เจŸเจฟเฉฐเจ— เจฒเจˆ Istio-IngressGateway เจธเฉฐเจฐเจšเจจเจพ

เจญเจพเจตเจจเจพ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจนเฉเจฃ เจ‡เจธ 'เจคเฉ‡ เจ‰เจชเจฒเจฌเจง เจนเฉˆ http://{EXTERNAL-IP}/. เจšเจฟเฉฐเจคเจพ เจจเจพ เจ•เจฐเฉ‹ เจœเฉ‡เจ•เจฐ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจธเจฅเจฟเจคเฉ€ เจจเจนเฉ€เจ‚ เจฎเจฟเจฒเฉ€: เจ•เจˆ เจตเจพเจฐ เจธเฉฐเจฐเจšเจจเจพ เจจเฉ‚เฉฐ เจชเฉเจฐเจญเจพเจตเฉ€ เจนเฉ‹เจฃ เจ…เจคเฉ‡ เจฆเฉ‚เจค เจ•เฉˆเจธเจผเจพเจ‚ เจจเฉ‚เฉฐ เจ…เฉฑเจชเจกเฉ‡เจŸ เจ•เจฐเจจ เจตเจฟเฉฑเจš เจฅเฉ‹เฉœเจพ เจธเจฎเจพเจ‚ เจฒเฉฑเจ—เจฆเจพ เจนเฉˆ.

เจ…เฉฑเจ—เฉ‡ เจตเจงเจฃ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚, เจŸเฉเจฐเฉˆเจซเจฟเจ• เจชเฉˆเจฆเจพ เจ•เจฐเจจ เจฒเจˆ เจเจช เจจเจพเจฒ เจฅเฉ‹เฉœเจพ เจ–เฉ‡เจกเฉ‹เฅค (เจ‡เจธเจฆเฉ€ เจฎเฉŒเจœเฉ‚เจฆเจ—เฉ€ เจ…เจ—เจฒเฉ€ เจ•เจพเจฐเจตเจพเจˆเจ†เจ‚ เจตเจฟเฉฑเจš เจธเจชเจธเจผเจŸเจคเจพ เจฒเจˆ เจœเจผเจฐเฉ‚เจฐเฉ€ เจนเฉˆ - เจฒเจ—เจญเจ— เจ…เจจเฉเจตเจพเจฆเฅค).

เจ•เจฟเจ†เจฒเฉ€: เจจเจฟเจฐเฉ€เจ–เจฃเจฏเฉ‹เจ—เจคเจพ

Kiali เจชเฉเจฐเจฌเฉฐเจงเจ•เฉ€ เจ‡เฉฐเจŸเจฐเจซเฉ‡เจธ เจจเฉ‚เฉฐ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจ เจฒเจˆ, เจนเฉ‡เจ  เจฆเจฟเฉฑเจคเฉ€ เจ•เจฎเจพเจ‚เจก เจšเจฒเจพเจ“:


... เจ…เจคเฉ‡ เจ–เฉ‹เจฒเฉเจนเฉ‹ http://localhost:20001/, เจชเฉเจฐเจฌเฉฐเจงเจ•/เจชเฉเจฐเจฌเฉฐเจงเจ• เจตเจœเฉ‹เจ‚ เจฒเฉŒเจ—เจ‡เจจ เจ•เจฐเจจเจพเฅค เจ‡เฉฑเจฅเฉ‡ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจฌเจนเฉเจค เจธเจพเจฐเฉ€เจ†เจ‚ เจ‰เจชเจฏเฉ‹เจ—เฉ€ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจฎเจฟเจฒเจฃเจ—เฉ€เจ†เจ‚, เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, Istio เจญเจพเจ—เจพเจ‚ เจฆเฉ€ เจธเฉฐเจฐเจšเจจเจพ เจฆเฉ€ เจœเจพเจ‚เจš เจ•เจฐเจจ เจฒเจˆ, เจจเฉˆเฉฑเจŸเจตเจฐเจ• เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจ‡เฉฐเจŸเจฐเจธเฉˆเจชเจŸ เจ•เจฐเจจ เจคเฉ‹เจ‚ เจ‡เจ•เฉฑเจคเจฐ เจ•เฉ€เจคเฉ€ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจธเฉ‡เจตเจพเจตเจพเจ‚ เจฆเฉ€ เจ•เจฒเจชเจจเจพ เจ•เจฐเจจเจพ, "เจ•เฉŒเจฃ เจ•เจฟเจธ เจจเจพเจฒ เจธเฉฐเจชเจฐเจ• เจ•เจฐ เจฐเจฟเจนเจพ เจนเฉˆ?", "เจธเฉ‡เจตเจพ เจฆเจพ เจ•เจฟเจนเฉœเจพ เจธเฉฐเจธเจ•เจฐเจฃ เจ…เจจเฉเจญเจต เจ•เจฐ เจฐเจฟเจนเจพ เจนเฉˆ" เจฆเฉ‡ เจธเจตเจพเจฒเจพเจ‚ เจฆเฉ‡ เจœเจตเจพเจฌ เจชเฉเจฐเจพเจชเจค เจ•เจฐเฉ‹เฅค เจ…เจธเจซเจฒเจคเจพเจตเจพเจ‚?" เจ‡เจคเจ†เจฆเจฟ. เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡, เจ—เฉเจฐเจพเจซเจพเจจเจพ เจฆเฉ‡ เจจเจพเจฒ เจฎเฉˆเจŸเฉเจฐเจฟเจ•เจธ เจฆเฉ€ เจ•เจฒเจชเจจเจพ เจ•เจฐเจจ เจฒเจˆ เจ…เฉฑเจ—เฉ‡ เจตเจงเจฃ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจ•เจฟเจ†เจฒเฉ€ เจฆเฉ€เจ†เจ‚ เจธเจฎเจฐเฉฑเจฅเจพเจตเจพเจ‚ เจฆเฉ€ เจชเฉœเจšเฉ‹เจฒ เจ•เจฐเฉ‹เฅค

เจ‡เจธเจŸเฉ€เจ“ เจฆเฉ‡ เจจเจพเจฒ เจฎเจพเจˆเจ•เฉเจฐเฉ‹ เจธเจฐเจตเจฟเจธเจฟเจœเจผ 'เจคเฉ‡ เจตเจพเจชเจธ เจœเจพเจ“เฅค เจญเจพเจ— 1

เจ—เฉเจฐเจพเจซเจพเจจเจพ: เจฎเฉˆเจŸเฉเจฐเจฟเจ•เจธ เจตเจฟเจœเจผเฉ‚เจ…เจฒเจพเจˆเจœเจผเฉ‡เจธเจผเจจ

เจ‡เจธเจŸเฉ€เจ“ เจตเจฟเฉฑเจš เจ‡เจ•เฉฑเจคเจฐ เจ•เฉ€เจคเฉ‡ เจฎเฉˆเจŸเฉเจฐเจฟเจ•เจธ เจชเฉเจฐเฉ‹เจฎเฉ€เจฅเฉ€เจ…เจธ เจตเจฟเฉฑเจš เจœเจพเจ‚เจฆเฉ‡ เจนเจจ เจ…เจคเฉ‡ เจ—เฉเจฐเจพเจซเจพเจจเจพ เจจเจพเจฒ เจ•เจฒเจชเจจเจพ เจ•เฉ€เจคเฉ‡ เจœเจพเจ‚เจฆเฉ‡ เจนเจจเฅค Grafana เจชเฉเจฐเจฌเฉฐเจงเจ•เฉ€ เจ‡เฉฐเจŸเจฐเจซเฉ‡เจธ 'เจคเฉ‡ เจœเจพเจฃ เจฒเจˆ, เจนเฉ‡เจ เจพเจ‚ เจฆเจฟเฉฑเจคเฉ€ เจ•เจฎเจพเจ‚เจก เจšเจฒเจพเจ“ เจ…เจคเฉ‡ เจซเจฟเจฐ เจ–เฉ‹เจฒเฉเจนเฉ‹ http://localhost:3000/:


เจฎเฉ€เจจเฉ‚ 'เจคเฉ‡ เจ•เจฒเจฟเฉฑเจ• เจ•เจฐเจจเจพ เจฎเฉเฉฑเจ– เจธเจฟเจ–เจฐ เจ–เฉฑเจฌเฉ‡ เจ…เจคเฉ‡ เจšเฉ‹เจฃ Istio เจธเฉ‡เจตเจพ เจกเฉˆเจธเจผเจฌเฉ‹เจฐเจก เจ‰เฉฑเจชเจฐเจฒเฉ‡ เจ–เฉฑเจฌเฉ‡ เจ•เฉ‹เจจเฉ‡ เจตเจฟเฉฑเจš, เจธเฉ‡เจตเจพ เจจเจพเจฒ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเฉ‹ sa-เจตเฉˆเฉฑเจฌ-เจเจชเจ‡เจ•เฉฑเจคเจฐ เจ•เฉ€เจคเฉ‡ เจฎเฉˆเจŸเฉเจฐเจฟเจ•เจธ เจจเฉ‚เฉฐ เจตเฉ‡เจ–เจฃ เจฒเจˆ:

เจ‡เจธเจŸเฉ€เจ“ เจฆเฉ‡ เจจเจพเจฒ เจฎเจพเจˆเจ•เฉเจฐเฉ‹ เจธเจฐเจตเจฟเจธเจฟเจœเจผ 'เจคเฉ‡ เจตเจพเจชเจธ เจœเจพเจ“เฅค เจญเจพเจ— 1

เจ‡เฉฑเจฅเฉ‡ เจœเฉ‹ เจธเจพเจกเจพ เจ‡เฉฐเจคเจœเจผเจพเจฐ เจ•เจฐ เจฐเจฟเจนเจพ เจนเฉˆ เจ‰เจน เจ‡เฉฑเจ• เจ–เจพเจฒเฉ€ เจ…เจคเฉ‡ เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจฌเฉ‹เจฐเจฟเฉฐเจ— เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจนเฉˆ - เจชเฉเจฐเจฌเฉฐเจงเจจ เจ‡เจธ เจจเฉ‚เฉฐ เจ•เจฆเฉ‡ เจตเฉ€ เจฎเจจเจœเจผเฉ‚เจฐ เจจเจนเฉ€เจ‚ เจ•เจฐเฉ‡เจ—เจพเฅค เจ†เจ“ เจนเฉ‡เจ  เจฆเจฟเฉฑเจคเฉ€ เจ•เจฎเจพเจ‚เจก เจจเจพเจฒ เจ‡เฉฑเจ• เจ›เฉ‹เจŸเจพ เจฒเฉ‹เจก เจฌเจฃเจพเจˆเจ:


เจนเฉเจฃ เจธเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจฌเจนเฉเจค เจตเจงเฉ€เจ† เจ—เฉเจฐเจพเจซ เจนเจจ, เจ…เจคเฉ‡ เจ‰เจนเจจเจพเจ‚ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, เจจเจฟเจ—เจฐเจพเจจเฉ€ เจฒเจˆ เจธเจผเจพเจจเจฆเจพเจฐ เจชเฉเจฐเฉ‹เจฎเฉ€เจฅเฉ€เจ…เจธ เจŸเฉ‚เจฒ เจ…เจคเฉ‡ เจฎเฉˆเจŸเฉเจฐเจฟเจ•เจธ เจฆเฉ€ เจ•เจฒเจชเจจเจพ เจ•เจฐเจจ เจฒเจˆ เจ—เฉเจฐเจพเจซเจพเจจเจพ เจœเฉ‹ เจธเจพเจจเฉ‚เฉฐ เจธเจฎเฉ‡เจ‚ เจฆเฉ‡ เจจเจพเจฒ เจธเฉ‡เจตเจพเจตเจพเจ‚ เจตเจฟเฉฑเจš เจ•เจพเจฐเจ—เฉเจœเจผเจพเจฐเฉ€, เจธเจฟเจนเจค, เจธเฉเจงเจพเจฐเจพเจ‚ / เจ—เจฟเจฐเจพเจตเจŸ เจฌเจพเจฐเฉ‡ เจธเจฟเฉฑเจ–เจฃ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเฉ‡เจตเฉ‡เจ—เจพเฅค

เจ…เฉฐเจค เจตเจฟเฉฑเจš, เจ†เจ“ เจธเฉ‡เจตเจพเจตเจพเจ‚ เจตเจฟเฉฑเจš เจŸเจฐเฉ‡เจธเจฟเฉฐเจ— เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจตเฉ‡เจ–เฉ€เจเฅค

เจœเฉˆเจ—เจฐ: เจŸเจฐเฉ‡เจธเจฟเฉฐเจ—

เจธเจพเจจเฉ‚เฉฐ เจŸเจฐเฉ‡เจธเจฟเฉฐเจ— เจฆเฉ€ เจฒเฉ‹เฉœ เจชเจตเฉ‡เจ—เฉ€ เจ•เจฟเจ‰เจ‚เจ•เจฟ เจธเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจœเจฟเฉฐเจจเฉ€เจ†เจ‚ เจœเจผเจฟเจ†เจฆเจพ เจธเฉ‡เจตเจพเจตเจพเจ‚ เจนเจจ, เจ…เจธเจซเจฒเจคเจพ เจฆเฉ‡ เจ•เจพเจฐเจจเจพเจ‚ เจจเฉ‚เฉฐ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจเจพ เจ“เจจเจพ เจนเฉ€ เจฎเฉเจธเจผเจ•เจฒ เจนเฉˆเฅค เจ†เจ“ เจนเฉ‡เจ เจพเจ‚ เจฆเจฟเฉฑเจคเฉ€ เจคเจธเจตเฉ€เจฐ เจคเฉ‹เจ‚ เจ‡เฉฑเจ• เจธเจงเจพเจฐเจจ เจ•เฉ‡เจธ เจจเฉ‚เฉฐ เจตเฉ‡เจ–เฉ€เจ:

เจ‡เจธเจŸเฉ€เจ“ เจฆเฉ‡ เจจเจพเจฒ เจฎเจพเจˆเจ•เฉเจฐเฉ‹ เจธเจฐเจตเจฟเจธเจฟเจœเจผ 'เจคเฉ‡ เจตเจพเจชเจธ เจœเจพเจ“เฅค เจญเจพเจ— 1
เจฌเฉ‡เจคเจฐเจคเฉ€เจฌ เจ…เจธเจซเจฒ เจฌเฉ‡เจจเจคเฉ€ เจฆเฉ€ เจ–เจพเจธ เจ‰เจฆเจพเจนเจฐเจจ

เจฌเฉ‡เจจเจคเฉ€ เจ†เจ‰เจ‚เจฆเฉ€ เจนเฉˆ, เจกเจฟเฉฑเจ—เจฆเฉ€ เจนเฉˆ - เจ•เฉ€ เจ•เจพเจฐเจจ เจนเฉˆ? เจชเจนเจฟเจฒเฉ€ เจธเฉ‡เจตเจพ? เจœเจพเจ‚ เจฆเฉ‚เจœเจพ? เจฆเฉ‹เจตเจพเจ‚ เจตเจฟเฉฑเจš เจ…เจชเจตเจพเจฆ เจนเจจ - เจ†เจ“ เจนเจฐเฉ‡เจ• เจฆเฉ‡ เจฒเฉŒเจ—เจธ เจจเฉ‚เฉฐ เจตเฉ‡เจ–เฉ€เจเฅค เจคเฉเจธเฉ€เจ‚ เจ•เจฟเฉฐเจจเฉ€ เจตเจพเจฐ เจ†เจชเจฃเฉ‡ เจ†เจช เจจเฉ‚เฉฐ เจ…เจœเจฟเจนเจพ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ เจซเฉœเจฟเจ† เจนเฉˆ? เจธเจพเจกเจพ เจ•เฉฐเจฎ เจกเจฟเจตเฉˆเจฒเจชเจฐเจพเจ‚ เจจเจพเจฒเฉ‹เจ‚ เจธเจพเจซเจŸเจตเฉ‡เจ…เจฐ เจœเจพเจธเฉ‚เจธเจพเจ‚ เจตเจฐเจ—เจพ เจนเฉˆ...

เจฎเจพเจˆเจ•เฉเจฐเฉ‹ เจธเจฐเจตเจฟเจธเจฟเจœเจผ เจตเจฟเฉฑเจš เจ‡เจน เจ‡เฉฑเจ• เจ†เจฎ เจธเจฎเฉฑเจธเจฟเจ† เจนเฉˆ เจ…เจคเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ เจตเฉฐเจกเฉ‡ เจŸเจฐเฉ‡เจธเจฟเฉฐเจ— เจธเจฟเจธเจŸเจฎเจพเจ‚ เจฆเฉเจ†เจฐเจพ เจนเฉฑเจฒ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจœเจฟเจธ เจตเจฟเฉฑเจš เจธเฉ‡เจตเจพเจตเจพเจ‚ เจ‡เฉฑเจ• เจฆเฉ‚เจœเฉ‡ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจตเจฟเจฒเฉฑเจ–เจฃ เจธเจฟเจฐเจฒเฉ‡เจ– เจชเจพเจธ เจ•เจฐเจฆเฉ€เจ†เจ‚ เจนเจจ, เจœเจฟเจธ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจ‡เจน เจœเจพเจฃเจ•เจพเจฐเฉ€ เจŸเจฐเฉ‡เจธเจฟเฉฐเจ— เจธเจฟเจธเจŸเจฎ เจจเฉ‚เฉฐ เจญเฉ‡เจœเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ, เจœเจฟเฉฑเจฅเฉ‡ เจ‡เจธเจฆเฉ€ เจคเฉเจฒเจจเจพ เจฌเฉ‡เจจเจคเฉ€ เจกเฉ‡เจŸเจพ เจจเจพเจฒ เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆเฅค เจ‡เฉฑเจฅเฉ‡ เจ‡เฉฑเจ• เจ‰เจฆเจพเจนเจฐเจฃ เจนเฉˆ:

เจ‡เจธเจŸเฉ€เจ“ เจฆเฉ‡ เจจเจพเจฒ เจฎเจพเจˆเจ•เฉเจฐเฉ‹ เจธเจฐเจตเจฟเจธเจฟเจœเจผ 'เจคเฉ‡ เจตเจพเจชเจธ เจœเจพเจ“เฅค เจญเจพเจ— 1
TraceId เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจฌเฉ‡เจจเจคเฉ€ เจฆเฉ€ เจชเจ›เจพเจฃ เจ•เจฐเจจ เจฒเจˆ เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ

Istio Jaeger Tracer เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเจพ เจนเฉˆ, เจœเฉ‹ เจตเจฟเจ•เจฐเฉ‡เจคเจพ-เจธเฉเจคเฉฐเจคเจฐ เจ“เจชเจจเจŸเจฐเฉ‡เจธเจฟเฉฐเจ— API เจซเจฐเฉ‡เจฎเจตเจฐเจ• เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจคเฉเจธเฉ€เจ‚ เจนเฉ‡เจ เจพเจ‚ เจฆเจฟเฉฑเจคเฉ€ เจ•เจฎเจพเจ‚เจก เจจเจพเจฒ เจœเฉˆเจ—เจฐ เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจ‡เฉฐเจŸเจฐเจซเฉ‡เจธ เจคเฉฑเจ• เจชเจนเฉเฉฐเจš เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹:


เจนเฉเจฃ เจœเจพเจ“ http://localhost:16686/ เจ…เจคเฉ‡ เจ‡เฉฑเจ• เจธเฉ‡เจตเจพ เจšเฉเจฃเฉ‹ sa-เจตเฉˆเฉฑเจฌ-เจเจช. เจœเฉ‡เจ•เจฐ เจธเฉ‡เจตเจพ เจกเฉเจฐเฉŒเจช-เจกเจพเจŠเจจ เจฎเฉ€เจจเฉ‚ เจตเจฟเฉฑเจš เจจเจนเฉ€เจ‚ เจฆเจฟเจ–เจพเจˆ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ, เจคเจพเจ‚ เจชเฉฐเจจเฉ‡ 'เจคเฉ‡ เจ—เจคเฉ€เจตเจฟเจงเฉ€ เจฆเจฟเจ–เจพเจ“/เจœเจจเจฐเฉ‡เจŸ เจ•เจฐเฉ‹ เจ…เจคเฉ‡ เจ‡เฉฐเจŸเจฐเจซเฉ‡เจธ เจจเฉ‚เฉฐ เจ…เฉฑเจชเจกเฉ‡เจŸ เจ•เจฐเฉ‹เฅค เจ‡เจธ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจฌเจŸเจจ 'เจคเฉ‡ เจ•เจฒเจฟเฉฑเจ• เจ•เจฐเฉ‹ เจŸเจฐเฉ‡เจธ เจฒเฉฑเจญเฉ‹, เจœเฉ‹ เจจเจตเฉ€เจจเจคเจฎ เจŸเจฐเฉ‡เจธ เจฆเจฟเจ–เจพเจเจ—เจพ - เจ•เฉ‹เจˆ เจตเฉ€ เจšเฉเจฃเฉ‹ - เจธเจพเจฐเฉ‡ เจŸเจฐเฉ‡เจธ 'เจคเฉ‡ เจตเจฟเจธเจคเฉเจฐเจฟเจค เจœเจพเจฃเจ•เจพเจฐเฉ€ เจฆเจฟเจ–เจพเจˆ เจฆเฉ‡เจตเฉ‡เจ—เฉ€:

เจ‡เจธเจŸเฉ€เจ“ เจฆเฉ‡ เจจเจพเจฒ เจฎเจพเจˆเจ•เฉเจฐเฉ‹ เจธเจฐเจตเจฟเจธเจฟเจœเจผ 'เจคเฉ‡ เจตเจพเจชเจธ เจœเจพเจ“เฅค เจญเจพเจ— 1

เจ‡เจน เจŸเจฐเฉ‡เจธ เจฆเจฟเจ–เจพเจ‰เจ‚เจฆเจพ เจนเฉˆ:

  1. เจฌเฉ‡เจจเจคเฉ€ เจ†เจ‰เจ‚เจฆเฉ€ เจนเฉˆ istio-ingressgateway (เจ‡เจน เจธเฉ‡เจตเจพ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ•เจฟเจธเฉ‡ เจ‡เฉฑเจ• เจจเจพเจฒ เจชเจนเจฟเจฒเฉ€ เจ—เฉฑเจฒเจฌเจพเจค เจนเฉˆ, เจ…เจคเฉ‡ เจฌเฉ‡เจจเจคเฉ€ เจฒเจˆ เจ‡เฉฑเจ• เจŸเจฐเฉ‡เจธ เจ†เจˆเจกเฉ€ เจคเจฟเจ†เจฐ เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ), เจœเจฟเจธ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจ—เฉ‡เจŸเจตเฉ‡ เจธเฉ‡เจตเจพ เจจเฉ‚เฉฐ เจฌเฉ‡เจจเจคเฉ€ เจญเฉ‡เจœเจฆเจพ เจนเฉˆ sa-เจตเฉˆเฉฑเจฌ-เจเจช.
  2. เจธเฉ‡เจตเจพ เจตเจฟเฉฑเจš sa-เจตเฉˆเฉฑเจฌ-เจเจช เจฌเฉ‡เจจเจคเฉ€ เจจเฉ‚เฉฐ เจฆเฉ‚เจค เจธเจพเจˆเจกเจ•เจพเจฐ เจฆเฉเจ†เจฐเจพ เจšเฉเฉฑเจ•เจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจ‡เฉฑเจ• "เจฌเฉฑเจšเจพ" เจธเจชเฉˆเจจ เจตเจฟเฉฑเจš เจฌเจฃเจพเจ‡เจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ (เจ‡เจธเฉ‡ เจฒเจˆ เจ…เจธเฉ€เจ‚ เจ‡เจธเจจเฉ‚เฉฐ เจŸเจฐเฉ‡เจธ เจตเจฟเฉฑเจš เจฆเฉ‡เจ–เจฆเฉ‡ เจนเจพเจ‚) เจ…เจคเฉ‡ เจ•เฉฐเจŸเฉ‡เจจเจฐ 'เจคเฉ‡ เจฐเฉ€เจกเจพเจ‡เจฐเฉˆเจ•เจŸ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ sa-เจตเฉˆเฉฑเจฌ-เจเจช. (span - เจœเฉˆเจ—เจฐ เจตเจฟเฉฑเจš เจ•เฉฐเจฎ เจฆเฉ€ เจ‡เฉฑเจ• เจฒเจพเจœเจผเฉ€เจ•เจฒ เจ‡เจ•เจพเจˆ, เจœเจฟเจธเจฆเจพ เจ‡เฉฑเจ• เจจเจพเจฎ, เจ“เจชเจฐเฉ‡เจธเจผเจจ เจฆเจพ เจ…เจฐเฉฐเจญ เจธเจฎเจพเจ‚ เจ…เจคเฉ‡ เจ‡เจธเจฆเฉ€ เจฎเจฟเจ†เจฆ เจนเฉˆเฅค เจธเจชเฉˆเจจ เจจเฉ‡เจธเจŸ เจ•เฉ€เจคเฉ‡ เจ…เจคเฉ‡ เจ†เจฐเจกเจฐ เจ•เฉ€เจคเฉ‡ เจœเจพ เจธเจ•เจฆเฉ‡ เจนเจจเฅค เจธเจชเฉˆเจจเจพเจ‚ เจฆเจพ เจ‡เฉฑเจ• เจจเจฟเจฐเจฆเฉ‡เจธเจผเจฟเจค เจเจธเฉ€เจธเจพเจˆเจ•เจฒ เจ—เฉเจฐเจพเจซ เจ‡เฉฑเจ• เจŸเจฐเฉ‡เจธ เจฌเจฃเจพเจ‰เจ‚เจฆเจพ เจนเฉˆเฅค - เจฒเจ—เจญเจ— เจ…เจจเฉเจตเจพเจฆเฅค)
  3. เจ‡เฉฑเจฅเฉ‡ เจตเจฟเจงเฉ€ เจฆเฉเจ†เจฐเจพ เจฌเฉ‡เจจเจคเฉ€ เจฆเฉ€ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ เจญเจพเจตเจจเจพ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ. เจ‡เจน เจŸเจฐเฉ‡เจธ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจฆเฉเจ†เจฐเจพ เจคเจฟเจ†เจฐ เจ•เฉ€เจคเฉ‡ เจ—เจ เจนเจจ, i.e. เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจ•เฉ‹เจก เจฌเจฆเจฒเจพเจ… เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆเฅค
  4. เจ‡เจธ เจชเจฒ เจคเฉ‹เจ‚, เจ‡เฉฑเจ• POST เจฌเฉ‡เจจเจคเฉ€ เจธเจผเฉเจฐเฉ‚ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจนเฉˆ เจธเจพ-เจคเจฐเจ•. เจŸเจฐเฉ‡เจธ เจ†เจˆเจกเฉ€ เจคเฉ‹เจ‚ เจ…เฉฑเจ—เฉ‡ เจญเฉ‡เจœเฉ€ เจœเจพเจฃเฉ€ เจšเจพเจนเฉ€เจฆเฉ€ เจนเฉˆ sa-เจตเฉˆเฉฑเจฌ-เจเจช.
  5. ...

เจŸเจฟเฉฑเจชเจฃเฉ€: เจ•เจฆเจฎ 4 เจตเจฟเฉฑเจš, เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจจเฉ‚เฉฐ Istio เจฆเฉเจ†เจฐเจพ เจคเจฟเจ†เจฐ เจ•เฉ€เจคเฉ‡ เจธเจฟเจฐเจฒเฉ‡เจ– เจฆเฉ‡เจ–เจฃเฉ‡ เจšเจพเจนเฉ€เจฆเฉ‡ เจนเจจ เจ…เจคเฉ‡ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจ…เจ—เจฒเฉ€เจ†เจ‚ เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ เจตเจฟเฉฑเจš เจชเจพเจธ เจ•เจฐเจจเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจนเฉ‡เจ เจพเจ‚ เจฆเจฟเฉฑเจคเฉ€ เจคเจธเจตเฉ€เจฐ เจตเจฟเฉฑเจš เจฆเจฟเจ–เจพเจ‡เจ† เจ—เจฟเจ† เจนเฉˆ:

เจ‡เจธเจŸเฉ€เจ“ เจฆเฉ‡ เจจเจพเจฒ เจฎเจพเจˆเจ•เฉเจฐเฉ‹ เจธเจฐเจตเจฟเจธเจฟเจœเจผ 'เจคเฉ‡ เจตเจพเจชเจธ เจœเจพเจ“เฅค เจญเจพเจ— 1
(เจ) เจธเจฟเจฐเจฒเฉ‡เจ–เจพเจ‚ เจจเฉ‚เฉฐ เจ…เฉฑเจ—เฉ‡ เจญเฉ‡เจœเจฃ เจฒเจˆ Istio เจœเจผเจฟเฉฐเจฎเฉ‡เจตเจพเจฐ เจนเฉˆ; (เจฌเฉ€) เจธเฉ‡เจตเจพเจตเจพเจ‚ เจธเจฟเจฐเจฒเฉ‡เจ–เจพเจ‚ เจฒเจˆ เจœเจผเจฟเฉฐเจฎเฉ‡เจตเจพเจฐ เจนเจจ

Istio เจœเจผเจฟเจ†เจฆเจพเจคเจฐ เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆ เจ•เจฟเจ‰เจ‚เจ•เจฟ... เจ†เจ‰เจฃ เจตเจพเจฒเฉ€เจ†เจ‚ เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ เจฒเจˆ เจธเจฟเจฐเจฒเฉ‡เจ– เจคเจฟเจ†เจฐ เจ•เจฐเจฆเจพ เจนเฉˆ, เจนเจฐเฉ‡เจ• เจธเจพเจˆเจกเจ•เฉ‡เจ…เจฐ เจตเจฟเฉฑเจš เจจเจตเฉ‡เจ‚ เจธเจชเฉˆเจจ เจฌเจฃเจพเจ‰เจ‚เจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจ…เฉฑเจ—เฉ‡ เจญเฉ‡เจœเจฆเจพ เจนเฉˆเฅค เจนเจพเจฒเจพเจ‚เจ•เจฟ, เจธเฉ‡เจตเจพเจตเจพเจ‚ เจฆเฉ‡ เจ…เฉฐเจฆเจฐ เจธเจฟเจฐเจฒเฉ‡เจ–เจพเจ‚ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เฉ€เจคเฉ‡ เจฌเจฟเจจเจพเจ‚, เจชเฉ‚เจฐเฉ€ เจฌเฉ‡เจจเจคเฉ€ เจŸเจฐเฉ‡เจธ เจฎเจพเจฐเจ— เจ–เจคเจฎ เจนเฉ‹ เจœเจพเจตเฉ‡เจ—เจพเฅค

เจนเฉ‡เจ เจพเจ‚ เจฆเจฟเฉฑเจคเฉ‡ เจธเจฟเจฐเจฒเฉ‡เจ–เจพเจ‚ เจจเฉ‚เฉฐ เจงเจฟเจ†เจจ เจตเจฟเฉฑเจš เจฐเฉฑเจ–เจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ:


เจ‡เจน เจ•เฉ‹เจˆ เจ”เจ–เจพ เจ•เฉฐเจฎ เจจเจนเฉ€เจ‚ เจนเฉˆ, เจชเจฐ เจ‡เจธ เจฆเฉ‡ เจ…เจฎเจฒ เจจเฉ‚เฉฐ เจธเจฐเจฒ เจฌเจฃเจพเจ‰เจฃเจพ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจนเฉˆ เจฌเจนเฉเจค เจธเจพเจฐเฉ€เจ†เจ‚ เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€เจ†เจ‚ - เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, sa-web-app เจธเฉ‡เจตเจพ เจตเจฟเฉฑเจš, RestTemplate เจ•เจฒเจพเจ‡เฉฐเจŸ เจ‡เจนเจจเจพเจ‚ เจธเจฟเจฐเจฒเฉ‡เจ–เจพเจ‚ เจจเฉ‚เฉฐ เจ…เฉฑเจ—เฉ‡ เจญเฉ‡เจœเจฆเจพ เจนเฉˆ เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ เจธเจฟเจฐเจซเจผ Jaeger เจ…เจคเฉ‡ OpenTracing เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจœเฉ‹เฉœเจฆเฉ‡ เจนเฉ‹ เจ‰เจธ เจฆเฉ‡ เจจเจธเจผเฉ‡.

เจจเฉ‹เจŸ เจ•เจฐเฉ‹ เจ•เจฟ เจญเจพเจตเจจเจพ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจซเจฒเจพเจธเจ•, เจธเจชเจฐเจฟเฉฐเจ—, เจ…เจคเฉ‡ ASP.NET เจ•เฉ‹เจฐ เจตเจฟเฉฑเจš เจฒเจพเจ—เฉ‚เจ•เจฐเจจเจพเจ‚ เจจเฉ‚เฉฐ เจฆเจฐเจธเจพเจ‰เจ‚เจฆเฉ€ เจนเฉˆเฅค

เจนเฉเจฃ เจœเจฆเฉ‹เจ‚ เจ‡เจน เจธเจชเฉฑเจธเจผเจŸ เจนเฉˆ เจ•เจฟ เจ…เจธเฉ€เจ‚ เจฌเจพเจ•เจธ เจคเฉ‹เจ‚ เจ•เฉ€ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚ (เจœเจพเจ‚ เจฒเจ—เจญเจ— เจฌเจพเจ•เจธ เจคเฉ‹เจ‚ เจฌเจพเจนเจฐ), เจ†เจ“ เจตเจงเฉ€เจ†-เจŸเจฟเจŠเจจเจก เจฐเฉ‚เจŸเจฟเฉฐเจ—, เจจเฉˆเจŸเจตเจฐเจ• เจŸเฉเจฐเฉˆเจซเจฟเจ• เจชเฉเจฐเจฌเฉฐเจงเจจ, เจธเฉเจฐเฉฑเจ–เจฟเจ†, เจ†เจฆเจฟ เจจเฉ‚เฉฐ เจตเฉ‡เจ–เฉ€เจ!

เจจเฉ‹เจŸ เจ•เจฐเฉ‹เฅค เจ…เจจเฉเจตเจพเจฆ: เจ‡เจธ เจฌเจพเจฐเฉ‡ เจฐเฉ€เจจเฉ‹เจฐ เจฎเจพเจฒเฉ‹เจ•เฉ‚ เจคเฉ‹เจ‚ เจ‡เจธเจŸเฉ€เจ“ 'เจคเฉ‡ เจธเจฎเฉฑเจ—เจฐเฉ€ เจฆเฉ‡ เจ…เจ—เจฒเฉ‡ เจนเจฟเฉฑเจธเฉ‡ เจตเจฟเฉฑเจš เจชเฉœเฉเจนเฉ‹, เจœเจฟเจธ เจฆเฉ‡ เจ…เจจเฉเจตเจพเจฆ เจจเฉ‡เฉœเจฒเฉ‡ เจญเจตเจฟเฉฑเจ– เจตเจฟเฉฑเจš เจธเจพเจกเฉ‡ เจฌเจฒเฉŒเจ— 'เจคเฉ‡ เจ†เจ‰เจฃเจ—เฉ‡เฅค เจ…เจชเจกเฉ‡เจŸ เจ•เจฐเฉ‹ (14 เจฎเจพเจฐเจš): เจฆเฉ‚เจœเจพ เจนเจฟเฉฑเจธเจพ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจชเฉเจฐเจ•เจพเจธเจผเจฟเจค เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ.

เจ…เจจเฉเจตเจพเจฆเจ• เจคเฉ‹เจ‚ เจชเฉ€.เจเจธ

เจธเจพเจกเฉ‡ เจฌเจฒเฉŒเจ— 'เจคเฉ‡ เจตเฉ€ เจชเฉœเฉเจนเฉ‹:

เจธเจฐเฉ‹เจค: www.habr.com