เช‰เชคเซเชชเชพเชฆเชจเชฎเชพเช‚ เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ Istio เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชšเชฒเชพเชตเชตเซเช‚. เชญเชพเช— 1

เชถเซเช‚ เช‡เชธเซเชŸเชฟเช“? เช† เช•เชนเซ‡เชตเชพเชคเชพ เชธเชฐเซเชตเชฟเชธ เชฎเซ‡เชถ เช›เซ‡, เชเช• เชเชตเซ€ เชคเช•เชจเซ€เช• เชœเซ‡ เชจเซ‡เชŸเชตเชฐเซเช• เชชเชฐ เช…เชฎเซ‚เชฐเซเชคเชคเชพเชจเซเช‚ เชธเซเชคเชฐ เช‰เชฎเซ‡เชฐเซ‡ เช›เซ‡. เช…เชฎเซ‡ เช•เซเชฒเชธเซเชŸเชฐเชฎเชพเช‚เชจเชพ เชคเชฎเชพเชฎ เช…เชฅเชตเชพ เช…เชฎเซเช• เชŸเซเชฐเชพเชซเชฟเช•เชจเซ‡ เช…เชŸเช•เชพเชตเซ€เช เช›เซ€เช เช…เชจเซ‡ เชคเซ‡เชจเซ€ เชธเชพเชฅเซ‡ เชšเซ‹เช•เซเช•เชธ เชธเซ‡เชŸ เช‘เชชเชฐเซ‡เชถเชจ เช•เชฐเซ€เช เช›เซ€เช. เช•เชฏเซ‹? เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เช…เชฎเซ‡ เชธเซเชฎเชพเชฐเซเชŸ เชฐเซ‚เชŸเซ€เช‚เช— เช•เชฐเซ€เช เช›เซ€เช, เช…เชฅเชตเชพ เช…เชฎเซ‡ เชธเชฐเซเช•เชฟเชŸ เชฌเซเชฐเซ‡เช•เชฐ เช…เชญเชฟเช—เชฎเชจเซ‹ เช…เชฎเชฒ เช•เชฐเซ€เช เช›เซ€เช, เช…เชฎเซ‡ "เช•เซ‡เชจเซ‡เชฐเซ€ เชกเชฟเชชเซเชฒเซ‹เชฏเชฎเซ‡เชจเซเชŸ" เช—เซ‹เช เชตเซ€ เชถเช•เซ€เช เช›เซ€เช, เชŸเซเชฐเชพเชซเชฟเช•เชจเซ‡ เช†เช‚เชถเชฟเช• เชฐเซ€เชคเซ‡ เชธเซ‡เชตเชพเชจเชพ เชจเชตเชพ เชธเช‚เชธเซเช•เชฐเชฃ เชชเชฐ เชธเซเชตเชฟเชš เช•เชฐเซ€ เชถเช•เซ€เช เช›เซ€เช, เช…เชฅเชตเชพ เช…เชฎเซ‡ เชฌเชพเชนเซเชฏ เช•เซเชฐเชฟเชฏเชพเชชเซเชฐเชคเชฟเช•เซเชฐเชฟเชฏเชพเช“เชจเซ‡ เชฎเชฐเซเชฏเชพเชฆเชฟเชค เช•เชฐเซ€ เชถเช•เซ€เช เช›เซ€เช เช…เชจเซ‡ เช•เซเชฒเชธเซเชŸเชฐเชฅเซ€ เชคเชฎเชพเชฎ เชŸเซเชฐเชฟเชชเซเชธเชจเซ‡ เชจเชฟเชฏเช‚เชคเซเชฐเชฟเชค เช•เชฐเซ€ เชถเช•เซ€เช เช›เซ€เช. เชฌเชพเชนเซเชฏ เชจเซ‡เชŸเชตเชฐเซเช•. เชตเชฟเชตเชฟเชง เชฎเชพเช‡เช•เซเชฐเซ‹เชธเซ‡เชตเชพเช“ เชตเชšเซเชšเซ‡เชจเซ€ เชŸเซเชฐเชฟเชชเซเชธเชจเซ‡ เชจเชฟเชฏเช‚เชคเซเชฐเชฟเชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชจเซ€เชคเชฟ เชจเชฟเชฏเชฎเซ‹ เชธเซ‡เชŸ เช•เชฐเชตเชพเชจเซเช‚ เชถเช•เซเชฏ เช›เซ‡. เช…เช‚เชคเซ‡, เช…เชฎเซ‡ เชธเชฎเช—เซเชฐ เชจเซ‡เชŸเชตเชฐเซเช• เช•เซเชฐเชฟเชฏเชพเชชเซเชฐเชคเชฟเช•เซเชฐเชฟเชฏเชพเชจเซ‹ เชจเช•เชถเซ‹ เชฎเซ‡เชณเชตเซ€ เชถเช•เซ€เช เช›เซ€เช เช…เชจเซ‡ เชฎเซ‡เชŸเซเชฐเชฟเช•เซเชธเชจเชพ เชเช•เซ€เช•เซƒเชค เชธเช‚เช—เซเชฐเชนเชจเซ‡ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเซเชธ เชฎเชพเชŸเซ‡ เชธเช‚เชชเซ‚เชฐเซเชฃเชชเชฃเซ‡ เชชเชพเชฐเชฆเชฐเซเชถเช• เชฌเชจเชพเชตเซ€ เชถเช•เซ€เช เช›เซ€เช.

เชฎเชพเช‚ เช•เชพเชฎ เช•เชฐเชตเชพเชจเซ€ เชชเชฆเซเชงเชคเชฟ เชตเชฟเชถเซ‡ เชคเชฎเซ‡ เชตเชพเช‚เชšเซ€ เชถเช•เซ‹ เช›เซ‹ เชธเชคเซเชคเชพเชตเชพเชฐ เชฆเชธเซเชคเชพเชตเซ‡เชœเซ€เช•เชฐเชฃ. Istio เช เช–เชฐเซ‡เช–เชฐ เชถเช•เซเชคเชฟเชถเชพเชณเซ€ เชธเชพเชงเชจ เช›เซ‡ เชœเซ‡ เชคเชฎเชจเซ‡ เช˜เชฃเชพ เช•เชพเชฐเซเชฏเซ‹ เช…เชจเซ‡ เชธเชฎเชธเซเชฏเชพเช“ เชนเชฒ เช•เชฐเชตเชพ เชฆเซ‡ เช›เซ‡. เช† เชฒเซ‡เช–เชฎเชพเช‚, เชนเซเช‚ เช‡เชธเซเชŸเชฟเช“ เชธเชพเชฅเซ‡ เชชเซเชฐเชพเชฐเช‚เชญ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡ เช‰เชฆเซเชญเชตเชคเชพ เชฎเซเช–เซเชฏ เชชเซเชฐเชถเซเชจเซ‹เชจเชพ เชœเชตเชพเชฌ เช†เชชเชตเชพ เชฎเชพเช‚เช—เซ เช›เซเช‚. เช† เชคเชฎเชจเซ‡ เชคเซ‡เชจเซ€ เชธเชพเชฅเซ‡ เชเชกเชชเชฅเซ€ เชตเซเชฏเชตเชนเชพเชฐ เช•เชฐเชตเชพเชฎเชพเช‚ เชฎเชฆเชฆ เช•เชฐเชถเซ‡.

เช‰เชคเซเชชเชพเชฆเชจเชฎเชพเช‚ เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ Istio เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชšเชฒเชพเชตเชตเซเช‚. เชญเชพเช— 1

เชคเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡

Istio เชฌเซ‡ เชฎเซเช–เซเชฏ เช•เซเชทเซ‡เชคเซเชฐเซ‹ เชงเชฐเชพเชตเซ‡ เช›เซ‡ - เชจเชฟเชฏเช‚เชคเซเชฐเชฃ เชชเซเชฒเซ‡เชจ เช…เชจเซ‡ เชกเซ‡เชŸเชพ เชชเซเชฒเซ‡เชจ. เช•เช‚เชŸเซเชฐเซ‹เชฒ เชชเซเชฒเซ‡เชจเชฎเชพเช‚ เชฎเซเช–เซเชฏ เช˜เชŸเช•เซ‹ เชถเชพเชฎเซ‡เชฒ เช›เซ‡ เชœเซ‡ เชฌเชพเช•เซ€เชจเชพ เชฏเซ‹เช—เซเชฏ เชธเช‚เชšเชพเชฒเชจเชจเซ‡ เชธเซเชจเชฟเชถเซเชšเชฟเชค เช•เชฐเซ‡ เช›เซ‡. เชตเชฐเซเชคเชฎเชพเชจ เชธเช‚เชธเซเช•เชฐเชฃ (1.0) เชฎเชพเช‚ เช•เช‚เชŸเซเชฐเซ‹เชฒ เชชเซเชฒเซ‡เชจเชฎเชพเช‚ เชคเซเชฐเชฃ เชฎเซเช–เซเชฏ เช˜เชŸเช•เซ‹ เช›เซ‡: เชชเชพเชฏเชฒเชŸ, เชฎเชฟเช•เซเชธเชฐ, เชธเชฟเชŸเชพเชกเซ‡เชฒ. เช…เชฎเซ‡ เชธเชฟเชŸเชพเชกเซ‡เชฒเชจเซ‡ เชงเซเชฏเชพเชจเชฎเชพเช‚ เชฒเชˆเชถเซเช‚ เชจเชนเซ€เช‚, เชธเซ‡เชตเชพเช“ เชตเชšเซเชšเซ‡ เชชเชฐเชธเซเชชเชฐ TLS เชธเซเชจเชฟเชถเซเชšเชฟเชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐเซ‹ เชœเชจเชฐเซ‡เชŸ เช•เชฐเชตเชพ เชœเชฐเซ‚เชฐเซ€ เช›เซ‡. เชšเชพเชฒเซ‹ เชชเชพเชฏเชฒเซ‹เชŸ เช…เชจเซ‡ เชฎเชฟเช•เซเชธเชฐเชจเชพ เช‰เชชเช•เชฐเชฃ เช…เชจเซ‡ เชนเซ‡เชคเซ เชชเชฐ เชจเชœเซ€เช•เชฅเซ€ เชจเชœเชฐ เช•เชฐเซ€เช.

เช‰เชคเซเชชเชพเชฆเชจเชฎเชพเช‚ เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ Istio เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชšเชฒเชพเชตเชตเซเช‚. เชญเชพเช— 1

เชชเชพเชฏเชฒเซ‹เชŸ เช เชฎเซเช–เซเชฏ เชจเชฟเชฏเช‚เชคเซเชฐเชฃ เช˜เชŸเช• เช›เซ‡ เชœเซ‡ เช•เซเชฒเชธเซเชŸเชฐเชฎเชพเช‚ เช…เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชถเซเช‚ เช›เซ‡ เชคเซ‡ เชตเชฟเชถเซ‡เชจเซ€ เชคเชฎเชพเชฎ เชฎเชพเชนเชฟเชคเซ€เชจเซเช‚ เชตเชฟเชคเชฐเชฃ เช•เชฐเซ‡ เช›เซ‡ - เชธเซ‡เชตเชพเช“, เชคเซ‡เชฎเชจเชพ เช…เช‚เชคเชฟเชฎ เชฌเชฟเช‚เชฆเซเช“ เช…เชจเซ‡ เชฐเซ‚เชŸเซ€เช‚เช— เชจเชฟเชฏเชฎเซ‹ (เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เช•เซ‡เชจเซ‡เชฐเซ€ เชกเชฟเชชเซเชฒเซ‹เชฏเชฎเซ‡เชจเซเชŸ เช…เชฅเชตเชพ เชธเชฐเซเช•เชฟเชŸ เชฌเซเชฐเซ‡เช•เชฐเชจเชพ เชจเชฟเชฏเชฎเซ‹).

เชฎเชฟเช•เซเชธเชฐ เช เชตเซˆเช•เชฒเซเชชเชฟเช• เชจเชฟเชฏเช‚เชคเซเชฐเชฃ เชชเซเชฒเซ‡เชจ เช˜เชŸเช• เช›เซ‡ เชœเซ‡ เชฎเซ‡เชŸเซเชฐเชฟเช•เซเชธ, เชฒเซ‹เช—เซเชธ เช…เชจเซ‡ เชจเซ‡เชŸเชตเชฐเซเช• เช•เซเชฐเชฟเชฏเชพเชชเซเชฐเชคเชฟเช•เซเชฐเชฟเชฏเชพ เชตเชฟเชถเซ‡เชจเซ€ เช•เซ‹เชˆเชชเชฃ เชฎเชพเชนเชฟเชคเซ€ เชเช•เชคเซเชฐเชฟเชค เช•เชฐเชตเชพเชจเซ€ เช•เซเชทเชฎเชคเชพ เชชเซเชฐเชฆเชพเชจ เช•เชฐเซ‡ เช›เซ‡. เชคเซ‡ เชจเซ€เชคเชฟ เชจเชฟเชฏเชฎเซ‹เชจเชพ เชชเชพเชฒเชจ เช…เชจเซ‡ เชฆเชฐ เชฎเชฐเซเชฏเชพเชฆเชพเช“เชจเซเช‚ เชชเชพเชฒเชจ เชชเชฃ เชฎเซ‹เชจเชฟเชŸเชฐ เช•เชฐเซ‡ เช›เซ‡.

เชกเซ‡เชŸเชพ เชชเซเชฒเซ‡เชจ เชธเชพเช‡เชกเช•เชพเชฐ เชชเซเชฐเซ‹เช•เซเชธเซ€ เช•เชจเซเชŸเซ‡เชจเชฐเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชฒเชพเช—เซ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เชชเชพเชตเชฐเชซเซเชฒเชจเซ‹ เช‰เชชเชฏเซ‹เช— เชฎเซ‚เชณเชญเซ‚เชค เชฐเซ€เชคเซ‡ เชฅเชพเชฏ เช›เซ‡. เชฐเชพเชœเชฆเซ‚เชค เชชเซเชฐเซ‹เช•เซเชธเซ€. เชคเซ‡เชจเซ‡ เช…เชจเซเชฏ เช…เชฎเชฒเซ€เช•เชฐเชฃ เชฆเซเชตเชพเชฐเชพ เชฌเชฆเชฒเซ€ เชถเช•เชพเชฏ เช›เซ‡, เชœเซ‡เชฎ เช•เซ‡ nginx (nginmesh).

Istio เชเชชเซเชฒเซ€เช•เซ‡เชถเชจเชฎเชพเช‚ เชธเช‚เชชเซ‚เชฐเซเชฃเชชเชฃเซ‡ เชชเชพเชฐเชฆเชฐเซเชถเช• เชฐเซ€เชคเซ‡ เช•เชพเชฎ เช•เชฐเซ‡ เชคเซ‡ เชฎเชพเชŸเซ‡, เชคเซเชฏเชพเช‚ เช“เชŸเซ‹เชฎเซ‡เชŸเชฟเช• เชˆเชจเซเชœเซ‡เช•เซเชถเชจ เชธเชฟเชธเซเชŸเชฎ เช›เซ‡. เชจเชตเซ€เชจเชคเชฎ เช…เชฎเชฒเซ€เช•เชฐเชฃ Kubernetes 1.9+ เชธเช‚เชธเซเช•เชฐเชฃเซ‹ (เชฎเซเชฏเซเชŸเซ‡เชถเชจเชฒ เชเชกเชฎเชฟเชถเชจ เชตเซ‡เชฌเชนเซ‚เช•) เชฎเชพเชŸเซ‡ เชฏเซ‹เช—เซเชฏ เช›เซ‡. เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เชตเชฐเซเชเชจ 1.7, 1.8 เชฎเชพเชŸเซ‡ เช‡เชจเชฟเชถเชฟเชฏเชฒเชพเชˆเชเชฐเชจเซ‹ เช‰เชชเชฏเซ‹เช— เชถเช•เซเชฏ เช›เซ‡.

เชธเชพเช‡เชกเช•เชพเชฐ เช•เชจเซเชŸเซ‡เชจเชฐ GRPC เชชเซเชฐเซ‹เชŸเซ‹เช•เซ‹เชฒเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชชเชพเชฏเชฒเซ‹เชŸ เชธเชพเชฅเซ‡ เชœเซ‹เชกเชพเชฏเซ‡เชฒเชพ เช›เซ‡, เชœเซ‡ เชคเชฎเชจเซ‡ เช•เซเชฒเชธเซเชŸเชฐเชฎเชพเช‚ เชฅเชคเชพ เชซเซ‡เชฐเชซเชพเชฐเซ‹ เชฎเชพเชŸเซ‡ เชชเซเชถ เชฎเซ‹เชกเชฒเชจเซ‡ เช‘เชชเซเชŸเชฟเชฎเชพเช‡เช เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡. GRPC เช เชเชจเซเชตเซ‹เชฏเชฎเชพเช‚ เชตเชฐเซเชเชจ 1.6 เชฅเซ€ เช‰เชชเชฏเซ‹เช—เชฎเชพเช‚ เชฒเซ‡เชตเชพเชฏ เช›เซ‡, Istio เชฎเชพเช‚ เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชตเชฐเซเชเชจ 0.8 เชฅเซ€ เชฅเชพเชฏ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡ เชชเชพเช‡เชฒเซ‹เชŸ-เชเชœเชจเซเชŸ เช›เซ‡ - เชเชจเซเชตเซ‹เชฏ เชชเชฐ เช—เซ‹เชฒเชพเช‚เช— เชฐเซ‡เชชเชฐ เชœเซ‡ เชฒเซ‹เชจเซเชš เชตเชฟเช•เชฒเซเชชเซ‹เชจเซ‡ เช—เซ‹เช เชตเซ‡ เช›เซ‡.

เชชเชพเชฏเชฒเซ‹เชŸ เช…เชจเซ‡ เชฎเชฟเช•เซเชธเชฐ เชธเช‚เชชเซ‚เชฐเซเชฃเชชเชฃเซ‡ เชธเซเชŸเซ‡เชŸเชฒเซ‡เชธ เช˜เชŸเช•เซ‹ เช›เซ‡, เชคเชฎเชพเชฎ เชธเซเชฅเชฟเชคเชฟ เชฎเซ‡เชฎเชฐเซ€เชฎเชพเช‚ เชฐเชพเช–เชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เชคเซ‡เชฎเชจเชพ เชฎเชพเชŸเซ‡เชจเซเช‚ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจ เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เช•เชธเซเชŸเชฎ เชฐเชฟเชธเซ‹เชฐเซเชธเชฟเชธเชจเชพ เชธเซเชตเชฐเซ‚เชชเชฎเชพเช‚ เชธเซ‡เชŸ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เช›เซ‡, เชœเซ‡ เชตเช—เซ‡เชฐเซ‡ เชตเช—เซ‡เชฐเซ‡เชฎเชพเช‚ เชธเช‚เช—เซเชฐเชนเชฟเชค เช›เซ‡.
Istio-เชเชœเชจเซเชŸ เชชเชพเชฏเชฒเชŸเชจเซเช‚ เชธเชฐเชจเชพเชฎเซเช‚ เชฎเซ‡เชณเชตเซ‡ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡เชจเชพ เชฎเชพเชŸเซ‡ GRPC เชธเซเชŸเซเชฐเซ€เชฎ เช–เซ‹เชฒเซ‡ เช›เซ‡.

เชฎเซ‡เช‚ เช•เชนเซเชฏเซเช‚ เชคเซ‡เชฎ, Istio เชเชชเซเชฒเซ€เช•เซ‡เชถเชจ เชฎเชพเชŸเซ‡ เชธเช‚เชชเซ‚เชฐเซเชฃเชชเชฃเซ‡ เชชเชพเชฐเชฆเชฐเซเชถเช• เชคเชฎเชพเชฎ เช•เชพเชฐเซเชฏเช•เซเชทเชฎเชคเชพ เชฒเชพเช—เซ เช•เชฐเซ‡ เช›เซ‡. เชšเชพเชฒเซ‹ เชœเซ‹เชˆเช เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡. เช…เชฒเซเช—เซ‹เชฐเชฟเชงเชฎ เช† เช›เซ‡:

  1. เชธเซ‡เชตเชพเชจเชพ เชจเชตเชพ เชธเช‚เชธเซเช•เชฐเชฃเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชฐเชนเซเชฏเชพเช‚ เช›เซ€เช.
  2. เชธเชพเช‡เชกเช•เชพเชฐ เช•เชจเซเชŸเซ‡เชจเชฐ เช‡เชจเซเชœเซ‡เช•เซเชถเชจ เช…เชญเชฟเช—เชฎ เชชเชฐ เช†เชงเชพเชฐ เชฐเชพเช–เซ€เชจเซ‡, เช‡เชธเซเชŸเชฟเช“-เช‡เชจเชฟเชŸ เช•เชจเซเชŸเซ‡เชจเชฐ เช…เชจเซ‡ เช‡เชธเซเชŸเชฟเช“-เชเชœเชจเซเชŸ เช•เชจเซเชŸเซ‡เชจเชฐ (เชฆเซ‚เชค) เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจ เชฒเชพเช—เซ เช•เชฐเชตเชพเชจเชพ เชคเชฌเช•เซเช•เซ‡ เช‰เชฎเซ‡เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เช…เชฅเชตเชพ เชคเซ‡เช“ เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เชชเซ‹เชก เชเชจเซเชŸเชฟเชŸเซ€เชจเชพ เชตเชฐเซเชฃเชจเชฎเชพเช‚ เชชเชนเซ‡เชฒเซ‡เชฅเซ€ เชœ เชฎเซ‡เชจเซเชฏเซเช…เชฒเซ€ เชฆเชพเช–เชฒ เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡.
  3. istio-init เช•เชจเซเชŸเซ‡เชจเชฐ เช เชเช• เชธเซเช•เซเชฐเชฟเชชเซเชŸ เช›เซ‡ เชœเซ‡ เชชเซ‹เชก เชชเชฐ iptables เชจเชฟเชฏเชฎเซ‹ เชฒเชพเช—เซ เช•เชฐเซ‡ เช›เซ‡. เช‡เชธเซเชŸเชฟเช“-เชเชœเชจเซเชŸ เช•เชจเซเชŸเซ‡เชจเชฐเชฎเชพเช‚ เช†เชตเชฐเชฟเชค เชฅเชตเชพ เชฎเชพเชŸเซ‡ เชŸเซเชฐเชพเชซเชฟเช•เชจเซ‡ เช—เซ‹เช เชตเชตเชพ เชฎเชพเชŸเซ‡เชจเชพ เชฌเซ‡ เชตเชฟเช•เชฒเซเชชเซ‹ เช›เซ‡: iptables เชฐเซ€เชกเชพเชฏเชฐเซ‡เช•เซเชŸ เชจเชฟเชฏเชฎเซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‹, เช…เชฅเชตเชพ TPROXY. เชฒเซ‡เช–เชจ เชธเชฎเชฏเซ‡, เชกเชฟเชซเซ‰เชฒเซเชŸ เช…เชญเชฟเช—เชฎ เชฐเซ€เชกเชพเชฏเชฐเซ‡เช•เซเชŸ เชจเชฟเชฏเชฎเซ‹ เชธเชพเชฅเซ‡ เช›เซ‡. istio-init เชฎเชพเช‚, เช•เชฏเชพ เชŸเซเชฐเชพเชซเชฟเช•เชจเซ‡ เช…เชŸเช•เชพเชตเชตเซ‹ เชœเซ‹เชˆเช เช…เชจเซ‡ istio-เชเชœเชจเซเชŸเชจเซ‡ เชฎเซ‹เช•เชฒเชตเซ‹ เชœเซ‹เชˆเช เชคเซ‡ เช—เซ‹เช เชตเชตเซเช‚ เชถเช•เซเชฏ เช›เซ‡. เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชคเชฎเชพเชฎ เช‡เชจเช•เชฎเชฟเช‚เช— เช…เชจเซ‡ เชคเชฎเชพเชฎ เช†เช‰เชŸเช—เซ‹เช‡เช‚เช— เชŸเซเชฐเชพเชซเชฟเช•เชจเซ‡ เช…เชŸเช•เชพเชตเชตเชพ เชฎเชพเชŸเซ‡, เชคเชฎเชพเชฐเซ‡ เชชเชฐเชฟเชฎเชพเชฃเซ‹ เชธเซ‡เชŸ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡ -i ะธ -b เช…เชฐเซเชฅเชฎเชพเช‚ *. เชคเชฎเซ‡ เช…เชŸเช•เชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เชšเซ‹เช•เซเช•เชธ เชชเซ‹เชฐเซเชŸเชจเซ‹ เช‰เชฒเซเชฒเซ‡เช– เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹. เชšเซ‹เช•เซเช•เชธ เชธเชฌเชจเซ‡เชŸเชจเซ‡ เช…เชŸเช•เชพเชตเชตเชพ เชฎเชพเชŸเซ‡, เชคเชฎเซ‡ เชงเซเชตเชœเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชคเซ‡เชจเซ‹ เช‰เชฒเซเชฒเซ‡เช– เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹ -x.
  4. เช‡เชจเชฟเชŸ เช•เชจเซเชŸเซ‡เชจเชฐ เชšเชฒเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เชคเซ‡ เชชเช›เซ€, เชชเชพเช‡เชฒเชŸ-เชเชœเชจเซเชŸ (เชฆเซ‚เชค) เชธเชนเชฟเชค เชฎเซเช–เซเชฏ เชฒเซ‹เช‚เชš เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เชคเซ‡ GRPC เชฎเชพเชฐเชซเชคเซ‡ เชชเชนเซ‡เชฒเซ‡เชฅเซ€ เชœ เชคเซˆเชจเชพเชค เชชเชพเช‡เชฒเชŸ เชธเชพเชฅเซ‡ เชœเซ‹เชกเชพเชฏ เช›เซ‡ เช…เชจเซ‡ เช•เซเชฒเชธเซเชŸเชฐเชฎเชพเช‚ เชคเชฎเชพเชฎ เชตเชฐเซเชคเชฎเชพเชจ เชธเซ‡เชตเชพเช“ เช…เชจเซ‡ เชฐเซ‚เชŸเซ€เช‚เช— เชจเซ€เชคเชฟเช“ เชตเชฟเชถเซ‡ เชฎเชพเชนเชฟเชคเซ€ เชฎเซ‡เชณเชตเซ‡ เช›เซ‡. เชชเซเชฐเชพเชชเซเชค เชฎเชพเชนเชฟเชคเซ€ เช…เชจเซเชธเชพเชฐ, เชคเซ‡ เช•เซเชฒเชธเซเชŸเชฐเซ‹เชจเซ‡ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชฟเชค เช•เชฐเซ‡ เช›เซ‡ เช…เชจเซ‡ เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เช•เซเชฒเชธเซเชŸเชฐเชฎเชพเช‚ เช…เชฎเชพเชฐเซ€ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเชจเชพ เช…เช‚เชคเชฟเชฎ เชฌเชฟเช‚เชฆเซเช“เชจเซ‡ เชธเซ€เชงเชพ เชœ เชธเซ‹เช‚เชชเซ‡ เช›เซ‡. เชเช• เชฎเชนเชคเซเชตเชชเซ‚เชฐเซเชฃ เชฎเซเชฆเซเชฆเชพเชจเซ€ เชจเซ‹เช‚เชง เชฒเซ‡เชตเซ€ เชชเชฃ เชœเชฐเซ‚เชฐเซ€ เช›เซ‡: เชฆเซ‚เชค เชถเซเชฐเซ‹เชคเชพเช“เชจเซ‡ เช—เชคเชฟเชถเซ€เชฒ เชฐเซ€เชคเซ‡ เช—เซ‹เช เชตเซ‡ เช›เซ‡ (IP, เชชเซ‹เชฐเซเชŸ เชœเซ‹เชกเซ€) เชœเซ‡ เชคเซ‡ เชธเชพเช‚เชญเชณเชตเชพเชจเซเช‚ เชถเชฐเซ‚ เช•เชฐเซ‡ เช›เซ‡. เชคเซ‡เชฅเซ€, เชœเซเชฏเชพเชฐเซ‡ เชตเชฟเชจเช‚เชคเซ€เช“ เชชเซ‹เชกเชฎเชพเช‚ เชฆเชพเช–เชฒ เชฅเชพเชฏ เช›เซ‡, เชคเซเชฏเชพเชฐเซ‡ เชธเชพเช‡เชกเช•เชพเชฐเชฎเชพเช‚ เชฐเซ€เชกเชพเชฏเชฐเซ‡เช•เซเชŸ iptables เชจเชฟเชฏเชฎเซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชฐเซ€เชกเชพเชฏเชฐเซ‡เช•เซเชŸ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชคเซเชฏเชพเชฐเซ‡ เชฐเชพเชœเชฆเซ‚เชค เชชเชนเซ‡เชฒเซ‡เชฅเซ€ เชœ เชธเชซเชณเชคเชพเชชเซ‚เชฐเซเชตเช• เช† เชœเซ‹เชกเชพเชฃเซ‹ เชชเชฐ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡ เช…เชจเซ‡ เชŸเซเชฐเชพเชซเชฟเช•เชจเซ‡ เช†เช—เชณ เชชเซเชฐเซ‹เช•เซเชธเซ€ เช•เซเชฏเชพเช‚ เช•เชฐเชตเซ€ เชคเซ‡ เชธเชฎเชœเซ€ เชถเช•เซ‡ เช›เซ‡. เช† เชคเชฌเช•เซเช•เซ‡, เชฎเชพเชนเชฟเชคเซ€ เชฎเชฟเช•เซเชธเชฐเชจเซ‡ เชฎเซ‹เช•เชฒเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชœเซ‡ เช†เชชเชฃเซ‡ เชชเช›เซ€เชฅเซ€ เชœเซ‹เชˆเชถเซเช‚, เช…เชจเซ‡ เชŸเซเชฐเซ‡เชธเชฟเช‚เช— เชธเซเชชเชพเชจเซเชธ เชฎเซ‹เช•เชฒเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡.

เชชเชฐเชฟเชฃเชพเชฎเซ‡, เช…เชฎเชจเซ‡ เชฆเซ‚เชค เชชเซเชฐเซ‹เช•เซเชธเซ€ เชธเชฐเซเชตเชฐเซเชธเชจเซเช‚ เช†เช–เซเช‚ เชจเซ‡เชŸเชตเชฐเซเช• เชฎเชณเซ‡ เช›เซ‡ เชœเซ‡เชจเซ‡ เช…เชฎเซ‡ เชเช• เชฌเชฟเช‚เชฆเซ (เชชเชพเชฏเชฒเซ‹เชŸ) เชฅเซ€ เช—เซ‹เช เชตเซ€ เชถเช•เซ€เช เช›เซ€เช. เชคเชฎเชพเชฎ เชˆเชจเชฌเชพเช‰เชจเซเชก เช…เชจเซ‡ เช†เช‰เชŸเชฌเชพเช‰เชจเซเชก เชตเชฟเชจเช‚เชคเซ€เช“ เชฐเชพเชœเชฆเซ‚เชค เชฎเชพเชฐเชซเชคเซ‡ เชœเชพเชฏ เช›เซ‡. เชคเชฆเซเชชเชฐเชพเช‚เชค, เชซเช•เซเชค TCP เชŸเซเชฐเชพเชซเชฟเช•เชจเซ‡ เช…เชŸเช•เชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เช†เชจเซ‹ เช…เชฐเซเชฅ เช เช›เซ‡ เช•เซ‡ Kubernetes เชธเซ‡เชตเชพ IP เชจเซ‡ เชฌเชฆเชฒเซเชฏเชพ เชตเชฟเชจเชพ UDP เชชเชฐ kube-dns เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช‰เช•เซ‡เชฒเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เชชเช›เซ€, เชจเชฟเชฐเชพเช•เชฐเชฃ เชชเช›เซ€, เชฆเซ‚เชค เชฆเซเชตเชพเชฐเชพ เช†เช‰เชŸเช—เซ‹เช‡เช‚เช— เชตเชฟเชจเช‚เชคเซ€เชจเซ‡ เช…เชŸเช•เชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ เช…เชจเซ‡ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชœเซ‡ เชชเชนเซ‡เชฒเชพเชฅเซ€ เชœ เชจเช•เซเช•เซ€ เช•เชฐเซ‡ เช›เซ‡ เช•เซ‡ เชตเชฟเชจเช‚เชคเซ€ เช•เชฏเชพ เชเชจเซเชกเชชเซ‹เช‡เชจเซเชŸเชจเซ‡ เชฎเซ‹เช•เชฒเชตเซ€ เชœเซ‹เชˆเช (เช…เชฅเชตเชพ เชฎเซ‹เช•เชฒเชตเชพเชฎเชพเช‚ เชจเชนเซ€เช‚ เช†เชตเซ‡, เชเช•เซเชธเซ‡เชธ เชชเซ‹เชฒเชฟเชธเซ€ เช…เชฅเชตเชพ เช…เชฒเซเช—เซ‹เชฐเชฟเชงเชฎเชจเชพ เชธเชฐเซเช•เชฟเชŸ เชฌเซเชฐเซ‡เช•เชฐเชจเชพ เช•เชฟเชธเซเชธเชพเชฎเชพเช‚).

เช…เชฎเซ‡ เชชเชพเช‡เชฒเชŸเชจเซ‡ เชถเซ‹เชงเซ€ เช•เชพเชขเซเชฏเซเช‚, เชนเชตเซ‡ เช†เชชเชฃเซ‡ เชธเชฎเชœเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡ เช•เซ‡ เชฎเชฟเช•เซเชธเชฐ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฐเซเชฏ เช•เชฐเซ‡ เช›เซ‡ เช…เชจเซ‡ เชถเชพ เชฎเชพเชŸเซ‡ เชคเซ‡เชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡. เชคเชฎเซ‡ เชคเซ‡เชจเชพ เชฎเชพเชŸเซ‡ เชธเชคเซเชคเชพเชตเชพเชฐ เชฆเชธเซเชคเชพเชตเซ‡เชœเซ‹ เชตเชพเช‚เชšเซ€ เชถเช•เซ‹ เช›เซ‹ เช…เชนเซ€เช‚.

เชคเซ‡เชจเชพ เชตเชฐเซเชคเชฎเชพเชจ เชธเซเชตเชฐเซ‚เชชเชฎเชพเช‚ เชฎเชฟเช•เซเชธเชฐเชฎเชพเช‚ เชฌเซ‡ เช˜เชŸเช•เซ‹เชจเซ‹ เชธเชฎเชพเชตเซ‡เชถ เชฅเชพเชฏ เช›เซ‡: เช‡เชธเซเชŸเชฟเช“-เชŸเซ‡เชฒเชฟเชฎเซ‡เชŸเซเชฐเซ€, เช‡เชธเซเชŸเชฟเช“-เชชเซ‹เชฒเซ€เชธเซ€ (เชธเช‚เชธเซเช•เชฐเชฃ 0.8 เชชเชนเซ‡เชฒเชพเช‚ เชคเซ‡ เชเช• เช‡เชธเซเชŸเชฟเช“-เชฎเชฟเช•เซเชธเชฐ เช˜เชŸเช• เชนเชคเซเช‚). เชคเซ‡ เชฌเช‚เชจเซ‡ เชฎเชฟเช•เซเชธเชฐ เช›เซ‡, เชœเซ‡เชฎเชพเช‚เชฅเซ€ เชฆเชฐเซ‡เช• เชคเซ‡เชจเชพ เชชเซ‹เชคเชพเชจเชพ เช•เชพเชฐเซเชฏ เชฎเชพเชŸเซ‡ เชœเชตเชพเชฌเชฆเชพเชฐ เช›เซ‡. Istio เชŸเซ‡เชฒเชฟเชฎเซ‡เชŸเซเชฐเซ€ GRPC เชฎเชพเชฐเชซเชคเซ‡ เชธเชพเช‡เชกเช•เชพเชฐ เชฐเชฟเชชเซ‹เชฐเซเชŸ เช•เชจเซเชŸเซ‡เชจเชฐเชฎเชพเช‚เชฅเซ€ เช•เซ‹เชฃ เช•เซเชฏเชพเช‚ เช…เชจเซ‡ เช•เชฏเชพ เชชเชฐเชฟเชฎเชพเชฃเซ‹ เชธเชพเชฅเซ‡ เชœเชพเชฏ เช›เซ‡ เชคเซ‡เชจเซ€ เชฎเชพเชนเชฟเชคเซ€ เชฎเซ‡เชณเชตเซ‡ เช›เซ‡. Istio-policy เชจเซ€เชคเชฟ เชจเชฟเชฏเชฎเซ‹ เชธเช‚เชคเซเชทเซเชŸ เช›เซ‡ เชคเซ‡ เชšเช•เชพเชธเชตเชพ เชฎเชพเชŸเซ‡ เชšเซ‡เช• เชตเชฟเชจเช‚เชคเซ€เช“ เชธเซเชตเซ€เช•เชพเชฐเซ‡ เช›เซ‡. เชชเซ‰เชฒเชฟเชธเซ€ เชšเซ‡เช•, เช…เชฒเชฌเชคเซเชค, เชฆเชฐเซ‡เช• เชตเชฟเชจเช‚เชคเซ€ เชฎเชพเชŸเซ‡ เชนเชพเชฅ เชงเชฐเชตเชพเชฎเชพเช‚ เช†เชตเชคเชพเช‚ เชจเชฅเซ€, เชชเชฐเช‚เชคเซ เชšเซ‹เช•เซเช•เชธ เชธเชฎเชฏ เชฎเชพเชŸเซ‡ เช•เซเชฒเชพเชฏเชจเซเชŸ (เชธเชพเช‡เชกเช•เชพเชฐเชฎเชพเช‚) เชชเชฐ เช•เซ…เชถ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เชฐเชฟเชชเซ‹เชฐเซเชŸ เชšเซ‡เช• เชฌเซ‡เชš เชตเชฟเชจเช‚เชคเซ€เช“ เชคเชฐเซ€เช•เซ‡ เชฎเซ‹เช•เชฒเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เชšเชพเชฒเซ‹ เชœเซ‹เชˆเช เช•เซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช—เซ‹เช เชตเชตเซเช‚ เช…เชจเซ‡ เช•เชฏเชพ เชชเชฐเชฟเชฎเชพเชฃเซ‹ เชฅเซ‹เชกเชพ เชธเชฎเชฏ เชชเช›เซ€ เชฎเซ‹เช•เชฒเชตเชพ เชœเซ‹เชˆเช.

เชฎเชฟเช•เซเชธเชฐ เช เช…เชคเซเชฏเช‚เชค เช‰เชชเชฒเชฌเซเชง เช˜เชŸเช• เชนเซ‹เชตเชพเชจเซเช‚ เชฎเชพเชจเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ เชœเซ‡ เชŸเซ‡เชฒเชฟเชฎเซ‡เชŸเซเชฐเซ€ เชกเซ‡เชŸเชพเชจเซ€ เชเชธเซ‡เชฎเซเชฌเชฒเซ€ เช…เชจเซ‡ เชชเซเชฐเซ‹เชธเซ‡เชธเชฟเช‚เช— เชชเชฐ เช…เชตเชฟเชฐเชค เช•เชพเชฐเซเชฏ เชธเซเชจเชฟเชถเซเชšเชฟเชค เช•เชฐเซ‡ เช›เซ‡. เชฎเชฒเซเชŸเชฟ-เชฒเซ‡เชตเชฒ เชฌเชซเชฐเชจเชพ เชชเชฐเชฟเชฃเชพเชฎเซ‡ เชธเชฟเชธเซเชŸเชฎ เชชเซเชฐเชพเชชเซเชค เชฅเชพเชฏ เช›เซ‡. เชถเชฐเซ‚เช†เชคเชฎเชพเช‚, เชกเซ‡เชŸเชพเชจเซ‡ เช•เชจเซเชŸเซ‡เชจเชฐเชจเซ€ เชธเชพเช‡เชกเช•เชพเชฐ เชฌเชพเชœเซ เชชเชฐ เชฌเชซเชฐ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชชเช›เซ€ เชฎเชฟเช•เซเชธเชฐ เชฌเชพเชœเซ เชชเชฐ, เช…เชจเซ‡ เชชเช›เซ€ เช•เชนเซ‡เชตเชพเชคเชพ เชฎเชฟเช•เซเชธเชฐ เชฌเซ‡เช•เชเชจเซเชก เชชเชฐ เชฎเซ‹เช•เชฒเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เชชเชฐเชฟเชฃเชพเชฎเซ‡, เชœเซ‹ เชธเชฟเชธเซเชŸเชฎเชจเชพ เช•เซ‹เชˆเชชเชฃ เช˜เชŸเช•เซ‹ เชจเชฟเชทเซเชซเชณ เชœเชพเชฏ, เชคเซ‹ เชฌเชซเชฐ เชตเชงเซ‡ เช›เซ‡ เช…เชจเซ‡ เชธเชฟเชธเซเชŸเชฎ เชชเซเชจเชƒเชธเซเชฅเชพเชชเชฟเชค เชฅเชฏเชพ เชชเช›เซ€ เชซเซเชฒเชถ เชฅเชพเชฏ เช›เซ‡. เชฎเชฟเช•เซเชธเชฐ เชฌเซ‡เช•เชเชจเซเชก เช เชŸเซ‡เชฒเชฟเชฎเซ‡เชŸเซเชฐเซ€ เชกเซ‡เชŸเชพ เชฎเซ‹เช•เชฒเชตเชพ เชฎเชพเชŸเซ‡เชจเชพ เช…เช‚เชคเชฟเชฎ เชฌเชฟเช‚เชฆเซเช“ เช›เซ‡: statsd, newrelic, เชตเช—เซ‡เชฐเซ‡. เชคเชฎเซ‡ เชคเชฎเชพเชฐเซเช‚ เชชเซ‹เชคเชพเชจเซเช‚ เชฌเซ‡เช•เชเชจเซเชก เชฒเช–เซ€ เชถเช•เซ‹ เช›เซ‹, เชคเซ‡ เชเช•เชฆเชฎ เชธเชฐเชณ เช›เซ‡, เช…เชจเซ‡ เช…เชฎเซ‡ เชคเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชฐเชตเซเช‚ เชคเซ‡ เชœเซ‹เชˆเชถเซเช‚.

เช‰เชคเซเชชเชพเชฆเชจเชฎเชพเช‚ เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ Istio เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชšเชฒเชพเชตเชตเซเช‚. เชญเชพเช— 1

เชธเชพเชฐเชพเช‚เชถ เชฎเชพเชŸเซ‡, เช‡เชธเซเชŸเชฟเช“-เชŸเซ‡เชฒเชฟเชฎเซ‡เชŸเซเชฐเซ€ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเชพเชจเซ€ เชฏเซ‹เชœเชจเชพ เชจเซ€เชšเซ‡ เชฎเซเชœเชฌ เช›เซ‡.

  1. เชธเซ‡เชตเชพ 1 เชธเซ‡เชตเชพ 2 เชจเซ‡ เชตเชฟเชจเช‚เชคเซ€ เชฎเซ‹เช•เชฒเซ‡ เช›เซ‡.
  2. เชธเซ‡เชตเชพ 1 เช›เซ‹เชกเชคเซ€ เชตเช–เชคเซ‡, เชตเชฟเชจเช‚เชคเซ€ เชคเซ‡เชจเซ€ เชชเซ‹เชคเชพเชจเซ€ เชธเชพเช‡เชกเช•เชพเชฐเชฎเชพเช‚ เชฒเชชเซ‡เชŸเซ€ เช›เซ‡.
  3. เชธเชพเช‡เชกเช•เชพเชฐ เชฆเซ‚เชค เชฎเซ‹เชจเชฟเชŸเชฐ เช•เชฐเซ‡ เช›เซ‡ เช•เซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชตเชฟเชจเช‚เชคเซ€ เชธเซ‡เชตเชพ 2 เชชเชฐ เชœเชพเชฏ เช›เซ‡ เช…เชจเซ‡ เชœเชฐเซ‚เชฐเซ€ เชฎเชพเชนเชฟเชคเซ€ เชคเซˆเชฏเชพเชฐ เช•เชฐเซ‡ เช›เซ‡.
  4. เชชเช›เซ€ เชฐเชฟเชชเซ‹เชฐเซเชŸ เชตเชฟเชจเช‚เชคเซ€เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชคเซ‡เชจเซ‡ istio-telemetry เชชเชฐ เชฎเซ‹เช•เชฒเซ‡ เช›เซ‡.
  5. Istio-telemetry เชจเช•เซเช•เซ€ เช•เชฐเซ‡ เช›เซ‡ เช•เซ‡ เชถเซเช‚ เช† เชฐเชฟเชชเซ‹เชฐเซเชŸ เชฌเซ‡เช•เชเชจเซเชก เชชเชฐ เชฎเซ‹เช•เชฒเชตเซ‹ เชœเซ‹เชˆเช, เช•เชฏเซ‹ เช…เชจเซ‡ เช•เชฏเซ‹ เชกเซ‡เชŸเชพ เชฎเซ‹เช•เชฒเชตเซ‹ เชœเซ‹เชˆเช.
  6. Istio-telemetry เชœเซ‹ เชœเชฐเซ‚เชฐเซ€ เชนเซ‹เชฏ เชคเซ‹ เชฌเซ‡เช•เชเชจเซเชก เชชเชฐ เชฐเชฟเชชเซ‹เชฐเซเชŸ เชกเซ‡เชŸเชพ เชฎเซ‹เช•เชฒเซ‡ เช›เซ‡.

เชนเชตเซ‡ เชšเชพเชฒเซ‹ เชœเซ‹เชˆเช เช•เซ‡ เชธเชฟเชธเซเชŸเชฎเชฎเชพเช‚ Istio เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชœเชฎเชพเชตเชตเซเช‚, เชœเซ‡เชฎเชพเช‚ เชซเช•เซเชค เชฎเซเช–เซเชฏ เช˜เชŸเช•เซ‹ (เชชเชพเชฏเชฒเชŸ เช…เชจเซ‡ เชธเชพเช‡เชกเช•เชพเชฐ เชฆเซ‚เชค)เชจเซ‹ เชธเชฎเชพเชตเซ‡เชถ เชฅเชพเชฏ เช›เซ‡.

เชชเซเชฐเชฅเชฎ, เชšเชพเชฒเซ‹ เชฎเซเช–เซเชฏ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจ (เชฎเซ‡เชถ) เชœเซ‹เชˆเช เชœเซ‡ เชชเชพเชˆเชฒเชŸ เชตเชพเช‚เชšเซ‡ เช›เซ‡:

apiVersion: v1
kind: ConfigMap
metadata:
  name: istio
  namespace: istio-system
  labels:
    app: istio
    service: istio
data:
  mesh: |-

    # ะฟะพะบะฐ ั‡ั‚ะพ ะฝะต ะฒะบะปัŽั‡ะฐะตะผ ะพั‚ะฟั€ะฐะฒะบัƒ tracing ะธะฝั„ะพั€ะผะฐั†ะธะธ (pilot ะฝะฐัั‚ั€ะพะธั‚ envoyโ€™ะธ ั‚ะฐะบะธะผ ะพะฑั€ะฐะทะพะผ, ั‡ั‚ะพ ะพั‚ะฟั€ะฐะฒะบะฐ ะฝะต ะฑัƒะดะตั‚ ะฟั€ะพะธัั…ะพะดะธั‚ัŒ)
    enableTracing: false

    # ะฟะพะบะฐ ั‡ั‚ะพ ะฝะต ัƒะบะฐะทั‹ะฒะฐะตะผ mixer endpointโ€™ั‹, ั‡ั‚ะพะฑั‹ sidecar ะบะพะฝั‚ะตะนะฝะตั€ั‹ ะฝะต ะพั‚ะฟั€ะฐะฒะปัะปะธ ะธะฝั„ะพั€ะผะฐั†ะธัŽ ั‚ัƒะดะฐ
    #mixerCheckServer: istio-policy.istio-system:15004
    #mixerReportServer: istio-telemetry.istio-system:15004

    # ัั‚ะฐะฒะธะผ ะฒั€ะตะผะตะฝะฝะพะน ะฟั€ะพะผะตะถัƒั‚ะพะบ, ั ะบะพั‚ะพั€ั‹ะผ ะฑัƒะดะตั‚ envoy ะฟะตั€ะตัะฟั€ะฐัˆะธะฒะฐั‚ัŒ Pilot (ัั‚ะพ ะดะปั ัั‚ะฐั€ะพะน ะฒะตั€ัะธะธ envoy proxy)
    rdsRefreshDelay: 5s

    # default ะบะพะฝั„ะธะณัƒั€ะฐั†ะธั ะดะปั envoy sidecar
    defaultConfig:
      # ะฐะฝะฐะปะพะณะธั‡ะฝะพ ะบะฐะบ rdsRefreshDelay
      discoveryRefreshDelay: 5s

      # ะพัั‚ะฐะฒะปัะตะผ ะฟะพ ัƒะผะพะปั‡ะฐะฝะธัŽ (ะฟัƒั‚ัŒ ะบ ะบะพะฝั„ะธะณัƒั€ะฐั†ะธะธ ะธ ะฑะธะฝะฐั€ัŽ envoy)
      configPath: "/etc/istio/proxy"
      binaryPath: "/usr/local/bin/envoy"

      # ะดะตั„ะพะปั‚ะฝะพะต ะธะผั ะทะฐะฟัƒั‰ะตะฝะฝะพะณะพ sidecar ะบะพะฝั‚ะตะนะฝะตั€ะฐ (ะธัะฟะพะปัŒะทัƒะตั‚ัั, ะฝะฐะฟั€ะธะผะตั€, ะฒ ะธะผะตะฝะฐั… ัะตั€ะฒะธัะฐ ะฟั€ะธ ะพั‚ะฟั€ะฐะฒะบะต tracing spanโ€™ะพะฒ)
      serviceCluster: istio-proxy

      # ะฒั€ะตะผั, ะบะพั‚ะพั€ะพะต ะฑัƒะดะตั‚ ะถะดะฐั‚ัŒ envoy ะดะพ ั‚ะพะณะพ, ะบะฐะบ ะพะฝ ะฟั€ะธะฝัƒะดะธั‚ะตะปัŒะฝะพ ะทะฐะฒะตั€ัˆะธั‚ ะฒัะต ัƒัั‚ะฐะฝะพะฒะปะตะฝะฝั‹ะต ัะพะตะดะธะฝะตะฝะธั
      drainDuration: 45s
      parentShutdownDuration: 1m0s

      # ะฟะพ ัƒะผะพะปั‡ะฐะฝะธัŽ ะธัะฟะพะปัŒะทัƒัŽั‚ัั REDIRECT ะฟั€ะฐะฒะธะปะฐ iptables. ะœะพะถะฝะพ ะธะทะผะตะฝะธั‚ัŒ ะฝะฐ TPROXY.
      #interceptionMode: REDIRECT

      # ะŸะพั€ั‚, ะฝะฐ ะบะพั‚ะพั€ะพะผ ะฑัƒะดะตั‚ ะทะฐะฟัƒั‰ะตะฝะฐ admin ะฟะฐะฝะตะปัŒ ะบะฐะถะดะพะณะพ sidecar ะบะพะฝั‚ะตะนะฝะตั€ะฐ (envoy)
      proxyAdminPort: 15000

      # ะฐะดั€ะตั, ะฟะพ ะบะพั‚ะพั€ะพะผัƒ ะฑัƒะดัƒั‚ ะพั‚ะฟั€ะฐะฒะปัั‚ัŒัั traceโ€™ั‹ ะฟะพ zipkin ะฟั€ะพั‚ะพะบะพะปัƒ (ะฒ ะฝะฐั‡ะฐะปะต ะผั‹ ะพั‚ะบะปัŽั‡ะธะปะธ ัะฐะผัƒ ะพั‚ะฟั€ะฐะฒะบัƒ, ะฟะพัั‚ะพะผัƒ ัั‚ะพ ะฟะพะปะต ัะตะนั‡ะฐั ะฝะต ะฑัƒะดะตั‚ ะธัะฟะพะปัŒะทะพะฒะฐั‚ัŒัั)
      zipkinAddress: tracing-collector.tracing:9411

      # statsd ะฐะดั€ะตั ะดะปั ะพั‚ะฟั€ะฐะฒะบะธ ะผะตั‚ั€ะธะบ envoy ะบะพะฝั‚ะตะนะฝะตั€ะพะฒ (ะพั‚ะบะปัŽั‡ะฐะตะผ)
      # statsdUdpAddress: aggregator:8126

      # ะฒั‹ะบะปัŽั‡ะฐะตะผ ะฟะพะดะดะตั€ะถะบัƒ ะพะฟั†ะธะธ Mutual TLS
      controlPlaneAuthPolicy: NONE

      # ะฐะดั€ะตั, ะฝะฐ ะบะพั‚ะพั€ะพะผ ะฑัƒะดะตั‚ ัะปัƒัˆะฐั‚ัŒ istio-pilot ะดะปั ั‚ะพะณะพ, ั‡ั‚ะพะฑั‹ ัะพะพะฑั‰ะฐั‚ัŒ ะธะฝั„ะพั€ะผะฐั†ะธัŽ ะพ service discovery ะฒัะตะผ sidecar ะบะพะฝั‚ะตะนะฝะตั€ะฐะผ
      discoveryAddress: istio-pilot.istio-system:15007

เชฌเชงเชพ เชฎเซเช–เซเชฏ เชจเชฟเชฏเช‚เชคเซเชฐเชฃ เช˜เชŸเช•เซ‹ (เช•เช‚เชŸเซเชฐเซ‹เชฒ เชชเซเชฒเซ‡เชจ) เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธเชฎเชพเช‚ เชจเซ‡เชฎเชธเซเชชเซ‡เชธ เช‡เชธเซเชŸเชฟเช“-เชธเชฟเชธเซเชŸเชฎเชฎเชพเช‚ เชธเซเชฅเชฟเชค เชนเชถเซ‡.

เช“เช›เชพเชฎเชพเช‚ เช“เช›เชพ, เช…เชฎเชพเชฐเซ‡ เชฎเชพเชคเซเชฐ เชชเชพเชˆเชฒเชŸเชจเซ‡ เชคเซˆเชจเชพเชค เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡. เช† เชฎเชพเชŸเซ‡ เช†เชชเชฃเซ‡ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชถเซเช‚ เช†เชตเซ€ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจ.

เช…เชจเซ‡ เช…เชฎเซ‡ เช•เชจเซเชŸเซ‡เชจเชฐเชจเซ€ เช‡เชจเซเชœเซ‡เช•เซเชถเชจ เชธเชพเช‡เชกเช•เชพเชฐเชจเซ‡ เชฎเซ‡เชจเซเชฏเซเช…เชฒเซ€ เช—เซ‹เช เชตเซ€เชถเซเช‚.

เช‡เชจเชฟเชŸ เช•เชจเซเชŸเซ‡เชจเชฐ:

initContainers:
 - name: istio-init
   args:
   - -p
   - "15001"
   - -u
   - "1337"
   - -m
   - REDIRECT
   - -i
   - '*'
   - -b
   - '*'
   - -d
   - ""
   image: istio/proxy_init:1.0.0
   imagePullPolicy: IfNotPresent
   resources:
     limits:
       memory: 128Mi
   securityContext:
     capabilities:
       add:
       - NET_ADMIN

เช…เชจเซ‡ เชธเชพเช‡เชกเช•เชพเชฐ:

       name: istio-proxy
       args:
         - "bash"
         - "-c"
         - |
           exec /usr/local/bin/pilot-agent proxy sidecar 
           --configPath 
           /etc/istio/proxy 
           --binaryPath 
           /usr/local/bin/envoy 
           --serviceCluster 
           service-name 
           --drainDuration 
           45s 
           --parentShutdownDuration 
           1m0s 
           --discoveryAddress 
           istio-pilot.istio-system:15007 
           --discoveryRefreshDelay 
           1s 
           --connectTimeout 
           10s 
           --proxyAdminPort 
           "15000" 
           --controlPlaneAuthPolicy 
           NONE
         env:
         - name: POD_NAME
           valueFrom:
             fieldRef:
               fieldPath: metadata.name
         - name: POD_NAMESPACE
           valueFrom:
             fieldRef:
               fieldPath: metadata.namespace
         - name: INSTANCE_IP
           valueFrom:
             fieldRef:
               fieldPath: status.podIP
         - name: ISTIO_META_POD_NAME
           valueFrom:
             fieldRef:
               fieldPath: metadata.name
         - name: ISTIO_META_INTERCEPTION_MODE
           value: REDIRECT
         image: istio/proxyv2:1.0.0
         imagePullPolicy: IfNotPresent
         resources:
           requests:
             cpu: 100m
             memory: 128Mi
           limits:
             memory: 2048Mi
         securityContext:
           privileged: false
           readOnlyRootFilesystem: true
           runAsUser: 1337
         volumeMounts:
         - mountPath: /etc/istio/proxy
           name: istio-envoy

เชฆเชฐเซ‡เช• เชตเชธเซเชคเซ เชธเชซเชณเชคเชพเชชเซ‚เชฐเซเชตเช• เชถเชฐเซ‚ เชฅเชพเชฏ เชคเซ‡ เชฎเชพเชŸเซ‡, เชคเชฎเชพเชฐเซ‡ เชเช• ServiceAccount, ClusterRole, ClusterRoleBinding, CRD เชฌเชจเชพเชตเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡, เชœเซ‡เชจเซเช‚ เชตเชฐเซเชฃเชจ เชฎเชณเซ€ เชถเช•เซ‡ เช›เซ‡. เช…เชนเซ€เช‚.

เชชเชฐเชฟเชฃเชพเชฎเซ‡, เช…เชฎเซ‡ เชœเซ‡ เชธเซ‡เชตเชพเชฎเชพเช‚ เชฆเซ‚เชค เชธเชพเชฅเซ‡ เชธเชพเช‡เชกเช•เชพเชฐ เช‡เชจเซเชœเซ‡เช•เซเชŸ เช•เชฐเซ€เช เช›เซ€เช เชคเซ‡ เชธเชซเชณเชคเชพเชชเซ‚เชฐเซเชตเช• เชถเชฐเซ‚ เชฅเชตเซ€ เชœเซ‹เชˆเช, เชชเชพเชฏเชฒเซ‹เชŸ เชชเชพเชธเซ‡เชฅเซ€ เชฌเชงเซ€ เชถเซ‹เชง เชชเซเชฐเชพเชชเซเชค เช•เชฐเชตเซ€ เชœเซ‹เชˆเช เช…เชจเซ‡ เชตเชฟเชจเช‚เชคเซ€เช“ เชชเชฐ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เช•เชฐเชตเซ€ เชœเซ‹เชˆเช.

เชคเซ‡ เชธเชฎเชœเชตเซเช‚ เช…เช—เชคเซเชฏเชจเซเช‚ เช›เซ‡ เช•เซ‡ เชคเชฎเชพเชฎ เช•เช‚เชŸเซเชฐเซ‹เชฒ เชชเซเชฒเซ‡เชจ เช˜เชŸเช•เซ‹ เชธเซเชŸเซ‡เชŸเชฒเซ‡เชธ เชเชชเซเชฒเซ€เช•เซ‡เชถเชจ เช›เซ‡ เช…เชจเซ‡ เชธเชฎเชธเซเชฏเชพ เชตเชฟเชจเชพ เช†เชกเซ€ เชฐเซ€เชคเซ‡ เชฎเชพเชชเซ€ เชถเช•เชพเชฏ เช›เซ‡. เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เชธเช‚เชธเชพเชงเชจเซ‹เชจเชพ เช•เชธเซเชŸเชฎ เชตเชฐเซเชฃเชจเชจเชพ เชฐเซ‚เชชเชฎเชพเช‚ เชคเชฎเชพเชฎ เชกเซ‡เชŸเชพ เชตเช—เซ‡เชฐเซ‡ เชตเช—เซ‡เชฐเซ‡เชฎเชพเช‚ เชธเช‚เช—เซเชฐเชนเชฟเชค เชฅเชพเชฏ เช›เซ‡.

เช‰เชชเชฐเชพเช‚เชค, Istio (เชนเชœเซ เชชเชฃ เชชเซเชฐเชพเชฏเซ‹เช—เชฟเช•) เช•เซเชฒเชธเซเชŸเชฐเชจเซ€ เชฌเชนเชพเชฐ เชฆเซ‹เชกเชตเชพเชจเซ€ เช•เซเชทเชฎเชคเชพ เชงเชฐเชพเชตเซ‡ เช›เซ‡ เช…เชจเซ‡ เช•เซ‡เชŸเชฒเชพเช• เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เช•เซเชฒเชธเซเชŸเชฐเซ‹ เชตเชšเซเชšเซ‡ เชธเซ‡เชตเชพเชจเซ€ เชถเซ‹เชงเชจเซ‡ เชœเซ‹เชตเชพเชจเซ€ เช…เชจเซ‡ เชคเซ‡เชจเซ‡ เชนเชฒเชพเชตเชตเชพเชจเซ€ เช•เซเชทเชฎเชคเชพ เชงเชฐเชพเชตเซ‡ เช›เซ‡. เชคเชฎเซ‡ เช† เชตเชฟเชถเซ‡ เชตเชงเซ เชตเชพเช‚เชšเซ€ เชถเช•เซ‹ เช›เซ‹ เช…เชนเซ€เช‚.

เชฎเชฒเซเชŸเชฟ-เช•เซเชฒเชธเซเชŸเชฐ เช‡เชจเซเชธเซเชŸเซ‹เชฒเซ‡เชถเชจ เชฎเชพเชŸเซ‡, เชจเซ€เชšเซ‡เชจเซ€ เชฎเชฐเซเชฏเชพเชฆเชพเช“เชฅเซ€ เชตเชพเช•เซ‡เชซ เชฐเชนเซ‹:

  1. Pod CIDR เช…เชจเซ‡ เชธเชฐเซเชตเชฟเชธ CIDR เชฌเชงเชพ เช•เซเชฒเชธเซเชŸเชฐเซ‹เชฎเชพเช‚ เช…เชจเชจเซเชฏ เชนเซ‹เชตเชพ เชœเซ‹เชˆเช เช…เชจเซ‡ เช“เชตเชฐเชฒเซ‡เชช เชจ เชฅเชตเซเช‚ เชœเซ‹เชˆเช.
  2. เชคเชฎเชพเชฎ CIDR เชชเซ‹เชกเซเชธ เช•เซเชฒเชธเซเชŸเชฐเซ‹ เชตเชšเซเชšเซ‡เชจเชพ เช•เซ‹เชˆเชชเชฃ CIDR เชชเซ‹เชกเซเชธเชฎเชพเช‚เชฅเซ€ เชเช•เซเชธเซ‡เชธเชฟเชฌเชฒ เชนเซ‹เชตเชพ เชœเซ‹เชˆเช.
  3. เชฌเชงเชพ Kubernetes API เชธเชฐเซเชตเชฐเซเชธ เชเช•เชฌเซ€เชœเชพ เชฎเชพเชŸเซ‡ เชธเซเชฒเชญ เชนเซ‹เชตเชพ เชœเซ‹เชˆเช.

Istio เชธเชพเชฅเซ‡ เชชเซเชฐเชพเชฐเช‚เชญ เช•เชฐเชตเชพเชฎเชพเช‚ เชคเชฎเชจเซ‡ เชฎเชฆเชฆ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เช† เชชเซเชฐเชพเชฐเช‚เชญเชฟเช• เชฎเชพเชนเชฟเชคเซ€ เช›เซ‡. เชœเซ‹ เช•เซ‡, เชนเชœเซ เชชเชฃ เช˜เชฃเซ€ เช•เซเชทเชคเชฟเช“ เช›เซ‡. เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชฌเชพเชนเซเชฏ เชŸเซเชฐเชพเชซเชฟเช•เชจเซ‡ (เช•เซเชฒเชธเซเชŸเชฐเชจเซ€ เชฌเชนเชพเชฐ) เชฐเซ‚เชŸเซ€เช‚เช— เช•เชฐเชตเชพเชจเซ€ เชตเชฟเชถเซ‡เชทเชคเชพเช“, เชธเชพเช‡เชกเช•เชพเชฐเซเชธเชจเซ‡ เชกเชฟเชฌเช— เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡เชจเซ‹ เช…เชญเชฟเช—เชฎ, เชชเซเชฐเซ‹เชซเชพเช‡เชฒเชฟเช‚เช—, เชฎเชฟเช•เซเชธเชฐ เชธเซ‡เชŸเช…เชช เช…เชจเซ‡ เช•เชธเซเชŸเชฎ เชฎเชฟเช•เซเชธเชฐ เชฌเซ‡เช•เชเชจเซเชก เชฒเช–เชตเชพ, เชŸเซเชฐเซ‡เชธเชฟเช‚เช— เชฎเชฟเช•เซ‡เชจเชฟเชเชฎ เชธเซ‡เชŸ เช•เชฐเชตเซเช‚ เช…เชจเซ‡ เชฆเซ‚เชคเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชคเซ‡เชจเซ€ เช•เชพเชฎเช—เซ€เชฐเซ€.
เช† เชฌเชงเซเช‚ เช†เชชเชฃเซ‡ เชจเซ€เชšเซ‡เชจเชพ เชชเซเชฐเช•เชพเชถเชจเซ‹เชฎเชพเช‚ เชงเซเชฏเชพเชจเชฎเชพเช‚ เชฒเชˆเชถเซเช‚. เชคเชฎเชพเชฐเชพ เชชเซเชฐเชถเซเชจเซ‹ เชชเซ‚เช›เซ‹, เชนเซเช‚ เชคเซ‡เชฎเชจเซ‡ เช†เชตเชฐเซ€ เชฒเซ‡เชตเชพเชจเซ‹ เชชเซเชฐเชฏเชคเซเชจ เช•เชฐเซ€เชถ.

เชธเซ‹เชฐเซเชธ: www.habr.com

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹