เด‡เดธเตเดคเดฟเดฏเต‹เดฏเตโ€Œเด•เตเด•เดพเดฏเดฟ เด’เดฐเต เด…เดชเต‡เด•เตเดท เดคเดฏเตเดฏเดพเดฑเดพเด•เตเด•เตเดจเตเดจเต

เด‡เดธเตเดคเดฟเดฏเต‹เดฏเตโ€Œเด•เตเด•เดพเดฏเดฟ เด’เดฐเต เด…เดชเต‡เด•เตเดท เดคเดฏเตเดฏเดพเดฑเดพเด•เตเด•เตเดจเตเดจเต

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

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

เดšเตเดฎเดคเดฒเด•เตพ

เดˆ เดŸเตเดฏเต‚เดŸเตเดŸเต‹เดฑเดฟเดฏเดฒเดฟเตฝ, เดจเดฟเด™เตเด™เตพ เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดœเต‹เดฒเดฟเด•เตพ เดชเต‚เตผเดคเตเดคเดฟเดฏเดพเด•เตเด•เตเด‚:

  1. เด’เดจเตเดจเดฟเดฒเดงเดฟเด•เด‚ เดธเต‡เดตเดจเด™เตเด™เดณเตเดณเตเดณ เด’เดฐเต เดฒเดณเดฟเดคเดฎเดพเดฏ เดนเดฒเต‹ เดตเต‡เตพเดกเต เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดชเด เดฟเด•เตเด•เตเดจเตเดจเต.
  2. เดธเต‹เดดเตเดธเต เด•เต‹เดกเดฟเตฝ เดจเดฟเดจเตเดจเต เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเด•.
  3. เด•เดฃเตเดŸเต†เดฏเตเดจเดฑเตเด•เดณเดฟเตฝ เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดชเดพเด•เตเด•เต‡เดœเดฟเด‚เด—เต.
  4. เด’เดฐเต เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเต เด•เตเดฒเดธเตเดฑเตเดฑเตผ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจเต.
  5. เด’เดฐเต เด•เตเดฒเดธเตเดฑเตเดฑเดฑเดฟเดฒเต‡เด•เตเด•เต เด•เดฃเตเดŸเต†เดฏเตเดจเดฑเตเด•เตพ เดตเดฟเดจเตเดฏเดธเดฟเด•เตเด•เตเดจเตเดจเต.

เด†เดฐเด‚เดญเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดฎเตเดฎเตเดชเต

Kubernetes เดŽเดžเตเดšเดฟเตป API เดชเตเดฐเดตเตผเดคเตเดคเดจเด•เตเดทเดฎเดฎเดพเด•เตเด•เดพเตป เดจเดฟเตผเดฆเตเดฆเต‡เดถเด™เตเด™เตพ เดชเดพเดฒเดฟเด•เตเด•เตเด•:

  1. เด—เตˆเดกเดฟเดคเต† เดŽเดจเตเดจ เด•เตเดฌเต†เตผเดจเต†เดฑเตเดฑเดธเต เดŽเดžเตเดšเดฟเตป เดชเต‡เดœเต Google เด•เตเดฒเต—เดกเต เดชเตเดฒเดพเดฑเตเดฑเตโ€Œเดซเต‹เด‚ เด•เตบเดธเต‹เดณเดฟเตฝ.
  2. เด’เดฐเต เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเต เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเด• เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เตเด•.
  3. API-เดฏเตเด‚ เด…เดจเตเดฌเดจเตเดง เดธเต‡เดตเดจเด™เตเด™เดณเตเด‚ เดชเตเดฐเดตเตผเดคเตเดคเดจเด•เตเดทเดฎเดฎเดพเด•เตเด•เตเดจเตเดจเดคเต เดตเดฐเต† เด•เดพเดคเตเดคเดฟเดฐเดฟเด•เตเด•เตเด•. เด‡เดคเดฟเดจเต เด•เตเดฑเดšเตเดšเต เดฎเดฟเดจเดฟเดฑเตเดฑเตเด•เตพ เดŽเดŸเตเดคเตเดคเต‡เด•เตเด•เดพเด‚.
  4. เดจเดฟเด™เตเด™เดณเตเดŸเต† Google เด•เตเดฒเต—เดกเต เดชเตเดฒเดพเดฑเตเดฑเตโ€Œเดซเต‹เด‚ เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเดฟเดจเดพเดฏเดฟ เดฌเดฟเดฒเตเดฒเดฟเด‚เด—เต เดธเดœเตเดœเต€เด•เดฐเดฟเดšเตเดšเดฟเดŸเตเดŸเตเดฃเตเดŸเต†เดจเตเดจเต เด‰เดฑเดชเตเดชเดพเด•เตเด•เตเด•. เดฌเดฟเดฒเตเดฒเดฟเด‚เด—เต เดŽเด™เตเด™เดจเต† เดชเตเดฐเดตเตผเดคเตเดคเดจเด•เตเดทเดฎเดฎเดพเด•เตเด•เดพเดฎเต†เดจเตเดจเต เด…เดฑเดฟเดฏเตเด•.

เดˆ เดŸเตเดฏเต‚เดŸเตเดŸเต‹เดฑเดฟเดฏเดฒเดฟเตฝ, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดตเต†เตผเดšเตเดตเตฝ เดฎเต†เดทเต€เตป เดคเดฏเตเดฏเดพเดฑเดพเด•เตเด•เตเดจเตเดจ เด•เตเดฒเต—เดกเต เดทเต†เตฝ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚ เด—เต‚เด—เดฟเตพ เด•เดฎเตเดชเตเดฏเต‚เดŸเตเดŸเต เดŽเดžเตเดšเดฟเดจเดฟเตฝ g1-เดšเต†เดฑเดฟเดฏเดคเต เดกเต†เดฌเดฟเดฏเตป เด…เดŸเดฟเดธเตเดฅเดพเดจเดฎเดพเด•เตเด•เดฟเดฏเตเดณเตเดณ เดฒเดฟเดจเด•เตเดธเต เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด’เดฐเต เดฒเดฟเดจเด•เตเดธเต เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดฎเดพเด•เต‹เดธเต เด•เดฎเตเดชเตเดฏเต‚เดŸเตเดŸเตผ.

เด“เดชเตเดทเตป เดŽ: เด•เตเดฒเต—เดกเต เดทเต†เตฝ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต

เด•เตเดฒเต—เดกเต เดทเต†เตฝ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเดฟเตปเตเดฑเต† เดชเตเดฐเดฏเต‹เดœเดจเด™เตเด™เตพ:

  • เดชเตˆเดคเตเดคเตบ 2, เดชเตˆเดคเตเดคเตบ 3 เดตเดฟเด•เดธเดจ เดชเดฐเดฟเดคเดธเตเดฅเดฟเดคเดฟเด•เตพ (เด‰เตพเดชเตเดชเต†เดŸเต† virtualenv) เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏเตเด‚ เด•เตเดฐเดฎเต€เด•เดฐเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต.
  • เด•เดฎเดพเตปเดกเต เดฒเตˆเตป เดŸเต‚เดณเตเด•เตพ gCloud, เดกเต‹เด•เตเด•เตผ, เดœเดฟเดฑเตเดฑเดฟเดจเต† ะธ เด•เตเดฌเต†เด•เตเดฒเดฟ, เดžเด™เตเด™เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดต เด‡เดคเดฟเดจเด•เด‚ เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดคเดฟเดŸเตเดŸเตเดฃเตเดŸเต.
  • เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เดพเตป เดจเดฟเดฐเดตเดงเดฟเดฏเตเดฃเตเดŸเต เดŸเต†เด•เตเดธเตเดฑเตเดฑเต เดŽเดกเดฟเดฑเตเดฑเตผเดฎเดพเตผ:
    1. เด•เต‹เดกเต เดŽเดกเดฟเดฑเตเดฑเตผ, เด•เตเดฒเต—เดกเต เดทเต†เตฝ เดตเดฟเตปเดกเต‹เดฏเตเดŸเต† เดฎเตเด•เดณเดฟเดฒเตเดณเตเดณ เดŽเดกเดฟเดฑเตเดฑเต เดเด•เตเด•เตบ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดคเตเดฑเด•เตเด•เตเดจเตเดจเต.
    2. เด•เตเดฒเต—เดกเต เดทเต†เดฒเตเดฒเดฟเดฒเต† เด•เดฎเดพเตปเดกเต เดฒเตˆเดจเดฟเตฝ เดจเดฟเดจเตเดจเต เดคเตเดฑเด•เตเด•เตเดจเตเดจ Emacs, Vim เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ Nano.

เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเตป เด•เตเดฒเต—เดกเต เดทเต†เตฝ:

  1. GCP เด•เตบเดธเต‹เดณเดฟเดฒเต‡เด•เตเด•เต เดชเต‹เด•เตเด•.
  2. เดฌเดŸเตเดŸเตบ เด•เตเดฒเดฟเด•เตเด•เตเดšเต†เดฏเตเดฏเตเด• เด•เตเดฒเต—เดกเต เดทเต†เตฝ เดธเดœเต€เดตเดฎเดพเด•เตเด•เตเด• (เด•เตเดฒเต—เดกเต เดทเต†เตฝ เดธเดœเต€เดตเดฎเดพเด•เตเด•เตเด•) GCP เด•เตบเดธเต‹เตพ เดตเดฟเตปเดกเต‹เดฏเตเดŸเต† เดฎเตเด•เดณเดฟเตฝ.

เด‡เดธเตเดคเดฟเดฏเต‹เดฏเตโ€Œเด•เตเด•เดพเดฏเดฟ เด’เดฐเต เด…เดชเต‡เด•เตเดท เดคเดฏเตเดฏเดพเดฑเดพเด•เตเด•เตเดจเตเดจเต

เดคเดพเดดเดคเตเดคเต† เดญเดพเด—เดคเตเดคเต GCP เด•เตบเดธเต‹เตพ เด’เดฐเต เด•เดฎเดพเตปเดกเต เดฒเตˆเตป เด‰เดณเตเดณ เด’เดฐเต เด•เตเดฒเต—เดกเต เดทเต†เตฝ เดธเต†เดทเตป เด’เดฐเต เดชเตเดคเดฟเดฏ เดตเดฟเตปเดกเต‹เดฏเดฟเตฝ เดคเตเดฑเด•เตเด•เตเด‚.

เด‡เดธเตเดคเดฟเดฏเต‹เดฏเตโ€Œเด•เตเด•เดพเดฏเดฟ เด’เดฐเต เด…เดชเต‡เด•เตเดท เดคเดฏเตเดฏเดพเดฑเดพเด•เตเด•เตเดจเตเดจเต

เด“เดชเตเดทเตป เดฌเดฟ: เด•เดฎเดพเตปเดกเต เดฒเตˆเตป เดŸเต‚เดณเตเด•เตพ เดชเตเดฐเดพเดฆเต‡เดถเดฟเด•เดฎเดพเดฏเดฟ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต

Linux เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ macOS เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจ เด’เดฐเต เด•เดฎเตเดชเตเดฏเต‚เดŸเตเดŸเดฑเดฟเดฒเดพเดฃเต เดจเดฟเด™เตเด™เตพ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเดคเต†เด™เตเด•เดฟเตฝ, เดจเดฟเด™เตเด™เตพ เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เด˜เดŸเด•เด™เตเด™เตพ เด•เต‹เตบเดซเดฟเด—เตผ เดšเต†เดฏเตเดคเต เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต:

  1. เด‡เดทเตเดŸเดพเดจเตเดธเตƒเดคเดฎเดพเด•เตเด•เตเด• เดชเตˆเดคเตเดคเตบ 3, เดชเตˆเดคเตเดคเตบ 2 เดตเดฟเด•เดธเดจ เดชเดฐเดฟเดธเตเดฅเดฟเดคเดฟ.

  2. เด•เตเดฒเต—เดกเต SDK เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเตเด• เด•เดฎเดพเตปเดกเต เดฒเตˆเตป เดŸเต‚เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต gCloud.

  3. เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเตเด• เด•เตเดฌเต†เด•เตเดฒเดฟ - เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เด•เดฎเดพเตปเดกเต เดฒเตˆเตป เด‰เดชเด•เดฐเดฃเด‚ เด•เตเดฌเต‡เตผเดจเต†เดฑเตเดฑเต.

    gcloud components install kubectl

  4. เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเตเด• เดกเต‹เด•เตเด•เตผ เด•เดฎเตเดฎเตเดฏเต‚เดฃเดฟเดฑเตเดฑเดฟ เดชเดคเดฟเดชเตเดชเต (CE). เดจเดฟเด™เตเด™เตพ เด•เดฎเดพเตปเดกเต เดฒเตˆเตป เดŸเต‚เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด‚ เดกเต‹เด•เตเด•เตผเดธเดพเดฎเตเดชเดฟเตพ เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเดพเดฏเดฟ เด•เดฃเตเดŸเต†เดฏเตเดจเตผ เด‡เดฎเต‡เดœเตเด•เตพ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดพเตป.

  5. เด‰เดชเด•เดฐเดฃเด‚ เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเตเด• Git เดชเดคเดฟเดชเตเดชเต เดจเดฟเดฏเดจเตเดคเตเดฐเดฃเด‚GitHub-เตฝ เดจเดฟเดจเตเดจเต เดธเดพเดฎเตเดชเดฟเตพ เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดฒเดญเดฟเด•เตเด•เดพเตป.

เดธเดพเดฎเตเดชเดฟเตพ เด•เต‹เดกเต เดกเต—เตบเดฒเต‹เดกเต เดšเต†เดฏเตเดฏเตเด•

  1. เดธเต‹เดดเตเดธเต เด•เต‹เดกเต เดกเต—เตบเดฒเต‹เดกเต เดšเต†เดฏเตเดฏเตเด• helloserver:

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

  2. เด‰เดฆเดพเดนเดฐเดฃ เด•เต‹เดกเต เดกเดฏเดฑเด•เตเดŸเดฑเดฟเดฏเดฟเดฒเต‡เด•เตเด•เต เดชเต‹เด•เตเด•:

    cd istio-samples/sample-apps/helloserver

เด’เดจเตเดจเดฟเดฒเดงเดฟเด•เด‚ เดธเต‡เดตเดจเด™เตเด™เดณเตเดณเตเดณ เด’เดฐเต เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดชเดฐเตเดฏเดตเต‡เด•เตเดทเดฃเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต

เดธเดพเดฎเตเดชเดฟเตพ เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดชเตˆเดคเตเดคเดฃเดฟเตฝ เดŽเดดเตเดคเดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต, เด•เต‚เดŸเดพเดคเต† เด‡เดคเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดธเด‚เดตเดฆเดฟเด•เตเด•เตเดจเตเดจ เดฐเดฃเตเดŸเต เด˜เดŸเด•เด™เตเด™เตพ เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต REST:

  • เดธเต†เตผเดตเตผ: เด’เดฐเต เด…เดตเดธเดพเดจ เดชเต‹เดฏเดฟเตปเตเดฑเตเดณเตเดณ เดฒเดณเดฟเดคเดฎเดพเดฏ เดธเต†เตผเดตเตผ เดจเต‡เดŸเตเด•, /, เด•เตบเดธเต‹เดณเดฟเดฒเต‡เด•เตเด•เต "เดนเดฒเต‹ เดตเต‡เตพเดกเต" เดŽเดจเตเดจเต เดชเตเดฐเดฟเตปเตเดฑเต เดšเต†เดฏเตเดฏเตเดจเตเดจเต.
  • เดฒเต‹เดกเตเดœเต†เตป: เดŸเตเดฐเดพเดซเดฟเด•เตเด•เต เด…เดฏเด•เตเด•เตเดจเตเดจ เดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเต เดธเต†เตผเดตเตผ, เด’เดฐเต เดธเต†เด•เตเด•เตปเดกเดฟเตฝ เด•เตเดฐเดฎเต€เด•เดฐเดฟเด•เตเด•เดพเดตเตเดจเตเดจ เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เดณเตเดŸเต† เดŽเดฃเตเดฃเด‚.

เด‡เดธเตเดคเดฟเดฏเต‹เดฏเตโ€Œเด•เตเด•เดพเดฏเดฟ เด’เดฐเต เด…เดชเต‡เด•เตเดท เดคเดฏเตเดฏเดพเดฑเดพเด•เตเด•เตเดจเตเดจเต

เดธเต‹เดดเตเดธเต เด•เต‹เดกเดฟเตฝ เดจเดฟเดจเตเดจเต เด’เดฐเต เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเต

เดธเดพเดฎเตเดชเดฟเตพ เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดชเดฐเตเดฏเดตเต‡เด•เตเดทเดฃเด‚ เดšเต†เดฏเตเดฏเดพเตป, เด…เดคเต เด•เตเดฒเต—เดกเต เดทเต†เดฒเตเดฒเดฟเดฒเต‹ เดจเดฟเด™เตเด™เดณเตเดŸเต† เด•เดฎเตเดชเตเดฏเต‚เดŸเตเดŸเดฑเดฟเดฒเต‹ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเด•.
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-เดฏเดฟเตฝ เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต, เดจเดฟเด™เตเด™เตพ เดธเดพเดฎเตเดชเดฟเตพ เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดชเดพเด•เตเด•เต‡เดœเต เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต - เดธเต†เตผเดตเตผ ะธ เดฒเต‹เดกเตเดœเต†เตป - เตฝ เด•เดฃเตเดŸเต†เดฏเตเดจเดฑเตเด•เตพ. เด’เดฐเต เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเต† เด…เดคเดฟเตปเตเดฑเต† เดชเดฐเดฟเดคเดธเตเดฅเดฟเดคเดฟเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เด’เดฑเตเดฑเดชเตเดชเต†เดŸเตเดคเตเดคเดพเตป เดชเดพเด•เตเด•เต‡เดœเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เด’เดฐเต เดฎเดพเตผเด—เดฎเดพเดฃเต เด•เดฃเตเดŸเต†เดฏเตเดจเตผ.

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

เด‰เดฆเดพเดนเดฐเดฃเด‚ เด‡เดคเดฟเดจเด•เด‚ เด‰เดฃเตเดŸเต Dockerfile เดตเต‡เดฃเตเดŸเดฟ เดธเต†เตผเดตเตผ ะธ เดฒเต‹เดกเตเดœเต†เตป เดšเดฟเดคเตเดฐเด™เตเด™เตพ เดถเต‡เด–เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เด†เดตเดถเตเดฏเดฎเดพเดฏ เดŽเดฒเตเดฒเดพ เด•เดฎเดพเตปเดกเตเด•เดณเตเด‚ เดธเดนเดฟเดคเด‚. เดคเดพเดดเต† - Dockerfile เดตเต‡เดฃเตเดŸเดฟ เดธเต†เตผเดตเตผ:

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) เด•เดฃเตเดŸเต†เดฏเตเดจเดฑเดฟเตปเตเดฑเต† เดซเดฏเตฝ เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต.
  • เดŽเตปเดŸเตเดฐเดฟเดชเต‹เดฏเดฟเดจเตเดฑเต เด•เดฃเตเดŸเต†เดฏเตเดจเตผ เด†เดฐเด‚เดญเดฟเด•เตเด•เดพเตป เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจ เด•เดฎเดพเตปเดกเต เดจเดฟเตผเดตเดšเดฟเด•เตเด•เตเดจเตเดจเต. เดžเด™เตเด™เดณเตเดŸเต† เด•เดพเดฐเตเดฏเดคเตเดคเดฟเตฝ, เดˆ เด•เดฎเดพเตปเดกเต เดจเดฟเด™เตเด™เตพ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเดšเตเดšเดคเดฟเดจเต เดธเดฎเดพเดจเดฎเดพเดฃเต server.py เดธเต‹เดดเตเดธเต เด•เต‹เดกเดฟเตฝ เดจเดฟเดจเตเดจเต.
  • เดŸเต€เด‚ เดตเต†เดณเดฟเดชเตเดชเต†เดŸเตเดคเตเดคเตเด• เดŽเดจเตเดจเต เดธเต‚เดšเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเต เดธเต†เตผเดตเตผ เดชเต‹เตผเดŸเตเดŸเต เดตเดดเดฟเดฏเตเดณเตเดณ เดกเดพเดฑเตเดฑเดฏเตเด•เตเด•เดพเดฏเดฟ เด•เดพเดคเตเดคเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต 8080. เดˆ เดŸเต€เด‚ เด…เดฒเตเดฒ เดคเตเดฑเดฎเตเด–เด™เตเด™เตพ เดจเตฝเด•เตเดจเตเดจเต. เดชเต‹เตผเดŸเตเดŸเต เดคเตเดฑเด•เตเด•เดพเตป เด†เดตเดถเตเดฏเดฎเดพเดฏ เดšเดฟเดฒ เดกเต‹เด•เตเดฏเตเดฎเต†เตปเตเดฑเต‡เดทเดจเดพเดฃเดฟเดคเต 8080 เด•เดฃเตเดŸเต†เดฏเตเดจเตผ เด†เดฐเด‚เดญเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ.

เดจเดฟเด™เตเด™เดณเตเดŸเต† เด…เดชเต‡เด•เตเดท เด•เดฃเตเดŸเต†เดฏเตโ€Œเดจเดฑเตˆเดธเต เดšเต†เดฏเตเดฏเดพเตป เดคเดฏเตเดฏเดพเดฑเต†เดŸเตเด•เตเด•เตเดจเตเดจเต

1) เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดชเดฐเดฟเดธเตเดฅเดฟเดคเดฟ เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เตพ เดธเดœเตเดœเดฎเดพเด•เตเด•เตเด•. เดฎเดพเดฑเตเดฑเดฟเดธเตเดฅเดพเดชเดฟเด•เตเด•เตเด• PROJECT_ID เดจเดฟเด™เตเด™เดณเตเดŸเต† GCP เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเต เดเดกเดฟเดฏเดฟเดฒเต‡เด•เตเด•เต.

export PROJECT_ID="PROJECT_ID"

export GCR_REPO="preparing-istio"

เดฎเต‚เดฒเตเดฏเด™เตเด™เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต PROJECT_ID ะธ GCR_REPO เดจเดฟเด™เตเด™เตพ เดกเต‹เด•เตเด•เตผ เดšเดฟเดคเตเดฐเด‚ เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ เด…เดคเต เดŸเดพเด—เต เดšเต†เดฏเตเดฏเตเด•เดฏเตเด‚ เด’เดฐเต เดธเตเดตเด•เดพเดฐเตเดฏ เด•เดฃเตเดŸเต†เดฏเตเดจเตผ เดฐเดœเดฟเดธเตเดŸเตเดฐเดฟเดฏเดฟเดฒเต‡เด•เตเด•เต เดคเดณเตเดณเตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต.

2) เด•เดฎเดพเตปเดกเต เดฒเตˆเตป เดŸเต‚เดณเดฟเดจเตเดณเตเดณ เดกเดฟเดซเต‹เตพเดŸเตเดŸเต เดœเดฟเดธเดฟเดชเดฟ เดชเตเดฐเตŠเดœเด•เตเดฑเตเดฑเต เดธเดœเตเดœเดฎเดพเด•เตเด•เตเด• 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. เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดšเดฟเดคเตเดฐเด‚ เด•เต‚เดŸเตเดŸเดฟเดšเตเดšเต‡เตผเด•เตเด•เตเด• Dockerfile เดจเดฟเด™เตเด™เตพ เดจเต‡เดฐเดคเตเดคเต† เดจเดฟเตผเดตเดšเดฟเดšเตเดš เดชเดฐเดฟเดธเตเดฅเดฟเดคเดฟ เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เดณเตเด‚:

    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 เด•เตเดฒเดธเตเดฑเตเดฑเตผ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจเต:

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) เด•เดฎเดพเตปเดกเต เดฒเตˆเตป เดŸเต‚เดณเดฟเตฝ เด•เตเดฐเต†เดกเตปเดทเตเดฏเดฒเตเด•เตพ เดจเตฝเด•เตเด• เด•เตเดฌเต†เด•เตเดฒเดฟเด•เตเดฒเดธเตเดฑเตเดฑเตผ เดจเดฟเดฏเดจเตเดคเตเดฐเดฟเด•เตเด•เดพเตป เด‡เดคเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต:

gcloud container clusters get-credentials istioready

3) เด‡เดชเตเดชเต‹เตพ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเตเดฎเดพเดฏเดฟ เด†เดถเดฏเดตเดฟเดจเดฟเดฎเดฏเด‚ เดจเดŸเดคเตเดคเดพเด‚ เด•เตเดฌเต†เด•เตเดฒเดฟ. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เด•เดฎเดพเตปเดกเดฟเดจเต เดจเต‹เดกเตเด•เดณเตเดŸเต† เดจเดฟเดฒ เด•เดฃเตเดŸเต†เดคเตเดคเดพเตป เด•เดดเดฟเดฏเตเด‚:

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-เดฏเดฟเตฝ เด’เดฐเต เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เด•เดพเดฃเดฟเด•เตเด•เตเดจเตเดจเต:

เด‡เดธเตเดคเดฟเดฏเต‹เดฏเตโ€Œเด•เตเด•เดพเดฏเดฟ เด’เดฐเต เด…เดชเต‡เด•เตเดท เดคเดฏเตเดฏเดพเดฑเดพเด•เตเด•เตเดจเตเดจเต

เดจเดฟเด™เตเด™เตพ GKE-เดฏเดฟเตฝ เด•เดฃเตเดŸเต†เดฏเตโ€Œเดจเดฑเตเด•เตพ เดตเดฟเดจเตเดฏเดธเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดฎเตเดฎเตเดชเต, เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเดฟเตปเตเดฑเต† เดชเตเดฐเดงเดพเดจ เด†เดถเดฏเด™เตเด™เตพ เดชเด เดฟเด•เตเด•เตเด•. เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด•เต‚เดŸเตเดคเดฒเดฑเดฟเดฏเดฃเดฎเต†เด™เตเด•เดฟเตฝ เด…เดตเดธเดพเดจเด‚ เดฒเดฟเด™เตเด•เตเด•เดณเตเดฃเตเดŸเต.

  • เดจเต‹เดกเตเด•เดณเตเด‚ เด•เตเดฒเดธเตเดฑเตเดฑเดฑเตเด•เดณเตเด‚. GKE-เดฏเดฟเตฝ, เด’เดฐเต เดจเต‹เดกเต เด’เดฐเต เดตเต†เตผเดšเตเดตเตฝ เดฎเต†เดทเต€เดจเดพเดฃเต. เดฎเดฑเตเดฑเต เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเต เดชเตเดฒเดพเดฑเตเดฑเตโ€Œเดซเต‹เดฎเตเด•เดณเดฟเตฝ, เด’เดฐเต เดจเต‹เดกเต เด’เดฐเต เด•เดฎเตเดชเตเดฏเต‚เดŸเตเดŸเดฑเต‹ เดตเต†เตผเดšเตเดตเตฝ เดฎเต†เดทเต€เดจเต‹ เด†เด•เดพเด‚. เดจเดฟเด™เตเด™เตพ เด’เดฐเต เด•เดฃเตเดŸเต†เดฏเตโ€Œเดจเดฑเตˆเดธเตเดกเต เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดตเดฟเดจเตเดฏเดธเดฟเด•เตเด•เตเดจเตเดจ เด’เดฐเตŠเดฑเตเดฑ เดฏเต‚เดฃเดฟเดฑเตเดฑเดพเดฏเดฟ เด•เดฃเด•เตเด•เดพเด•เตเด•เดพเดตเตเดจเตเดจ เดจเต‹เดกเตเด•เดณเตเดŸเต† เด’เดฐเต เดถเต‡เด–เดฐเดฎเดพเดฃเต เด•เตเดฒเดธเตเดฑเตเดฑเตผ.
  • เด•เดพเดฏเตเด•เตพ. เด•เตเดฌเต†เตผเดจเต†เดฑเตเดฑเดธเดฟเตฝ, เด•เดฃเตเดŸเต†เดฏเตเดจเดฑเตเด•เตพ เดชเต‹เดกเตเด•เดณเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต. เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเดฟเดฒเต† เด’เดฐเต เดชเต‹เดกเต เด’เดฐเต เด…เดตเดฟเดญเดพเดœเตเดฏ เดฏเต‚เดฃเดฟเดฑเตเดฑเดพเดฃเต. เด’เดฐเต เดชเต‹เดกเต เด’เดจเตเดจเต‹ เด…เดคเดฟเดฒเดงเดฟเด•เดฎเต‹ เด•เดฃเตเดŸเต†เดฏเตเดจเดฑเตเด•เตพ เดธเต‚เด•เตเดทเดฟเด•เตเด•เตเดจเตเดจเต. เดจเดฟเด™เตเด™เตพ เดธเต†เตผเดตเตผ เด•เดฃเตเดŸเต†เดฏเตเดจเดฑเตเด•เตพ เดตเดฟเดจเตเดฏเดธเดฟเด•เตเด•เตเดจเตเดจเต เด’เดชเตเดชเด‚ เดฒเต‹เดกเตเดœเต†เตป เดชเตเดฐเดคเตเดฏเต‡เด• เด•เดพเดฏเตเด•เดณเดฟเตฝ. เด’เดฐเต เดชเต‹เดกเดฟเตฝ เดจเดฟเดฐเดตเดงเดฟ เด•เดฃเตเดŸเต†เดฏเตโ€Œเดจเดฑเตเด•เตพ เด‰เดณเตเดณเดชเตเดชเต‹เตพ (เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เด’เดฐเต เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดธเต†เตผเดตเตผ เด’เดชเตเดชเด‚ เดชเตเดฐเต‡เดพเด•เตเดธเดฟ เดธเต†เดฐเตเดตเดฐเต), เด•เดฃเตเดŸเต†เดฏเตโ€Œเดจเดฑเตเด•เตพ เด’เดฐเตŠเดฑเตเดฑ เดŽเตปเตเดฑเดฟเดฑเตเดฑเดฟเดฏเดพเดฏเดฟ เดจเดฟเดฏเดจเตเดคเตเดฐเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดชเต‹เดกเต เด‰เดฑเดตเดฟเดŸเด™เตเด™เตพ เดชเด™เตเด•เดฟเดŸเตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต.
  • เดตเดฟเดจเตเดฏเดพเดธเด™เตเด™เตพ. เด•เตเดฌเต†เตผเดจเต†เดฑเตเดฑเดธเดฟเตฝ, เด’เดฐเต‡ เดชเต‹เดกเตเด•เดณเตเดŸเต† เดถเต‡เด–เดฐเดฎเดพเดฏ เด’เดฐเต เดตเดธเตเดคเตเดตเดพเดฃเต เดตเดฟเดจเตเดฏเดพเดธเด‚. เดตเดฟเดจเตเดฏเดพเดธเด‚ เด•เตเดฒเดธเตเดฑเตเดฑเตผ เดจเต‹เดกเตเด•เดณเดฟเดฒเตเดŸเดจเต€เดณเด‚ เดตเดฟเดคเดฐเดฃเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจ เดชเต‹เดกเตเด•เดณเตเดŸเต† เด’เดจเตเดจเดฟเดฒเดงเดฟเด•เด‚ เดชเด•เตผเดชเตเดชเตเด•เตพ เดธเดฎเดพเดฐเด‚เดญเดฟเด•เตเด•เตเดจเตเดจเต. เดตเดฟเดจเตเดฏเดพเดธเด‚ เดชเดฐเดพเดœเดฏเดชเตเดชเต†เดŸเตเดŸเดคเต‹ เดชเตเดฐเดคเดฟเด•เดฐเดฟเด•เตเด•เดพเดคเตเดคเดคเต‹ เด†เดฏ เดชเต‹เดกเตเด•เตพ เดธเตเดตเดฏเดฎเต‡เดต เดฎเดพเดฑเตเดฑเดฟเดธเตเดฅเดพเดชเดฟเด•เตเด•เตเดจเตเดจเต.
  • เด•เตเดฌเต†เตผเดจเต†เดฑเตเดฑเดธเต เดธเต‡เดตเดจเด‚. GKE-เดฏเดฟเตฝ เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เด•เต‹เดกเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ, เดคเดฎเตเดฎเดฟเดฒเตเดณเตเดณ เด•เดฃเด•เตเดทเตป เดฒเต‹เดกเตเดœเต†เตป ะธ เดธเต†เตผเดตเตผ. เดจเดฟเด™เตเด™เตพ เด’เดฐเต เด•เตเดฒเต—เดกเต เดทเต†เตฝ เดตเต†เตผเดšเตเดตเตฝ เดฎเต†เดทเต€เดจเดฟเดฒเต‹ เดกเต†เดธเตเด•เตเดŸเต‹เดชเตเดชเดฟเดฒเต‹ เดธเต‡เดตเดจเด™เตเด™เตพ เด†เดฐเด‚เดญเดฟเดšเตเดšเดชเตเดชเต‹เตพ, เดจเดฟเด™เตเด™เตพ เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เตพ เด…เดฏเดšเตเดšเต เดธเต†เตผเดตเตผ ะฟะพ ะฐะดั€ะตััƒ localhost: 8080. GKE-เดฒเต‡เด•เตเด•เต เดตเดฟเดจเตเดฏเดธเดฟเดšเตเดšเตเด•เดดเดฟเดžเตเดžเดพเตฝ, เดฒเดญเตเดฏเดฎเดพเดฏ เดจเต‹เดกเตเด•เดณเดฟเตฝ เดชเต‹เดกเตเด•เตพ เดŽเด•เตเดธเดฟเด•เตเดฏเต‚เดŸเตเดŸเต เดšเต†เดฏเตเดฏเดชเตเดชเต†เดŸเตเด‚. เดกเดฟเดซเต‹เตพเดŸเตเดŸเดพเดฏเดฟ, เดชเต‹เดกเต เดเดคเต เดจเต‹เดกเดฟเดฒเดพเดฃเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเดคเต†เดจเตเดจเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดจเดฟเดฏเดจเตเดคเตเดฐเดฃเดฎเดฟเดฒเตเดฒ, เด…เดคเดฟเดจเดพเตฝ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด•เดพเดฏเตเด•เตพ เดธเตเดฅเดฟเดฐเดฎเดพเดฏ IP เดตเดฟเดฒเดพเดธเด™เตเด™เดณเดฟเดฒเตเดฒ.
    เด’เดฐเต เดเดชเดฟ เดตเดฟเดฒเดพเดธเด‚ เดฒเดญเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดธเต†เตผเดตเตผ, เดจเดฟเด™เตเด™เตพ เดชเต‹เดกเตเด•เดณเตเดŸเต† เดฎเตเด•เดณเดฟเตฝ เด’เดฐเต เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เด…เดฎเต‚เตผเดคเตเดคเต€เด•เดฐเดฃเด‚ เดจเดฟเตผเดตเตเดตเดšเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต. เด…เดคเดพเดฃเต เด…เดคเต เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเต เดธเต‡เดตเดจเด‚. เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเต เดธเต‡เดตเดจเด‚ เด’เดฐเต เด•เต‚เดŸเตเดŸเด‚ เดชเต‹เดกเตเด•เตพเด•เตเด•เต เดธเตเดฅเดฟเดฐเดฎเดพเดฏ เด’เดฐเต เดŽเตปเดกเต เดชเต‹เดฏเดฟเตปเตเดฑเต เดจเตฝเด•เตเดจเตเดจเต. เด•เตเดฑเดšเตเดšเต เด‰เดฃเตเดŸเต เดธเต‡เดตเดจเด™เตเด™เดณเตเดŸเต† เดคเดฐเด™เตเด™เตพ. เดธเต†เตผเดตเตผ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต เดฒเต‹เดกเตเดฌเดพเดฒเตปเดธเตผ, เดฌเดจเตเดงเดชเตเดชเต†เดŸเดพเตป เด’เดฐเต เดฌเดพเดนเตเดฏ IP เดตเดฟเดฒเดพเดธเด‚ เดจเตฝเด•เตเดจเตเดจเต เดธเต†เตผเดตเตผ เด•เตเดฒเดธเตเดฑเตเดฑเดฑเดฟเดจเต เดชเตเดฑเดคเตเดคเต เดจเดฟเดจเตเดจเต.
    เดกเดฟเดŽเตปเดŽเดธเต เดชเต‡เดฐเตเด•เตพ เดจเตฝเด•เตเดจเตเดจ เด’เดฐเต เดฌเดฟเตฝเดฑเตเดฑเต-เด‡เตป เดกเดฟเดŽเตปเดŽเดธเต เดธเดฟเดธเตเดฑเตเดฑเดตเตเด‚ เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเดฟเดจเตเดฃเตเดŸเต (เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, helloserver.default.cluster.local) เดธเต‡เดตเดจเด™เตเด™เดณเต. เด‡เดคเดฟเดจเต เดจเดจเตเดฆเดฟ, เด•เตเดฒเดธเตเดฑเตเดฑเดฑเดฟเดจเตเดณเตเดณเดฟเดฒเต† เดชเต‹เดกเตเด•เตพ เด•เตเดฒเดธเตเดฑเตเดฑเดฑเดฟเดฒเต† เดฎเดฑเตเดฑเต เดชเต‹เดกเตเด•เดณเตเดฎเดพเดฏเดฟ เดธเตเดฅเดฟเดฐเดฎเดพเดฏ เดตเดฟเดฒเดพเดธเดคเตเดคเดฟเตฝ เด†เดถเดฏเดตเดฟเดจเดฟเดฎเดฏเด‚ เดจเดŸเดคเตเดคเตเดจเตเดจเต. เด•เตเดฒเต—เดกเต เดทเต†เดฒเตเดฒเดฟเดฒเต‹ เด•เดฎเตเดชเตเดฏเต‚เดŸเตเดŸเดฑเดฟเดฒเต‹ เดชเต‹เดฒเตเดณเตเดณ เด•เตเดฒเดธเตเดฑเตเดฑเดฑเดฟเดจเต เดชเตเดฑเดคเตเดคเต DNS เดชเต‡เดฐเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเดฟเดฒเตเดฒ.

เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเต เดชเตเดฐเด•เดŸเดฎเดพเด•เตเด•เตเดจเตเดจเต

เดจเดฟเด™เตเด™เตพ เด‰เดฑเดตเดฟเดŸเดคเตเดคเดฟเตฝ เดจเดฟเดจเตเดจเต เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ, เดจเดฟเด™เตเด™เตพ เดจเดฟเตผเดฌเดจเตเดงเดฟเดค เด•เดฎเดพเตปเดกเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดชเตˆเดคเตเดคเตบ 3

server.py

เดจเดฟเตผเดฌเดจเตเดงเดฟเดคเด‚ เด’เดฐเต เด•เตเดฐเดฟเดฏเดฏเต† เดธเต‚เดšเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเต: "เด‡เดคเต เดšเต†เดฏเตเดฏเตเด•."

เด•เตเดฌเต†เตผเดจเต†เดฑเตเดฑเดธเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต เดชเตเดฐเด–เตเดฏเดพเดชเดจ เดฎเดพเดคเตƒเด•. เด‡เดคเดฟเดจเตผเดคเตเดฅเด‚ เดžเด™เตเด™เตพ เด•เตเดฌเต†เตผเดจเต†เดฑเตเดฑเดฟเดจเต‹เดŸเต เด•เตƒเดคเตเดฏเดฎเดพเดฏเดฟ เดŽเดจเตเดคเดพเดฃเต เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดคเต†เดจเตเดจเต เดชเดฑเดฏเตเดจเตเดจเดฟเดฒเตเดฒ, เดฎเดฑเดฟเดšเตเดšเต เด†เดตเดถเตเดฏเดฎเตเดณเตเดณ เด…เดตเดธเตเดฅเดฏเต† เดตเดฟเดตเดฐเดฟเด•เตเด•เตเด•เดฏเดพเดฃเต. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเตปเตเดฑเต† เดฏเดฅเดพเตผเดคเตเดฅ เด…เดตเดธเตเดฅ เด†เดตเดถเตเดฏเดฎเตเดณเตเดณ เด…เดตเดธเตเดฅเดฏเตเดฎเดพเดฏเดฟ เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดจเตเดจเดคเดฟเดจเต เด†เดตเดถเตเดฏเดฎเดพเดฏ เดชเต‹เดกเตเด•เตพ เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเต เด†เดฐเด‚เดญเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดจเดฟเตผเดคเตเดคเตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต.

เดฎเดพเดจเดฟเดซเต†เดธเตเดฑเตเดฑเตเด•เดณเดฟเดฒเต‹ เดซเดฏเดฒเตเด•เดณเดฟเดฒเต‹ เดจเดฟเด™เตเด™เตพ เด†เดตเดถเตเดฏเดฎเตเดณเตเดณ เด…เดตเดธเตเดฅ เดธเต‚เดšเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเต YAML. เด’เดฐเต YAML เดซเดฏเดฒเดฟเตฝ เด’เดจเตเดจเต‹ เด…เดคเดฟเดฒเดงเดฟเด•เดฎเต‹ Kubernetes เด’เดฌเตโ€Œเดœเด•เตโ€Œเดฑเตเดฑเตเด•เตพเด•เตเด•เดพเดฏเตเดณเตเดณ เดธเตเดชเต†เดธเดฟเดซเดฟเด•เตเด•เต‡เดทเดจเตเด•เตพ เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต.

เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเตฝ เด’เดฐเต 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

  • เดฆเดฏเดฏเต‹เดŸเต† เดตเดธเตเดคเตเดตเดฟเตปเตเดฑเต† เดคเดฐเด‚ เดธเต‚เดšเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเต.
  • เดฎเต†เดฑเตเดฑเดพเดกเดพเดฑเตเดฑ.เดชเต‡เดฐเต เดตเดฟเดจเตเดฏเดพเดธเดคเตเดคเดฟเตปเตเดฑเต† เดชเต‡เดฐเต เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เตเดจเตเดจเต.
  • เด†เดฆเตเดฏ เดซเต€เตฝเดกเต เดธเตเดชเต†เด•เตเด•เต เด†เดตเดถเตเดฏเดฎเตเดณเตเดณ เด…เดตเดธเตเดฅเดฏเตเดŸเต† เด’เดฐเต เดตเดฟเดตเดฐเดฃเด‚ เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต.
  • 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 เดตเดฟเดฒเดพเดธเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เด•เตเดฒเดฏเตปเตเดฑเตเด•เตพ เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เตพ เด…เดฏเดฏเตโ€Œเด•เตเด•เตเดจเตเดจเต.
  • เดŸเดพเตผเด—เต†เดฑเตเดฑเต เดชเต‹เตผเดŸเตเดŸเต: เดจเดฟเด™เตเด™เตพ เด“เตผเด•เตเด•เตเดจเตเดจเดคเตเดชเต‹เดฒเต†, เดŸเต€เด‚ เดŽเด•เตเดธเตเดชเต‹เดธเต 8080 ะฒ Dockerfile เดคเตเดฑเดฎเตเด–เด™เตเด™เตพ เดจเตฝเด•เดฟเดฏเดฟเดฒเตเดฒ. เดจเดฟเด™เตเด™เตพ เดคเตเดฑเดฎเตเด–เด‚ เดจเตฝเด•เตเดจเตเดจเต 8080เด…เดคเดฟเดจเดพเตฝ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด•เดฃเตเดŸเต†เดฏเตเดจเดฑเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดชเตเดชเต†เดŸเดพเด‚ เดธเต†เตผเดตเตผ เด•เตเดฒเดธเตเดฑเตเดฑเดฑเดฟเดจเต เดชเตเดฑเดคเตเดคเต. เดžเด™เตเด™เดณเตเดŸเต† เด•เดพเดฐเตเดฏเดคเตเดคเดฟเตฝ hellosvc.default.cluster.local:80 (เดนเตเดฐเดธเตเดต เดจเดพเดฎเด‚: hellosvc) เดชเต‹เตผเดŸเตเดŸเตเดฎเดพเดฏเดฟ เดฏเต‹เดœเดฟเด•เตเด•เตเดจเตเดจเต 8080 เดชเต‹เดกเต เดเดชเดฟ เดตเดฟเดฒเดพเดธเด™เตเด™เตพ helloserver.
  • เดคเตเดฑเดฎเตเด–เด‚: เด•เตเดฒเดธเตเดฑเตเดฑเดฑเดฟเดฒเต† เดฎเดฑเตเดฑเต เดธเต‡เดตเดจเด™เตเด™เตพ เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เตพ เด…เดฏเดฏเตเด•เตเด•เตเดจเตเดจ เดชเต‹เตผเดŸเตเดŸเต เดจเดฎเตเดชเดฑเดพเดฃเดฟเดคเต.

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) เดฌเดพเดนเตเดฏ เดเดชเดฟ เดตเดฟเดฒเดพเดธเด™เตเด™เตพ เดจเต‡เดŸเตเด• hellosvc:

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) เด’เดฐเต เด…เดญเตเดฏเตผเดคเตเดฅเดจ เด…เดฏเดฏเตเด•เตเด•เตเด• hellosvc: เดชเด•เดฐเด‚ EXTERNAL_IP เดฌเดพเดนเตเดฏ IP เดตเดฟเดฒเดพเดธเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต hellosvc.

curl http://EXTERNAL_IP

เดจเดฎเตเด•เตเด•เต เด‡เดธเตเดคเดฟเดฏเต‹ เดŽเดŸเตเด•เตเด•เดพเด‚

เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด‡เดคเดฟเดจเด•เด‚ เดคเดจเตเดจเต† GKE-เดฒเต‡เด•เตเด•เต เด’เดฐเต เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดตเดฟเดจเตเดฏเดธเดฟเดšเตเดšเดฟเดŸเตเดŸเตเดฃเตเดŸเต. เดฒเต‹เดกเตเดœเต†เตป Kubernetes DNS เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚ (hellovc:80) เดŽเดจเตเดจเดคเดฟเดฒเต‡เด•เตเด•เต เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เตพ เด…เดฏเด•เตเด•เดพเตป เดธเต†เตผเดตเตผเดŽเดจเตเดจเดคเดฟเดฒเต‡เด•เตเด•เต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เตพ เด…เดฏเด•เตเด•เดพเด‚ เดธเต†เตผเดตเตผ เดฌเดพเดนเตเดฏ IP เดตเดฟเดฒเดพเดธเด‚ เดตเดดเดฟ. Kubernetes-เดจเต เดจเดฟเดฐเดตเดงเดฟ เดธเดตเดฟเดถเต‡เดทเดคเด•เตพ เด‰เดฃเตเดŸเต†เด™เตเด•เดฟเดฒเตเด‚, เดธเต‡เดตเดจเด™เตเด™เดณเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เดšเดฟเดฒ เดตเดฟเดตเดฐเด™เตเด™เตพ เดจเดทเตโ€ŒเดŸเดฎเดพเดฏเดฟเดŸเตเดŸเตเดฃเตเดŸเต:

  • เดธเต‡เดตเดจเด™เตเด™เตพ เดŽเด™เตเด™เดจเต†เดฏเดพเดฃเต เด‡เดŸเดชเต†เดŸเตเดจเตเดจเดคเต? เดธเต‡เดตเดจเด™เตเด™เตพ เดคเดฎเตเดฎเดฟเดฒเตเดณเตเดณ เดฌเดจเตเดงเด‚ เดŽเดจเตเดคเดพเดฃเต? เดธเต‡เดตเดจเด™เตเด™เตพเด•เตเด•เดฟเดŸเดฏเดฟเตฝ เดŸเตเดฐเดพเดซเดฟเด•เต เดŽเด™เตเด™เดจเต† เด’เดดเตเด•เตเดจเตเดจเต? เด…เดคเต เดคเดพเด™เตเด•เตพเด•เตเด•เต เด…เดฑเดฟเดฏเดพเดฎเต‹ เดฒเต‹เดกเตเดœเต†เตป เดŽเดจเตเดจเดคเดฟเดฒเต‡เด•เตเด•เต เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เตพ เด…เดฏเดฏเตเด•เตเด•เตเดจเตเดจเต เดธเต†เตผเดตเตผ, เดŽเดจเตเดจเดพเตฝ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเต† เด•เตเดฑเดฟเดšเตเดšเต เด’เดจเตเดจเตเด‚ เด…เดฑเดฟเดฏเดฟเดฒเตเดฒเต†เดจเตเดจเต เดธเด™เตเด•เตฝเดชเตเดชเดฟเด•เตเด•เตเด•. เดˆ เดšเต‹เดฆเตเดฏเด™เตเด™เตพเด•เตเด•เต เด‰เดคเตเดคเดฐเด‚ เดจเตฝเด•เดพเตป, GKE-เดฏเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจ เดชเต‹เดกเตเด•เดณเตเดŸเต† เดชเดŸเตเดŸเดฟเด• เดจเต‹เด•เตเด•เดพเด‚.
  • เดฎเต†เดŸเตเดฐเดฟเด•เตเดธเต. เดŽเดคเตเดฐเด•เดพเดฒเด‚ เดธเต†เตผเดตเตผ เด’เดฐเต เด‡เตปเด•เดฎเดฟเด‚เด—เต เด…เดญเตเดฏเตผเดคเตเดฅเดจเดฏเต‹เดŸเต เดชเตเดฐเดคเดฟเด•เดฐเดฟเด•เตเด•เตเดฎเต‹? เดธเต†เตผเดตเดฑเดฟเดจเต เดธเต†เด•เตเด•เตปเดกเดฟเตฝ เดŽเดคเตเดฐ เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เตพ เดฒเดญเดฟเด•เตเด•เตเดจเตเดจเต? เด‡เดคเต เดชเดฟเดถเด•เต เดธเดจเตเดฆเต‡เดถเด™เตเด™เตพ เดจเตฝเด•เตเดจเตเดจเตเดฃเตเดŸเต‹?
  • เดธเตเดฐเด•เตเดทเดพ เดตเดฟเดตเดฐเด™เตเด™เตพ. เด‡เดŸเดฏเดฟเตฝ เด—เดคเดพเด—เดคเด‚ เดฒเต‹เดกเตเดœเต†เตป ะธ เดธเต†เตผเดตเตผ เดตเต†เดฑเตเดคเต† เด•เดŸเดจเตเดจเตเดชเต‹เด•เตเดจเตเดจเต HTTP เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดตเดดเดฟ mTLS?

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

เดŽเตปเดตเต‹เดฏเต เดชเตเดฐเต‹เด•เตเดธเดฟเด•เตพ เดคเดฎเตเดฎเดฟเดฒเตเดณเตเดณ เด•เดฃเด•เตเดทเดจเตเด•เตพ เด’เดฐเต เดธเต‡เดตเดจ เดฎเต†เดทเต เด‰เดฃเตเดŸเดพเด•เตเด•เตเดจเตเดจเต. เดธเต‡เดตเดจ เดฎเต†เดทเต เด†เตผเด•เตเด•เดฟเดŸเต†เด•เตเดšเตผ เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดฟเตปเตเดฑเต† เดฎเตเด•เดณเดฟเตฝ เดจเดฟเดฏเดจเตเดคเตเดฐเดฃเดคเตเดคเดฟเตปเตเดฑเต† เด’เดฐเต เดชเดพเดณเดฟ เดจเตฝเด•เตเดจเตเดจเต.

เด‡เดธเตเดคเดฟเดฏเต‹เดฏเตโ€Œเด•เตเด•เดพเดฏเดฟ เด’เดฐเต เด…เดชเต‡เด•เตเดท เดคเดฏเตเดฏเดพเดฑเดพเด•เตเด•เตเดจเตเดจเต

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

  • เดŽเดฒเตเดฒเดพ เด•เดฃเตเดŸเต†เดฏเตโ€Œเดจเดฑเตเด•เตพเด•เตเด•เตเดฎเตเดณเตเดณ เดธเต‡เดตเดจเด™เตเด™เตพ. เดตเดฟเดจเตเดฏเดพเดธเด™เตเด™เดณเดฟเดฒเต‡เด•เตเด•เต เดธเต†เตผเดตเตผ ะธ เดฒเต‹เดกเตเดœเต†เตป เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเต เดธเต‡เดตเดจเดตเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดฟเดชเตเดชเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต. เดชเต‹เดฒเตเด‚ เดฒเต‹เดกเตเดœเต†เตป, เด‡เตปเด•เดฎเดฟเด‚เด—เต เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เตพ เดฒเดญเดฟเด•เตเด•เดพเดคเตเดค, เด’เดฐเต เดธเต‡เดตเดจเดฎเตเดฃเตเดŸเต.
  • เดธเต‡เดตเดจเด™เตเด™เดณเดฟเดฒเต† เดคเตเดฑเดฎเตเด–เด™เตเด™เตพเด•เตเด•เต เดชเต‡เดฐเตเด•เตพ เด‰เดฃเตเดŸเดพเดฏเดฟเดฐเดฟเด•เตเด•เดฃเด‚. เดธเต‡เดตเดจ เดชเต‹เตผเดŸเตเดŸเตเด•เตพ GKE-เดฏเดฟเตฝ เดชเต‡เดฐเดฟเดŸเดพเดคเต† เดตเดฟเดŸเดพเดฎเต†เด™เตเด•เดฟเดฒเตเด‚, เดจเดฟเด™เตเด™เตพ เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เดพเตป เด‡เดธเตเดคเดฟเดฏเต‹ เด†เดตเดถเตเดฏเดชเตเดชเต†เดŸเตเดจเตเดจเต เดชเต‹เตผเดŸเตเดŸเต เดจเดพเดฎเด‚ เด…เดตเตปเตเดฑเต† เดชเตเดฐเต‹เดŸเตเดŸเต‹เด•เตเด•เต‹เตพ เด…เดจเตเดธเดฐเดฟเดšเตเดšเต. YAML เดซเดฏเดฒเดฟเตฝ เด‡เดคเดฟเดจเดพเดฏเดฟ เดชเต‹เตผเดŸเตเดŸเต เดธเต†เตผเดตเตผ เดตเดฟเดณเดฟเด•เตเด•เตเดจเตเดจเต http:เด•เดพเดฐเดฃเด‚ เดธเต†เตผเดตเตผ เดชเตเดฐเต‹เดŸเตเดŸเต‹เด•เตเด•เต‹เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต HTTP. เดŽเด™เตเด•เดฟเตฝ เดธเต‡เดตเดจเด‚ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต gRPC, เดจเดฟเด™เตเด™เตพ เดคเตเดฑเดฎเตเด–เดคเตเดคเดฟเดจเต เดชเต‡เดฐเดฟเดŸเตเด‚ grpc.
  • เดตเดฟเดจเตเดฏเดพเดธเด™เตเด™เตพ เดซเตเดฒเดพเด—เต เดšเต†เดฏเตเดคเต. เด…เดคเดฟเดจเดพเตฝ, เด’เดฐเต‡ เดธเต‡เดตเดจเดคเตเดคเดฟเตปเตเดฑเต† เดชเดคเดฟเดชเตเดชเตเด•เตพเด•เตเด•เดฟเดŸเดฏเดฟเตฝ เดŸเตเดฐเดพเดซเดฟเด•เต เดตเดฟเดญเดœเดฟเด•เตเด•เตเดจเตเดจเดคเต เดชเต‹เดฒเต†เดฏเตเดณเตเดณ เด‡เดธเตเดคเดฟเดฏเต‹เดฏเตเดŸเต† เดŸเตเดฐเดพเดซเดฟเด•เต เดฎเดพเดจเต‡เดœเตเดฎเต†เตปเตเดฑเต เดธเดตเดฟเดถเต‡เดทเดคเด•เตพ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚.

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

เด‡เดธเตเดคเดฟเดฏเต‹ เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเดพเตป เดฐเดฃเตเดŸเต เดตเดดเดฟเด•เดณเตเดฃเตเดŸเต. เด•เดดเดฟเดฏเตเด‚ GKE เดตเดฟเดชเตเดฒเต€เด•เดฐเดฃเดคเตเดคเดฟเตฝ Istio เดชเตเดฐเดตเตผเดคเตเดคเดจเด•เตเดทเดฎเดฎเดพเด•เตเด•เตเด• เด…เดฅเดตเดพ เด‡เดธเตเดคเดฟเดฏเต‹เดฏเตเดŸเต† เด“เดชเตเดชเตบ เดธเต‹เดดเตเดธเต เดชเดคเดฟเดชเตเดชเต เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเตเด• เด•เตเดฒเดธเตเดฑเตเดฑเดฑเดฟเตฝ. GKE-เดฒเต† เด‡เดธเตเดคเดฟเดฏเต‹ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต, เดจเดฟเด™เตเด™เตพเด•เตเด•เต GKE เด•เตเดฒเดธเตเดฑเตเดฑเตผ เดฒเตˆเดซเต เดธเตˆเด•เตเด•เดฟเดณเดฟเดฒเตเดŸเดจเต€เดณเด‚ เด‡เดธเตเดคเดฟเดฏเต‹ เด‡เตปเดธเตเดฑเตเดฑเดพเดณเต‡เดทเดจเตเด•เดณเตเด‚ เด…เดชเตโ€Œเด—เตเดฐเต‡เดกเตเด•เดณเตเด‚ เดŽเดณเตเดชเตเดชเดคเตเดคเดฟเตฝ เดจเดฟเดฏเดจเตเดคเตเดฐเดฟเด•เตเด•เดพเดจเดพเด•เตเด‚. เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด‡เดธเตเดคเดฟเดฏเต‹เดฏเตเดŸเต† เดเดฑเตเดฑเดตเตเด‚ เดชเตเดคเดฟเดฏ เดชเดคเดฟเดชเตเดชเต‹ เดจเดฟเด™เตเด™เดณเตเดŸเต† เด‡เดธเตเดคเดฟเดฏเต‹ เด•เตบเดŸเตเดฐเต‹เตพ เดชเดพเดจเตฝ เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเดจเดฟเตฝ เด•เต‚เดŸเตเดคเตฝ เดจเดฟเดฏเดจเตเดคเตเดฐเดฃเดฎเต‹ เดตเต‡เดฃเดฎเต†เด™เตเด•เดฟเตฝ, GKE เดตเดฟเดชเตเดฒเต€เด•เดฐเดฃเดคเตเดคเดฟเดฒเต† Istio-เดจเต เดชเด•เดฐเด‚ เด“เดชเตเดชเตบ เดธเต‹เดดเตโ€Œเดธเต เดชเดคเดฟเดชเตเดชเต เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเตเด•. เดธเดฎเต€เดชเดจเด‚ เดคเต€เดฐเตเดฎเดพเดจเดฟเด•เตเด•เดพเตป, เดฒเต‡เด–เดจเด‚ เดตเดพเดฏเดฟเด•เตเด•เตเด• GKE-เดฏเดฟเตฝ เดŽเดจเดฟเด•เตเด•เต เด‡เดธเตเดคเดฟเดฏเต‹ เด†เดตเดถเตเดฏเดฎเตเดฃเตเดŸเต‹?.

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

เดตเตƒเดคเตเดคเดฟเดฏเดพเด•เตเด•เตฝ

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

เด…เดŸเตเดคเตเดคเดคเต เดŽเดจเตเดคเต?

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

เด’เดฐเต เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚ เดšเต‡เตผเด•เตเด•เตเด•