Istio เจฒเจˆ เจ…เจฐเจœเจผเฉ€ เจคเจฟเจ†เจฐ เจ•เจฐ เจฐเจฟเจนเจพ เจนเฉˆ

Istio เจฒเจˆ เจ…เจฐเจœเจผเฉ€ เจคเจฟเจ†เจฐ เจ•เจฐ เจฐเจฟเจนเจพ เจนเฉˆ

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

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

เจ•เฉฐเจฎ

เจ‡เจธ เจŸเจฟเจŠเจŸเฉ‹เจฐเจฟเจ…เจฒ เจตเจฟเฉฑเจš, เจคเฉเจธเฉ€เจ‚ เจนเฉ‡เจ เจพเจ‚ เจฆเจฟเฉฑเจคเฉ‡ เจ•เฉฐเจฎเจพเจ‚ เจจเฉ‚เฉฐ เจชเฉ‚เจฐเจพ เจ•เจฐเฉ‹เจ—เฉ‡:

  1. เจฎเจฒเจŸเฉ€เจชเจฒ เจธเฉ‡เจตเจพเจตเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ เจ‡เฉฑเจ• เจธเจงเจพเจฐเจจ เจนเฉˆเจฒเฉ‹ เจตเจฐเจฒเจก เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจธเจฟเฉฑเจ–เจฃเจพเฅค
  2. เจธเจฐเฉ‹เจค เจ•เฉ‹เจก เจคเฉ‹เจ‚ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจšเจฒเจพเจ“เฅค
  3. เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจจเฉ‚เฉฐ เจ•เฉฐเจŸเฉ‡เจจเจฐเจพเจ‚ เจตเจฟเฉฑเจš เจชเฉˆเจ• เจ•เจฐเจจเจพเฅค
  4. เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจ•เจฒเฉฑเจธเจŸเจฐ เจฌเจฃเจพเจ‰เจฃเจพเฅค
  5. เจ•เฉฐเจŸเฉ‡เจจเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจ•เจฒเฉฑเจธเจŸเจฐ เจตเจฟเฉฑเจš เจคเฉˆเจจเจพเจค เจ•เจฐเจจเจพเฅค

เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจจ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚

Kubernetes Engine API เจจเฉ‚เฉฐ เจธเจฎเจฐเฉฑเจฅ เจ•เจฐเจจ เจฒเจˆ เจจเจฟเจฐเจฆเฉ‡เจธเจผเจพเจ‚ เจฆเฉ€ เจชเจพเจฒเจฃเจพ เจ•เจฐเฉ‹:

  1. เจœเจพเจ“ เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจ‡เฉฐเจœเจฃ เจชเฉฐเจจเจพ Google เจ•เจฒเจพเจŠเจก เจชเจฒเฉ‡เจŸเจซเจพเจฐเจฎ เจ•เฉฐเจธเฉ‹เจฒ เจตเจฟเฉฑเจšเฅค
  2. เจ‡เฉฑเจ• เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจฌเจฃเจพเจ“ เจœเจพเจ‚ เจšเฉเจฃเฉ‹เฅค
  3. API เจ…เจคเฉ‡ เจธเฉฐเจฌเฉฐเจงเจฟเจค เจธเฉ‡เจตเจพเจตเจพเจ‚ เจฆเฉ‡ เจธเจฎเจฐเฉฑเจฅ เจนเฉ‹เจฃ เจคเฉฑเจ• เจ‰เจกเฉ€เจ• เจ•เจฐเฉ‹เฅค เจ‡เจธ เจตเจฟเฉฑเจš เจ•เฉเจ เจฎเจฟเฉฐเจŸ เจฒเฉฑเจ— เจธเจ•เจฆเฉ‡ เจนเจจเฅค
  4. เจฏเจ•เฉ€เจจเฉ€ เจฌเจฃเจพเจ“ เจ•เจฟ เจคเฉเจนเจพเจกเฉ‡ Google เจ•เจฒเจพเจŠเจก เจชเจฒเฉ‡เจŸเจซเจพเจฐเจฎ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจฒเจˆ เจฌเจฟเจฒเจฟเฉฐเจ— เจธเฉˆเฉฑเจŸเจ…เฉฑเจช เจ•เฉ€เจคเฉ€ เจ—เจˆ เจนเฉˆเฅค เจœเจพเจฃเฉ‹ เจ•เจฟ เจฌเจฟเจฒเจฟเฉฐเจ— เจจเฉ‚เฉฐ เจ•เจฟเจตเฉ‡เจ‚ เจธเจฎเจฐเฉฑเจฅ เจ•เจฐเจจเจพ เจนเฉˆ.

เจ‡เจธ เจŸเจฟเจŠเจŸเฉ‹เจฐเจฟเจ…เจฒ เจตเจฟเฉฑเจš, เจคเฉเจธเฉ€เจ‚ เจ•เจฒเจพเจ‰เจก เจธเจผเฉˆเฉฑเจฒ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹, เจœเฉ‹ เจตเจฐเจšเฉเจ…เจฒ เจฎเจธเจผเฉ€เจจ เจจเฉ‚เฉฐ เจคเจฟเจ†เจฐ เจ•เจฐเจฆเจพ เจนเฉˆ g1-Google เจ•เฉฐเจชเจฟเจŠเจŸ เจ‡เฉฐเจœเจฃ เจตเจฟเฉฑเจš เจ›เฉ‹เจŸเจพ เจกเฉ‡เจฌเฉ€เจ…เจจ-เจ…เจงเจพเจฐเจฟเจค Linux, เจœเจพเจ‚ เจ‡เฉฑเจ• Linux เจœเจพเจ‚ macOS เจ•เฉฐเจชเจฟเจŠเจŸเจฐ เจจเจพเจฒเฅค

เจตเจฟเจ•เจฒเจช A: เจ•เจฒเจพเจ‰เจก เจธเจผเฉˆเฉฑเจฒ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจเจพ

เจ•เจฒเจพเจ‰เจก เจธเจผเฉˆเฉฑเจฒ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจฆเฉ‡ เจซเจพเจ‡เจฆเฉ‡:

  • Python 2 เจ…เจคเฉ‡ Python 3 เจตเจฟเจ•เจพเจธ เจตเจพเจคเจพเจตเจฐเจฃ (เจธเจฎเฉ‡เจค virtualenv) เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจธเฉฐเจฐเจšเจฟเจค เจนเจจเฅค
  • เจ•เจฎเจพเจ‚เจก เจฒเจพเจˆเจจ เจŸเฉ‚เจฒ gcloud, เจกเฉŒเจ•เจฐ, Git ะธ kubectl, เจœเฉ‹ เจ…เจธเฉ€เจ‚ เจตเจฐเจคเจพเจ‚เจ—เฉ‡, เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจ‡เฉฐเจธเจŸเจพเจฒ เจนเจจเฅค
  • เจคเฉเจนเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจšเฉเจฃเจจ เจฒเจˆ เจ•เจˆ เจนเจจ เจชเจพเจ  เจธเฉฐเจชเจพเจฆเจ•:
    1. เจ•เฉ‹เจก เจธเฉฐเจชเจพเจฆเจ•, เจœเฉ‹ เจ•เจฟ เจ•เจฒเจพเจ‰เจก เจธเจผเฉˆเฉฑเจฒ เจตเจฟเฉฐเจกเฉ‹ เจฆเฉ‡ เจธเจฟเจ–เจฐ 'เจคเฉ‡ เจธเฉฐเจชเจพเจฆเจจ เจ†เจˆเจ•เจจ เจจเจพเจฒ เจ–เฉเฉฑเจฒเฉเจนเจฆเจพ เจนเฉˆเฅค
    2. Emacs, Vim เจœเจพเจ‚ Nano, เจœเฉ‹ เจ•เจฟ เจ•เจฒเจพเจ‰เจก เจธเจผเฉˆเฉฑเจฒ เจตเจฟเฉฑเจš เจ•เจฎเจพเจ‚เจก เจฒเจพเจˆเจจ เจคเฉ‹เจ‚ เจ–เฉเฉฑเจฒเฉเจนเจฆเฉ‡ เจนเจจเฅค

เจตเจฐเจคเจฃ เจฒเจˆ เจ•เจฒเจพเจ‰เจก เจธเจผเฉˆเจฒ:

  1. GCP เจ•เฉฐเจธเฉ‹เจฒ 'เจคเฉ‡ เจœเจพเจ“เฅค
  2. เจชเฉเจฐเฉˆเจธ เจ•เจฒเจพเจŠเจก เจธเจผเฉˆเฉฑเจฒ เจจเฉ‚เฉฐ เจธเจฐเจ—เจฐเจฎ เจ•เจฐเฉ‹ GCP เจ•เฉฐเจธเฉ‹เจฒ เจตเจฟเฉฐเจกเฉ‹ เจฆเฉ‡ เจธเจฟเจ–เจฐ 'เจคเฉ‡ (เจ•เจฒเจพเจŠเจก เจธเจผเฉˆเฉฑเจฒ เจจเฉ‚เฉฐ เจธเจฐเจ—เจฐเจฎ เจ•เจฐเฉ‹)เฅค

Istio เจฒเจˆ เจ…เจฐเจœเจผเฉ€ เจคเจฟเจ†เจฐ เจ•เจฐ เจฐเจฟเจนเจพ เจนเฉˆ

เจนเฉ‡เจ เจฒเฉ‡ เจนเจฟเฉฑเจธเฉ‡ เจตเจฟเฉฑเจš GCP เจ•เฉฐเจธเฉ‹เจฒ เจ•เจฎเจพเจ‚เจก เจฒเจพเจˆเจจ เจฆเฉ‡ เจจเจพเจฒ เจ‡เฉฑเจ• เจ•เจฒเจพเจ‰เจก เจธเจผเฉˆเฉฑเจฒ เจธเฉˆเจธเจผเจจ เจ‡เฉฑเจ• เจจเจตเฉ€เจ‚ เจตเจฟเฉฐเจกเฉ‹ เจตเจฟเฉฑเจš เจ–เฉเฉฑเจฒเฉเจนเฉ‡เจ—เจพเฅค

Istio เจฒเจˆ เจ…เจฐเจœเจผเฉ€ เจคเจฟเจ†เจฐ เจ•เจฐ เจฐเจฟเจนเจพ เจนเฉˆ

เจตเจฟเจ•เจฒเจช B: เจธเจฅเจพเจจเจ• เจคเฉŒเจฐ 'เจคเฉ‡ เจ•เจฎเจพเจ‚เจก เจฒเจพเจˆเจจ เจŸเฉ‚เจฒเจธ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจเจพ

เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ Linux เจœเจพเจ‚ macOS 'เจคเฉ‡ เจšเฉฑเจฒ เจฐเจนเฉ‡ เจ•เฉฐเจชเจฟเจŠเจŸเจฐ 'เจคเฉ‡ เจ•เฉฐเจฎ เจ•เจฐ เจฐเจนเฉ‡ เจนเฉ‹, เจคเจพเจ‚ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจนเฉ‡เจ เจพเจ‚ เจฆเจฟเฉฑเจคเฉ‡ เจ•เฉฐเจชเฉ‹เจจเฉˆเจ‚เจŸเจธ เจจเฉ‚เฉฐ เจ•เฉŒเจ‚เจซเจฟเจ—เจฐ เจ…เจคเฉ‡ เจ‡เฉฐเจธเจŸเจพเจฒ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉ‹เจตเฉ‡เจ—เฉ€:

  1. เจ…เจจเฉเจ•เฉ‚เจฒ เจฌเจฃเจพเจ‰ Python 3 เจ…เจคเฉ‡ Python 2 เจตเจฟเจ•เจพเจธ เจตเจพเจคเจพเจตเจฐเจฃ.

  2. เจ•เจฒเจพเจŠเจก SDK เจธเจฅเจพเจชเจค เจ•เจฐเฉ‹ เจ•เจฎเจพเจ‚เจก เจฒเจพเจˆเจจ เจŸเฉ‚เจฒ เจจเจพเจฒ gcloud.

  3. เจธเฉˆเฉฑเจŸ เจ•เจฐเฉ‹ kubectl - เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจจ เจฒเจˆ เจ•เจฎเจพเจ‚เจก เจฒเจพเจˆเจจ เจŸเฉ‚เจฒ เจ•เจฌเจฐเจจเฉ‡เจŸเจฟเจธ.

    gcloud components install kubectl

  4. เจธเฉˆเฉฑเจŸ เจ•เจฐเฉ‹ เจกเฉŒเจ•เจฐ เจ•เจฎเจฟเจŠเจจเจฟเจŸเฉ€ เจเจกเฉ€เจธเจผเจจ (CE). เจคเฉเจธเฉ€เจ‚ เจ•เจฎเจพเจ‚เจก เจฒเจพเจˆเจจ เจŸเฉ‚เจฒ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเฉ‹เจ—เฉ‡ เจกเฉŒเจ•เจฐเจจเจฎเฉ‚เจจเจพ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจฒเจˆ เจ•เฉฐเจŸเฉ‡เจจเจฐ เจšเจฟเฉฑเจคเจฐ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ.

  5. เจธเฉฐเจฆ เจจเฉ‚เฉฐ เจ‡เฉฐเจธเจŸเจพเจฒ เจ•เจฐเฉ‹ Git เจธเฉฐเจธเจ•เจฐเจฃ เจจเจฟเจฏเฉฐเจคเจฐเจฃGitHub เจคเฉ‹เจ‚ เจจเจฎเฉ‚เจจเจพ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจ เจฒเจˆ.

เจจเจฎเฉ‚เจจเจพ เจ•เฉ‹เจก เจกเจพเจŠเจจเจฒเฉ‹เจก เจ•เจฐเฉ‹

  1. เจธเจฐเฉ‹เจค เจ•เฉ‹เจก เจจเฉ‚เฉฐ เจกเจพเจŠเจจเจฒเฉ‹เจก เจ•เจฐเฉ‹ เจนเฉˆเจฒเฉ‹เจธเจฐเจตเจฐ:

    git clone https://github.com/GoogleCloudPlatform/istio-samples

  2. เจ‰เจฆเจพเจนเจฐเจจ เจ•เฉ‹เจก เจกเจพเจ‡เจฐเฉˆเจ•เจŸเจฐเฉ€ 'เจคเฉ‡ เจœเจพเจ“:

    cd istio-samples/sample-apps/helloserver

เจ•เจˆ เจธเฉ‡เจตเจพเจตเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ เจ‡เฉฑเจ• เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจฆเฉ€ เจชเฉœเจšเฉ‹เจฒ เจ•เจฐเจจเจพ

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

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

Istio เจฒเจˆ เจ…เจฐเจœเจผเฉ€ เจคเจฟเจ†เจฐ เจ•เจฐ เจฐเจฟเจนเจพ เจนเฉˆ

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

เจจเจฎเฉ‚เจจเจพ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจฆเฉ€ เจชเฉœเจšเฉ‹เจฒ เจ•เจฐเจจ เจฒเจˆ, เจ‡เจธเจจเฉ‚เฉฐ เจ•เจฒเจพเจ‰เจก เจธเจผเฉˆเฉฑเจฒ เจตเจฟเฉฑเจš เจœเจพเจ‚ เจ†เจชเจฃเฉ‡ เจ•เฉฐเจชเจฟเจŠเจŸเจฐ 'เจคเฉ‡ เจšเจฒเจพเจ“เฅค
1) เจ•เฉˆเจŸเจพเจฒเจพเจ— เจตเจฟเฉฑเจš istio-samples/sample-apps/helloserver เจฐเจจ เจธเจฐเจตเจฐ:

python3 server/server.py

เจšเจฒเจพเจ‰เจฃ เจตเฉ‡เจฒเฉ‡ เจธเจฐเจตเจฐ เจนเฉ‡เจ  เจชเฉเจฐเจฆเจฐเจธเจผเจฟเจค เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ:

INFO:root:Starting server...

2) เจจเฉ‚เฉฐ เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ เจญเฉ‡เจœเจฃ เจฒเจˆ เจ‡เฉฑเจ• เจนเฉ‹เจฐ เจŸเจฐเจฎเฉ€เจจเจฒ เจตเจฟเฉฐเจกเฉ‹ เจ–เฉ‹เจฒเฉเจนเฉ‹ เจธเจฐเจตเจฐ. เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ เจ•เจฒเจพเจŠเจก เจธเจผเฉˆเฉฑเจฒ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐ เจฐเจนเฉ‡ เจนเฉ‹, เจคเจพเจ‚ เจ•เฉ‹เจˆ เจนเฉ‹เจฐ เจธเฉˆเจธเจผเจจ เจ–เฉ‹เจฒเฉเจนเจฃ เจฒเจˆ เจเจก เจ†เจˆเจ•เจจ 'เจคเฉ‡ เจ•เจฒเจฟเฉฑเจ• เจ•เจฐเฉ‹เฅค
3) เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจฌเฉ‡เจจเจคเฉ€ เจญเฉ‡เจœเฉ‹ เจธเจฐเจตเจฐ:

curl http://localhost:8080

เจธเจฐเจตเจฐ เจœเจตเจพเจฌ:

Hello World!

4) เจ‰เจธ เจกเจพเจ‡เจฐเฉˆเจ•เจŸเจฐเฉ€ เจคเฉ‹เจ‚ เจœเจฟเฉฑเจฅเฉ‡ เจคเฉเจธเฉ€เจ‚ เจจเจฎเฉ‚เจจเจพ เจ•เฉ‹เจก เจกเจพเจŠเจจเจฒเฉ‹เจก เจ•เฉ€เจคเจพ เจนเฉˆ, เจ‰เจธ เจกเจพเจ‡เจฐเฉˆเจ•เจŸเจฐเฉ€ 'เจคเฉ‡ เจœเจพเจ“ เจœเจฟเจธ เจตเจฟเฉฑเจš เจธเจผเจพเจฎเจฒ เจนเฉˆ เจฒเฉ‹เจกเจœเจจ:

cd YOUR_WORKING_DIRECTORY/istio-samples/sample-apps/helloserver/loadgen

5) เจนเฉ‡เจ เจพเจ‚ เจฆเจฟเฉฑเจคเฉ‡ เจตเจพเจคเจพเจตเจฐเจฃ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจฌเจฃเจพเจ“:

export SERVER_ADDR=http://localhost:8080
export REQUESTS_PER_SECOND=5

6) เจฒเจพเจ‚เจš เจ•เจฐเฉ‹ virtualenv:

virtualenv --python python3 env

7) เจตเจฐเจšเฉเจ…เจฒ เจตเจพเจคเจพเจตเจฐเจฃ เจจเฉ‚เฉฐ เจธเจฐเจ—เจฐเจฎ เจ•เจฐเฉ‹:

source env/bin/activate

8) เจฒเจˆ เจฒเฉ‹เฉœเจพเจ‚ เจธเฉˆเฉฑเจŸ เจ•เจฐเฉ‹ เจฒเฉ‹เจกเจœเจจ:

pip3 install -r requirements.txt

9) เจฒเจพเจ‚เจš เจ•เจฐเฉ‹ เจฒเฉ‹เจกเจœเจจ:

python3 loadgen.py

เจšเจฒเจพเจ‰เจฃ เจตเฉ‡เจฒเฉ‡ เจฒเฉ‹เจกเจœเจจ เจนเฉ‡เจ  เจฆเจฟเฉฑเจคเฉ‡ เจธเฉฐเจฆเฉ‡เจธเจผ เจตเจฐเจ—เจพ เจ•เฉเจ เจฆเจฟเจ–เจพเจ‰เจ‚เจฆเจพ เจนเฉˆ:

Starting loadgen: 2019-05-20 10:44:12.448415
5 request(s) complete to http://localhost:8080

เจ•เจฟเจธเฉ‡ เจนเฉ‹เจฐ เจŸเจฐเจฎเฉ€เจจเจฒ เจตเจฟเฉฐเจกเฉ‹ เจตเจฟเฉฑเจš เจธเจฐเจตเจฐ เจ•เฉฐเจธเฉ‹เจฒ เจฒเจˆ เจนเฉ‡เจ เจพเจ‚ เจฆเจฟเฉฑเจคเฉ‡ เจธเฉเจจเฉ‡เจนเจฟเจ†เจ‚ เจจเฉ‚เฉฐ เจ†เจ‰เจŸเจชเฉเฉฑเจŸ เจ•เจฐเจฆเจพ เจนเฉˆ:

127.0.0.1 - - [21/Jun/2019 14:22:01] "GET / HTTP/1.1" 200 -
INFO:root:GET request,
Path: /
Headers:
Host: localhost:8080
User-Agent: python-requests/2.22.0
Accept-Encoding: gzip, deflate
Accept: */*

เจ‡เฉฑเจ• เจจเฉˆเฉฑเจŸเจตเจฐเจ•เจฟเฉฐเจ— เจฆเฉเจฐเจฟเจธเจผเจŸเฉ€เจ•เฉ‹เจฃ เจคเฉ‹เจ‚, เจชเฉ‚เจฐเฉ€ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจ‡เฉฑเจ• เจธเจฟเฉฐเจ—เจฒ เจนเฉ‹เจธเจŸ (เจธเจฅเจพเจจเจ• เจ•เฉฐเจชเจฟเจŠเจŸเจฐ เจœเจพเจ‚ เจ•เจฒเจพเจ‰เจก เจธเจผเฉˆเฉฑเจฒ เจตเจฐเจšเฉเจ…เจฒ เจฎเจธเจผเฉ€เจจ) 'เจคเฉ‡ เจšเฉฑเจฒเจฆเฉ€ เจนเฉˆเฅค เจ‡เจธ เจฒเจˆ เจคเฉเจธเฉ€เจ‚ เจตเจฐเจค เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจฒเฉ‹เจ•เจฒเจนเฉ‹เจธเจŸเจจเฉ‚เฉฐ เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ เจญเฉ‡เจœเจฃ เจฒเจˆ เจธเจฐเจตเจฐ.
10) เจฐเฉ‹เจ•เจฃ เจฒเจˆ เจฒเฉ‹เจกเจœเจจ ะธ เจธเจฐเจตเจฐ, เจฆเจพเจ–เจฒ เจ•เจฐเฉ‹ Ctrl-c เจนเจฐ เจŸเจฐเจฎเฉ€เจจเจฒ เจตเจฟเฉฐเจกเฉ‹ เจตเจฟเฉฑเจš.
11) เจŸเจฐเจฎเฉ€เจจเจฒ เจตเจฟเฉฐเจกเฉ‹ เจตเจฟเฉฑเจš เจฒเฉ‹เจกเจœเจจ เจตเจฐเจšเฉเจ…เจฒ เจตเจพเจคเจพเจตเจฐเจฃ เจจเฉ‚เฉฐ เจ…เจฏเฉ‹เจ— เจ•เจฐเฉ‹:

deactivate

เจ•เฉฐเจŸเฉ‡เจจเจฐเจพเจ‚ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจชเฉˆเจ• เจ•เจฐเจจเจพ

GKE 'เจคเฉ‡ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจšเจฒเจพเจ‰เจฃ เจฒเจˆ, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจจเจฎเฉ‚เจจเจพ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ - เจจเฉ‚เฉฐ เจชเฉˆเจ•เฉ‡เจœ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ เจธเจฐเจตเจฐ ะธ เจฒเฉ‹เจกเจœเจจ - at เจกเฉฑเจฌเฉ‡. เจ‡เฉฑเจ• เจ•เฉฐเจŸเฉ‡เจจเจฐ เจ‡เฉฑเจ• เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจจเฉ‚เฉฐ เจ‡เจธเจฆเฉ‡ เจตเจพเจคเจพเจตเจฐเจฃ เจคเฉ‹เจ‚ เจ…เจฒเฉฑเจ— เจ•เจฐเจจ เจฒเจˆ เจชเฉˆเจ•เฉ‡เจœ เจ•เจฐเจจ เจฆเจพ เจ‡เฉฑเจ• เจคเจฐเฉ€เจ•เจพ เจนเฉˆเฅค

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

เจ‰เจฆเจพเจนเจฐเจฃ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจนเฉˆ เจกเฉŒเจ•เจฐเจซเจพเจˆเจฒ เจจเฉ‚เฉฐ เจธเจฐเจตเจฐ ะธ เจฒเฉ‹เจกเจœเจจ เจšเจฟเฉฑเจคเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจ‡เจ•เฉฑเจ เจพ เจ•เจฐเจจ เจฒเจˆ เจธเจพเจฐเฉ€เจ†เจ‚ เจœเจผเจฐเฉ‚เจฐเฉ€ เจ•เจฎเจพเจ‚เจกเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒเฅค เจนเฉ‡เจ เจพเจ‚ - เจกเฉŒเจ•เจฐเจซเจพเจˆเจฒ เจจเฉ‚เฉฐ เจธเจฐเจตเจฐ:

FROM python:3-slim as base
FROM base as builder
RUN apt-get -qq update 
    && apt-get install -y --no-install-recommends 
        g++ 
    && rm -rf /var/lib/apt/lists/*

# Enable unbuffered logging
FROM base as final
ENV PYTHONUNBUFFERED=1

RUN apt-get -qq update 
    && apt-get install -y --no-install-recommends 
        wget

WORKDIR /helloserver

# Grab packages from builder
COPY --from=builder /usr/local/lib/python3.7/ /usr/local/lib/python3.7/

# Add the application
COPY . .

EXPOSE 8080
ENTRYPOINT [ "python", "server.py" ]

  • เจฆเฉ€ เจŸเฉ€เจฎ เจชเจพเจˆเจฅเจจ เจคเฉ‹เจ‚: 3-เจฌเฉ‡เจธ เจฆเฉ‡ เจคเฉŒเจฐ 'เจคเฉ‡ เจชเจคเจฒเจพ เจกเฉŒเจ•เจฐ เจจเฉ‚เฉฐ เจจเจตเฉ€เจจเจคเจฎ เจตเจฐเจคเจฃ เจฒเจˆ เจ•เจนเจฟเฉฐเจฆเจพ เจนเฉˆ เจชเจพเจˆเจฅเจจ 3 เจšเจฟเฉฑเจคเจฐ เจ‡เฉฑเจ• เจ…เจงเจพเจฐ เจฆเฉ‡ เจคเฉŒเจฐ เจคเฉ‡.
  • เจฆเฉ€ เจŸเฉ€เจฎ เจ•เจพเจชเฉ€ เจ•เจฐเฉ‹เฅค . เจธเจฐเฉ‹เจค เจซเจพเจˆเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจฎเฉŒเจœเฉ‚เจฆเจพ เจตเจฐเจ•เจฟเฉฐเจ— เจกเจพเจ‡เจฐเฉˆเจ•เจŸเจฐเฉ€ เจตเจฟเฉฑเจš เจ•เจพเจชเฉ€ เจ•เจฐเจฆเจพ เจนเฉˆ (เจธเจฟเจฐเจซเจผ เจธเจพเจกเฉ‡ เจ•เฉ‡เจธ เจตเจฟเฉฑเจš server.py) เจ•เฉฐเจŸเฉ‡เจจเจฐ เจฆเฉ‡ เจซเจพเจˆเจฒ เจธเจฟเจธเจŸเจฎ เจฒเจˆเฅค
  • ENTRYPOINT เจ•เจฎเจพเจ‚เจก เจจเฉ‚เฉฐ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เจฐเจฆเจพ เจนเฉˆ เจœเฉ‹ เจ•เฉฐเจŸเฉ‡เจจเจฐ เจจเฉ‚เฉฐ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจจ เจฒเจˆ เจตเจฐเจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆเฅค เจธเจพเจกเฉ‡ เจ•เฉ‡เจธ เจตเจฟเฉฑเจš, เจ‡เจน เจ•เจฎเจพเจ‚เจก เจฒเจ—เจญเจ— เจ‰เจนเฉ€ เจนเฉˆ เจœเฉ‹ เจคเฉเจธเฉ€เจ‚ เจšเจฒเจพเจ‰เจ‚เจฆเฉ‡ เจธเฉ€ server.py เจธเจฐเฉ‹เจค เจ•เฉ‹เจก เจคเฉ‹เจ‚.
  • เจฆเฉ€ เจŸเฉ€เจฎ เจเจ•เจธเจชเฉ‹เจœเจผ เจ•เจฐเฉ‹ เจ‡เจน เจฆเจฐเจธเจพเจ‰เจ‚เจฆเจพ เจนเฉˆ เจธเจฐเจตเจฐ เจชเฉ‹เจฐเจŸ เจฐเจพเจนเฉ€เจ‚ เจกเฉ‡เจŸเจพ เจฆเฉ€ เจ‰เจกเฉ€เจ• เจ•เจฐเจฆเจพ เจนเฉˆ 8080. เจ‡เจน เจŸเฉ€เจฎ เจจเจนเฉ€เจ‚ เจนเฉˆ เจชเฉ‹เจฐเจŸ เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจฆเจพ เจนเฉˆ. เจ‡เจน เจ•เฉเจ เจ•เจฟเจธเจฎ เจฆเจพ เจฆเจธเจคเจพเจตเฉ‡เจœเจผ เจนเฉˆ เจœเฉ‹ เจชเฉ‹เจฐเจŸ เจ–เฉ‹เจฒเฉเจนเจฃ เจฒเจˆ เจฒเฉ‹เฉœเฉ€เจ‚เจฆเจพ เจนเฉˆ 8080 เจ•เฉฐเจŸเฉ‡เจจเจฐ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจจ เจตเฉ‡เจฒเฉ‡.

เจคเฉเจนเจพเจกเฉ€ เจ…เจฐเจœเจผเฉ€ เจจเฉ‚เฉฐ เจ•เฉฐเจŸเฉ‡เจจเจฐเจพเจˆเจœเจผ เจ•เจฐเจจ เจฆเฉ€ เจคเจฟเจ†เจฐเฉ€ เจ•เฉ€เจคเฉ€ เจœเจพ เจฐเจนเฉ€ เจนเฉˆ

1) เจนเฉ‡เจ เจพเจ‚ เจฆเจฟเฉฑเจคเฉ‡ เจตเจพเจคเจพเจตเจฐเจฃ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจธเฉˆเฉฑเจŸ เจ•เจฐเฉ‹เฅค เจฌเจฆเจฒเฉ‹ PROJECT_ID เจคเฉเจนเจพเจกเฉ€ GCP เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจ†เจˆ.เจกเฉ€.

export PROJECT_ID="PROJECT_ID"

export GCR_REPO="preparing-istio"

เจฎเฉเฉฑเจฒเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจเจพ PROJECT_ID ะธ GCR_REPO เจคเฉเจธเฉ€เจ‚ เจกเฉŒเจ•เจฐ เจšเจฟเฉฑเจคเจฐ เจจเฉ‚เฉฐ เจŸเฉˆเจ— เจ•เจฐเจฆเฉ‡ เจนเฉ‹ เจœเจฆเฉ‹เจ‚ เจคเฉเจธเฉ€เจ‚ เจ‡เจธเจจเฉ‚เฉฐ เจฌเจฃเจพเจ‰เจ‚เจฆเฉ‡ เจนเฉ‹ เจ…เจคเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจชเฉเจฐเจพเจˆเจตเฉ‡เจŸ เจ•เฉฐเจŸเฉ‡เจจเจฐ เจฐเจœเจฟเจธเจŸเจฐเฉ€ เจตเจฟเฉฑเจš เจงเฉฑเจ•เจฆเฉ‡ เจนเฉ‹เฅค

2) เจ•เจฎเจพเจ‚เจก เจฒเจพเจˆเจจ เจŸเฉ‚เจฒ เจฒเจˆ เจกเจฟเจซเฉŒเจฒเจŸ GCP เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจธเฉˆเจŸ เจ•เจฐเฉ‹ gcloud.

gcloud config set project $PROJECT_ID

3) เจ•เจฎเจพเจ‚เจก เจฒเจพเจˆเจจ เจŸเฉ‚เจฒ เจฒเจˆ เจกเจฟเจซเฉŒเจฒเจŸ เจœเจผเฉ‹เจจ เจธเฉˆเจŸ เจ•เจฐเฉ‹ gcloud.

gcloud config set compute/zone us-central1-b

4) เจฏเจ•เฉ€เจจเฉ€ เจฌเจฃเจพเจ“ เจ•เจฟ เจ•เฉฐเจŸเฉ‡เจจเจฐ เจฐเจœเจฟเจธเจŸเจฐเฉ€ เจธเฉ‡เจตเจพ GCP เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจตเจฟเฉฑเจš เจธเจฎเจฐเฉฑเจฅ เจนเฉˆเฅค

gcloud services enable containerregistry.googleapis.com

เจ•เฉฐเจŸเฉ‡เจจเจฐเจพเจˆเจœเจผเฉ‡เจธเจผเจจ เจธเจฐเจตเจฐ

  1. เจ‰เจธ เจกเจพเจ‡เจฐเฉˆเจ•เจŸเจฐเฉ€ 'เจคเฉ‡ เจœเจพเจ“ เจœเจฟเฉฑเจฅเฉ‡ เจ‰เจฆเจพเจนเจฐเจฃ เจธเจฅเจฟเจค เจนเฉˆ เจธเจฐเจตเจฐ:

    cd YOUR_WORKING_DIRECTORY/istio-samples/sample-apps/helloserver/server/

  2. เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจšเจฟเฉฑเจคเจฐ เจจเฉ‚เฉฐ เจ‡เจ•เฉฑเจ เจพ เจ•เจฐเฉ‹ เจกเฉŒเจ•เจฐเจซเจพเจˆเจฒ เจ…เจคเฉ‡ เจตเจพเจคเจพเจตเจฐเจฃ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจœเฉ‹ เจคเฉเจธเฉ€เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เฉ€เจคเฉ‡ เจนเจจ:

    docker build -t gcr.io/$PROJECT_ID/$GCR_REPO/helloserver:v0.0.1 .

เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐ -t เจกเฉŒเจ•เจฐ เจŸเฉˆเจ— เจจเฉ‚เฉฐ เจฆเจฐเจธเจพเจ‰เจ‚เจฆเจพ เจนเฉˆเฅค เจ‡เจน เจ‰เจธ เจšเจฟเฉฑเจคเจฐ เจฆเจพ เจจเจพเจฎ เจนเฉˆ เจœเฉ‹ เจคเฉเจธเฉ€เจ‚ เจ•เฉฐเจŸเฉ‡เจจเจฐ เจจเฉ‚เฉฐ เจคเฉˆเจจเจพเจค เจ•เจฐเจฆเฉ‡ เจธเจฎเฉ‡เจ‚ เจตเจฐเจคเจฆเฉ‡ เจนเฉ‹เฅค

  1. เจšเจฟเฉฑเจคเจฐ เจจเฉ‚เฉฐ เจ•เฉฐเจŸเฉ‡เจจเจฐ เจฐเจœเจฟเจธเจŸเจฐเฉ€ เจตเจฟเฉฑเจš เจ…เฉฑเจชเจฒเฉ‹เจก เจ•เจฐเฉ‹:
    docker push gcr.io/$PROJECT_ID/$GCR_REPO/helloserver:v0.0.1

เจฒเฉ‹เจกเจœเจจ เจฆเจพ เจ•เฉฐเจŸเฉ‡เจจเจฐเจพเจˆเจœเจผเฉ‡เจธเจผเจจ

1) เจกเจพเจ‡เจฐเฉˆเจ•เจŸเจฐเฉ€ 'เจคเฉ‡ เจœเจพเจ“ เจœเจฟเฉฑเจฅเฉ‡ เจ‰เจฆเจพเจนเจฐเจฃ เจธเจฅเจฟเจค เจนเฉˆ เจฒเฉ‹เจกเจœเจจ:

cd ../loadgen

2) เจšเจฟเฉฑเจคเจฐ เจจเฉ‚เฉฐ เจ‡เจ•เฉฑเจ เจพ เจ•เจฐเฉ‹:

docker build -t gcr.io/$PROJECT_ID/$GCR_REPO/loadgen:v0.0.1 .

3) เจšเจฟเฉฑเจคเจฐ เจจเฉ‚เฉฐ เจ•เฉฐเจŸเฉ‡เจจเจฐ เจฐเจœเจฟเจธเจŸเจฐเฉ€ 'เจคเฉ‡ เจ…เจชเจฒเฉ‹เจก เจ•เจฐเฉ‹:

docker push gcr.io/$PROJECT_ID/$GCR_REPO/loadgen:v0.0.1

เจšเจฟเฉฑเจคเจฐเจพเจ‚ เจฆเฉ€ เจธเฉ‚เจšเฉ€ เจตเฉ‡เจ–เฉ‹

เจฐเจฟเจชเฉ‹เจœเจผเจŸเจฐเฉ€ เจตเจฟเฉฑเจš เจšเจฟเฉฑเจคเจฐเจพเจ‚ เจฆเฉ€ เจธเฉ‚เจšเฉ€ เจฆเฉ€ เจธเจฎเฉ€เจ–เจฟเจ† เจ•เจฐเฉ‹ เจ…เจคเฉ‡ เจชเฉเจธเจผเจŸเฉ€ เจ•เจฐเฉ‹ เจ•เจฟ เจšเจฟเฉฑเจคเจฐ เจ…เฉฑเจชเจฒเฉ‹เจก เจ•เฉ€เจคเฉ‡ เจ—เจ เจนเจจ:

gcloud container images list --repository gcr.io/$PROJECT_ID/preparing-istio

เจ•เจฎเจพเจ‚เจก เจจเจตเฉ‡เจ‚ เจ…เฉฑเจชเจฒเฉ‹เจก เจ•เฉ€เจคเฉ‡ เจšเจฟเฉฑเจคเจฐเจพเจ‚ เจฆเฉ‡ เจจเจพเจฎ เจชเฉเจฐเจฆเจฐเจธเจผเจฟเจค เจ•เจฐเจฆเฉ€ เจนเฉˆ:

NAME
gcr.io/PROJECT_ID/preparing-istio/helloserver
gcr.io/PROJECT_ID/preparing-istio/loadgen

เจ‡เฉฑเจ• GKE เจ•เจฒเฉฑเจธเจŸเจฐ เจฌเจฃเจพเจ‰เจฃเจพเฅค

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

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

เจ‡เฉฑเจ• GKE เจ•เจฒเฉฑเจธเจŸเจฐ เจฌเจฃเจพเจ‰เจฃเจพ:

1) เจ‡เฉฑเจ• เจ•เจฒเฉฑเจธเจŸเจฐ เจฌเจฃเจพเจ“:

gcloud container clusters create istioready 
  --cluster-version latest 
  --machine-type=n1-standard-2 
  --num-nodes 4

เจฆเฉ€ เจŸเฉ€เจฎ gcloud เจคเฉเจนเจพเจกเฉ‡ เจฆเฉเจ†เจฐเจพ เจจเจฟเจฐเจงเจพเจฐเจฟเจค เจ•เฉ€เจคเฉ‡ GCP เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจ…เจคเฉ‡ เจกเจฟเจซเฉŒเจฒเจŸ เจœเจผเฉ‹เจจ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• istioready เจ•เจฒเฉฑเจธเจŸเจฐ เจฌเจฃเจพเจ‰เจ‚เจฆเจพ เจนเฉˆเฅค Istio เจจเฉ‚เฉฐ เจšเจฒเจพเจ‰เจฃ เจฒเจˆ, เจ…เจธเฉ€เจ‚ เจ˜เฉฑเจŸเฉ‹-เจ˜เฉฑเจŸ 4 เจจเฉ‹เจก เจ…เจคเฉ‡ เจ‡เฉฑเจ• เจตเจฐเจšเฉเจ…เจฒ เจฎเจธเจผเฉ€เจจ เจนเฉ‹เจฃ เจฆเฉ€ เจธเจฟเจซเจผเจพเจฐเจฟเจธเจผ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚ n1-เจธเจŸเฉˆเจ‚เจกเจฐเจก-2.

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

2) เจ•เจฎเจพเจ‚เจก เจฒเจพเจˆเจจ เจŸเฉ‚เจฒ เจตเจฟเฉฑเจš เจชเฉเจฐเจฎเจพเจฃ เจชเฉฑเจคเจฐ เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเฉ‹ kubectlเจ‡เจธ เจจเฉ‚เฉฐ เจ•เจฒเฉฑเจธเจŸเจฐ เจฆเจพ เจชเฉเจฐเจฌเฉฐเจงเจจ เจ•เจฐเจจ เจฒเจˆ เจตเจฐเจคเจฃ เจฒเจˆ:

gcloud container clusters get-credentials istioready

3) เจนเฉเจฃ เจคเฉเจธเฉ€เจ‚ เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจจเจพเจฒ เจ‡เจธ เจฐเจพเจนเฉ€เจ‚ เจธเฉฐเจšเจพเจฐ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹ kubectl. เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจนเฉ‡เจ  เจฆเจฟเฉฑเจคเฉ€ เจ•เจฎเจพเจ‚เจก เจจเฉ‹เจกเจธ เจฆเฉ€ เจธเจฅเจฟเจคเฉ€ เจฆเจพ เจชเจคเจพ เจฒเจ—เจพ เจธเจ•เจฆเฉ€ เจนเฉˆ:

kubectl get nodes

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

NAME                                       STATUS   ROLES    AGE    VERSION
gke-istoready-default-pool-dbeb23dc-1vg0   Ready    <none>   99s    v1.13.6-gke.13
gke-istoready-default-pool-dbeb23dc-36z5   Ready    <none>   100s   v1.13.6-gke.13
gke-istoready-default-pool-dbeb23dc-fj7s   Ready    <none>   99s    v1.13.6-gke.13
gke-istoready-default-pool-dbeb23dc-wbjw   Ready    <none>   99s    v1.13.6-gke.13

เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจฆเฉ‡ เจฎเฉเฉฑเจ– เจธเฉฐเจ•เจฒเจช

เจšเจฟเฉฑเจคเจฐ GKE 'เจคเฉ‡ เจ‡เฉฑเจ• เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจฆเจฟเจ–เจพเจ‰เจ‚เจฆเจพ เจนเฉˆ:

Istio เจฒเจˆ เจ…เจฐเจœเจผเฉ€ เจคเจฟเจ†เจฐ เจ•เจฐ เจฐเจฟเจนเจพ เจนเฉˆ

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

  • เจจเฉ‹เจก เจ…เจคเฉ‡ เจ•เจฒเฉฑเจธเจŸเจฐ. GKE เจตเจฟเฉฑเจš, เจ‡เฉฑเจ• เจจเฉ‹เจก เจ‡เฉฑเจ• เจตเจฐเจšเฉเจ…เจฒ เจฎเจธเจผเฉ€เจจ เจนเฉˆเฅค เจนเฉ‹เจฐ เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจชเจฒเฉ‡เจŸเจซเจพเจฐเจฎเจพเจ‚ 'เจคเฉ‡, เจ‡เฉฑเจ• เจจเฉ‹เจก เจ‡เฉฑเจ• เจ•เฉฐเจชเจฟเจŠเจŸเจฐ เจœเจพเจ‚ เจ‡เฉฑเจ• เจตเจฐเจšเฉเจ…เจฒ เจฎเจธเจผเฉ€เจจ เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจ‡เฉฑเจ• เจ•เจฒเฉฑเจธเจŸเจฐ เจจเฉ‹เจกเจพเจ‚ เจฆเจพ เจ‡เฉฑเจ• เจธเฉฐเจ—เฉเจฐเจนเจฟ เจนเฉเฉฐเจฆเจพ เจนเฉˆ เจœเจฟเจธเจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจธเจฟเฉฐเจ—เจฒ เจฏเฉ‚เจจเจฟเจŸ เจฎเฉฐเจจเจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ เจœเจฟเฉฑเจฅเฉ‡ เจคเฉเจธเฉ€เจ‚ เจ‡เฉฑเจ• เจ•เฉฐเจŸเฉ‡เจจเจฐเจพเจˆเจœเจผเจก เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจจเฉ‚เฉฐ เจคเฉˆเจจเจพเจค เจ•เจฐเจฆเฉ‡ เจนเฉ‹เฅค
  • เจซเจฒเฉ€เจ†เจ‚. เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจตเจฟเฉฑเจš, เจ•เฉฐเจŸเฉ‡เจจเจฐ เจซเจฒเฉ€เจ†เจ‚ เจตเจฟเฉฑเจš เจšเฉฑเจฒเจฆเฉ‡ เจนเจจเฅค เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจชเฉŒเจก เจ‡เฉฑเจ• เจ…เจตเจฟเจญเจพเจ—เฉ€ เจ‡เจ•เจพเจˆ เจนเฉˆเฅค เจ‡เฉฑเจ• เจชเฉŒเจก เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจœเจพเจ‚ เจ‡เฉฑเจ• เจคเฉ‹เจ‚ เจตเฉฑเจง เจกเฉฑเจฌเฉ‡ เจนเฉเฉฐเจฆเฉ‡ เจนเจจเฅค เจคเฉเจธเฉ€เจ‚ เจธเจฐเจตเจฐ เจ•เฉฐเจŸเฉ‡เจจเจฐ เจคเฉˆเจจเจพเจค เจ•เจฐเจฆเฉ‡ เจนเฉ‹ เจ…เจคเฉ‡ เจฒเฉ‹เจกเจœเจจ เจตเฉฑเจ–เจฐเฉ€เจ†เจ‚ เจซเจฒเฉ€เจ†เจ‚ เจตเจฟเฉฑเจš. เจœเจฆเฉ‹เจ‚ เจ‡เฉฑเจ• เจชเฉŒเจก เจตเจฟเฉฑเจš เจ•เจˆ เจ•เฉฐเจŸเฉ‡เจจเจฐ เจนเฉเฉฐเจฆเฉ‡ เจนเจจ (เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจ‡เฉฑเจ• เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจธเจฐเจตเจฐ เจ…เจคเฉ‡ เจชเฉเจฐเฉŒเจ•เจธเฉ€ เจธเจฐเจตเจฐ), เจ•เฉฐเจŸเฉ‡เจจเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจ‡เจ•เจพเจˆ เจตเจœเฉ‹เจ‚ เจชเฉเจฐเจฌเฉฐเจงเจฟเจค เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจชเฉŒเจก เจธเจฐเฉ‹เจค เจธเจพเจ‚เจเฉ‡ เจ•เฉ€เจคเฉ‡ เจœเจพเจ‚เจฆเฉ‡ เจนเจจเฅค
  • เจคเฉˆเจจเจพเจคเฉ€เจ†เจ‚. เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจตเจฟเฉฑเจš, เจ‡เฉฑเจ• เจคเฉˆเจจเจพเจคเฉ€ เจ‡เฉฑเจ• เจตเจธเจคเฉ‚ เจนเฉˆ เจœเฉ‹ เจ‡เฉฑเจ•เฉ‹ เจœเจฟเจนเฉ‡ เจชเฉŒเจกเจพเจ‚ เจฆเจพ เจธเฉฐเจ—เฉเจฐเจนเจฟ เจนเฉˆเฅค เจคเฉˆเจจเจพเจคเฉ€ เจ•เจฒเฉฑเจธเจŸเจฐ เจจเฉ‹เจกเจพเจ‚ เจตเจฟเฉฑเจš เจตเฉฐเจกเฉ€เจ†เจ‚ เจชเฉŒเจกเจพเจ‚ เจฆเฉ€เจ†เจ‚ เจ•เจˆ เจชเฉเจฐเจคเฉ€เจ•เฉเจฐเจฟเจคเฉ€เจ†เจ‚ เจฒเจพเจ‚เจš เจ•เจฐเจฆเฉ€ เจนเฉˆเฅค เจคเฉˆเจจเจพเจคเฉ€ เจ‰เจนเจจเจพเจ‚ เจชเฉŒเจกเจพเจ‚ เจจเฉ‚เฉฐ เจธเจตเฉˆเจšเจฒเจฟเจค เจคเฉŒเจฐ 'เจคเฉ‡ เจฌเจฆเจฒ เจฆเจฟเฉฐเจฆเฉ€ เจนเฉˆ เจœเฉ‹ เจ…เจธเจซเจฒ เจนเฉ‹ เจ—เจˆเจ†เจ‚ เจนเจจ เจœเจพเจ‚ เจ—เฉˆเจฐ-เจœเจตเจพเจฌเจฆเฉ‡เจน เจนเจจเฅค
  • เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจธเฉ‡เจตเจพ. เจœเจฆเฉ‹เจ‚ GKE เจตเจฟเฉฑเจš เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจ•เฉ‹เจก เจšเฉฑเจฒ เจฐเจฟเจนเจพ เจนเฉˆ, เจคเจพเจ‚ เจตเจฟเจšเจ•เจพเจฐ เจ•เจจเฉˆเจ•เจธเจผเจจ เจฒเฉ‹เจกเจœเจจ ะธ เจธเจฐเจตเจฐ. เจœเจฆเฉ‹เจ‚ เจคเฉเจธเฉ€เจ‚ เจ•เจฒเจพเจŠเจก เจธเจผเฉˆเฉฑเจฒ เจตเจฐเจšเฉเจ…เจฒ เจฎเจธเจผเฉ€เจจ เจœเจพเจ‚ เจกเฉˆเจธเจ•เจŸเจพเจช 'เจคเฉ‡ เจธเฉ‡เจตเจพเจตเจพเจ‚ เจธเจผเฉเจฐเฉ‚ เจ•เฉ€เจคเฉ€เจ†เจ‚, เจคเจพเจ‚ เจคเฉเจธเฉ€เจ‚ เจ‡เจธ เจจเฉ‚เฉฐ เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ เจญเฉ‡เจœเฉ€เจ†เจ‚ เจธเจฐเจตเจฐ เจคเฉ‡ เจฒเฉ‹เจ•เจฒเจนเฉ‹เจธเจŸ: 8080. เจ‡เฉฑเจ• เจตเจพเจฐ GKE 'เจคเฉ‡ เจคเจพเจ‡เจจเจพเจค เจ•เฉ€เจคเฉ‡ เจœเจพเจฃ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจชเฉŒเจก เจ‰เจชเจฒเจฌเจง เจจเฉ‹เจกเจพเจ‚ 'เจคเฉ‡ เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเฉ‡ เจœเจพเจ‚เจฆเฉ‡ เจนเจจเฅค เจฎเฉ‚เจฒ เจฐเฉ‚เจช เจตเจฟเฉฑเจš, เจคเฉเจนเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจ•เฉ‹เจˆ เจจเจฟเจฏเฉฐเจคเจฐเจฃ เจจเจนเฉ€เจ‚ เจนเฉˆ เจ•เจฟ เจชเฉ‹เจก เจ•เจฟเจธ เจจเฉ‹เจก 'เจคเฉ‡ เจšเฉฑเจฒ เจฐเจฟเจนเจพ เจนเฉˆ, เจ‡เจธ เจฒเจˆ เจคเฉเจธเฉ€เจ‚ เจซเจฒเฉ€เจ†เจ‚ เจ•เฉ‹เจˆ เจธเจฅเจพเจˆ IP เจชเจคเฉ‡ เจจเจนเฉ€เจ‚ เจนเจจเฅค
    เจฒเจˆ เจ‡เฉฑเจ• IP เจชเจคเจพ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจ เจฒเจˆ เจธเจฐเจตเจฐ, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจชเฉŒเจก เจฆเฉ‡ เจธเจฟเจ–เจฐ 'เจคเฉ‡ เจ‡เฉฑเจ• เจจเฉˆเฉฑเจŸเจตเจฐเจ• เจเจฌเจธเจŸเจฐเฉˆเจ•เจธเจผเจจ เจจเฉ‚เฉฐ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆเฅค เจ‡เจนเฉ€ เจนเฉˆ เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจธเฉ‡เจตเจพ. เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจธเฉ‡เจตเจพ เจชเฉŒเจกเจพเจ‚ เจฆเฉ‡ เจ‡เฉฑเจ• เจธเจฎเฉ‚เจน เจฒเจˆ เจ‡เฉฑเจ• เจจเจฟเจฐเฉฐเจคเจฐ เจ…เฉฐเจคเจฎ เจฌเจฟเฉฐเจฆเฉ‚ เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจฆเฉ€ เจนเฉˆเฅค เจ•เฉเจ เจ•เฉ เจนเจจ เจธเฉ‡เจตเจพเจตเจพเจ‚ เจฆเฉ€เจ†เจ‚ เจ•เจฟเจธเจฎเจพเจ‚. เจธเจฐเจตเจฐ เจตเจฐเจคเจฆเจพ เจนเฉˆ เจฒเฉ‹เจกเจฌเฉˆเจฒเฉˆเจ‚เจธเจฐ, เจœเฉ‹ เจธเฉฐเจชเจฐเจ• เจ•เจฐเจจ เจฒเจˆ เจ‡เฉฑเจ• เจฌเจพเจนเจฐเฉ€ IP เจชเจคเจพ เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจฆเจพ เจนเฉˆ เจธเจฐเจตเจฐ เจ•เจฒเฉฑเจธเจŸเจฐ เจฆเฉ‡ เจฌเจพเจนเจฐเฉ‹เจ‚เฅค
    เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจฌเจฟเจฒเจŸ-เจ‡เจจ DNS เจธเจฟเจธเจŸเจฎ เจตเฉ€ เจนเฉˆ เจœเฉ‹ DNS เจจเจพเจฎ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจฆเจพ เจนเฉˆ (เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, helloserver.default.cluster.local) เจธเฉ‡เจตเจพเจตเจพเจ‚เฅค เจ‡เจธเจฆเฉ‡ เจฒเจˆ เจงเฉฐเจจเจตเจพเจฆ, เจ•เจฒเฉฑเจธเจŸเจฐ เจฆเฉ‡ เจ…เฉฐเจฆเจฐ เจฆเฉ€เจ†เจ‚ เจชเฉŒเจกเจพเจ‚ เจ‡เฉฑเจ• เจธเจฅเจพเจˆ เจชเจคเฉ‡ 'เจคเฉ‡ เจ•เจฒเฉฑเจธเจŸเจฐ เจตเจฟเฉฑเจš เจนเฉ‹เจฐ เจชเฉŒเจกเจพเจ‚ เจจเจพเจฒ เจธเฉฐเจšเจพเจฐ เจ•เจฐเจฆเฉ€เจ†เจ‚ เจนเจจเฅค DNS เจจเจพเจฎ เจ•เจฒเฉฑเจธเจŸเจฐ เจคเฉ‹เจ‚ เจฌเจพเจนเจฐ เจจเจนเฉ€เจ‚ เจตเจฐเจคเจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจ•เจฒเจพเจ‰เจก เจธเจผเฉˆเฉฑเจฒ เจœเจพเจ‚ เจ•เฉฐเจชเจฟเจŠเจŸเจฐ 'เจคเฉ‡เฅค

เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจชเฉเจฐเจ—เจŸ เจนเฉเฉฐเจฆเจพ เจนเฉˆ

เจœเจฆเฉ‹เจ‚ เจคเฉเจธเฉ€เจ‚ เจธเจฐเฉ‹เจค เจคเฉ‹เจ‚ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจšเจฒเจพเจ‰เจ‚เจฆเฉ‡ เจนเฉ‹, เจคเจพเจ‚ เจคเฉเจธเฉ€เจ‚ เจฒเจพเจœเจผเจฎเฉ€ เจ•เจฎเจพเจ‚เจก เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เฉ€เจคเฉ€ เจธเฉ€ python3

server.py

เจฒเจพเจœเจผเจฎเฉ€ เจ‡เฉฑเจ• เจ•เจฟเจฐเจฟเจ† เจฆเจพ เจ…เจฐเจฅ เจนเฉˆ: "เจ‡เจน เจ•เจฐเฉ‹เฅค"

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

เจคเฉเจธเฉ€เจ‚ เจฎเฉˆเจจเฉ€เจซเฉˆเจธเจŸ เจœเจพเจ‚ เจซเจพเจˆเจฒเจพเจ‚ เจตเจฟเฉฑเจš เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ€ เจธเจฅเจฟเจคเฉ€ เจฆเจพ เจธเฉฐเจ•เฉ‡เจค เจฆเจฟเฉฐเจฆเฉ‡ เจนเฉ‹ YAML. เจ‡เฉฑเจ• YAML เจซเจพเจˆเจฒ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจœเจพเจ‚ เจ‡เฉฑเจ• เจคเฉ‹เจ‚ เจตเฉฑเจง เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจ†เจฌเจœเฉˆเจ•เจŸ เจฒเจˆ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจธเจผเจพเจฎเจฒ เจนเฉเฉฐเจฆเฉ€เจ†เจ‚ เจนเจจเฅค

เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ เจ‡เฉฑเจ• YAML เจซเจพเจˆเจฒ เจธเจผเจพเจฎเจฒ เจนเฉˆ เจธเจฐเจตเจฐ ะธ เจฒเฉ‹เจกเจœเจจ. เจนเจฐเฉ‡เจ• YAML เจซเจพเจˆเจฒ เจกเจฟเจชเจฒเจพเจ‡เจฎเฉˆเจ‚เจŸ เจ†เจฌเจœเฉˆเจ•เจŸ เจ…เจคเฉ‡ เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจธเฉ‡เจตเจพ เจฆเฉ€ เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ€ เจธเจฅเจฟเจคเฉ€ เจจเฉ‚เฉฐ เจฆเจฐเจธเจพเจ‰เจ‚เจฆเฉ€ เจนเฉˆเฅค

server.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: helloserver
spec:
  selector:
    matchLabels:
      app: helloserver
  replicas: 1
  template:
    metadata:
      labels:
        app: helloserver
    spec:
      terminationGracePeriodSeconds: 5
      restartPolicy: Always
      containers:
      - name: main
        image: gcr.io/google-samples/istio/helloserver:v0.0.1
        imagePullPolicy: Always

  • เจ•เจฟเจธเจฎ เจตเจธเจคเฉ‚ เจฆเฉ€ เจ•เจฟเจธเจฎ เจจเฉ‚เฉฐ เจฆเจฐเจธเจพเจ‰เจ‚เจฆเจพ เจนเฉˆเฅค
  • metadata.name เจคเฉˆเจจเจพเจคเฉ€ เจฆเจพ เจจเจพเจฎ เจฆเฉฑเจธเจฆเจพ เจนเฉˆเฅค
  • เจชเจนเจฟเจฒเจพ เจ–เฉ‡เจคเจฐ spec เจฒเฉ‹เฉœเฉ€เจฆเฉ€ เจธเจฅเจฟเจคเฉ€ เจฆเจพ เจตเฉ‡เจฐเจตเจพ เจฐเฉฑเจ–เจฆเจพ เจนเฉˆเฅค
  • spec.replicas เจชเฉŒเจก เจฆเฉ€ เจฒเฉ‹เฉœเฉ€เจฆเฉ€ เจธเฉฐเจ–เจฟเจ† เจจเฉ‚เฉฐ เจฆเจฐเจธเจพเจ‰เจ‚เจฆเจพ เจนเฉˆเฅค
  • เจญเจพเจ— spec.template เจ‡เฉฑเจ• เจชเฉŒเจก เจŸเฉˆเจ‚เจชเจฒเฉ‡เจŸ เจจเฉ‚เฉฐ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจชเฉŒเจก เจจเจฟเจฐเจงเจพเจฐเจจ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจ–เฉ‡เจคเจฐ เจนเฉˆ เจšเจฟเฉฑเจคเจฐ เจจเฉ‚เฉฐ, เจœเฉ‹ เจ‰เจธ เจšเจฟเฉฑเจคเจฐ เจฆเจพ เจจเจพเจฎ เจฆเจฐเจธเจพเจ‰เจ‚เจฆเจพ เจนเฉˆ เจœเจฟเจธเจจเฉ‚เฉฐ เจ•เฉฐเจŸเฉ‡เจจเจฐ เจฐเจœเจฟเจธเจŸเจฐเฉ€ เจคเฉ‹เจ‚ เจเจ•เจธเจŸเจฐเฉˆเจ•เจŸ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆเฅค

เจธเฉ‡เจตเจพ เจจเฉ‚เฉฐ เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ:

apiVersion: v1
kind: Service
metadata:
  name: hellosvc
spec:
  type: LoadBalancer
  selector:
    app: helloserver
  ports:
  - name: http
    port: 80
    targetPort: 8080

  • เจฒเฉ‹เจกเจฌเฉˆเจฒเฉˆเจ‚เจธเจฐ: เจ—เฉเจฐเจพเจนเจ• เจฒเฉ‹เจก เจฌเฉˆเจฒเฉ‡เจ‚เจธเจฐ เจฆเฉ‡ IP เจชเจคเฉ‡ 'เจคเฉ‡ เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ เจญเฉ‡เจœเจฆเฉ‡ เจนเจจ, เจœเจฟเจธเจฆเจพ เจ‡เฉฑเจ• เจจเจฟเจฐเฉฐเจคเจฐ IP เจชเจคเจพ เจนเฉเฉฐเจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจ•เจฒเฉฑเจธเจŸเจฐ เจฆเฉ‡ เจฌเจพเจนเจฐเฉ‹เจ‚ เจชเจนเฉเฉฐเจšเจฏเฉ‹เจ— เจนเฉเฉฐเจฆเจพ เจนเฉˆเฅค
  • targetPort: เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจฏเจพเจฆ เจนเฉˆ, เจŸเฉ€เจฎ เจเจ•เจธเจชเฉ‹เจœเจผ 8080 ะฒ เจกเฉŒเจ•เจฐเจซเจพเจˆเจฒ เจชเฉ‹เจฐเจŸ เจชเฉเจฐเจฆเจพเจจ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเฉ€เฅค เจคเฉเจธเฉ€เจ‚ เจชเฉ‹เจฐเจŸ เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจฆเฉ‡ เจนเฉ‹ 8080เจคเจพเจ‚ เจœเฉ‹ เจคเฉเจธเฉ€เจ‚ เจ•เฉฐเจŸเฉ‡เจจเจฐ เจจเจพเจฒ เจธเฉฐเจชเจฐเจ• เจ•เจฐ เจธเจ•เฉ‹ เจธเจฐเจตเจฐ เจ•เจฒเฉฑเจธเจŸเจฐ เจฆเฉ‡ เจฌเจพเจนเจฐ. เจธเจพเจกเฉ‡ เจ•เฉ‡เจธ เจตเจฟเฉฑเจš hellosvc.default.cluster.local:80 (เจ›เฉ‹เจŸเจพ เจจเจพเจฎ: เจนเฉˆเจฒเฉ‹เจธเจตเฉ€เจธเฉ€) เจชเฉ‹เจฐเจŸ เจจเจพเจฒ เจฎเฉ‡เจฒ เจ–เจพเจ‚เจฆเจพ เจนเฉˆ 8080 Pod IP เจชเจคเฉ‡ เจนเฉˆเจฒเฉ‹เจธเจฐเจตเจฐ.
  • เจชเฉ‹เจฐเจŸ: เจ‡เจน เจ‰เจน เจชเฉ‹เจฐเจŸ เจจเฉฐเจฌเจฐ เจนเฉˆ เจœเจฟเฉฑเจฅเฉ‡ เจ•เจฒเฉฑเจธเจŸเจฐ เจฆเฉ€เจ†เจ‚ เจนเฉ‹เจฐ เจธเฉ‡เจตเจพเจตเจพเจ‚ เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ เจญเฉ‡เจœเจฃเจ—เฉ€เจ†เจ‚เฅค

loadgen.yaml

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

apiVersion: apps/v1
kind: Deployment
metadata:
  name: loadgenerator
spec:
  selector:
    matchLabels:
      app: loadgenerator
  replicas: 1
  template:
    metadata:
      labels:
        app: loadgenerator
    spec:
      terminationGracePeriodSeconds: 5
      restartPolicy: Always
      containers:
      - name: main
        image: gcr.io/google-samples/istio/loadgen:v0.0.1
        imagePullPolicy: Always
        env:
        - name: SERVER_ADDR
          value: "http://hellosvc:80/"
        - name: REQUESTS_PER_SECOND
          value: "10"
        resources:
          requests:
            cpu: 300m
            memory: 256Mi
          limits:
            cpu: 500m
            memory: 512Mi

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

apiVersion: v1
kind: Service
metadata:
  name: loadgensvc
spec:
  type: ClusterIP
  selector:
    app: loadgenerator
  ports:
  - name: http
    port: 80
    targetPort: 8080

GKE เจตเจฟเฉฑเจš เจ•เฉฐเจŸเฉ‡เจจเจฐ เจคเจพเจ‡เจจเจพเจค เจ•เฉ€เจคเฉ‡ เจœเจพ เจฐเจนเฉ‡ เจนเจจ

1) เจกเจพเจ‡เจฐเฉˆเจ•เจŸเจฐเฉ€ 'เจคเฉ‡ เจœเจพเจ“ เจœเจฟเฉฑเจฅเฉ‡ เจ‰เจฆเจพเจนเจฐเจฃ เจธเจฅเจฟเจค เจนเฉˆ เจธเจฐเจตเจฐ:

cd YOUR_WORKING_DIRECTORY/istio-samples/sample-apps/helloserver/server/

2) เจ–เฉ‹เจฒเฉเจนเฉ‹ server.yaml เจ‡เฉฑเจ• เจŸเฉˆเจ•เจธเจŸ เจเจกเฉ€เจŸเจฐ เจตเจฟเฉฑเจš.
3) เจ–เฉ‡เจคเจฐ เจตเจฟเฉฑเจš เจจเจพเจฎ เจฌเจฆเจฒเฉ‹ เจšเจฟเฉฑเจคเจฐ เจจเฉ‚เฉฐ เจคเฉเจนเจพเจกเฉ‡ เจกเฉŒเจ•เจฐ เจšเจฟเฉฑเจคเจฐ เจฆเฉ‡ เจจเจพเจฎ เจคเฉ‡.

image: gcr.io/PROJECT_ID/preparing-istio/helloserver:v0.0.1

เจฌเจฆเจฒเฉ‹ PROJECT_ID เจคเฉเจนเจพเจกเฉ€ GCP เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจ†เจˆ.เจกเฉ€.
4) เจธเฉเจฐเฉฑเจ–เจฟเจ…เจค เจ•เจฐเฉ‹ เจ…เจคเฉ‡ เจฌเฉฐเจฆ เจ•เจฐเฉ‹ server.yaml.
5) YAML เจซเจพเจˆเจฒ เจจเฉ‚เฉฐ เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจตเจฟเฉฑเจš เจคเฉˆเจจเจพเจค เจ•เจฐเฉ‹:

kubectl apply -f server.yaml

เจธเจซเจฒเจคเจพเจชเฉ‚เจฐเจตเจ• เจชเฉ‚เจฐเจพ เจนเฉ‹เจฃ 'เจคเฉ‡, เจ•เจฎเจพเจ‚เจก เจนเฉ‡เจ  เจฆเจฟเฉฑเจคเฉ‡ เจ•เฉ‹เจก เจจเฉ‚เฉฐ เจคเจฟเจ†เจฐ เจ•เจฐเจฆเฉ€ เจนเฉˆ:

deployment.apps/helloserver created
service/hellosvc created

6) เจกเจพเจ‡เจฐเฉˆเจ•เจŸเจฐเฉ€ 'เจคเฉ‡ เจœเจพเจ“ เจœเจฟเฉฑเจฅเฉ‡ เจฒเฉ‹เจกเจœเจจ:

cd ../loadgen

7) เจ–เฉ‹เจฒเฉเจนเฉ‹ loadgen.yaml เจ‡เฉฑเจ• เจŸเฉˆเจ•เจธเจŸ เจเจกเฉ€เจŸเจฐ เจตเจฟเฉฑเจš.
8) เจ–เฉ‡เจคเจฐ เจตเจฟเฉฑเจš เจจเจพเจฎ เจฌเจฆเจฒเฉ‹ เจšเจฟเฉฑเจคเจฐ เจจเฉ‚เฉฐ เจคเฉเจนเจพเจกเฉ‡ เจกเฉŒเจ•เจฐ เจšเจฟเฉฑเจคเจฐ เจฆเฉ‡ เจจเจพเจฎ เจคเฉ‡.

image: gcr.io/PROJECT_ID/preparing-istio/loadgenv0.0.1

เจฌเจฆเจฒเฉ‹ PROJECT_ID เจคเฉเจนเจพเจกเฉ€ GCP เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจ†เจˆ.เจกเฉ€.
9) เจธเฉเจฐเฉฑเจ–เจฟเจ…เจค เจ•เจฐเฉ‹ เจ…เจคเฉ‡ เจฌเฉฐเจฆ เจ•เจฐเฉ‹ loadgen.yaml, เจŸเฉˆเจ•เจธเจŸ เจเจกเฉ€เจŸเจฐ เจฌเฉฐเจฆ เจ•เจฐเฉ‹เฅค
10) YAML เจซเจพเจˆเจฒ เจจเฉ‚เฉฐ เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจตเจฟเฉฑเจš เจคเฉˆเจจเจพเจค เจ•เจฐเฉ‹:

kubectl apply -f loadgen.yaml

เจธเจซเจฒเจคเจพเจชเฉ‚เจฐเจตเจ• เจชเฉ‚เจฐเจพ เจนเฉ‹เจฃ 'เจคเฉ‡, เจ•เจฎเจพเจ‚เจก เจนเฉ‡เจ  เจฆเจฟเฉฑเจคเฉ‡ เจ•เฉ‹เจก เจจเฉ‚เฉฐ เจคเจฟเจ†เจฐ เจ•เจฐเจฆเฉ€ เจนเฉˆ:

deployment.apps/loadgenerator created
service/loadgensvc created

11) เจซเจฒเฉ€เจ†เจ‚ เจฆเฉ€ เจธเจฅเจฟเจคเฉ€ เจฆเฉ€ เจœเจพเจ‚เจš เจ•เจฐเฉ‹:

kubectl get pods

เจ•เจฎเจพเจ‚เจก เจธเจฅเจฟเจคเฉ€ เจจเฉ‚เฉฐ เจฆเจฐเจธเจพเจ‰เจ‚เจฆเฉ€ เจนเฉˆ:

NAME                             READY   STATUS    RESTARTS   AGE
helloserver-69b9576d96-mwtcj     1/1     Running   0          58s
loadgenerator-774dbc46fb-gpbrz   1/1     Running   0          57s

12) เจชเฉ‹เจก เจคเฉ‹เจ‚ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจฒเฉŒเจ— เจเจ•เจธเจŸเจฐเฉˆเจ•เจŸ เจ•เจฐเฉ‹ เจฒเฉ‹เจกเจœเจจ. เจฌเจฆเจฒเฉ‹ POD_ID เจชเจฟเจ›เจฒเฉ‡ เจœเจตเจพเจฌ เจคเฉ‹เจ‚ เจชเจ›เจพเจฃเจ•เจฐเจคเจพ เจจเฉ‚เฉฐเฅค

kubectl logs loadgenerator-POD_ID

13) เจฌเจพเจนเจฐเฉ€ IP เจชเจคเฉ‡ เจชเฉเจฐเจพเจชเจค เจ•เจฐเฉ‹ เจนเฉˆเจฒเฉ‹เจธเจตเฉ€เจธเฉ€:

kubectl get service

เจ•เจฎเจพเจ‚เจก เจœเจตเจพเจฌ เจ•เฉเจ เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ เจฆเจฟเจ–เจฆเจพ เจนเฉˆ:

NAME         TYPE           CLUSTER-IP     EXTERNAL-IP     PORT(S)        AGE
hellosvc     LoadBalancer   10.81.15.158   192.0.2.1       80:31127/TCP   33m
kubernetes   ClusterIP      10.81.0.1      <none>          443/TCP        93m
loadgensvc   ClusterIP      10.81.15.155   <none>          80/TCP         4m52s

14) เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจฌเฉ‡เจจเจคเฉ€ เจญเฉ‡เจœเฉ‹ เจนเฉˆเจฒเฉ‹เจธเจตเฉ€เจธเฉ€: เจฌเจฆเจฒเฉ‹ EXTERNAL_IP เจฌเจพเจนเจฐเฉ€ IP เจชเจคเฉ‡ เจจเฉ‚เฉฐ เจนเฉˆเจฒเฉ‹เจธเจตเฉ€เจธเฉ€.

curl http://EXTERNAL_IP

เจ†เจ“ Istio 'เจคเฉ‡ เจšเฉฑเจฒเฉ€เจ

เจคเฉเจนเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ GKE เจฒเจˆ เจ‡เฉฑเจ• เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจคเฉˆเจจเจพเจค เจนเฉˆเฅค เจฒเฉ‹เจกเจœเจจ เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ DNS (hellosvc:80เจจเฉ‚เฉฐ เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ เจญเฉ‡เจœเจฃ เจฒเจˆ เจธเจฐเจตเจฐเจ…เจคเฉ‡ เจคเฉเจธเฉ€เจ‚ เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ เจญเฉ‡เจœ เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจธเจฐเจตเจฐ เจฌเจพเจนเจฐเฉ€ IP เจชเจคเฉ‡ เจฆเฉเจ†เจฐเจพเฅค เจนเจพเจฒเจพเจ‚เจ•เจฟ เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจฆเฉ€เจ†เจ‚ เจฌเจนเฉเจค เจธเจพเจฐเฉ€เจ†เจ‚ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจนเจจ, เจชเจฐ เจธเฉ‡เจตเจพเจตเจพเจ‚ เจฌเจพเจฐเฉ‡ เจ•เฉเจ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจ—เฉเฉฐเจฎ เจนเฉˆ:

  • เจธเฉ‡เจตเจพเจตเจพเจ‚ เจ•เจฟเจตเฉ‡เจ‚ เจ…เฉฐเจคเจฐเจ•เจฟเจฐเจฟเจ† เจ•เจฐเจฆเฉ€เจ†เจ‚ เจนเจจ? เจธเฉ‡เจตเจพเจตเจพเจ‚ เจตเจฟเจšเจ•เจพเจฐ เจ•เฉ€ เจธเจฌเฉฐเจง เจนเจจ? เจธเฉ‡เจตเจพเจตเจพเจ‚ เจตเจฟเจšเจ•เจพเจฐ เจ†เจตเจพเจœเจพเจˆ เจ•เจฟเจตเฉ‡เจ‚ เจšเจฒเจฆเฉ€ เจนเฉˆ? เจ•เฉ€ เจคเฉเจธเฉ€เจ‚ เจœเจพเจฃเจฆเฉ‡ เจนเฉ‹ เจ•เจฟ เจฒเฉ‹เจกเจœเจจ เจจเฉ‚เฉฐ เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ เจญเฉ‡เจœเจฆเจพ เจนเฉˆ เจธเจฐเจตเจฐ, เจชเจฐ เจ•เจฒเจชเจจเจพ เจ•เจฐเฉ‹ เจ•เจฟ เจคเฉเจธเฉ€เจ‚ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจฌเจพเจฐเฉ‡ เจ•เฉเจ เจจเจนเฉ€เจ‚ เจœเจพเจฃเจฆเฉ‡ เจนเฉ‹เฅค เจ‡เจนเจจเจพเจ‚ เจธเจตเจพเจฒเจพเจ‚ เจฆเฉ‡ เจœเจตเจพเจฌ เจฆเฉ‡เจฃ เจฒเจˆ, เจ†เจ“ เจœเฉ€เจ•เฉ‡เจˆ เจตเจฟเฉฑเจš เจšเฉฑเจฒ เจฐเจนเฉ‡ เจชเฉŒเจกเจพเจ‚ เจฆเฉ€ เจธเฉ‚เจšเฉ€ เจตเฉ‡เจ–เฉ€เจเฅค
  • เจฎเฉˆเจŸเฉเจฐเจฟเจ•เจธ. เจ•เจฟเฉฐเจจเจพ เจฒเฉฐเจฌเจพ เจธเจฐเจตเจฐ เจ‡เฉฑเจ• เจ†เจ‰เจฃ เจตเจพเจฒเฉ€ เจฌเฉ‡เจจเจคเฉ€ เจฆเจพ เจœเจตเจพเจฌ เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ? เจธเจฐเจตเจฐ เจฆเฉเจ†เจฐเจพ เจชเฉเจฐเจคเฉ€ เจธเจ•เจฟเฉฐเจŸ เจ•เจฟเฉฐเจจเฉ€เจ†เจ‚ เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ เจชเฉเจฐเจพเจชเจค เจนเฉเฉฐเจฆเฉ€เจ†เจ‚ เจนเจจ? เจ•เฉ€ เจ‡เจน เจ—เจฒเจคเฉ€ เจธเฉเจจเฉ‡เจนเฉ‡ เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ?
  • เจธเฉเจฐเฉฑเจ–เจฟเจ† เจœเจพเจฃเจ•เจพเจฐเฉ€. เจตเจฟเจšเจ•เจพเจฐ เจ†เจตเจพเจœเจพเจˆ เจฒเฉ‹เจกเจœเจจ ะธ เจธเจฐเจตเจฐ เจนเฉเจฃเฉ‡ เจนเฉ€ เจฒเฉฐเจ˜เจฆเจพ เจนเฉˆ HTTP เจจเฉ‚เฉฐ เจœเจพเจ‚ เจฆเฉเจ†เจฐเจพ mTLS?

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

เจฆเฉ‚เจค เจชเฉเจฐเฉŒเจ•เจธเฉ€ เจฆเฉ‡ เจตเจฟเจšเจ•เจพเจฐ เจ•เจจเฉˆเจ•เจธเจผเจจ เจ‡เฉฑเจ• เจธเฉ‡เจตเจพ เจœเจพเจฒ เจฌเจฃเจพเจ‰เจ‚เจฆเฉ‡ เจนเจจเฅค เจธเจฐเจตเจฟเจธ เจฎเฉˆเจธเจผ เจ†เจฐเจ•เฉ€เจŸเฉˆเจ•เจšเจฐ เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจฆเฉ‡ เจธเจฟเจ–เจฐ 'เจคเฉ‡ เจจเจฟเจฏเฉฐเจคเจฐเจฃ เจฆเฉ€ เจ‡เฉฑเจ• เจชเจฐเจค เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจฆเจพ เจนเฉˆเฅค

Istio เจฒเจˆ เจ…เจฐเจœเจผเฉ€ เจคเจฟเจ†เจฐ เจ•เจฐ เจฐเจฟเจนเจพ เจนเฉˆ

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

  • เจธเจพเจฐเฉ‡ เจ•เฉฐเจŸเฉ‡เจจเจฐเจพเจ‚ เจฒเจˆ เจธเฉ‡เจตเจพเจตเจพเจ‚เฅค เจคเฉˆเจจเจพเจคเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจธเจฐเจตเจฐ ะธ เจฒเฉ‹เจกเจœเจจ เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจธเฉ‡เจตเจพ เจจเจพเจฒ เจœเฉเฉœเจฟเจ† เจนเฉ‹เจ‡เจ† เจนเฉˆเฅค เจตเฉ€ เจฒเฉ‹เจกเจœเจจ, เจœเฉ‹ เจ†เจ‰เจฃ เจตเจพเจฒเฉ€เจ†เจ‚ เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ เจชเฉเจฐเจพเจชเจค เจจเจนเฉ€เจ‚ เจ•เจฐเจฆเฉ‡, เจ‰เฉฑเจฅเฉ‡ เจ‡เฉฑเจ• เจธเฉ‡เจตเจพ เจนเฉˆเฅค
  • เจธเฉ‡เจตเจพเจตเจพเจ‚ เจตเจฟเฉฑเจš เจฌเฉฐเจฆเจฐเจ—เจพเจนเจพเจ‚ เจฆเฉ‡ เจจเจพเจฎ เจนเฉ‹เจฃเฉ‡ เจšเจพเจนเฉ€เจฆเฉ‡ เจนเจจเฅค เจนเจพเจฒเจพเจ‚เจ•เจฟ เจธเฉ‡เจตเจพ เจชเฉ‹เจฐเจŸเจพเจ‚ เจจเฉ‚เฉฐ GKE เจตเจฟเฉฑเจš เจจเจพเจฎ เจฐเจนเจฟเจค เจ›เฉฑเจกเจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ, Istio เจคเฉเจนเจพเจจเฉ‚เฉฐ เจจเจฟเจฐเจงเจพเจฐเจฟเจค เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ เจชเฉ‹เจฐเจŸ เจจเจพเจฎ เจ‰เจธเจฆเฉ‡ เจชเฉเจฐเฉ‹เจŸเฉ‹เจ•เฉ‹เจฒ เจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐ. YAML เจซเจพเจˆเจฒ เจตเจฟเฉฑเจš เจฒเจˆ เจชเฉ‹เจฐเจŸ เจธเจฐเจตเจฐ เจ•เจฟเจนเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ httpเจ•เจฟเจ‰เจ‚เจ•เจฟ เจธเจฐเจตเจฐ เจชเฉเจฐเฉ‹เจŸเฉ‹เจ•เฉ‹เจฒ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเจพ เจนเฉˆ HTTP เจจเฉ‚เฉฐ. เจœเฉ‡ เจธเฉ‡เจตเจพ เจตเจฐเจคเจฟเจ† เจœเฉ€เจ†เจฐเจชเฉ€เจธเฉ€, เจคเฉเจธเฉ€เจ‚ เจชเฉ‹เจฐเจŸ เจฆเจพ เจจเจพเจฎ เจฆเฉ‡เจตเฉ‹เจ—เฉ‡ grpc.
  • เจคเฉˆเจจเจพเจคเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจซเจฒเฉˆเจ— เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค เจ‡เจธ เจฒเจˆ, เจคเฉเจธเฉ€เจ‚ Istio เจฆเฉ€เจ†เจ‚ เจŸเฉเจฐเฉˆเจซเจฟเจ• เจชเฉเจฐเจฌเฉฐเจงเจจ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจ‰เจธเฉ‡ เจธเฉ‡เจตเจพ เจฆเฉ‡ เจธเฉฐเจธเจ•เจฐเจฃเจพเจ‚ เจตเจฟเจšเจ•เจพเจฐ เจŸเฉเจฐเฉˆเจซเจฟเจ• เจจเฉ‚เฉฐ เจตเฉฐเจกเจฃเจพเฅค

Istio เจ‡เฉฐเจธเจŸเจพเจฒ เจ•เจฐเจจเจพ

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

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

เจธเจซเจพเจˆ

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

เจ…เฉฑเจ—เฉ‡ เจ•เฉ€ เจนเฉˆ?

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

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹