แƒ“แƒแƒฃแƒ‘แƒ แƒฃแƒœแƒ“แƒ˜แƒ— แƒ›แƒ˜แƒ™แƒ แƒแƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒก Istio-แƒกแƒ—แƒแƒœ แƒ”แƒ แƒ—แƒแƒ“. แฒ›แƒ” -1 แƒœแƒแƒฌแƒ˜แƒšแƒ˜

แƒ“แƒแƒฃแƒ‘แƒ แƒฃแƒœแƒ“แƒ˜แƒ— แƒ›แƒ˜แƒ™แƒ แƒแƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒก Istio-แƒกแƒ—แƒแƒœ แƒ”แƒ แƒ—แƒแƒ“. แฒ›แƒ” -1 แƒœแƒแƒฌแƒ˜แƒšแƒ˜

แฒจแƒ”แƒœแƒ˜แƒจแƒ•แƒœแƒ. แƒ—แƒแƒ แƒ’แƒ›แƒœแƒ: แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒก แƒ‘แƒแƒ“แƒ”แƒ”แƒ‘แƒ˜ แƒœแƒแƒ›แƒ“แƒ•แƒ˜แƒšแƒแƒ“ แƒ’แƒแƒฎแƒ“แƒ แƒ›แƒฌแƒ•แƒแƒ•แƒ” แƒ—แƒ”แƒ›แƒ แƒ“แƒฆแƒ”แƒ•แƒแƒœแƒ“แƒ”แƒš แƒ˜แƒœแƒคแƒ แƒแƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒแƒจแƒ˜ แƒ›แƒ˜แƒ™แƒ แƒแƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒก แƒแƒ แƒฅแƒ˜แƒขแƒ”แƒฅแƒขแƒฃแƒ แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒ›แƒ˜แƒฃแƒฎแƒ”แƒ“แƒแƒ•แƒแƒ“ แƒ˜แƒ›แƒ˜แƒกแƒ, แƒ แƒแƒ› Istio แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ˜แƒงแƒแƒก แƒ›แƒ แƒแƒ•แƒแƒšแƒ˜ DevOps แƒ˜แƒœแƒŸแƒ˜แƒœแƒ แƒ˜แƒก แƒ แƒแƒ“แƒแƒ แƒจแƒ˜, แƒ”แƒก แƒแƒ แƒ˜แƒก แƒกแƒแƒ™แƒ›แƒแƒแƒ“ แƒแƒฎแƒแƒšแƒ˜ แƒžแƒ แƒแƒ“แƒฃแƒฅแƒขแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช, แƒ›แƒ˜แƒฃแƒฎแƒ”แƒ“แƒแƒ•แƒแƒ“ แƒ˜แƒ›แƒ˜แƒกแƒ, แƒ แƒแƒ› แƒ™แƒแƒ›แƒžแƒšแƒ”แƒฅแƒกแƒฃแƒ แƒ˜แƒ แƒ›แƒ˜แƒก แƒ›แƒ˜แƒ”แƒ  แƒ›แƒแƒฌแƒแƒ“แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ›แƒแƒฎแƒแƒกแƒ˜แƒแƒ—แƒ”แƒ‘แƒšแƒ”แƒ‘แƒ˜แƒก แƒ—แƒ•แƒแƒšแƒกแƒแƒ–แƒ แƒ˜แƒกแƒ˜แƒ—, แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒแƒœแƒ˜ แƒ“แƒ แƒ แƒ“แƒแƒกแƒญแƒ˜แƒ แƒ“แƒ”แƒก แƒ’แƒแƒชแƒœแƒแƒ‘แƒแƒก. แƒ’แƒ”แƒ แƒ›แƒแƒœแƒ”แƒšแƒ›แƒ แƒ˜แƒœแƒŸแƒ˜แƒœแƒ”แƒ แƒ›แƒ แƒ แƒ˜แƒœแƒแƒ  แƒ›แƒแƒšแƒแƒ™แƒฃแƒ›, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒžแƒแƒกแƒฃแƒฎแƒ˜แƒกแƒ›แƒ’แƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒกแƒแƒขแƒ”แƒšแƒ”แƒ™แƒแƒ›แƒฃแƒœแƒ˜แƒ™แƒแƒชแƒ˜แƒ แƒ™แƒแƒ›แƒžแƒแƒœแƒ˜แƒ Orange Networks-แƒจแƒ˜ แƒ›แƒกแƒฎแƒ•แƒ˜แƒšแƒ˜ แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒฆแƒ แƒฃแƒ‘แƒšแƒแƒ•แƒแƒœแƒ˜ แƒ’แƒแƒ›แƒแƒ—แƒ•แƒšแƒ”แƒ‘แƒ˜แƒ—, แƒ“แƒแƒฌแƒ”แƒ แƒ แƒ›แƒแƒกแƒแƒšแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒœแƒ˜แƒจแƒœแƒแƒ•แƒ˜ แƒกแƒ”แƒ แƒ˜แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ’แƒแƒซแƒšแƒ”แƒ•แƒ— แƒกแƒฌแƒ แƒแƒคแƒแƒ“ แƒ“แƒ แƒฆแƒ แƒ›แƒแƒ“ แƒฉแƒแƒซแƒ˜แƒ แƒแƒ— แƒ˜แƒกแƒขแƒ˜แƒแƒจแƒ˜. แƒ˜แƒก แƒ—แƒแƒ•แƒ˜แƒก แƒ˜แƒกแƒขแƒแƒ แƒ˜แƒแƒก แƒ˜แƒฌแƒงแƒ”แƒ‘แƒก แƒ˜แƒ›แƒ˜แƒ—, แƒ—แƒฃ แƒ แƒ˜แƒกแƒ˜ แƒ’แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒ แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ แƒ˜แƒกแƒขแƒ˜แƒแƒก แƒ“แƒ แƒ แƒแƒ’แƒแƒ  แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒกแƒฌแƒ แƒแƒคแƒแƒ“ แƒœแƒแƒฎแƒแƒ— แƒ”แƒก แƒกแƒแƒ™แƒฃแƒ—แƒแƒ แƒ˜ แƒ—แƒ•แƒแƒšแƒ˜แƒ—.

แƒ˜แƒกแƒขแƒ˜แƒ โ€” แƒฆแƒ˜แƒ แƒ™แƒแƒ“แƒ˜แƒก แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜ แƒจแƒ”แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜ Google-แƒ˜แƒก, IBM-แƒ˜แƒกแƒ แƒ“แƒ Lyft-แƒ˜แƒก แƒ’แƒฃแƒœแƒ“แƒ”แƒ‘แƒ—แƒแƒœ แƒ—แƒแƒœแƒแƒ›แƒจแƒ แƒแƒ›แƒšแƒแƒ‘แƒ˜แƒ—. แƒ˜แƒก แƒแƒ’แƒ•แƒแƒ แƒ”แƒ‘แƒก แƒกแƒ˜แƒ แƒ—แƒฃแƒšแƒ”แƒ”แƒ‘แƒก, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒฌแƒแƒ แƒ›แƒแƒ˜แƒฅแƒ›แƒœแƒ”แƒ‘แƒ แƒ›แƒ˜แƒ™แƒ แƒแƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ–แƒ” แƒ“แƒแƒคแƒฃแƒซแƒœแƒ”แƒ‘แƒฃแƒš แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒจแƒ˜, แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ:

  • แƒ›แƒแƒซแƒ แƒแƒแƒ‘แƒ˜แƒก แƒ›แƒแƒ แƒ—แƒ•แƒ: แƒ•แƒแƒ“แƒ”แƒ‘แƒ˜, แƒ’แƒแƒœแƒ›แƒ”แƒแƒ แƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒชแƒ“แƒ”แƒ‘แƒ˜, แƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒ“แƒแƒ‘แƒแƒšแƒแƒœแƒกแƒ”แƒ‘แƒ;
  • แƒฃแƒกแƒแƒคแƒ แƒ—แƒฎแƒแƒ”แƒ‘แƒ˜แƒก: แƒกแƒแƒ‘แƒแƒšแƒแƒ แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒแƒ•แƒขแƒแƒ แƒ˜แƒ–แƒแƒชแƒ˜แƒ แƒ“แƒ แƒแƒ•แƒขแƒแƒ แƒ˜แƒ–แƒแƒชแƒ˜แƒ;
  • แƒ“แƒแƒ™แƒ•แƒ˜แƒ แƒ•แƒ”แƒ‘แƒแƒ“แƒแƒ‘แƒ: แƒ›แƒ˜แƒ™แƒ•แƒšแƒ”แƒ•แƒ, แƒ›แƒแƒœแƒ˜แƒขแƒแƒ แƒ˜แƒœแƒ’แƒ˜, แƒฎแƒ”-แƒขแƒงแƒ”.

แƒแƒ› แƒงแƒ•แƒ”แƒšแƒแƒคแƒ แƒ˜แƒก แƒ›แƒแƒ’แƒ•แƒแƒ แƒ”แƒ‘แƒ แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ“แƒแƒœแƒ”แƒ–แƒ”, แƒ›แƒแƒ’แƒ แƒแƒ› แƒแƒ›แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ˜ แƒแƒฆแƒแƒ  แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ โ€žแƒ›แƒ˜แƒ™แƒ แƒโ€œ. แƒงแƒ•แƒ”แƒšแƒ แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒซแƒแƒšแƒ˜แƒกแƒฎแƒ›แƒ”แƒ•แƒ แƒแƒ› แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ“แƒแƒกแƒแƒญแƒ แƒ”แƒšแƒแƒ“ แƒแƒ แƒ˜แƒก แƒ™แƒแƒ›แƒžแƒแƒœแƒ˜แƒ˜แƒก แƒ แƒ”แƒกแƒฃแƒ แƒกแƒ”แƒ‘แƒ˜แƒก แƒคแƒšแƒแƒœแƒ’แƒ•แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒš แƒ˜แƒฅแƒœแƒแƒก แƒฃแƒจแƒฃแƒแƒšแƒแƒ“ แƒ‘แƒ˜แƒ–แƒœแƒ”แƒกแƒ˜แƒก แƒฆแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒ›แƒแƒ“แƒ˜แƒ— แƒจแƒ”แƒ•แƒฎแƒ”แƒ“แƒแƒ— แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒก:

แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜แƒก แƒ›แƒ”แƒœแƒ”แƒฏแƒ”แƒ แƒ˜: แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜ แƒ“แƒ แƒ แƒกแƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ แƒ’แƒแƒ›แƒแƒฎแƒ›แƒแƒฃแƒ แƒ”แƒ‘แƒ˜แƒก แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒแƒก?
แƒจแƒ”แƒ›แƒฅแƒ›แƒœแƒ”แƒšแƒ˜: แƒแƒ แƒ˜ แƒกแƒžแƒ แƒ˜แƒœแƒขแƒ˜.

แƒ“แƒ”แƒžแƒฃแƒขแƒแƒขแƒ˜: แƒ แƒ?.. แƒ”แƒก แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“ แƒฃแƒฎแƒ”แƒจแƒ˜แƒ!
R: CRUD-แƒ˜แƒก แƒ’แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒ แƒแƒ›แƒแƒชแƒแƒœแƒ˜แƒก แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜ แƒœแƒแƒฌแƒ˜แƒšแƒ˜แƒ, แƒ›แƒแƒ’แƒ แƒแƒ› แƒฉแƒ•แƒ”แƒœ แƒ›แƒแƒ˜แƒœแƒช แƒ’แƒ•แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ”แƒ‘แƒ˜แƒกแƒ แƒ“แƒ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ˜แƒก แƒแƒ•แƒ—แƒ”แƒœแƒขแƒ˜แƒคแƒ˜แƒ™แƒแƒชแƒ˜แƒ แƒ“แƒ แƒแƒ•แƒขแƒแƒ แƒ˜แƒ–แƒแƒชแƒ˜แƒ. แƒ•แƒ˜แƒœแƒแƒ˜แƒ“แƒแƒœ แƒฅแƒกแƒ”แƒšแƒ˜ แƒแƒ แƒแƒกแƒแƒœแƒ“แƒแƒ, แƒ›แƒแƒ’แƒ˜แƒฌแƒ”แƒ•แƒ— แƒ’แƒแƒœแƒ›แƒ”แƒแƒ แƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒ, แƒแƒกแƒ”แƒ•แƒ” แƒแƒ›แƒแƒ›แƒ แƒ—แƒ•แƒ”แƒšแƒ˜แƒก แƒœแƒ˜แƒ›แƒฃแƒจแƒ˜ แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ”แƒ‘แƒจแƒ˜. แƒแƒกแƒ”แƒ•แƒ”, แƒ˜แƒ›แƒ˜แƒกแƒแƒ—แƒ•แƒ˜แƒก, แƒ แƒแƒ› แƒ“แƒแƒ แƒฌแƒ›แƒฃแƒœแƒ“แƒ”แƒ—, แƒ แƒแƒ› แƒ›แƒ—แƒ”แƒšแƒ˜ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ แƒแƒ  แƒ’แƒแƒคแƒฃแƒญแƒ“แƒ, แƒขแƒแƒ˜แƒ›แƒแƒฃแƒขแƒ˜ แƒ“แƒ แƒจแƒฃแƒแƒกแƒแƒ“แƒ”แƒ‘แƒ”แƒ‘แƒ˜ (แƒ“แƒแƒฌแƒ•แƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒแƒ แƒ˜แƒ•แƒ” แƒแƒฆแƒœแƒ˜แƒจแƒœแƒฃแƒšแƒ˜ แƒœแƒ˜แƒ›แƒฃแƒจแƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘ แƒ˜แƒฎแƒ˜แƒšแƒ”แƒ— แƒกแƒขแƒแƒขแƒ˜แƒแƒจแƒ˜ - แƒ“แƒแƒแƒฎแƒš. แƒ—แƒแƒ แƒ’แƒ›แƒแƒœแƒ˜.)แƒ“แƒ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒแƒฆแƒ›แƒแƒกแƒแƒฉแƒ”แƒœแƒแƒ“, แƒ›แƒแƒœแƒ˜แƒขแƒแƒ แƒ˜แƒœแƒ’แƒ˜, แƒ›แƒ˜แƒ™แƒ•แƒšแƒ”แƒ•แƒ, [โ€ฆ]

แƒ“แƒ”แƒžแƒฃแƒขแƒแƒขแƒ˜: แƒแƒฐ, แƒ›แƒแƒ“แƒ˜แƒ—, แƒ”แƒก แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ แƒ›แƒแƒ•แƒแƒ—แƒแƒ•แƒกแƒแƒ— แƒžแƒ แƒแƒ“แƒฃแƒฅแƒขแƒ˜แƒก แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒจแƒ˜.

แƒ•แƒคแƒ˜แƒฅแƒ แƒแƒ‘, แƒ˜แƒ“แƒ”แƒ แƒœแƒแƒ—แƒ”แƒšแƒ˜แƒ: แƒ”แƒ แƒ—แƒ˜ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒก แƒ“แƒแƒกแƒแƒ›แƒแƒขแƒ”แƒ‘แƒšแƒแƒ“ แƒกแƒแƒญแƒ˜แƒ แƒ แƒœแƒแƒ‘แƒ˜แƒฏแƒ”แƒ‘แƒ˜แƒกแƒ แƒ“แƒ แƒซแƒแƒšแƒ˜แƒกแƒฎแƒ›แƒ”แƒ•แƒ˜แƒก แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ แƒฃแƒ–แƒแƒ แƒ›แƒแƒ–แƒแƒ แƒ˜แƒ. แƒแƒ› แƒกแƒขแƒแƒขแƒ˜แƒแƒจแƒ˜ แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒ“แƒแƒ•แƒฎแƒ”แƒ“แƒแƒ•แƒ—, แƒ—แƒฃ แƒ แƒแƒ’แƒแƒ  แƒแƒจแƒแƒ แƒ”แƒ‘แƒก Istio แƒงแƒ•แƒ”แƒšแƒ แƒ–แƒ”แƒ›แƒแƒ— แƒœแƒแƒฎแƒกแƒ”แƒœแƒ”แƒ‘ แƒกแƒ˜แƒ แƒ—แƒฃแƒšแƒ”แƒก (แƒแƒ  แƒแƒ แƒ˜แƒก แƒ›แƒ˜แƒ–แƒแƒœแƒ›แƒ˜แƒ›แƒแƒ แƒ—แƒฃแƒšแƒ˜ แƒ‘แƒ˜แƒ–แƒœแƒ”แƒก แƒšแƒแƒ’แƒ˜แƒ™แƒ˜แƒ—) แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ˜แƒ“แƒแƒœ.

แƒ“แƒแƒฃแƒ‘แƒ แƒฃแƒœแƒ“แƒ˜แƒ— แƒ›แƒ˜แƒ™แƒ แƒแƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒก Istio-แƒกแƒ—แƒแƒœ แƒ”แƒ แƒ—แƒแƒ“. แฒ›แƒ” -1 แƒœแƒแƒฌแƒ˜แƒšแƒ˜

แƒจแƒ”แƒœแƒ˜แƒจแƒ•แƒœแƒ: แƒ”แƒก แƒกแƒขแƒแƒขแƒ˜แƒ แƒ•แƒแƒ แƒแƒฃแƒ“แƒแƒ‘แƒก, แƒ แƒแƒ› แƒ—แƒฅแƒ•แƒ”แƒœ แƒ’แƒแƒฅแƒ•แƒ— Kubernetes-แƒ˜แƒก แƒกแƒแƒ›แƒฃแƒจแƒแƒ แƒชแƒแƒ“แƒœแƒ. แƒฌแƒ˜แƒœแƒแƒแƒฆแƒ›แƒ“แƒ”แƒ’ แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, แƒ’แƒ˜แƒ แƒฉแƒ”แƒ•แƒ— แƒฌแƒแƒ˜แƒ™แƒ˜แƒ—แƒฎแƒแƒ— แƒฉแƒ”แƒ›แƒ˜ แƒจแƒ”แƒกแƒแƒ•แƒแƒšแƒ˜ Kubernetes-แƒจแƒ˜ แƒ“แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒแƒ›แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ’แƒแƒแƒ’แƒ แƒซแƒ”แƒšแƒ”แƒ— แƒแƒ› แƒ›แƒแƒกแƒแƒšแƒ˜แƒก แƒ™แƒ˜แƒ—แƒฎแƒ•แƒ.

แƒ˜แƒกแƒขแƒ˜แƒแƒก แƒ˜แƒ“แƒ”แƒ

แƒ›แƒกแƒแƒคแƒšแƒ˜แƒแƒจแƒ˜ Istio-แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”, แƒ”แƒ แƒ—แƒ˜ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜ แƒžแƒ˜แƒ แƒ“แƒแƒžแƒ˜แƒ  แƒ—แƒฎแƒแƒ•แƒœแƒแƒก แƒฃแƒ’แƒ–แƒแƒ•แƒœแƒ˜แƒก แƒ›แƒ”แƒแƒ แƒ”แƒก แƒ“แƒ แƒฌแƒแƒ แƒฃแƒ›แƒแƒขแƒ”แƒ‘แƒšแƒแƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ›แƒ แƒ—แƒแƒ•แƒแƒ“ แƒฃแƒœแƒ“แƒ แƒ’แƒแƒฃแƒ›แƒ™แƒšแƒแƒ•แƒ“แƒ”แƒก แƒ›แƒแƒก: แƒ’แƒแƒœแƒแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒแƒก แƒแƒฎแƒแƒšแƒ˜ แƒ›แƒชแƒ“แƒ”แƒšแƒแƒ‘แƒ, แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒก แƒ•แƒแƒ“แƒ, แƒ’แƒแƒฎแƒกแƒœแƒแƒก แƒแƒ›แƒแƒ›แƒ แƒ—แƒ•แƒ”แƒšแƒ˜ แƒ“แƒ แƒ.แƒจ.

แƒ“แƒแƒฃแƒ‘แƒ แƒฃแƒœแƒ“แƒ˜แƒ— แƒ›แƒ˜แƒ™แƒ แƒแƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒก Istio-แƒกแƒ—แƒแƒœ แƒ”แƒ แƒ—แƒแƒ“. แฒ›แƒ” -1 แƒœแƒแƒฌแƒ˜แƒšแƒ˜
แƒฅแƒกแƒ”แƒšแƒฃแƒ แƒ˜ แƒขแƒ แƒแƒคแƒ˜แƒ™แƒ˜ Kubernetes-แƒจแƒ˜

Istio แƒ’แƒ—แƒแƒ•แƒแƒ–แƒแƒ‘แƒ— แƒกแƒžแƒ”แƒชแƒ˜แƒแƒšแƒ˜แƒ–แƒ”แƒ‘แƒฃแƒš แƒ’แƒแƒ“แƒแƒฌแƒงแƒ•แƒ”แƒขแƒแƒก, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ›แƒ—แƒšแƒ˜แƒแƒœแƒแƒ“ แƒ’แƒแƒ›แƒแƒงแƒแƒคแƒ˜แƒšแƒ˜แƒ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ˜แƒกแƒ’แƒแƒœ แƒ“แƒ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒแƒœแƒ˜แƒ แƒ”แƒ‘แƒก แƒฅแƒกแƒ”แƒšแƒฃแƒ  แƒ™แƒแƒ›แƒฃแƒœแƒ˜แƒ™แƒแƒชแƒ˜แƒแƒจแƒ˜ แƒฉแƒแƒ แƒ”แƒ•แƒ˜แƒ—. แƒ“แƒ แƒแƒกแƒ” แƒแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒก:

  • แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ˜แƒก แƒขแƒแƒšแƒ”แƒ แƒแƒœแƒขแƒแƒ‘แƒ: แƒžแƒแƒกแƒฃแƒฎแƒจแƒ˜ แƒแƒ แƒกแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒกแƒขแƒแƒขแƒฃแƒกแƒ˜แƒก แƒ™แƒแƒ“แƒ˜แƒ“แƒแƒœ แƒ’แƒแƒ›แƒแƒ›แƒ“แƒ˜แƒœแƒแƒ แƒ”, แƒฎแƒ•แƒ“แƒ”แƒ‘แƒ, แƒ•แƒ”แƒ  แƒ›แƒแƒฎแƒ”แƒ แƒฎแƒ“แƒ แƒ—แƒฃ แƒแƒ แƒ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ แƒ“แƒ แƒฎแƒ”แƒšแƒแƒฎแƒšแƒ แƒแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒก แƒ›แƒแƒก.
  • Canary Rollouts: แƒ’แƒแƒ“แƒแƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ”แƒ‘แƒก แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ˜แƒก แƒ›แƒฎแƒแƒšแƒแƒ“ แƒคแƒ˜แƒฅแƒกแƒ˜แƒ แƒ”แƒ‘แƒฃแƒš แƒžแƒ แƒแƒชแƒ”แƒœแƒขแƒก แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒก แƒแƒฎแƒแƒš แƒ•แƒ”แƒ แƒกแƒ˜แƒแƒ–แƒ”.
  • แƒ›แƒแƒœแƒ˜แƒขแƒแƒ แƒ˜แƒœแƒ’แƒ˜ แƒ“แƒ แƒ›แƒ”แƒขแƒ แƒ˜แƒ™แƒ: แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜ แƒ“แƒ แƒ แƒ“แƒแƒกแƒญแƒ˜แƒ แƒ“แƒ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒก แƒ แƒ”แƒแƒ’แƒ˜แƒ แƒ”แƒ‘แƒแƒก?
  • แƒ›แƒ˜แƒ™แƒ•แƒšแƒ”แƒ•แƒ แƒ“แƒ แƒ“แƒแƒ™แƒ•แƒ˜แƒ แƒ•แƒ”แƒ‘แƒ: แƒแƒ›แƒแƒขแƒ”แƒ‘แƒก แƒกแƒžแƒ”แƒชแƒ˜แƒแƒšแƒฃแƒ  แƒกแƒแƒ—แƒแƒฃแƒ แƒ”แƒ‘แƒก แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒš แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒแƒก แƒ“แƒ แƒแƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ”แƒ‘แƒก แƒ›แƒแƒ— แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒจแƒ˜.
  • แƒฃแƒกแƒแƒคแƒ แƒ—แƒฎแƒแƒ”แƒ‘แƒ˜แƒก: แƒ˜แƒฆแƒ”แƒ‘แƒก JWT แƒŸแƒ”แƒขแƒแƒœแƒก, แƒแƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒก แƒ“แƒ แƒแƒ•แƒขแƒแƒ แƒ˜แƒ–แƒแƒชแƒ˜แƒแƒก แƒแƒซแƒšแƒ”แƒ•แƒก แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ”แƒ‘แƒก.

แƒ”แƒก แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒแƒ (แƒœแƒแƒ›แƒ“แƒ•แƒ˜แƒšแƒแƒ“ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ”!) แƒ“แƒแƒ’แƒแƒ˜แƒœแƒขแƒ”แƒ แƒ”แƒกแƒแƒ—. แƒแƒฎแƒšแƒ แƒ›แƒแƒ“แƒ˜แƒ— แƒฉแƒแƒ•แƒฃแƒฆแƒ แƒ›แƒแƒ•แƒ“แƒ”แƒ— แƒขแƒ”แƒฅแƒœแƒ˜แƒ™แƒฃแƒ  แƒ“แƒ”แƒขแƒแƒšแƒ”แƒ‘แƒก!

แƒ˜แƒกแƒขแƒ˜แƒแƒก แƒแƒ แƒฅแƒ˜แƒขแƒ”แƒฅแƒขแƒฃแƒ แƒ

Istio แƒฌแƒงแƒ•แƒ”แƒขแƒก แƒ›แƒ—แƒ”แƒš แƒฅแƒกแƒ”แƒšแƒฃแƒ  แƒขแƒ แƒแƒคแƒ˜แƒ™แƒก แƒ“แƒ แƒ›แƒ˜แƒ›แƒแƒ แƒ—แƒแƒ•แƒก แƒ›แƒแƒกแƒ–แƒ” แƒฌแƒ”แƒกแƒ”แƒ‘แƒ˜แƒก แƒ”แƒ แƒ—แƒแƒ‘แƒšแƒ˜แƒแƒ‘แƒแƒก, แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒš แƒžแƒแƒ“แƒจแƒ˜ แƒแƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒก แƒญแƒ™แƒ•แƒ˜แƒแƒœ แƒžแƒ แƒแƒฅแƒกแƒ˜แƒก แƒ’แƒ•แƒ”แƒ แƒ“แƒ˜แƒ—แƒ˜ แƒ™แƒแƒ แƒ˜แƒก แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒ˜แƒก แƒกแƒแƒฎแƒ˜แƒ—. แƒžแƒ แƒแƒฅแƒกแƒ˜แƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒแƒแƒฅแƒขแƒ˜แƒฃแƒ แƒ”แƒ‘แƒ”แƒœ แƒงแƒ•แƒ”แƒšแƒ แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒแƒก, แƒฅแƒ›แƒœแƒ˜แƒแƒœ แƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ—แƒ•แƒ˜แƒ—แƒ›แƒคแƒ แƒ˜แƒœแƒแƒ•แƒ˜แƒ“แƒ แƒ›แƒแƒ—แƒ˜ แƒ“แƒ˜แƒœแƒแƒ›แƒ˜แƒฃแƒ แƒแƒ“ แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒกแƒแƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ แƒ—แƒ•แƒ˜แƒ—แƒ›แƒคแƒ แƒ˜แƒœแƒแƒ•แƒ˜.

แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ—แƒ•แƒ˜แƒ—แƒ›แƒคแƒ แƒ˜แƒœแƒแƒ•แƒ˜

แƒ›แƒแƒ แƒ˜แƒแƒœแƒ”แƒขแƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒฉแƒแƒกแƒ›แƒฃแƒšแƒ˜แƒ แƒžแƒแƒ“แƒ”แƒ‘แƒจแƒ˜, แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒแƒซแƒšแƒ”แƒ•แƒก Istio-แƒก แƒแƒ“แƒ•แƒ˜แƒšแƒแƒ“ แƒ›แƒ˜แƒแƒฆแƒฌแƒ˜แƒแƒก แƒฉแƒ•แƒ”แƒœแƒ—แƒ•แƒ˜แƒก แƒกแƒแƒญแƒ˜แƒ แƒ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒก. แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒ›แƒแƒ“แƒ˜แƒ— แƒจแƒ”แƒ•แƒแƒ›แƒแƒฌแƒ›แƒแƒ— แƒ’แƒแƒœแƒ›แƒ”แƒแƒ แƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒชแƒ“แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒแƒ›แƒแƒ›แƒ แƒ—แƒ•แƒ”แƒšแƒ˜แƒก แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜.

แƒ“แƒแƒฃแƒ‘แƒ แƒฃแƒœแƒ“แƒ˜แƒ— แƒ›แƒ˜แƒ™แƒ แƒแƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒก Istio-แƒกแƒ—แƒแƒœ แƒ”แƒ แƒ—แƒแƒ“. แฒ›แƒ” -1 แƒœแƒแƒฌแƒ˜แƒšแƒ˜
แƒ แƒแƒ’แƒแƒ  แƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ“แƒ”แƒ‘แƒ แƒ’แƒแƒœแƒ›แƒ”แƒแƒ แƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒชแƒ“แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒ›แƒ˜แƒ™แƒ แƒแƒกแƒฅแƒ”แƒ›แƒ˜แƒก แƒ’แƒแƒฌแƒงแƒ•แƒ”แƒขแƒ Envoy-แƒจแƒ˜

แƒจแƒ”แƒแƒ•แƒกแƒแƒ—:

  1. แƒ“แƒ”แƒกแƒžแƒแƒœแƒ˜ (แƒกแƒแƒฃแƒ‘แƒแƒ แƒ˜แƒ แƒ’แƒ•แƒ”แƒ แƒ“แƒ˜แƒ—แƒ˜ แƒ™แƒแƒ แƒ˜แƒก แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒจแƒ˜ แƒ›แƒ“แƒ”แƒ‘แƒแƒ แƒ” แƒžแƒ แƒแƒฅแƒกแƒ˜แƒ–แƒ”, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒœแƒแƒฌแƒ˜แƒšแƒ“แƒ”แƒ‘แƒ แƒ“แƒ แƒ แƒแƒ’แƒแƒ  แƒชแƒแƒšแƒ™แƒ” แƒžแƒ แƒแƒ“แƒฃแƒฅแƒขแƒ˜ - แƒ“แƒแƒแƒฎแƒš. แƒ—แƒแƒ แƒ’แƒ›แƒแƒœแƒ˜.) แƒแƒ’แƒ–แƒแƒ•แƒœแƒ˜แƒก แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒแƒก B แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒก แƒžแƒ˜แƒ แƒ•แƒ”แƒš แƒ˜แƒœแƒกแƒขแƒแƒœแƒชแƒ˜แƒแƒจแƒ˜ แƒ“แƒ แƒ•แƒ”แƒ  แƒฎแƒ”แƒ แƒฎแƒ“แƒ”แƒ‘แƒ.
  2. แƒ”แƒšแƒฉแƒ˜ แƒกแƒแƒ˜แƒ“แƒ™แƒแƒ แƒ˜ แƒ˜แƒกแƒ”แƒ• แƒชแƒ“แƒ˜แƒก (แƒฎแƒ”แƒšแƒแƒฎแƒšแƒ แƒกแƒชแƒแƒ“แƒ”แƒ—). (1)
  3. แƒฌแƒแƒ แƒฃแƒ›แƒแƒขแƒ”แƒ‘แƒ”แƒšแƒ˜ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ แƒฃแƒ‘แƒ แƒฃแƒœแƒ“แƒ”แƒ‘แƒ แƒžแƒ แƒแƒฅแƒกแƒ˜แƒก, แƒ แƒแƒ›แƒ”แƒšแƒ›แƒแƒช แƒ›แƒแƒก แƒ“แƒแƒฃแƒ แƒ”แƒ™แƒ.
  4. แƒ”แƒก แƒฎแƒกแƒœแƒ˜แƒก Circuit Breaker-แƒก แƒ“แƒ แƒ’แƒแƒ›แƒแƒ˜แƒซแƒแƒฎแƒ”แƒ‘แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒก แƒจแƒ”แƒ›แƒ“แƒ’แƒแƒ›แƒ˜ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. (2)

แƒ”แƒก แƒœแƒ˜แƒจแƒœแƒแƒ•แƒก, แƒ แƒแƒ› แƒ—แƒฅแƒ•แƒ”แƒœ แƒแƒ  แƒ’แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒแƒ— แƒกแƒฎแƒ•แƒ แƒฎแƒ”แƒšแƒแƒฎแƒšแƒ แƒกแƒชแƒแƒ“แƒ”แƒ— แƒ‘แƒ˜แƒ‘แƒšแƒ˜แƒแƒ—แƒ”แƒ™แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ, แƒ—แƒฅแƒ•แƒ”แƒœ แƒแƒ  แƒฃแƒœแƒ“แƒ แƒ’แƒแƒแƒ™แƒ”แƒ—แƒแƒ— Circuit Breaking แƒ“แƒ Service Discovery แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒ”แƒœแƒแƒ–แƒ” X, Y แƒแƒœ Z. แƒ”แƒก แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒ“แƒ แƒ™แƒ˜แƒ“แƒ”แƒ• แƒ‘แƒ”แƒ•แƒ แƒ˜ แƒกแƒฎแƒ•แƒ แƒฎแƒ”แƒšแƒ›แƒ˜แƒกแƒแƒฌแƒ•แƒ“แƒแƒ›แƒ˜แƒ แƒงแƒฃแƒ—แƒจแƒ˜. แƒ˜แƒกแƒขแƒ˜แƒแƒจแƒ˜ แƒ“แƒ แƒแƒ  แƒกแƒแƒญแƒ˜แƒ แƒแƒ”แƒ‘แƒก แƒแƒ แƒแƒ แƒ˜แƒก แƒชแƒ•แƒšแƒ˜แƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜ แƒ™แƒแƒ“แƒจแƒ˜.

แƒ“แƒ˜แƒ“แƒ˜! แƒแƒฎแƒšแƒ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ˜แƒกแƒขแƒ˜แƒแƒกแƒ—แƒแƒœ แƒ”แƒ แƒ—แƒแƒ“ แƒ›แƒแƒ’แƒ–แƒแƒฃแƒ แƒแƒ‘แƒ แƒ›แƒแƒ’แƒ˜แƒœแƒ“แƒ”แƒก, แƒ›แƒแƒ’แƒ แƒแƒ› แƒฏแƒ”แƒ  แƒ™แƒ˜แƒ“แƒ”แƒ• แƒ’แƒแƒฅแƒ•แƒ— แƒ’แƒแƒ แƒ™แƒ•แƒ”แƒฃแƒšแƒ˜ แƒ”แƒญแƒ•แƒ˜, แƒฆแƒ˜แƒ แƒ™แƒ˜แƒ—แƒฎแƒ•แƒ”แƒ‘แƒ˜. แƒ—แƒฃ แƒ”แƒก แƒแƒ แƒ˜แƒก แƒฃแƒœแƒ˜แƒ•แƒ”แƒ แƒกแƒแƒšแƒฃแƒ แƒ˜ แƒ’แƒแƒ“แƒแƒฌแƒงแƒ•แƒ”แƒขแƒ แƒชแƒฎแƒแƒ•แƒ แƒ”แƒ‘แƒ˜แƒก แƒงแƒ•แƒ”แƒšแƒ แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ›แƒแƒจแƒ˜แƒœ แƒ—แƒฅแƒ•แƒ”แƒœ แƒ’แƒแƒฅแƒ•แƒ— แƒ‘แƒฃแƒœแƒ”แƒ‘แƒ แƒ˜แƒ•แƒ˜ แƒ”แƒญแƒ•แƒ˜: แƒงแƒแƒ•แƒ”แƒšแƒ˜แƒ•แƒ” แƒแƒ›แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, แƒกแƒ˜แƒœแƒแƒ›แƒ“แƒ•แƒ˜แƒšแƒ”แƒจแƒ˜ แƒงแƒ•แƒ”แƒšแƒ แƒแƒกแƒ”แƒ—แƒ˜ แƒ’แƒแƒ›แƒแƒกแƒแƒ•แƒแƒšแƒ˜ แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ แƒ˜ แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ’แƒแƒ›แƒแƒฃแƒกแƒแƒ“แƒ”แƒ’แƒแƒ แƒ˜ แƒแƒฆแƒ›แƒแƒฉแƒœแƒ“แƒ”แƒ‘แƒ.

แƒ“แƒ แƒ‘แƒแƒšแƒแƒก แƒ—แƒฅแƒ•แƒ”แƒœ แƒฐแƒ™แƒ˜แƒ—แƒฎแƒแƒ•แƒ—: "แƒ›แƒแƒ แƒ’แƒ”แƒ‘แƒแƒ“แƒ˜แƒ?"

แƒแƒฎแƒšแƒ แƒ—แƒฅแƒ•แƒ”แƒœ แƒ›แƒ–แƒแƒ“ แƒฎแƒแƒ แƒ— แƒกแƒแƒ–แƒฆแƒ•แƒแƒ แƒ›แƒแƒ’แƒ–แƒแƒฃแƒ แƒแƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก - แƒ“แƒ แƒ›แƒแƒ“แƒ˜แƒ— แƒ’แƒแƒ•แƒ”แƒชแƒœแƒแƒ— แƒกแƒแƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ แƒ—แƒ•แƒ˜แƒ—แƒ›แƒคแƒ แƒ˜แƒœแƒแƒ•แƒก.

แƒกแƒแƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ แƒ—แƒ•แƒ˜แƒ—แƒ›แƒคแƒ แƒ˜แƒœแƒแƒ•แƒ˜

แƒ˜แƒ’แƒ˜ แƒจแƒ”แƒ“แƒ’แƒ”แƒ‘แƒ แƒกแƒแƒ›แƒ˜ แƒ™แƒแƒ›แƒžแƒแƒœแƒ”แƒœแƒขแƒ˜แƒกแƒ’แƒแƒœ: Pilot, แƒ›แƒ˜แƒฅแƒกแƒ”แƒ แƒ˜ ะธ แƒชแƒ˜แƒฎแƒ”แƒ“, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒ”แƒ แƒ—แƒแƒ“ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ”แƒœ แƒ”แƒšแƒฉแƒ”แƒ‘แƒ˜แƒก แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ แƒแƒ—แƒ แƒ’แƒแƒแƒขแƒแƒ แƒแƒœ แƒขแƒ แƒแƒคแƒ˜แƒ™แƒ˜, แƒ’แƒแƒœแƒแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒแƒœ แƒฌแƒ”แƒกแƒ”แƒ‘แƒ˜ แƒ“แƒ แƒจแƒ”แƒแƒ’แƒ แƒแƒ•แƒแƒœ แƒขแƒ”แƒšแƒ”แƒ›แƒ”แƒขแƒ แƒ˜แƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜. แƒกแƒฅแƒ”แƒ›แƒแƒขแƒฃแƒ แƒแƒ“ แƒ”แƒก แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒแƒกแƒ” แƒ’แƒแƒ›แƒแƒ˜แƒงแƒฃแƒ แƒ”แƒ‘แƒ:

แƒ“แƒแƒฃแƒ‘แƒ แƒฃแƒœแƒ“แƒ˜แƒ— แƒ›แƒ˜แƒ™แƒ แƒแƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒก Istio-แƒกแƒ—แƒแƒœ แƒ”แƒ แƒ—แƒแƒ“. แฒ›แƒ” -1 แƒœแƒแƒฌแƒ˜แƒšแƒ˜
แƒกแƒแƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ แƒกแƒ˜แƒ‘แƒ แƒขแƒงแƒ˜แƒก แƒฃแƒ แƒ—แƒ˜แƒ”แƒ แƒ—แƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒกแƒ˜แƒ‘แƒ แƒขแƒงแƒ”แƒกแƒ—แƒแƒœ

แƒ“แƒ”แƒกแƒžแƒแƒœแƒ”แƒ‘แƒ˜ (แƒแƒœแƒฃ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ—แƒ•แƒ˜แƒ—แƒ›แƒคแƒ แƒ˜แƒœแƒแƒ•แƒ˜) แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ— Kubernetes CRD (Custom Resource Definitions) แƒ’แƒแƒœแƒกแƒแƒ–แƒฆแƒ•แƒ แƒฃแƒšแƒ˜ Istio-แƒก แƒ›แƒ˜แƒ”แƒ  แƒ“แƒ แƒกแƒžแƒ”แƒชแƒ˜แƒแƒšแƒฃแƒ แƒแƒ“ แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒšแƒ˜ แƒแƒ› แƒ›แƒ˜แƒ–แƒœแƒ˜แƒ—. แƒ แƒแƒก แƒœแƒ˜แƒจแƒœแƒแƒ•แƒก แƒ”แƒก แƒ—แƒฅแƒ•แƒ”แƒœแƒ—แƒ•แƒ˜แƒก แƒแƒ แƒ˜แƒก แƒ˜แƒก, แƒ แƒแƒ› แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“ แƒ™แƒ˜แƒ“แƒ”แƒ• แƒ”แƒ แƒ—แƒ˜ แƒ แƒ”แƒกแƒฃแƒ แƒกแƒ˜แƒ Kubernetes-แƒจแƒ˜ แƒœแƒแƒชแƒœแƒแƒ‘แƒ˜ แƒกแƒ˜แƒœแƒขแƒแƒฅแƒกแƒ˜แƒ—. แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, แƒแƒ› แƒ แƒ”แƒกแƒฃแƒ แƒกแƒก แƒแƒ˜แƒฆแƒ”แƒ‘แƒก แƒกแƒแƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ แƒ—แƒ•แƒ˜แƒ—แƒ›แƒคแƒ แƒ˜แƒœแƒแƒ•แƒ˜ แƒ“แƒ แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒก Envoys-แƒก.

แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ˜แƒก แƒฃแƒ แƒ—แƒ˜แƒ”แƒ แƒ—แƒแƒ‘แƒ แƒ˜แƒกแƒขแƒ˜แƒแƒกแƒ—แƒแƒœ

แƒฉแƒ•แƒ”แƒœ แƒแƒฆแƒ•แƒฌแƒ”แƒ แƒ”แƒ— แƒ˜แƒกแƒขแƒ˜แƒแƒก แƒฃแƒ แƒ—แƒ˜แƒ”แƒ แƒ—แƒแƒ‘แƒ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ—แƒแƒœ, แƒ›แƒแƒ’แƒ แƒแƒ› แƒแƒ แƒ แƒžแƒ˜แƒ แƒ˜แƒฅแƒ˜แƒ—: แƒ แƒแƒ’แƒแƒ  แƒฃแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ˜ แƒ˜แƒกแƒขแƒ˜แƒแƒก?

แƒ›แƒแƒ แƒ—แƒแƒšแƒ˜ แƒ’แƒ˜แƒ—แƒฎแƒ แƒแƒ—, แƒกแƒแƒ›แƒกแƒแƒฎแƒฃแƒ แƒ”แƒ‘แƒ›แƒ แƒ˜แƒกแƒ” แƒ˜แƒชแƒ˜แƒแƒœ แƒ˜แƒกแƒขแƒ˜แƒแƒก แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒ, แƒ แƒแƒ’แƒแƒ แƒช แƒ—แƒ”แƒ•แƒ–แƒ”แƒ‘แƒ˜ แƒฌแƒงแƒšแƒ˜แƒกแƒ, แƒ แƒแƒชแƒ แƒกแƒแƒ™แƒฃแƒ—แƒแƒ  แƒ—แƒแƒ•แƒก แƒ”แƒ™แƒ˜แƒ—แƒฎแƒ”แƒ‘แƒ˜แƒแƒœ: "แƒ แƒ แƒแƒ แƒ˜แƒก แƒฌแƒงแƒแƒšแƒ˜ แƒ›แƒแƒ˜แƒœแƒช?"

แƒ“แƒแƒฃแƒ‘แƒ แƒฃแƒœแƒ“แƒ˜แƒ— แƒ›แƒ˜แƒ™แƒ แƒแƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒก Istio-แƒกแƒ—แƒแƒœ แƒ”แƒ แƒ—แƒแƒ“. แฒ›แƒ” -1 แƒœแƒแƒฌแƒ˜แƒšแƒ˜
แƒ˜แƒšแƒฃแƒกแƒขแƒ แƒแƒชแƒ˜แƒ แƒ•แƒ˜แƒฅแƒขแƒแƒ แƒ˜แƒ แƒ“แƒ˜แƒ›แƒ˜แƒขแƒ แƒแƒ™แƒแƒžแƒฃแƒšแƒแƒกแƒ˜: แƒ แƒแƒ’แƒแƒ  แƒ›แƒแƒ’แƒฌแƒแƒœแƒก แƒฌแƒงแƒแƒšแƒ˜? - แƒ›แƒแƒ˜แƒœแƒช แƒ แƒ แƒแƒ แƒ˜แƒก แƒฌแƒงแƒแƒšแƒ˜?

แƒแƒ›แƒ แƒ˜แƒ’แƒแƒ“, แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒแƒ˜แƒฆแƒแƒ— แƒกแƒแƒ›แƒฃแƒจแƒแƒ แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜ แƒ“แƒ Istio แƒ™แƒแƒ›แƒžแƒแƒœแƒ”แƒœแƒขแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, แƒ›แƒแƒกแƒจแƒ˜ แƒแƒ แƒกแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ˜ แƒ’แƒแƒแƒ’แƒ แƒซแƒ”แƒšแƒ”แƒ‘แƒ”แƒœ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒแƒก แƒ“แƒ แƒแƒ› แƒ™แƒแƒ›แƒžแƒแƒœแƒ”แƒœแƒขแƒ”แƒ‘แƒ˜แƒก แƒแƒ›แƒแƒฆแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒ˜แƒกแƒ”แƒ• แƒ™แƒแƒ แƒ’แƒแƒ“ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ. แƒ’แƒแƒกแƒแƒ’แƒ”แƒ‘แƒ˜แƒ, แƒ แƒแƒ› แƒแƒ› แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜ แƒ˜แƒกแƒขแƒ˜แƒแƒก แƒ›แƒ˜แƒ”แƒ  แƒ›แƒแƒฌแƒแƒ“แƒ”แƒ‘แƒฃแƒš แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒ”แƒ‘แƒก แƒ“แƒแƒ™แƒแƒ แƒ’แƒแƒ•แƒ—.

แƒกแƒแƒ™แƒ›แƒแƒ แƒ˜แƒกแƒ˜แƒ แƒ—แƒ”แƒแƒ แƒ˜แƒ - แƒ›แƒแƒ“แƒ˜แƒ— แƒ”แƒก แƒชแƒแƒ“แƒœแƒ แƒžแƒ แƒแƒฅแƒขแƒ˜แƒ™แƒแƒจแƒ˜ แƒ’แƒแƒ›แƒแƒ•แƒ˜แƒงแƒ”แƒœแƒแƒ—!

แƒ˜แƒกแƒขแƒ˜แƒ แƒžแƒ แƒแƒฅแƒขแƒ˜แƒ™แƒแƒจแƒ˜

Istio แƒ›แƒแƒ˜แƒ—แƒฎแƒแƒ•แƒก Kubernetes แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒก แƒ›แƒ˜แƒœแƒ˜แƒ›แƒฃแƒ› 4 vCPU แƒ“แƒ 8 GB แƒแƒžแƒ”แƒ แƒแƒขแƒ˜แƒฃแƒšแƒ˜ แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ. แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜แƒก แƒกแƒฌแƒ แƒแƒคแƒแƒ“ แƒ“แƒแƒกแƒแƒงแƒ”แƒœแƒ”แƒ‘แƒšแƒแƒ“ แƒ“แƒ แƒกแƒขแƒแƒขแƒ˜แƒ˜แƒก แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ’แƒ˜แƒ แƒฉแƒ”แƒ•แƒ— แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒ— Google Cloud Platform, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒฎแƒแƒš แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ”แƒ‘แƒก แƒกแƒ—แƒแƒ•แƒแƒ–แƒแƒ‘แƒก แƒฃแƒคแƒแƒกแƒ $300.

แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒกแƒ แƒ“แƒ Kubernetes-แƒ–แƒ” แƒฌแƒ•แƒ“แƒแƒ›แƒ˜แƒก แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ™แƒแƒœแƒกแƒแƒšแƒ˜แƒก แƒฃแƒขแƒ˜แƒšแƒ˜แƒขแƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ˜แƒ—, แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ“แƒแƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒแƒ— Istio Helm แƒžแƒแƒ™แƒ”แƒขแƒ˜แƒก แƒ›แƒ”แƒœแƒ”แƒฏแƒ”แƒ แƒ˜แƒก แƒ›แƒ”แƒจแƒ•แƒ”แƒแƒ‘แƒ˜แƒ—.

แƒฉแƒแƒคแƒฎแƒฃแƒขแƒ˜แƒก แƒ›แƒแƒœแƒขแƒแƒŸแƒ˜

แƒ“แƒแƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒ”แƒ— Helm แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ˜ แƒ—แƒฅแƒ•แƒ”แƒœแƒก แƒ™แƒแƒ›แƒžแƒ˜แƒฃแƒขแƒ”แƒ แƒ–แƒ”, แƒ แƒแƒ’แƒแƒ แƒช แƒ”แƒก แƒแƒฆแƒฌแƒ”แƒ แƒ˜แƒšแƒ˜แƒ แƒแƒคแƒ˜แƒชแƒ˜แƒแƒšแƒฃแƒ แƒ˜ แƒ“แƒแƒ™แƒฃแƒ›แƒ”แƒœแƒขแƒแƒชแƒ˜แƒ. แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒ›แƒแƒ•แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ— แƒ›แƒแƒก แƒจแƒแƒ‘แƒšแƒแƒœแƒ”แƒ‘แƒ˜แƒก แƒ’แƒ”แƒœแƒ”แƒ แƒ˜แƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก Istio-แƒก แƒ˜แƒœแƒกแƒขแƒแƒšแƒแƒชแƒ˜แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ’แƒแƒœแƒงแƒแƒคแƒ˜แƒšแƒ”แƒ‘แƒแƒจแƒ˜.

แƒ˜แƒœแƒกแƒขแƒแƒšแƒแƒชแƒ˜แƒ

แƒฉแƒแƒ›แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ”แƒ— Istio แƒ แƒ”แƒกแƒฃแƒ แƒกแƒ”แƒ‘แƒ˜ แƒฃแƒแƒฎแƒšแƒ”แƒกแƒ˜ แƒ’แƒแƒ›แƒแƒจแƒ•แƒ”แƒ‘แƒ (แƒแƒ แƒ˜แƒ’แƒ˜แƒœแƒแƒšแƒฃแƒ แƒ˜ แƒแƒ•แƒขแƒแƒ แƒ˜แƒก แƒ‘แƒ›แƒฃแƒšแƒ˜ 1.0.5 แƒ•แƒ”แƒ แƒกแƒ˜แƒแƒ–แƒ” แƒจแƒ”แƒ˜แƒชแƒ•แƒแƒšแƒ แƒแƒฎแƒšแƒแƒœแƒ“แƒ”แƒšแƒ˜แƒ—, แƒแƒœแƒฃ 1.0.6 - แƒ“แƒแƒแƒฎแƒš. แƒ—แƒแƒ แƒ’แƒ›แƒแƒœแƒ˜), แƒแƒ›แƒแƒ˜แƒฆแƒ”แƒ— แƒจแƒ˜แƒ’แƒ—แƒแƒ•แƒกแƒ˜ แƒ”แƒ แƒ— แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒแƒ แƒ˜แƒแƒจแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒกแƒแƒช แƒแƒ›แƒ˜แƒ”แƒ แƒ˜แƒ“แƒแƒœ แƒ›แƒแƒ•แƒฃแƒฌแƒแƒ“แƒ”แƒ‘ [istio-resources].

Istio แƒ แƒ”แƒกแƒฃแƒ แƒกแƒ”แƒ‘แƒ˜แƒก แƒแƒ“แƒ•แƒ˜แƒšแƒแƒ“ แƒ˜แƒ“แƒ”แƒœแƒขแƒ˜แƒคแƒ˜แƒชแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒจแƒ”แƒฅแƒ›แƒ”แƒœแƒ˜แƒ— แƒกแƒแƒฎแƒ”แƒšแƒ—แƒ แƒกแƒ˜แƒ•แƒ แƒชแƒ” K8s แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒจแƒ˜ istio-system:

$ kubectl create namespace istio-system

แƒ“แƒแƒแƒกแƒ แƒฃแƒšแƒ”แƒ— แƒ˜แƒœแƒกแƒขแƒแƒšแƒแƒชแƒ˜แƒ แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒแƒ แƒ˜แƒแƒจแƒ˜ แƒœแƒแƒ•แƒ˜แƒ’แƒแƒชแƒ˜แƒ˜แƒ— [istio-resources] แƒ“แƒ แƒ’แƒแƒฃแƒจแƒ•แƒ˜แƒ— แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ:

$ helm template install/kubernetes/helm/istio 
  --set global.mtls.enabled=false 
  --set tracing.enabled=true 
  --set kiali.enabled=true 
  --set grafana.enabled=true 
  --namespace istio-system > istio.yaml

แƒ”แƒก แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ แƒ’แƒแƒ›แƒแƒกแƒชแƒ”แƒ›แƒก Istio-แƒก แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“ แƒ™แƒแƒ›แƒžแƒแƒœแƒ”แƒœแƒขแƒ”แƒ‘แƒก แƒคแƒแƒ˜แƒšแƒจแƒ˜ istio.yaml. แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ•แƒชแƒ•แƒแƒšแƒ”แƒ— แƒกแƒขแƒแƒœแƒ“แƒแƒ แƒขแƒฃแƒšแƒ˜ แƒจแƒแƒ‘แƒšแƒแƒœแƒ˜ แƒฉแƒ•แƒ”แƒœแƒ—แƒ•แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒ—แƒ˜แƒ—แƒ”แƒ‘แƒ˜แƒ—:

  • global.mtls.enabled แƒ“แƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ false (แƒแƒœแƒฃ mTLS แƒแƒ•แƒ—แƒ”แƒœแƒขแƒ˜แƒคแƒ˜แƒ™แƒแƒชแƒ˜แƒ แƒ’แƒแƒ›แƒแƒ แƒ—แƒฃแƒšแƒ˜แƒ - แƒ“แƒแƒแƒฎแƒš.)แƒฉแƒ•แƒ”แƒœแƒ˜ แƒ’แƒแƒชแƒœแƒแƒ‘แƒ˜แƒก แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜แƒก แƒ’แƒแƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ”แƒ‘แƒ;
  • tracing.enabled แƒ›แƒแƒ˜แƒชแƒแƒ•แƒก แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ˜แƒก แƒ›แƒ˜แƒ™แƒ•แƒšแƒ”แƒ•แƒแƒก Jaeger-แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—;
  • kiali.enabled แƒ“แƒแƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒ”แƒ‘แƒก Kiali-แƒก แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒจแƒ˜ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ˜แƒกแƒ แƒ“แƒ แƒขแƒ แƒแƒคแƒ˜แƒ™แƒ˜แƒก แƒ•แƒ˜แƒ–แƒฃแƒแƒšแƒ˜แƒ–แƒแƒชแƒ˜แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก;
  • grafana.enabled แƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒ”แƒ‘แƒก Grafana-แƒก แƒจแƒ”แƒ’แƒ แƒแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ›แƒ”แƒขแƒ แƒ˜แƒ™แƒ˜แƒก แƒ•แƒ˜แƒ–แƒฃแƒแƒšแƒ˜แƒ–แƒแƒชแƒ˜แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก.

แƒ’แƒแƒ›แƒแƒ•แƒ˜แƒงแƒ”แƒœแƒแƒ— แƒ’แƒ”แƒœแƒ”แƒ แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ แƒ”แƒกแƒฃแƒ แƒกแƒ”แƒ‘แƒ˜ แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ˜แƒ—:

$ kubectl apply -f istio.yaml

Istio-แƒก แƒ˜แƒœแƒกแƒขแƒแƒšแƒแƒชแƒ˜แƒ แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ–แƒ” แƒ“แƒแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ! แƒ“แƒแƒ”แƒšแƒแƒ“แƒ”แƒ— แƒกแƒแƒœแƒแƒ› แƒงแƒ•แƒ”แƒšแƒ แƒ‘แƒšแƒแƒ™แƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒกแƒแƒฎแƒ”แƒšแƒ—แƒ แƒกแƒ˜แƒ•แƒ แƒชแƒ”แƒจแƒ˜ istio-system แƒจแƒ”แƒซแƒšแƒ”แƒ‘แƒก Running แƒแƒœ Completedแƒฅแƒ•แƒ”แƒ›แƒแƒ— แƒ›แƒแƒชแƒ”แƒ›แƒฃแƒšแƒ˜ แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ˜แƒ—:

$ kubectl get pods -n istio-system

แƒแƒฎแƒšแƒ แƒฉแƒ•แƒ”แƒœ แƒ›แƒ–แƒแƒ“ แƒ•แƒแƒ แƒ— แƒ’แƒแƒ•แƒแƒ’แƒ แƒซแƒ”แƒšแƒแƒ— แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒ’แƒแƒœแƒงแƒแƒคแƒ˜แƒšแƒ”แƒ‘แƒ, แƒกแƒแƒ“แƒแƒช แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒแƒก แƒจแƒ”แƒ•แƒซแƒšแƒ”แƒ‘แƒ—.

แƒ’แƒแƒœแƒฌแƒงแƒแƒ‘แƒ˜แƒก แƒแƒœแƒแƒšแƒ˜แƒ–แƒ˜แƒก แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒแƒ แƒฅแƒ˜แƒขแƒ”แƒฅแƒขแƒฃแƒ แƒ

แƒ’แƒแƒ›แƒแƒ•แƒ˜แƒงแƒ”แƒœแƒแƒ— แƒฃแƒ™แƒ•แƒ” แƒแƒฆแƒœแƒ˜แƒจแƒœแƒฃแƒšแƒจแƒ˜ แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ Sentiment Analysis แƒ›แƒ˜แƒ™แƒ แƒแƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒก แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ˜ แƒจแƒ”แƒกแƒแƒ•แƒแƒšแƒ˜ แƒกแƒขแƒแƒขแƒ˜แƒ Kubernetes-แƒจแƒ˜. แƒ˜แƒก แƒกแƒแƒ™แƒ›แƒแƒ แƒ˜แƒกแƒแƒ“ แƒ แƒ—แƒฃแƒšแƒ˜แƒ แƒ˜แƒกแƒขแƒ˜แƒแƒก แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒ”แƒ‘แƒ˜แƒก แƒžแƒ แƒแƒฅแƒขแƒ˜แƒ™แƒแƒจแƒ˜ แƒกแƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒšแƒแƒ“.

แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ แƒจแƒ”แƒ“แƒ’แƒ”แƒ‘แƒ แƒแƒ—แƒฎแƒ˜ แƒ›แƒ˜แƒ™แƒ แƒแƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒกแƒ’แƒแƒœ:

  1. แƒกแƒแƒ›แƒกแƒแƒฎแƒฃแƒ แƒ˜แƒก SA-แƒคแƒ แƒแƒœแƒขแƒ”แƒœแƒ“แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ”แƒ›แƒกแƒแƒฎแƒฃแƒ แƒ”แƒ‘แƒ แƒคแƒ แƒแƒœแƒข-แƒ”แƒœแƒ“แƒ˜แƒก แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒแƒก Reactjs-แƒ–แƒ”;
  2. แƒกแƒแƒ›แƒกแƒแƒฎแƒฃแƒ แƒ˜แƒก SA WebApp, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ”แƒ›แƒกแƒแƒฎแƒฃแƒ แƒ”แƒ‘แƒ แƒกแƒ”แƒœแƒขแƒ˜แƒ›แƒ”แƒœแƒขแƒฃแƒ แƒ˜ แƒแƒœแƒแƒšแƒ˜แƒ–แƒ˜แƒก แƒจแƒ”แƒ™แƒ˜แƒ—แƒฎแƒ•แƒ”แƒ‘แƒก;
  3. แƒกแƒแƒ›แƒกแƒแƒฎแƒฃแƒ แƒ˜แƒก SA-แƒšแƒแƒ’แƒ˜แƒ™แƒแƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ—แƒแƒ•แƒแƒ“ แƒแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒก แƒ’แƒแƒœแƒฌแƒงแƒแƒ‘แƒ˜แƒก แƒแƒœแƒแƒšแƒ˜แƒ–แƒ˜;
  4. แƒกแƒแƒ›แƒกแƒแƒฎแƒฃแƒ แƒ˜แƒก SA แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ˜แƒฆแƒ”แƒ‘แƒก แƒฃแƒ™แƒฃแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒก แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ”แƒ‘แƒ˜แƒกแƒ’แƒแƒœ แƒแƒœแƒแƒšแƒ˜แƒ–แƒ˜แƒก แƒกแƒ˜แƒ–แƒฃแƒกแƒขแƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘.

แƒ“แƒแƒฃแƒ‘แƒ แƒฃแƒœแƒ“แƒ˜แƒ— แƒ›แƒ˜แƒ™แƒ แƒแƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒก Istio-แƒกแƒ—แƒแƒœ แƒ”แƒ แƒ—แƒแƒ“. แฒ›แƒ” -1 แƒœแƒแƒฌแƒ˜แƒšแƒ˜

แƒแƒ› แƒ“แƒ˜แƒแƒ’แƒ แƒแƒ›แƒแƒจแƒ˜, แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ แƒ“แƒ, แƒฉแƒ•แƒ”แƒœ แƒแƒกแƒ”แƒ•แƒ” แƒ•แƒฎแƒ”แƒ“แƒแƒ•แƒ— Ingress Controller-แƒก, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช Kubernetes-แƒจแƒ˜ แƒแƒ’แƒ–แƒแƒ•แƒœแƒ˜แƒก แƒจแƒ”แƒ›แƒแƒ›แƒแƒ•แƒแƒš แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒก แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒก แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ–แƒ”. Istio แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒก แƒ›แƒกแƒ’แƒแƒ•แƒก แƒ™แƒแƒœแƒชแƒ”แƒคแƒชแƒ˜แƒแƒก Ingress Gateway-แƒจแƒ˜, แƒ แƒแƒ›แƒšแƒ˜แƒก แƒ›แƒ”แƒขแƒ˜ แƒ“แƒ”แƒขแƒแƒšแƒ˜ แƒ›แƒแƒฐแƒงแƒ•แƒ”แƒ‘แƒ.

แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ แƒžแƒ แƒแƒฅแƒกแƒ˜แƒ— แƒ˜แƒกแƒขแƒ˜แƒแƒ“แƒแƒœ

แƒกแƒขแƒแƒขแƒ˜แƒแƒจแƒ˜ แƒœแƒแƒฎแƒกแƒ”แƒœแƒ”แƒ‘แƒ˜ แƒจแƒ”แƒ›แƒ“แƒ’แƒแƒ›แƒ˜ แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ™แƒšแƒแƒœแƒ˜แƒ แƒ”แƒ— แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒกแƒแƒชแƒแƒ•แƒ˜ แƒ˜แƒกแƒขแƒ˜แƒ-แƒแƒกแƒขแƒแƒขแƒแƒ‘แƒ. แƒ˜แƒก แƒจแƒ”แƒ˜แƒชแƒแƒ•แƒก แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒแƒก แƒ“แƒ แƒ›แƒแƒœแƒ˜แƒคแƒ”แƒกแƒขแƒ”แƒ‘แƒก Kubernetes-แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ“แƒ Istio-แƒกแƒ—แƒ•แƒ˜แƒก.

แƒ’แƒ•แƒ”แƒ แƒ“แƒ˜แƒ—แƒ˜ แƒ™แƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒฉแƒแƒกแƒ›แƒ

แƒฉแƒแƒกแƒ›แƒ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒแƒ•แƒขแƒแƒ›แƒแƒขแƒฃแƒ แƒแƒ“ แƒแƒœ แƒฎแƒ”แƒšแƒ˜แƒ—. แƒ’แƒ•แƒ”แƒ แƒ“แƒ˜แƒ—แƒ˜ แƒ™แƒแƒ แƒ˜แƒก แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒแƒ•แƒขแƒแƒ›แƒแƒขแƒฃแƒ แƒแƒ“ แƒฉแƒแƒกแƒแƒ แƒ—แƒแƒ•แƒแƒ“, แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒ“แƒแƒแƒงแƒ”แƒœแƒแƒ— แƒ”แƒขแƒ˜แƒ™แƒ”แƒขแƒ˜ แƒกแƒแƒฎแƒ”แƒšแƒ—แƒ แƒกแƒ˜แƒ•แƒ แƒชแƒ”แƒจแƒ˜ istio-injection=enabled, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ™แƒ”แƒ—แƒ“แƒ”แƒ‘แƒ แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ˜แƒ—:

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

แƒแƒฎแƒšแƒ แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒžแƒแƒ“แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ’แƒแƒœแƒšแƒแƒ’แƒ“แƒ”แƒ‘แƒ แƒœแƒแƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒ”แƒ• แƒกแƒแƒฎแƒ”แƒšแƒ—แƒ แƒกแƒ˜แƒ•แƒ แƒชแƒ”แƒจแƒ˜ (default) แƒ›แƒ˜แƒ˜แƒฆแƒ”แƒ‘แƒก แƒ—แƒแƒ•แƒ˜แƒก แƒ’แƒ•แƒ”แƒ แƒ“แƒ˜แƒ—แƒ แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒก. แƒแƒ›แƒ˜แƒก แƒจแƒ”แƒกแƒแƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒšแƒแƒ“, แƒ›แƒแƒ“แƒ˜แƒ— แƒ’แƒแƒœแƒ•แƒแƒ—แƒแƒ•แƒกแƒแƒ— แƒกแƒแƒขแƒ”แƒกแƒขแƒ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ แƒกแƒแƒชแƒแƒ•แƒ˜แƒก root แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒแƒ แƒ˜แƒแƒจแƒ˜ แƒ’แƒแƒ“แƒแƒกแƒ•แƒšแƒ˜แƒ— [istio-mastery] แƒ“แƒ แƒ’แƒแƒฃแƒจแƒ•แƒ˜แƒ— แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ:

$ kubectl apply -f resource-manifests/kube
persistentvolumeclaim/sqlite-pvc created
deployment.extensions/sa-feedback created
service/sa-feedback created
deployment.extensions/sa-frontend created
service/sa-frontend created
deployment.extensions/sa-logic created
service/sa-logic created
deployment.extensions/sa-web-app created
service/sa-web-app created

แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ˜แƒ— แƒจแƒ”แƒ•แƒแƒ›แƒแƒฌแƒ›แƒแƒ—, แƒ แƒแƒ› แƒžแƒแƒ“แƒ”แƒ‘แƒก แƒแƒฅแƒ•แƒ— แƒแƒ แƒ˜ แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒ˜ (แƒ—แƒแƒ•แƒแƒ“ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒ— แƒ“แƒ แƒ›แƒ˜แƒกแƒ˜ แƒ’แƒ•แƒ”แƒ แƒ“แƒ˜แƒ—แƒ˜ แƒ™แƒแƒ แƒ˜แƒ—). kubectl get pods แƒ“แƒ แƒ“แƒแƒ แƒฌแƒ›แƒฃแƒœแƒ“แƒ˜แƒ—, แƒ แƒแƒ› แƒกแƒ•แƒ”แƒขแƒ˜แƒก แƒฅแƒ•แƒ”แƒจ READY แƒ›แƒ˜แƒ—แƒ˜แƒ—แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒฆแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ 2/2, แƒกแƒ˜แƒ›แƒ‘แƒแƒšแƒแƒ, แƒ แƒแƒ› แƒแƒ แƒ˜แƒ•แƒ” แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒ˜ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก:

$ kubectl get pods
NAME                           READY     STATUS    RESTARTS   AGE
sa-feedback-55f5dc4d9c-c9wfv   2/2       Running   0          12m
sa-frontend-558f8986-hhkj9     2/2       Running   0          12m
sa-logic-568498cb4d-2sjwj      2/2       Running   0          12m
sa-logic-568498cb4d-p4f8c      2/2       Running   0          12m
sa-web-app-599cf47c7c-s7cvd    2/2       Running   0          12m

แƒ•แƒ˜แƒ–แƒฃแƒแƒšแƒฃแƒ แƒแƒ“ แƒแƒกแƒ” แƒ’แƒแƒ›แƒแƒ˜แƒงแƒฃแƒ แƒ”แƒ‘แƒ:

แƒ“แƒแƒฃแƒ‘แƒ แƒฃแƒœแƒ“แƒ˜แƒ— แƒ›แƒ˜แƒ™แƒ แƒแƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒก Istio-แƒกแƒ—แƒแƒœ แƒ”แƒ แƒ—แƒแƒ“. แฒ›แƒ” -1 แƒœแƒแƒฌแƒ˜แƒšแƒ˜
แƒ“แƒ”แƒกแƒžแƒแƒœแƒ˜แƒก แƒ›แƒแƒ แƒ˜แƒแƒœแƒ”แƒขแƒฃแƒšแƒ˜ แƒฌแƒแƒ แƒ›แƒแƒ›แƒแƒ“แƒ’แƒ”แƒœแƒ”แƒšแƒ˜ แƒ”แƒ แƒ—-แƒ”แƒ แƒ— แƒžแƒแƒ“แƒจแƒ˜

แƒแƒฎแƒšแƒ, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ, แƒฉแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒ“แƒแƒ•แƒฃแƒจแƒ•แƒแƒ— แƒจแƒ”แƒ›แƒแƒ›แƒแƒ•แƒแƒš แƒขแƒ แƒแƒคแƒ˜แƒ™แƒก แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒแƒจแƒ˜ แƒจแƒ”แƒกแƒ•แƒšแƒ.

Ingress Gateway

แƒแƒ›แƒ˜แƒก แƒ›แƒ˜แƒกแƒแƒฆแƒฌแƒ”แƒ•แƒแƒ“ แƒกแƒแƒฃแƒ™แƒ”แƒ—แƒ”แƒกแƒ แƒžแƒ แƒแƒฅแƒขแƒ˜แƒ™แƒ (แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒจแƒ˜ แƒขแƒ แƒแƒคแƒ˜แƒ™แƒ˜แƒก แƒ“แƒแƒจแƒ•แƒ”แƒ‘แƒ) แƒ’แƒแƒ“แƒ˜แƒก Ingress Gateway Istio-แƒจแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ›แƒ“แƒ”แƒ‘แƒแƒ แƒ”แƒแƒ‘แƒก แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜แƒก โ€žแƒ™แƒ˜แƒ“แƒ”แƒ–แƒ”โ€œ แƒ“แƒ แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ’แƒแƒซแƒšแƒ”แƒ•แƒ— แƒฉแƒแƒ แƒ—แƒแƒ— Istio แƒ˜แƒกแƒ”แƒ—แƒ˜ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜, แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ แƒ›แƒแƒ แƒจแƒ แƒฃแƒขแƒ˜แƒ แƒ”แƒ‘แƒ, แƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒ“แƒแƒ‘แƒแƒšแƒแƒœแƒกแƒ”แƒ‘แƒ, แƒฃแƒกแƒแƒคแƒ แƒ—แƒฎแƒแƒ”แƒ‘แƒ แƒ“แƒ แƒจแƒ”แƒ›แƒแƒ›แƒแƒ•แƒแƒšแƒ˜ แƒขแƒ แƒแƒคแƒ˜แƒ™แƒ˜แƒก แƒ›แƒแƒœแƒ˜แƒขแƒแƒ แƒ˜แƒœแƒ’แƒ˜.

Ingress Gateway แƒ™แƒแƒ›แƒžแƒแƒœแƒ”แƒœแƒขแƒ˜ แƒ“แƒ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ›แƒแƒก แƒ’แƒแƒ แƒ”แƒ“แƒแƒœ แƒแƒ’แƒ–แƒแƒ•แƒœแƒ˜แƒก, แƒ“แƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ˜แƒงแƒ แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒจแƒ˜ Istio-แƒก แƒ˜แƒœแƒกแƒขแƒแƒšแƒแƒชแƒ˜แƒ˜แƒก แƒ“แƒ แƒแƒก. แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒก แƒ’แƒแƒ แƒ” IP แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ˜แƒก แƒ’แƒแƒกแƒแƒ แƒ™แƒ•แƒ”แƒ•แƒแƒ“, แƒ’แƒแƒฃแƒจแƒ•แƒ˜แƒ—:

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

แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒ•แƒแƒ’แƒ แƒซแƒ”แƒšแƒ”แƒ‘แƒ— แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒแƒ–แƒ” แƒฌแƒ•แƒ“แƒแƒ›แƒแƒก แƒแƒ› IP-แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ— (แƒ›แƒ” แƒ›แƒแƒก แƒ›แƒแƒ•แƒ˜แƒฎแƒกแƒ”แƒœแƒ˜แƒ”แƒ‘ แƒ แƒแƒ’แƒแƒ แƒช EXTERNAL-IP), แƒแƒกแƒ” แƒ แƒแƒ›, แƒ›แƒแƒฎแƒ”แƒ แƒฎแƒ”แƒ‘แƒฃแƒšแƒแƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒฉแƒ•แƒ”แƒœ แƒฉแƒแƒ•แƒฌแƒ”แƒ แƒ— แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒแƒก แƒชแƒ•แƒšแƒแƒ“แƒจแƒ˜:

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

แƒ—แƒฃ แƒแƒฎแƒšแƒ แƒชแƒ“แƒ˜แƒšแƒแƒ‘แƒ— แƒแƒ› IP-แƒ–แƒ” แƒฌแƒ•แƒ“แƒแƒ›แƒแƒก แƒ‘แƒ แƒแƒฃแƒ–แƒ”แƒ แƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ˜แƒ—, แƒ›แƒ˜แƒ˜แƒฆแƒ”แƒ‘แƒ— แƒจแƒ”แƒชแƒ“แƒแƒ›แƒแƒก Service Unavailable, แƒ แƒแƒ“แƒ’แƒแƒœ แƒœแƒแƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒ”แƒ•แƒแƒ“ Istio แƒ‘แƒšแƒแƒ™แƒแƒ•แƒก แƒงแƒ•แƒ”แƒšแƒ แƒจแƒ”แƒ›แƒแƒ›แƒแƒ•แƒแƒš แƒขแƒ แƒแƒคแƒ˜แƒ™แƒกแƒกแƒแƒœแƒแƒ› Gateway แƒแƒ  แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒ’แƒแƒœแƒกแƒแƒ–แƒฆแƒ•แƒ แƒฃแƒšแƒ˜.

แƒ™แƒแƒ แƒ˜แƒ‘แƒญแƒ˜แƒก แƒ แƒ”แƒกแƒฃแƒ แƒกแƒ˜

Gateway แƒแƒ แƒ˜แƒก CRD (Custom Resource Definition) Kubernetes-แƒจแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ’แƒแƒœแƒ˜แƒกแƒแƒ–แƒฆแƒ•แƒ แƒ”แƒ‘แƒ Istio-แƒก แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒจแƒ˜ แƒ“แƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ“แƒ แƒ˜แƒซแƒšแƒ”แƒ•แƒ แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒแƒก แƒ›แƒ˜แƒฃแƒ—แƒ˜แƒ—แƒแƒ— แƒžแƒแƒ แƒขแƒ”แƒ‘แƒ˜, แƒžแƒ แƒแƒขแƒแƒ™แƒแƒšแƒ˜ แƒ“แƒ แƒฐแƒแƒกแƒขแƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒกแƒแƒช แƒ’แƒ•แƒ˜แƒœแƒ“แƒ แƒจแƒ”แƒ›แƒแƒ›แƒแƒ•แƒแƒšแƒ˜ แƒขแƒ แƒแƒคแƒ˜แƒ™แƒ˜แƒก แƒ“แƒแƒจแƒ•แƒ”แƒ‘แƒ.

แƒฉแƒ•แƒ”แƒœแƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒกแƒฃแƒ แƒก แƒ“แƒแƒ•แƒฃแƒจแƒ•แƒแƒ— HTTP แƒขแƒ แƒแƒคแƒ˜แƒ™แƒ˜ 80 แƒžแƒแƒ แƒขแƒ–แƒ” แƒงแƒ•แƒ”แƒšแƒ แƒฐแƒแƒกแƒขแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ แƒ แƒ”แƒแƒšแƒ˜แƒ–แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒ’แƒแƒœแƒ›แƒแƒ แƒขแƒ”แƒ‘แƒ˜แƒ— (http-gateway.yaml):

apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
  name: http-gateway
spec:
  selector:
    istio: ingressgateway
  servers:
  - port:
      number: 80
      name: http
      protocol: HTTP
    hosts:
- "*"

แƒแƒ› แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒแƒก แƒแƒ  แƒกแƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ แƒแƒฎแƒกแƒœแƒ แƒกแƒ”แƒšแƒ”แƒฅแƒขแƒแƒ แƒ˜แƒก แƒ’แƒแƒ แƒ“แƒ istio: ingressgateway. แƒแƒ› แƒกแƒ”แƒšแƒ”แƒฅแƒขแƒแƒ แƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ˜แƒ— แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒ’แƒแƒœแƒ•แƒกแƒแƒ–แƒฆแƒ•แƒ แƒแƒ—, แƒ แƒแƒ›แƒ”แƒš Ingress Gateway-แƒ–แƒ” แƒ›แƒ˜แƒ•แƒ›แƒแƒ แƒ—แƒแƒ— แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒแƒก. แƒฉแƒ•แƒ”แƒœแƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, แƒ”แƒก แƒแƒ แƒ˜แƒก Ingress Gateway แƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ”แƒ แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒœแƒแƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒ”แƒ•แƒแƒ“ แƒ˜แƒงแƒ แƒ“แƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ˜แƒกแƒขแƒ˜แƒแƒจแƒ˜.

แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒซแƒแƒฎแƒ”แƒ‘แƒ˜แƒ—:

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

แƒ™แƒแƒ แƒ˜แƒ‘แƒญแƒ” แƒแƒฎแƒšแƒ 80-แƒ” แƒžแƒแƒ แƒขแƒ–แƒ” แƒฌแƒ•แƒ“แƒแƒ›แƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ˜แƒซแƒšแƒ”แƒ•แƒ, แƒ›แƒแƒ’แƒ แƒแƒ› แƒฌแƒแƒ แƒ›แƒแƒ“แƒ’แƒ”แƒœแƒ แƒแƒ  แƒแƒฅแƒ•แƒก, แƒกแƒแƒ“ แƒ’แƒแƒแƒขแƒแƒ แƒแƒก แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒ˜. แƒแƒ›แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ“แƒแƒ’แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒแƒ— แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ˜.

แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒก แƒ แƒ”แƒกแƒฃแƒ แƒกแƒ˜

VirtualService แƒ”แƒฃแƒ‘แƒœแƒ”แƒ‘แƒ Ingress Gateway-แƒก, แƒ—แƒฃ แƒ แƒแƒ’แƒแƒ  แƒ’แƒแƒแƒขแƒแƒ แƒแƒก แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒ“แƒแƒจแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒจแƒ˜.

แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒ˜ แƒฉแƒ•แƒ”แƒœแƒก แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒแƒ–แƒ”, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ›แƒแƒ“แƒ˜แƒก http-gateway-แƒ˜แƒ—, แƒฃแƒœแƒ“แƒ แƒ’แƒแƒ˜แƒ’แƒ–แƒแƒ•แƒœแƒแƒก sa-frontend, sa-web-app แƒ“แƒ sa-feedback แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒก:

แƒ“แƒแƒฃแƒ‘แƒ แƒฃแƒœแƒ“แƒ˜แƒ— แƒ›แƒ˜แƒ™แƒ แƒแƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒก Istio-แƒกแƒ—แƒแƒœ แƒ”แƒ แƒ—แƒแƒ“. แฒ›แƒ” -1 แƒœแƒแƒฌแƒ˜แƒšแƒ˜
แƒ›แƒแƒ แƒจแƒ แƒฃแƒขแƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ VirtualServices-แƒ˜แƒ—

แƒ›แƒแƒ“แƒ˜แƒ— แƒจแƒ”แƒ•แƒฎแƒ”แƒ“แƒแƒ— แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒก, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒฃแƒœแƒ“แƒ แƒ’แƒแƒ˜แƒ’แƒ–แƒแƒ•แƒœแƒแƒก SA-Frontend-แƒจแƒ˜:

  • แƒ–แƒฃแƒกแƒขแƒ˜ แƒ›แƒแƒขแƒฉแƒ˜ แƒ’แƒ–แƒแƒ–แƒ” / แƒฃแƒœแƒ“แƒ แƒ’แƒแƒ˜แƒ’แƒ–แƒแƒ•แƒœแƒแƒก SA-Frontend-แƒ–แƒ” index.html-แƒ˜แƒก แƒ›แƒ˜แƒกแƒแƒฆแƒ”แƒ‘แƒแƒ“;
  • แƒ‘แƒ˜แƒšแƒ˜แƒ™แƒ”แƒ‘แƒ˜ แƒžแƒ แƒ”แƒคแƒ˜แƒฅแƒกแƒ˜แƒ— /static/* แƒฃแƒœแƒ“แƒ แƒ’แƒแƒ˜แƒ’แƒ–แƒแƒ•แƒœแƒแƒก SA-Frontend-แƒจแƒ˜, แƒ แƒแƒ—แƒ แƒ›แƒ˜แƒ˜แƒฆแƒแƒ— แƒกแƒขแƒแƒขแƒ˜แƒ™แƒฃแƒ แƒ˜ แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒคแƒ แƒแƒœแƒขแƒ”แƒœแƒ“แƒจแƒ˜, แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ CSS แƒ“แƒ JavaScript;
  • แƒ‘แƒ˜แƒšแƒ˜แƒ™แƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒจแƒ”แƒ”แƒกแƒแƒ‘แƒแƒ›แƒ”แƒ‘แƒ แƒ แƒ”แƒ’แƒฃแƒšแƒแƒ แƒฃแƒš แƒ’แƒแƒ›แƒแƒฎแƒแƒขแƒฃแƒšแƒ”แƒ‘แƒแƒก '^.*.(ico|png|jpg)$', แƒฃแƒœแƒ“แƒ แƒ’แƒแƒ˜แƒ’แƒ–แƒแƒ•แƒœแƒแƒก SA-Frontend-แƒจแƒ˜, แƒ แƒแƒ“แƒ’แƒแƒœ แƒ”แƒก แƒแƒ แƒ˜แƒก แƒ’แƒ•แƒ”แƒ แƒ“แƒ–แƒ” แƒœแƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒ˜ แƒกแƒฃแƒ แƒแƒ—แƒ”แƒ‘แƒ˜.

แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒ แƒ›แƒ˜แƒ˜แƒฆแƒฌแƒ”แƒ•แƒ แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒ— (sa-virtualservice-external.yaml):

kind: VirtualService
metadata:
  name: sa-external-services
spec:
  hosts:
  - "*"
  gateways:
  - http-gateway                      # 1
  http:
  - match:
    - uri:
        exact: /
    - uri:
        exact: /callback
    - uri:
        prefix: /static
    - uri:
        regex: '^.*.(ico|png|jpg)$'
    route:
    - destination:
        host: sa-frontend             # 2
        port:
number: 80

แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒแƒœแƒ˜ แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ:

  1. แƒ”แƒก แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜ แƒ”แƒฎแƒ”แƒ‘แƒ แƒจแƒ”แƒ›แƒแƒกแƒฃแƒš แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒก http- แƒ™แƒแƒ แƒ˜แƒ‘แƒญแƒ”;
  2. ะ’ destination แƒ’แƒแƒœแƒกแƒแƒ–แƒฆแƒ•แƒ แƒแƒ•แƒก แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒก, แƒ แƒแƒ›แƒ”แƒšแƒ–แƒ”แƒช แƒ˜แƒ’แƒ–แƒแƒ•แƒœแƒ”แƒ‘แƒ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒ˜.

แƒจแƒ”แƒœแƒ˜แƒจแƒ•แƒœแƒ: แƒ–แƒ”แƒ›แƒแƒ— แƒ›แƒแƒชแƒ”แƒ›แƒฃแƒšแƒ˜ แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ แƒ˜แƒœแƒแƒฎแƒ”แƒ‘แƒ แƒคแƒแƒ˜แƒšแƒจแƒ˜ sa-virtualservice-external.yaml, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒกแƒ”แƒ•แƒ” แƒจแƒ”แƒ˜แƒชแƒแƒ•แƒก SA-WebApp-แƒจแƒ˜ แƒ“แƒ SA-Feedback-แƒจแƒ˜ แƒ›แƒแƒ แƒจแƒ แƒฃแƒขแƒ˜แƒ–แƒแƒชแƒ˜แƒ˜แƒก แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ”แƒ‘แƒก, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ›แƒแƒ™แƒšแƒ”แƒ“ แƒจแƒ”แƒ›แƒชแƒ˜แƒ แƒ“แƒ แƒแƒฅ แƒกแƒขแƒแƒขแƒ˜แƒแƒจแƒ˜.

แƒ›แƒแƒ“แƒ˜แƒ— แƒ’แƒแƒ›แƒแƒ•แƒ˜แƒงแƒ”แƒœแƒแƒ— VirtualService แƒ“แƒแƒ แƒ”แƒ™แƒ•แƒ˜แƒ—:

$ kubectl apply -f resource-manifests/istio/sa-virtualservice-external.yaml
virtualservice.networking.istio.io/sa-external-services created

แƒจแƒ”แƒœแƒ˜แƒจแƒ•แƒœแƒ: แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒฉแƒ•แƒ”แƒœ แƒ•แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ— Istio แƒ แƒ”แƒกแƒฃแƒ แƒกแƒ”แƒ‘แƒก, Kubernetes API แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜ แƒฅแƒ›แƒœแƒ˜แƒก แƒ›แƒแƒ•แƒšแƒ”แƒœแƒแƒก, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ›แƒ˜แƒ˜แƒฆแƒ”แƒ‘แƒ Istio Control Plane-แƒ˜แƒก แƒ›แƒ˜แƒ”แƒ  แƒ“แƒ แƒแƒ›แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ pod-แƒ˜แƒก Envoy แƒ›แƒแƒ แƒ˜แƒแƒœแƒ”แƒขแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒ“แƒ Ingress Gateway แƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ”แƒ แƒ˜, แƒ แƒแƒ’แƒแƒ แƒช แƒฉแƒแƒœแƒก, แƒแƒ แƒ˜แƒก แƒ™แƒ˜แƒ“แƒ”แƒ• แƒ”แƒ แƒ—แƒ˜ แƒ“แƒ”แƒกแƒžแƒแƒœแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒกแƒแƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ แƒกแƒ˜แƒ‘แƒ แƒขแƒงแƒ”แƒจแƒ˜. แƒ”แƒก แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒแƒกแƒ” แƒ’แƒแƒ›แƒแƒ˜แƒงแƒฃแƒ แƒ”แƒ‘แƒ แƒ“แƒ˜แƒแƒ’แƒ แƒแƒ›แƒแƒ–แƒ”:

แƒ“แƒแƒฃแƒ‘แƒ แƒฃแƒœแƒ“แƒ˜แƒ— แƒ›แƒ˜แƒ™แƒ แƒแƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒก Istio-แƒกแƒ—แƒแƒœ แƒ”แƒ แƒ—แƒแƒ“. แฒ›แƒ” -1 แƒœแƒแƒฌแƒ˜แƒšแƒ˜
Istio-IngressGateway-แƒ˜แƒก แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ˜แƒก แƒ›แƒแƒ แƒจแƒ แƒฃแƒขแƒ˜แƒ–แƒแƒชแƒ˜แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก

แƒ’แƒแƒœแƒฌแƒงแƒแƒ‘แƒ˜แƒก แƒแƒœแƒแƒšแƒ˜แƒ–แƒ˜ แƒแƒฎแƒšแƒ แƒฎแƒ”แƒšแƒ›แƒ˜แƒกแƒแƒฌแƒ•แƒ“แƒแƒ›แƒ˜แƒ http://{EXTERNAL-IP}/. แƒแƒ  แƒ˜แƒœแƒ”แƒ แƒ•แƒ˜แƒฃแƒšแƒแƒ—, แƒ—แƒฃ แƒ›แƒ˜แƒ˜แƒฆแƒ”แƒ‘แƒ— Not Found แƒกแƒขแƒแƒขแƒฃแƒกแƒก: แƒ–แƒแƒ’แƒฏแƒ”แƒ  แƒชแƒแƒขแƒ แƒ›แƒ”แƒขแƒ˜ แƒ“แƒ แƒ แƒกแƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒแƒ›แƒแƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒแƒก แƒ“แƒ Envoy-แƒ˜แƒก แƒฅแƒ”แƒจแƒ˜แƒก แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒแƒก.

แƒกแƒแƒœแƒแƒ› แƒ’แƒแƒแƒ’แƒ แƒซแƒ”แƒšแƒ”แƒ‘แƒ—, แƒชแƒแƒขแƒแƒ—แƒ˜ แƒ˜แƒ—แƒแƒ›แƒแƒจแƒ”แƒ— แƒแƒžแƒ˜แƒ— แƒขแƒ แƒแƒคแƒ˜แƒ™แƒ˜แƒก แƒ’แƒ”แƒœแƒ”แƒ แƒ˜แƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. (แƒ›แƒ˜แƒกแƒ˜ แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒ แƒแƒฃแƒชแƒ˜แƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒจแƒ”แƒ›แƒ“แƒ’แƒแƒ› แƒ›แƒแƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒ”แƒ‘แƒจแƒ˜ แƒกแƒ˜แƒชแƒฎแƒแƒ“แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก - แƒ“แƒแƒแƒฎแƒš. แƒ—แƒแƒ แƒ’แƒ›แƒแƒœแƒ˜.).

แƒ™แƒ˜แƒแƒšแƒ˜: แƒ“แƒแƒ™แƒ•แƒ˜แƒ แƒ•แƒ”แƒ‘แƒแƒ“แƒแƒ‘แƒ

Kiali-แƒก แƒแƒ“แƒ›แƒ˜แƒœแƒ˜แƒกแƒขแƒ แƒแƒชแƒ˜แƒฃแƒš แƒ˜แƒœแƒขแƒ”แƒ แƒคแƒ”แƒ˜แƒกแƒแƒ›แƒ“แƒ” แƒ›แƒ˜แƒกแƒแƒกแƒ•แƒšแƒ”แƒšแƒแƒ“, แƒจแƒ”แƒแƒกแƒ แƒฃแƒšแƒ”แƒ— แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ:

$ kubectl port-forward 
    $(kubectl get pod -n istio-system -l app=kiali 
    -o jsonpath='{.items[0].metadata.name}') 
    -n istio-system 20001

... แƒ“แƒ แƒ’แƒแƒฎแƒกแƒ”แƒœแƒ˜ http://localhost:20001/, แƒจแƒ”แƒกแƒ•แƒšแƒ แƒ แƒแƒ’แƒแƒ แƒช แƒแƒ“แƒ›แƒ˜แƒœแƒ˜/แƒแƒ“แƒ›แƒ˜แƒœแƒ˜แƒกแƒขแƒ แƒแƒขแƒแƒ แƒ˜. แƒแƒฅ แƒœแƒแƒฎแƒแƒ•แƒ— แƒ‘แƒ”แƒ•แƒ  แƒกแƒแƒกแƒแƒ แƒ’แƒ”แƒ‘แƒšแƒ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒแƒก, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, Istio-แƒก แƒ™แƒแƒ›แƒžแƒแƒœแƒ”แƒœแƒขแƒ”แƒ‘แƒ˜แƒก แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒจแƒ”แƒกแƒแƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒšแƒแƒ“, แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ˜แƒก แƒ•แƒ˜แƒ–แƒฃแƒแƒšแƒ˜แƒ–แƒแƒชแƒ˜แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒฅแƒกแƒ”แƒšแƒ˜แƒก แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ˜แƒ“แƒแƒœ แƒจแƒ”แƒ’แƒ แƒแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—, แƒ›แƒ˜แƒ˜แƒฆแƒแƒ— แƒžแƒแƒกแƒฃแƒฎแƒ”แƒ‘แƒ˜ แƒ™แƒ˜แƒ—แƒฎแƒ•แƒ”แƒ‘แƒ–แƒ” โ€žแƒ•แƒ˜แƒœ แƒ•แƒ˜แƒก แƒฃแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ?โ€œ, โ€žแƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒก แƒ แƒแƒ›แƒ”แƒš แƒ•แƒ”แƒ แƒกแƒ˜แƒแƒก แƒ’แƒแƒœแƒ˜แƒชแƒ“แƒ˜แƒกโ€œ. แƒฌแƒแƒ แƒฃแƒ›แƒแƒขแƒ”แƒ‘แƒšแƒแƒ‘แƒ?โ€ แƒ“แƒ แƒแƒกแƒ” แƒจแƒ”แƒ›แƒ“แƒ”แƒ’. แƒ–แƒแƒ’แƒแƒ“แƒแƒ“, แƒ’แƒแƒ›แƒแƒ˜แƒ™แƒ•แƒšแƒ˜แƒ”แƒ— Kiali-แƒก แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒ”แƒ‘แƒ˜, แƒกแƒแƒœแƒแƒ› แƒ’แƒแƒ“แƒแƒฎแƒ•แƒแƒšแƒ— แƒ›แƒ”แƒขแƒ แƒ˜แƒ™แƒ˜แƒก แƒ•แƒ˜แƒ–แƒฃแƒแƒšแƒ˜แƒ–แƒแƒชแƒ˜แƒแƒ–แƒ” Grafana-แƒกแƒ—แƒแƒœ แƒ”แƒ แƒ—แƒแƒ“.

แƒ“แƒแƒฃแƒ‘แƒ แƒฃแƒœแƒ“แƒ˜แƒ— แƒ›แƒ˜แƒ™แƒ แƒแƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒก Istio-แƒกแƒ—แƒแƒœ แƒ”แƒ แƒ—แƒแƒ“. แฒ›แƒ” -1 แƒœแƒแƒฌแƒ˜แƒšแƒ˜

แƒ’แƒ แƒแƒคแƒแƒœแƒ: แƒ›แƒ”แƒขแƒ แƒ˜แƒ™แƒ˜แƒก แƒ•แƒ˜แƒ–แƒฃแƒแƒšแƒ˜แƒ–แƒแƒชแƒ˜แƒ

แƒ˜แƒกแƒขแƒ˜แƒแƒจแƒ˜ แƒจแƒ”แƒ’แƒ แƒแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ›แƒ”แƒขแƒ แƒ˜แƒ™แƒ แƒ›แƒ—แƒแƒ•แƒ แƒ“แƒ”แƒ‘แƒ แƒžแƒ แƒแƒ›แƒ”แƒ—แƒ”แƒจแƒ˜ แƒ“แƒ แƒ•แƒ˜แƒ–แƒฃแƒแƒšแƒ˜แƒ–แƒ“แƒ”แƒ‘แƒ แƒ’แƒ แƒแƒคแƒแƒœแƒแƒกแƒ—แƒแƒœ. Grafana แƒแƒ“แƒ›แƒ˜แƒœแƒ˜แƒกแƒขแƒ แƒแƒขแƒแƒ แƒ˜แƒก แƒ˜แƒœแƒขแƒ”แƒ แƒคแƒ”แƒ˜แƒกแƒจแƒ˜ แƒ›แƒแƒกแƒแƒฎแƒ•แƒ”แƒ“แƒ แƒแƒ“, แƒ’แƒแƒฃแƒจแƒ•แƒ˜แƒ— แƒฅแƒ•แƒ”แƒ›แƒแƒ— แƒ›แƒแƒชแƒ”แƒ›แƒฃแƒšแƒ˜ แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ, แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ’แƒแƒฎแƒกแƒ”แƒœแƒ˜แƒ— http://localhost:3000/:

$ kubectl -n istio-system port-forward 
    $(kubectl -n istio-system get pod -l app=grafana 
    -o jsonpath={.items[0].metadata.name}) 3000

แƒ›แƒ”แƒœแƒ˜แƒฃแƒ–แƒ” แƒ“แƒแƒญแƒ”แƒ แƒ˜แƒ— แƒ›แƒ—แƒแƒ•แƒแƒ แƒ˜ แƒ–แƒ”แƒ“แƒ แƒ›แƒแƒ แƒชแƒฎแƒ”แƒœแƒ แƒ“แƒ แƒแƒ˜แƒ แƒฉแƒ˜แƒ”แƒ— แƒ˜แƒกแƒขแƒ˜แƒแƒก แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒก แƒ“แƒแƒคแƒ แƒ–แƒ”แƒ“แƒ แƒ›แƒแƒ แƒชแƒฎแƒ”แƒœแƒ แƒ™แƒฃแƒ—แƒฎแƒ”แƒจแƒ˜ แƒ“แƒแƒ˜แƒฌแƒงแƒ”แƒ— แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒ— แƒกแƒ-แƒ•แƒ”แƒ‘-แƒแƒžแƒ˜แƒจแƒ”แƒ’แƒ แƒแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ›แƒ”แƒขแƒ แƒ˜แƒ™แƒ˜แƒก แƒ“แƒแƒกแƒแƒ—แƒ•แƒแƒšแƒ˜แƒ”แƒ แƒ”แƒ‘แƒšแƒแƒ“:

แƒ“แƒแƒฃแƒ‘แƒ แƒฃแƒœแƒ“แƒ˜แƒ— แƒ›แƒ˜แƒ™แƒ แƒแƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒก Istio-แƒกแƒ—แƒแƒœ แƒ”แƒ แƒ—แƒแƒ“. แฒ›แƒ” -1 แƒœแƒแƒฌแƒ˜แƒšแƒ˜

แƒ แƒแƒช แƒแƒฅ แƒ’แƒ•แƒ”แƒšแƒแƒ“แƒ”แƒ‘แƒ แƒชแƒแƒ แƒ˜แƒ”แƒšแƒ˜ แƒ“แƒ แƒกแƒ แƒฃแƒšแƒ˜แƒแƒ“ แƒ›แƒแƒกแƒแƒฌแƒงแƒ”แƒœแƒ˜ แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒแƒ - แƒ›แƒ”แƒœแƒ”แƒฏแƒ›แƒ”แƒœแƒขแƒ˜ แƒแƒ›แƒแƒก แƒแƒ แƒแƒกแƒแƒ“แƒ”แƒก แƒ“แƒแƒแƒ›แƒขแƒ™แƒ˜แƒชแƒ”แƒ‘แƒก. แƒ›แƒแƒ“แƒ˜แƒ— แƒจแƒ”แƒ•แƒฅแƒ›แƒœแƒแƒ— แƒ›แƒชแƒ˜แƒ แƒ” แƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ˜แƒ—:

$ while true; do 
    curl -i http://$EXTERNAL_IP/sentiment 
    -H "Content-type: application/json" 
    -d '{"sentence": "I love yogobella"}'; 
    sleep .8; done

แƒแƒฎแƒšแƒ แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒแƒฅแƒ•แƒก แƒ‘แƒ”แƒ•แƒ แƒแƒ“ แƒฃแƒคแƒ แƒ แƒšแƒแƒ›แƒแƒ–แƒ˜ แƒ’แƒ แƒแƒคแƒ˜แƒ™แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒ›แƒแƒ— แƒ’แƒแƒ แƒ“แƒ, แƒ›แƒจแƒ•แƒ”แƒœแƒ˜แƒ”แƒ แƒ˜ แƒฎแƒ”แƒšแƒกแƒแƒฌแƒงแƒแƒ”แƒ‘แƒ˜ Prometheus แƒ›แƒแƒœแƒ˜แƒขแƒแƒ แƒ˜แƒœแƒ’แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ“แƒ Grafana แƒ›แƒ”แƒขแƒ แƒ˜แƒ™แƒ˜แƒก แƒ•แƒ˜แƒ–แƒฃแƒแƒšแƒ˜แƒ–แƒแƒชแƒ˜แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ แƒแƒช แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ›แƒแƒ’แƒ•แƒชแƒ”แƒ›แƒก แƒ’แƒแƒ•แƒ˜แƒ’แƒแƒ— แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒก, แƒฏแƒแƒœแƒ›แƒ แƒ—แƒ”แƒšแƒแƒ‘แƒ˜แƒก แƒ›แƒ“แƒ’แƒแƒ›แƒแƒ แƒ”แƒแƒ‘แƒ˜แƒก, แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒฃแƒ›แƒฏแƒแƒ‘แƒ”แƒกแƒ”แƒ‘แƒ/แƒ“แƒ”แƒ’แƒ แƒแƒ“แƒแƒชแƒ˜แƒ แƒ“แƒ แƒแƒ—แƒ แƒ’แƒแƒœแƒ›แƒแƒ•แƒšแƒแƒ‘แƒแƒจแƒ˜.

แƒ“แƒแƒ‘แƒแƒšแƒแƒก, แƒ›แƒแƒ“แƒ˜แƒ— แƒ’แƒแƒ“แƒแƒ•แƒฎแƒ”แƒ“แƒแƒ— แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒก แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒจแƒ˜.

แƒ˜แƒ”แƒ’แƒ”แƒ แƒ˜: แƒ›แƒ˜แƒ™แƒ•แƒšแƒ”แƒ•แƒ

แƒฉแƒ•แƒ”แƒœ แƒ“แƒแƒ’แƒ•แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ แƒ™แƒ•แƒแƒšแƒ˜แƒคแƒ˜แƒ™แƒแƒชแƒ˜แƒ, แƒ แƒแƒ“แƒ’แƒแƒœ แƒ แƒแƒช แƒ›แƒ”แƒขแƒ˜ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜ แƒ’แƒ•แƒ”แƒฅแƒœแƒ”แƒ‘แƒ, แƒ›แƒ˜แƒ— แƒฃแƒคแƒ แƒ แƒ แƒ—แƒฃแƒšแƒ˜แƒ แƒ›แƒแƒ แƒชแƒฎแƒ˜แƒก แƒ›แƒ˜แƒ–แƒ”แƒ–แƒแƒ›แƒ“แƒ” แƒ›แƒ˜แƒกแƒ•แƒšแƒ. แƒ›แƒแƒ“แƒ˜แƒ— แƒจแƒ”แƒ•แƒฎแƒ”แƒ“แƒแƒ— แƒ›แƒแƒ แƒขแƒ˜แƒ• แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒก แƒฅแƒ•แƒ”แƒ›แƒแƒ— แƒ›แƒแƒชแƒ”แƒ›แƒฃแƒšแƒ˜ แƒกแƒฃแƒ แƒแƒ—แƒ˜แƒ“แƒแƒœ:

แƒ“แƒแƒฃแƒ‘แƒ แƒฃแƒœแƒ“แƒ˜แƒ— แƒ›แƒ˜แƒ™แƒ แƒแƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒก Istio-แƒกแƒ—แƒแƒœ แƒ”แƒ แƒ—แƒแƒ“. แฒ›แƒ” -1 แƒœแƒแƒฌแƒ˜แƒšแƒ˜
แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒ˜แƒ—แƒ˜ แƒฌแƒแƒ แƒฃแƒ›แƒแƒขแƒ”แƒ‘แƒ”แƒšแƒ˜ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ˜แƒก แƒขแƒ˜แƒžแƒ˜แƒฃแƒ แƒ˜ แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ˜

แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ แƒ›แƒแƒ“แƒ˜แƒก, แƒ”แƒชแƒ”แƒ›แƒ - แƒ แƒ แƒแƒ แƒ˜แƒก แƒ›แƒ˜แƒ–แƒ”แƒ–แƒ˜? แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜? แƒแƒœ แƒ›แƒ”แƒแƒ แƒ”? แƒแƒ แƒ˜แƒ•แƒ”แƒจแƒ˜ แƒแƒ แƒ˜แƒก แƒ’แƒแƒ›แƒแƒœแƒแƒ™แƒšแƒ˜แƒกแƒ”แƒ‘แƒ˜ - แƒ›แƒแƒ“แƒ˜แƒ— แƒ’แƒแƒ“แƒแƒ•แƒฎแƒ”แƒ“แƒแƒ— แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜แƒก แƒŸแƒฃแƒ แƒœแƒแƒšแƒก. แƒ แƒแƒ›แƒ“แƒ”แƒœแƒแƒ“ แƒฎแƒจแƒ˜แƒ แƒแƒ“ แƒ“แƒแƒ˜แƒญแƒ˜แƒ แƒ”แƒ— แƒกแƒแƒ™แƒฃแƒ—แƒแƒ แƒ˜ แƒ—แƒแƒ•แƒ˜ แƒแƒ›แƒ˜แƒก แƒ™แƒ”แƒ—แƒ”แƒ‘แƒแƒจแƒ˜? แƒฉแƒ•แƒ”แƒœแƒ˜ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ แƒฃแƒคแƒ แƒ แƒฐแƒ’แƒแƒ•แƒก แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒฃแƒš แƒ“แƒ”แƒขแƒ”แƒฅแƒขแƒ˜แƒ•แƒ”แƒ‘แƒก, แƒ•แƒ˜แƒ“แƒ แƒ” แƒ“แƒ”แƒ•แƒ”แƒšแƒแƒžแƒ”แƒ แƒ”แƒ‘แƒก...

แƒ”แƒก แƒแƒ แƒ˜แƒก แƒกแƒแƒ”แƒ แƒ—แƒ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ แƒ›แƒ˜แƒ™แƒ แƒแƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒจแƒ˜ แƒ“แƒ แƒ›แƒแƒ’แƒ•แƒแƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ’แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒขแƒ แƒแƒกแƒ˜แƒœแƒ’แƒ˜แƒก แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒ—, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒจแƒ˜แƒช แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ˜ แƒ”แƒ แƒ—แƒ›แƒแƒœแƒ”แƒ—แƒก แƒ’แƒแƒ“แƒแƒกแƒชแƒ”แƒ›แƒ”แƒœ แƒฃแƒœแƒ˜แƒ™แƒแƒšแƒฃแƒ  แƒกแƒแƒ—แƒแƒฃแƒ แƒก, แƒ แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒแƒช แƒ”แƒก แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ แƒ’แƒแƒ“แƒแƒ”แƒ’แƒ–แƒแƒ•แƒœแƒ”แƒ‘แƒ แƒขแƒ แƒแƒกแƒ˜แƒœแƒ’แƒ˜แƒก แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒแƒก, แƒกแƒแƒ“แƒแƒช แƒจแƒ”แƒ“แƒแƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ—แƒแƒœ. แƒแƒ˜ แƒ˜แƒšแƒฃแƒกแƒขแƒ แƒแƒชแƒ˜แƒ:

แƒ“แƒแƒฃแƒ‘แƒ แƒฃแƒœแƒ“แƒ˜แƒ— แƒ›แƒ˜แƒ™แƒ แƒแƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒก Istio-แƒกแƒ—แƒแƒœ แƒ”แƒ แƒ—แƒแƒ“. แฒ›แƒ” -1 แƒœแƒแƒฌแƒ˜แƒšแƒ˜
TraceId แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ˜แƒก แƒ˜แƒ“แƒ”แƒœแƒขแƒ˜แƒคแƒ˜แƒชแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก

Istio แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒก Jaeger Tracer-แƒก, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒก แƒ’แƒแƒ›แƒงแƒ˜แƒ“แƒ•แƒ”แƒšแƒ˜แƒกแƒ’แƒแƒœ แƒ“แƒแƒ›แƒแƒฃแƒ™แƒ˜แƒ“แƒ”แƒ‘แƒ”แƒš OpenTracing API แƒฉแƒแƒ แƒฉแƒแƒก. แƒ—แƒฅแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒจแƒ”แƒฎแƒ•แƒ˜แƒ“แƒ”แƒ— Jaeger-แƒ˜แƒก แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒ˜แƒœแƒขแƒ”แƒ แƒคแƒ”แƒ˜แƒกแƒ–แƒ” แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ˜แƒ—:

$ kubectl port-forward -n istio-system 
    $(kubectl get pod -n istio-system -l app=jaeger 
    -o jsonpath='{.items[0].metadata.name}') 16686

แƒแƒฎแƒšแƒ แƒ’แƒแƒ“แƒแƒ“แƒ˜แƒ— http://localhost:16686/ แƒ“แƒ แƒแƒ˜แƒ แƒฉแƒ˜แƒ”แƒ— แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜ แƒกแƒ-แƒ•แƒ”แƒ‘-แƒแƒžแƒ˜. แƒ—แƒฃ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜ แƒแƒ  แƒแƒ แƒ˜แƒก แƒœแƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒ˜ แƒฉแƒแƒ›แƒแƒกแƒแƒจแƒšแƒ”แƒš แƒ›แƒ”แƒœแƒ˜แƒฃแƒจแƒ˜, แƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ—/แƒจแƒ”แƒฅแƒ›แƒ”แƒœแƒ˜แƒ— แƒแƒฅแƒขแƒ˜แƒ•แƒแƒ‘แƒ แƒ’แƒ•แƒ”แƒ แƒ“แƒ–แƒ” แƒ“แƒ แƒ’แƒแƒœแƒแƒแƒฎแƒšแƒ”แƒ— แƒ˜แƒœแƒขแƒ”แƒ แƒคแƒ”แƒ˜แƒกแƒ˜. แƒแƒ›แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ“แƒแƒแƒญแƒ˜แƒ แƒ”แƒ— แƒฆแƒ˜แƒšแƒแƒ™แƒก แƒ˜แƒžแƒแƒ•แƒœแƒ”แƒ— แƒ™แƒ•แƒแƒšแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒก แƒฃแƒแƒฎแƒšแƒ”แƒก แƒ™แƒ•แƒแƒšแƒก - แƒแƒ˜แƒ แƒฉแƒ˜แƒ”แƒ— แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ แƒ˜ - แƒ’แƒแƒ›แƒแƒฉแƒœแƒ“แƒ”แƒ‘แƒ แƒ“แƒ”แƒขแƒแƒšแƒฃแƒ แƒ˜ แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ แƒงแƒ•แƒ”แƒšแƒ แƒ™แƒ•แƒแƒšแƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘:

แƒ“แƒแƒฃแƒ‘แƒ แƒฃแƒœแƒ“แƒ˜แƒ— แƒ›แƒ˜แƒ™แƒ แƒแƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒก Istio-แƒกแƒ—แƒแƒœ แƒ”แƒ แƒ—แƒแƒ“. แฒ›แƒ” -1 แƒœแƒแƒฌแƒ˜แƒšแƒ˜

แƒ”แƒก แƒ™แƒ•แƒแƒšแƒ˜ แƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒก:

  1. แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ แƒจแƒ”แƒ›แƒแƒ“แƒ˜แƒก istio-ingressgateway (แƒ”แƒก แƒแƒ แƒ˜แƒก แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒฃแƒ แƒ—แƒ˜แƒ”แƒ แƒ—แƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒ แƒ”แƒ แƒ—-แƒ”แƒ แƒ— แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ—แƒแƒœ แƒ“แƒ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ˜แƒฅแƒ›แƒœแƒ”แƒ‘แƒ Trace ID), แƒ แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒแƒช แƒ™แƒแƒ แƒ˜แƒ‘แƒญแƒ” แƒแƒ’แƒ–แƒแƒ•แƒœแƒ˜แƒก แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒแƒก แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒก แƒกแƒ-แƒ•แƒ”แƒ‘-แƒแƒžแƒ˜.
  2. แƒกแƒแƒ›แƒกแƒแƒฎแƒฃแƒ แƒจแƒ˜ แƒกแƒ-แƒ•แƒ”แƒ‘-แƒแƒžแƒ˜ แƒ—แƒฎแƒแƒ•แƒœแƒแƒก แƒแƒ˜แƒฆแƒ”แƒ‘แƒก Envoy sidecar-แƒ˜, แƒ˜แƒฅแƒ›แƒœแƒ”แƒ‘แƒ "แƒ‘แƒแƒ•แƒจแƒ•แƒ˜" แƒ“แƒ˜แƒแƒžแƒแƒ–แƒแƒœแƒจแƒ˜ (แƒแƒ›แƒ˜แƒขแƒแƒ› แƒ•แƒฎแƒ”แƒ“แƒแƒ•แƒ— แƒ›แƒแƒก แƒ™แƒ•แƒแƒšแƒจแƒ˜) แƒ“แƒ แƒ’แƒแƒ“แƒแƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒจแƒ˜. แƒกแƒ-แƒ•แƒ”แƒ‘-แƒแƒžแƒ˜. (Span - แƒ˜แƒแƒ’แƒ”แƒ แƒจแƒ˜ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒก แƒšแƒแƒ’แƒ˜แƒ™แƒฃแƒ แƒ˜ แƒ”แƒ แƒ—แƒ”แƒฃแƒšแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒกแƒแƒช แƒแƒฅแƒ•แƒก แƒกแƒแƒฎแƒ”แƒšแƒ˜, แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒ˜แƒก แƒ“แƒแƒฌแƒงแƒ”แƒ‘แƒ˜แƒก แƒ“แƒ แƒ แƒ“แƒ แƒฎแƒแƒœแƒ’แƒ แƒซแƒšแƒ˜แƒ•แƒแƒ‘แƒ. แƒกแƒžแƒแƒœแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ แƒ“แƒ แƒจแƒ”แƒ™แƒ•แƒ”แƒ—แƒ แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ. แƒกแƒžแƒแƒœแƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒ›แƒแƒ แƒ—แƒฃแƒšแƒ˜ แƒแƒชแƒ˜แƒ™แƒšแƒฃแƒ แƒ˜ แƒ’แƒ แƒแƒคแƒ˜แƒ™แƒ˜ แƒฅแƒ›แƒœแƒ˜แƒก แƒ™แƒ•แƒแƒšแƒก. - แƒ“แƒแƒแƒฎแƒš. แƒ—แƒแƒ แƒ’แƒ›แƒแƒœแƒ˜.)
  3. แƒแƒฅ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ แƒ›แƒฃแƒจแƒแƒ•แƒ“แƒ”แƒ‘แƒ แƒ›แƒ”แƒ—แƒแƒ“แƒ˜แƒ— แƒกแƒ”แƒœแƒขแƒ˜แƒ›แƒ”แƒœแƒขแƒแƒšแƒฃแƒ แƒ˜ แƒแƒœแƒแƒšแƒ˜แƒ–แƒ˜. แƒ”แƒก แƒ™แƒ•แƒแƒšแƒ˜ แƒฃแƒ™แƒ•แƒ” แƒ’แƒ”แƒœแƒ”แƒ แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ›แƒ˜แƒ”แƒ , แƒ”.แƒ˜. แƒ›แƒแƒ— แƒ›แƒแƒ˜แƒ—แƒฎแƒแƒ•แƒ”แƒก แƒ™แƒแƒ“แƒ˜แƒก แƒชแƒ•แƒšแƒ˜แƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜.
  4. แƒแƒ› แƒ›แƒแƒ›แƒ”แƒœแƒขแƒ˜แƒ“แƒแƒœ แƒ˜แƒฌแƒงแƒ”แƒ‘แƒ POST แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ แƒกแƒ-แƒšแƒแƒ’แƒ˜แƒ™แƒ. Trace ID แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก แƒ’แƒแƒ“แƒแƒ’แƒ–แƒแƒ•แƒœแƒ˜แƒšแƒ˜ แƒกแƒ-แƒ•แƒ”แƒ‘-แƒแƒžแƒ˜.
  5. ...

แƒจแƒ”แƒœแƒ˜แƒจแƒ•แƒœแƒ: แƒœแƒแƒ‘แƒ˜แƒฏแƒ˜ 4, แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒแƒ› แƒฃแƒœแƒ“แƒ แƒœแƒแƒฎแƒแƒก Istio-แƒก แƒ›แƒ˜แƒ”แƒ  แƒ’แƒ”แƒœแƒ”แƒ แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒกแƒแƒ—แƒแƒฃแƒ แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒ’แƒแƒ“แƒแƒกแƒชแƒ”แƒก แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒจแƒ”แƒ›แƒ“แƒ’แƒแƒ› แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒ–แƒ”, แƒ แƒแƒ’แƒแƒ แƒช แƒœแƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒ˜แƒ แƒฅแƒ•แƒ”แƒ›แƒแƒ— แƒ›แƒแƒชแƒ”แƒ›แƒฃแƒš แƒกแƒฃแƒ แƒแƒ—แƒ–แƒ”:

แƒ“แƒแƒฃแƒ‘แƒ แƒฃแƒœแƒ“แƒ˜แƒ— แƒ›แƒ˜แƒ™แƒ แƒแƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒก Istio-แƒกแƒ—แƒแƒœ แƒ”แƒ แƒ—แƒแƒ“. แฒ›แƒ” -1 แƒœแƒแƒฌแƒ˜แƒšแƒ˜
(แƒ) แƒ˜แƒกแƒขแƒ˜แƒ แƒžแƒแƒกแƒฃแƒฎแƒ˜แƒกแƒ›แƒ’แƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒกแƒแƒ—แƒแƒฃแƒ แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ“แƒแƒ’แƒ–แƒแƒ•แƒœแƒแƒ–แƒ”; (B) แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ˜ แƒžแƒแƒกแƒฃแƒฎแƒ˜แƒกแƒ›แƒ’แƒ”แƒ‘แƒ”แƒšแƒœแƒ˜ แƒแƒ แƒ˜แƒแƒœ แƒกแƒแƒ—แƒแƒฃแƒ แƒ”แƒ‘แƒ–แƒ”

แƒ˜แƒกแƒขแƒ˜แƒ แƒกแƒแƒ›แƒฃแƒจแƒแƒแƒก แƒฃแƒ›แƒ”แƒขแƒ”แƒก แƒœแƒแƒฌแƒ˜แƒšแƒก แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒก, แƒ แƒแƒ“แƒ’แƒแƒœ... แƒฌแƒแƒ แƒ›แƒแƒฅแƒ›แƒœแƒ˜แƒก แƒกแƒแƒ—แƒแƒฃแƒ แƒ”แƒ‘แƒก แƒจแƒ”แƒ›แƒแƒ›แƒแƒ•แƒแƒšแƒ˜ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒฅแƒ›แƒœแƒ˜แƒก แƒแƒฎแƒแƒš แƒกแƒžแƒแƒœแƒ”แƒ‘แƒก แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒš แƒ’แƒ•แƒ”แƒ แƒ“แƒ˜แƒ—แƒ˜ แƒ’แƒแƒœแƒงแƒแƒคแƒ˜แƒšแƒ”แƒ‘แƒแƒจแƒ˜ แƒ“แƒ แƒ’แƒแƒ“แƒแƒกแƒชแƒ”แƒ›แƒก แƒ›แƒแƒ—. แƒ—แƒฃแƒ›แƒชแƒ, แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ˜แƒก แƒจแƒ˜แƒ’แƒœแƒ˜แƒ— แƒกแƒแƒ—แƒแƒฃแƒ แƒ”แƒ‘แƒ—แƒแƒœ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”, แƒกแƒ แƒฃแƒšแƒ˜ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ˜แƒก แƒ™แƒ•แƒแƒšแƒ˜แƒก แƒ‘แƒ˜แƒšแƒ˜แƒ™แƒ˜ แƒ“แƒแƒ˜แƒ™แƒแƒ แƒ’แƒ”แƒ‘แƒ.

แƒ’แƒแƒกแƒแƒ—แƒ•แƒแƒšแƒ˜แƒกแƒฌแƒ˜แƒœแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒกแƒแƒ—แƒแƒฃแƒ แƒ”แƒ‘แƒ˜:

x-request-id
x-b3-traceid
x-b3-spanid
x-b3-parentspanid
x-b3-sampled
x-b3-flags
x-ot-span-context

แƒ”แƒก แƒแƒ  แƒแƒ แƒ˜แƒก แƒ แƒ—แƒฃแƒšแƒ˜ แƒแƒ›แƒแƒชแƒแƒœแƒ, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ›แƒ˜แƒกแƒ˜ แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ”แƒ‘แƒ แƒฃแƒ™แƒ•แƒ” แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒก แƒ‘แƒ”แƒ•แƒ แƒ˜ แƒ‘แƒ˜แƒ‘แƒšแƒ˜แƒแƒ—แƒ”แƒ™แƒ - แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, sa-web-app แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒจแƒ˜ RestTemplate แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ˜ แƒ’แƒแƒ“แƒแƒกแƒชแƒ”แƒ›แƒก แƒแƒ› แƒกแƒแƒ—แƒแƒฃแƒ แƒ”แƒ‘แƒก, แƒ—แƒฃ แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“ แƒ“แƒแƒแƒ›แƒแƒขแƒ”แƒ‘แƒ— Jaeger แƒ“แƒ OpenTracing แƒ‘แƒ˜แƒ‘แƒšแƒ˜แƒแƒ—แƒ”แƒ™แƒ”แƒ‘แƒก แƒ›แƒ˜แƒกแƒ˜ แƒ“แƒแƒ›แƒแƒ™แƒ˜แƒ“แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜.

แƒ’แƒแƒ˜แƒ—แƒ•แƒแƒšแƒ˜แƒกแƒฌแƒ˜แƒœแƒ”แƒ—, แƒ แƒแƒ› Sentiment Analysis แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ แƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒก แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒ”แƒ‘แƒก Flask, Spring แƒ“แƒ ASP.NET Core-แƒจแƒ˜.

แƒแƒฎแƒšแƒ, แƒ แƒแƒชแƒ แƒฃแƒ™แƒ•แƒ” แƒœแƒแƒ—แƒ”แƒšแƒ˜แƒ, แƒ แƒแƒก แƒ•แƒ˜แƒฆแƒ”แƒ‘แƒ— แƒงแƒฃแƒ—แƒ˜แƒ“แƒแƒœ (แƒแƒœ แƒ—แƒ˜แƒ—แƒฅแƒ›แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒ“แƒแƒœ), แƒ›แƒแƒ“แƒ˜แƒ— แƒ’แƒแƒ“แƒแƒ•แƒฎแƒ”แƒ“แƒแƒ— แƒ›แƒแƒ แƒจแƒ แƒฃแƒขแƒ˜แƒก แƒ“แƒแƒ–แƒฃแƒกแƒขแƒ”แƒ‘แƒแƒก, แƒฅแƒกแƒ”แƒšแƒฃแƒ แƒ˜ แƒขแƒ แƒแƒคแƒ˜แƒ™แƒ˜แƒก แƒ›แƒแƒ แƒ—แƒ•แƒแƒก, แƒฃแƒกแƒแƒคแƒ แƒ—แƒฎแƒแƒ”แƒ‘แƒแƒก แƒ“แƒ แƒกแƒฎแƒ•แƒแƒก!

แฒจแƒ”แƒœแƒ˜แƒจแƒ•แƒœแƒ. แƒ—แƒแƒ แƒ’แƒ›แƒœแƒ: แƒแƒ›แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘ แƒฌแƒแƒ˜แƒ™แƒ˜แƒ—แƒฎแƒ”แƒ— Istio-แƒก แƒ›แƒแƒกแƒแƒšแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒœแƒแƒฌแƒ˜แƒšแƒจแƒ˜ Rinor Maloku-แƒ“แƒแƒœ, แƒ แƒแƒ›แƒšแƒ˜แƒก แƒ—แƒแƒ แƒ’แƒ›แƒแƒœแƒ”แƒ‘แƒ˜แƒช แƒฃแƒแƒฎแƒšแƒแƒ”แƒก แƒ›แƒแƒ›แƒแƒ•แƒแƒšแƒจแƒ˜ แƒจแƒ”แƒ›แƒแƒ’แƒ—แƒแƒ•แƒแƒ–แƒ”แƒ‘แƒ— แƒฉแƒ•แƒ”แƒœแƒก แƒ‘แƒšแƒแƒ’แƒ–แƒ”. แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒ˜แƒก (14 แƒ›แƒแƒ แƒขแƒ˜): แƒ›แƒ”แƒแƒ แƒ” แƒœแƒแƒฌแƒ˜แƒšแƒ˜ แƒฃแƒ™แƒ•แƒ” แƒ’แƒแƒ›แƒแƒฅแƒ•แƒ”แƒงแƒœแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ.

PS แƒ›แƒ—แƒแƒ แƒ’แƒ›แƒœแƒ”แƒšแƒ˜แƒกแƒ’แƒแƒœ

แƒแƒกแƒ”แƒ•แƒ” แƒฌแƒแƒ˜แƒ™แƒ˜แƒ—แƒฎแƒ”แƒ— แƒฉแƒ•แƒ”แƒœแƒก แƒ‘แƒšแƒแƒ’แƒ–แƒ”:

แƒฌแƒงแƒแƒ แƒ: www.habr.com

แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ