Istio Service Mesh හි පළ කිරීම් මාලාවක්

අපි Red Hat OpenShift සහ Kubernetes සමඟ ඒකාබද්ධ වූ විට Istio Service Mesh හි බොහෝ හැකියාවන් ප්‍රදර්ශනය කරන පළ කිරීම් මාලාවක් ආරම්භ කරන්නෙමු.

Istio Service Mesh හි පළ කිරීම් මාලාවක්

පළමු කොටස, අද:

  • අපි Kubernetes sidecar බහාලුම් සංකල්පය පැහැදිලි කර මෙම පළ කිරීම් මාලාවේ leitmotif සකස් කරමු: "ඔබේ කේතයේ කිසිවක් වෙනස් කිරීමට ඔබට අවශ්ය නැත".
  • Istio හි මූලික දෙය - මාර්ගගත කිරීමේ නීති හඳුන්වා දෙමු. අනෙකුත් සියලුම Istio විශේෂාංග ඒවා මත ගොඩනගා ඇත, මන්ද එය ඔබට සේවා කේතයෙන් පිටත YAML ගොනු භාවිතා කරමින් ක්ෂුද්‍ර සේවා වෙත ගමනාගමනය යොමු කිරීමට ඉඩ සලසන නීති වේ. අපි Canary Deployment deployment Scheme එක ගැනත් සලකා බලනවා. අලුත් අවුරුදු ප්‍රසාද දීමනාව – Istio පිළිබඳ අන්තර්ක්‍රියාකාරී පාඩම් 10ක්


දෙවන කොටස, ළඟදීම, ඔබට කියනු ඇත:

  • Istio විසින් Circuit Breaker සමඟ ඒකාබද්ධව Pool Ejection ක්‍රියාවට නංවන ආකාරය සහ සමතුලිත පරිපථයෙන් මිය ගිය හෝ දුර්වල ලෙස ක්‍රියා කරන පොඩ් එකක් ඉවත් කිරීමට Istio ඔබට ඉඩ දෙන ආකාරය නිරූපණය කරනු ඇත.
  • අපි පළමු පෝස්ට් එකේ සිට සර්කිට් බ්‍රේකර් මාතෘකාව දෙස බලමු, මෙහි ඉස්ටියෝ භාවිතා කරන්නේ කෙසේදැයි බැලීමට. සේවා කේතයේ සුළු වෙනසක් නොමැතිව YAML වින්‍යාස ගොනු සහ ටර්මිනල් විධාන භාවිතා කරමින් ගමනාගමනය මෙහෙයවන ආකාරය සහ ජාල දෝෂ හසුරුවන ආකාරය අපි ඔබට පෙන්වන්නෙමු.

තුන්වන කොටස:

  • ලුහුබැඳීම සහ අධීක්ෂණය පිළිබඳ කථාවක්, දැනටමත් ගොඩනඟා ඇති හෝ Istio වෙත පහසුවෙන් එකතු කර ඇත. ක්ෂුද්‍ර සේවා ගෘහ නිර්මාණ ශිල්පය ආයාසයකින් තොරව කළමනාකරණය කිරීමට OpenShift පරිමාණය සමඟ ඒකාබද්ධව Prometheus, Jaeger, සහ Grafana වැනි මෙවලම් භාවිත කරන ආකාරය අපි ඔබට පෙන්වන්නම්.
  • අපි දෝෂ නිරීක්‍ෂණය කිරීමේ සහ හැසිරවීමේ සිට ඒවා හිතාමතාම පද්ධතියට හඳුන්වා දීම දක්වා ගමන් කරමු. වෙනත් වචන වලින් කිවහොත්, ප්‍රභව කේතය වෙනස් නොකර වැරදි එන්නත් කරන්නේ කෙසේදැයි අපි ඉගෙන ගනිමු, එය පරීක්ෂණ දෘෂ්ටි කෝණයකින් ඉතා වැදගත් වේ - ඔබ මේ සඳහා කේතය වෙනස් කළහොත් අමතර දෝෂ හඳුන්වා දීමේ අවදානමක් ඇත.

අවසාන වශයෙන්, Istio Service Mesh හි අවසාන පෝස්ට් එකේ:

  • අපි අඳුරු පැත්තට යමු. වඩාත් නිවැරදිව, අපි කේතය යොදවා නිෂ්පාදන දත්ත මත කෙලින්ම පරීක්ෂා කරන විට, අඳුරු දියත් කිරීමේ යෝජනා ක්‍රමය භාවිතා කිරීමට ඉගෙන ගනිමු, නමුත් පද්ධතියේ ක්‍රියාකාරිත්වයට කිසිදු ආකාරයකින් බලපාන්නේ නැත. ගමනාගමනය බෙදීමට ඉස්ටියෝට ඇති හැකියාව ප්‍රයෝජනවත් වන්නේ මෙහිදීය. සටන් පද්ධතියේ ක්‍රියාකාරිත්වයට කිසිදු ආකාරයකින් බලපෑමක් නොකර සජීවී නිෂ්පාදන දත්ත පරීක්ෂා කිරීමේ හැකියාව සත්‍යාපනය කිරීමේ වඩාත්ම ඒත්තු ගැන්වෙන ක්‍රමයයි.
  • අඳුරු දියත් කිරීම මත ගොඩනැගීම, අවදානම අඩු කිරීමට සහ නිෂ්පාදනයට නව කේතය ලබා ගැනීම පහසු කිරීමට Canary Deployment ආකෘතිය භාවිතා කරන්නේ කෙසේදැයි අපි ඔබට පෙන්වන්නෙමු. Canary Deployment ම අලුත් දෙයක් නොවේ, නමුත් Istio ඔබට මෙම යෝජනා ක්‍රමය සරල YAML ගොනු සමඟ ක්‍රියාත්මක කිරීමට ඉඩ දෙයි.
  • අවසාන වශයෙන්, අන්තර්ජාලය සමඟ වැඩ කිරීමේදී Istio හි හැකියාවන් භාවිතා කිරීම සඳහා ඔබේ පොකුරු වලින් පිටත සිටින අයට සේවාවන් සඳහා ප්‍රවේශය ලබා දීම සඳහා Istio Egress භාවිතා කරන්නේ කෙසේදැයි අපි ඔබට පෙන්වන්නෙමු.

එහෙනම් ඔන්න අපි ගියා...

Istio අධීක්ෂණ සහ කළමනාකරණ මෙවලම් - ඔබට සේවා දැලක ක්ෂුද්‍ර සේවා සංවිධානය කිරීමට අවශ්‍ය සියල්ල සේවා දැලක්.

Istio Service Mesh යනු කුමක්ද?

සේවා දැලක් රථවාහන නිරීක්ෂණය, ප්‍රවේශ පාලනය, සොයාගැනීම්, ආරක්ෂාව, වැරදි ඉවසීම සහ සේවා සමූහයක් සඳහා වෙනත් ප්‍රයෝජනවත් දේවල් වැනි කාර්යයන් ක්‍රියාත්මක කරයි. Istio ඔබට සේවාවන්හි කේතයේ සුළු වෙනස්කම් නොමැතිව මේ සියල්ල කිරීමට ඉඩ සලසයි. මායාවේ රහස කුමක්ද? Istio සෑම සේවාවකටම තමන්ගේම ප්‍රොක්සියක් සයිඩ් කාර් කන්ටේනරයක (සයිඩ්කාර් යනු යතුරුපැදි සයිඩ්කාර්) අනුයුක්ත කරයි, ඉන්පසු මෙම සේවාවට සියලුම ගමනාගමනය ප්‍රොක්සි හරහා ගමන් කරයි, එය නිශ්චිත ප්‍රතිපත්ති මගින් මෙහෙයවනු ලබන අතර, මෙම ගමනාගමනය කෙසේද, කවදාද සහ දැයි තීරණය කරයි. සේවාව වෙත ළඟා විය යුතුය. කැනරි යෙදවීම්, පරිපථ කඩන යන්ත්‍ර, දෝෂ එන්නත් කිරීම සහ තවත් බොහෝ දියුණු DevOps තාක්ෂණික ක්‍රම ක්‍රියාත්මක කිරීමට Istio හට හැකි වේ.

Istio බහාලුම් සහ Kubernetes සමඟ ක්‍රියා කරන ආකාරය

Istio සේවා දැල යනු ක්ෂුද්‍ර සේවා නිර්මාණය කිරීමට සහ කළමනාකරණය කිරීමට අවශ්‍ය සෑම දෙයකම සයිඩ්කාර් ක්‍රියාත්මක කිරීමකි: අධීක්‍ෂණය, ලුහුබැඳීම, පරිපථ කඩනයන්, මාර්ගගත කිරීම, බර සමතුලිත කිරීම, දෝෂ එන්නත් කිරීම, නැවත උත්සාහ කිරීම, කල් ඉකුත්වීම්, දර්පණය, ප්‍රවේශ පාලනය, අනුපාත සීමා කිරීම සහ තවත් බොහෝ දේ. අද වන විට මෙම කාර්යයන් කෙලින්ම කේතයෙන් ක්‍රියාත්මක කිරීමට පුස්තකාල ටොන් ගණනක් ඇතත්, ඉස්ටියෝ සමඟ ඔබට ඔබේ කේතයේ කිසිවක් වෙනස් නොකර එකම දේ ලබා ගත හැකිය.

සයිඩ්කාර් ආකෘතියට අනුව, ඉස්ටියෝ ලිනක්ස් කන්ටේනරයක ධාවනය වන අතර එය එකක පිහිටා ඇත කුබර්නෙට්ස්පාලිත සේවාවක් සහිත -pod සහ ලබා දී ඇති වින්‍යාසය අනුව ක්‍රියාකාරීත්වය සහ තොරතුරු එන්නත් කර උපුටා ගනී. මෙය ඔබගේම වින්‍යාසයක් බවත්, එය ඔබගේ කේතයෙන් පිටත ජීවත් වන බවත් අපි අවධාරණය කරමු. එමනිසා, කේතය වඩාත් සරල හා කෙටි වේ.

එසේම වැදගත් දෙය නම්, ක්ෂුද්‍ර සේවා වල ක්‍රියාකාරී සංරචකය කිසිදු ආකාරයකින් කේතය සමඟ සම්බන්ධ නොවීමයි, එයින් අදහස් කරන්නේ ඒවායේ ක්‍රියාකාරිත්වය තොරතුරු තාක්ෂණ විශේෂඥයින් වෙත ආරක්ෂිතව මාරු කළ හැකි බවයි. ඇත්ත වශයෙන්ම, පරිපථ කඩන සහ දෝෂ එන්නත් සඳහා සංවර්ධකයා වගකිව යුත්තේ ඇයි? ප්‍රතික්‍රියා කරන්න, ඔව්, නමුත් ඒවා සැකසීමට සහ ඒවා නිර්මාණය කරන්නද? ඔබ මේ සියල්ල කේතයෙන් ඉවත් කළහොත්, ක්‍රමලේඛකයින්ට යෙදුම් ක්‍රියාකාරිත්වය කෙරෙහි පූර්ණ අවධානය යොමු කිරීමට හැකි වනු ඇත. තවද කේතය කෙටි හා සරල වනු ඇත.

සේවා දැලක්

ඔවුන්ගේ කේතයෙන් පරිබාහිරව ක්ෂුද්‍ර සේවා කළමනාකරණය සඳහා කාර්යයන් ක්‍රියාත්මක කරන Istio, Service Mesh සංකල්පයයි. වෙනත් වචන වලින් කිවහොත්, එය ජාල ශ්‍රිතවල දැලක් සාදන ද්විමය දෙකක් හෝ වැඩි ගණනක සම්බන්ධීකරණ කණ්ඩායමකි.

Istio ක්ෂුද්‍ර සේවා සමඟ ක්‍රියා කරන ආකාරය

සයිඩ්කාර් බහාලුම්වල වැඩ කටයුතු සම්බන්ධව පෙනෙන්නේ මෙයයි කුබර්නෙට්ස් и Minishift bird's eye view: Minishift හි උදාහරණයක් දියත් කරන්න, Istio සඳහා ව්‍යාපෘතියක් සාදන්න (අපි එය "istio-system" ලෙස හඳුන්වමු), Istio-ආශ්‍රිත සියලුම සංරචක ස්ථාපනය කර ධාවනය කරන්න. ඉන්පසුව, ඔබ ව්‍යාපෘති සහ කරල් නිර්මාණය කරන විට, ඔබ ඔබේ යෙදවීම්වලට වින්‍යාස තොරතුරු එක් කරන අතර, ඔබේ කරල් Istio භාවිතා කිරීමට පටන් ගනී. සරල කළ රූප සටහනක් මේ වගේ ය:

Istio Service Mesh හි පළ කිරීම් මාලාවක්

දැන් ඔබට Istio සැකසුම් අනුපිළිවෙලින් වෙනස් කළ හැකිය, උදාහරණයක් ලෙස, වැරදි එන්නත් කිරීම සංවිධානය කිරීමට, සහාය කැනරි යෙදවීම හෝ වෙනත් Istio විශේෂාංග - සහ මේ සියල්ල යෙදුම්වල කේතය ස්පර්ශ නොකර. ඔබට ඔබගේ විශාලතම සේවාලාභියාගේ (Foo Corporation) පරිශීලකයින්ගෙන් සියලුම වෙබ් ගමනාගමනය වෙබ් අඩවියේ නව අනුවාදයකට හරවා යැවීමට අවශ්‍ය යැයි සිතමු. මෙය සිදු කිරීම සඳහා, පරිශීලක හැඳුනුම්පතේ @foocorporation.com සොයා බලා ඒ අනුව යළි-යොමු කරන Istio මාර්ගගත කිරීමේ රීතියක් සාදන්න. අනෙකුත් සියලුම පරිශීලකයින් සඳහා, කිසිවක් වෙනස් නොවේ. මේ අතරතුර, ඔබ වෙබ් අඩවියේ නව අනුවාදය සන්සුන්ව පරීක්ෂා කරනු ඇත. ඔබ මේ සඳහා කිසිසේත්ම සංවර්ධකයින් සම්බන්ධ කර ගැනීමට අවශ්‍ය නොවන බව සලකන්න.

ඒ සඳහා ඔබට විශාල මුදලක් ගෙවීමට සිදුවේද?

කොහෙත්ම නැහැ. ඉස්තියෝ තරමක් වේගවත් වන අතර ලියා ඇත Go සහ ඉතා සුළු වශයෙන් උඩින් නිර්මාණය කරයි. මීට අමතරව, මාර්ගගත ඵලදායිතාවයේ ඇති විය හැකි පාඩුව සංවර්ධක ඵලදායිතාවයේ වැඩි වීමක් මගින් පියවනු ලැබේ. අවම වශයෙන් න්යායික වශයෙන්: සංවර්ධකයින්ගේ කාලය වටිනා බව අමතක නොකරන්න. මෘදුකාංග පිරිවැය සම්බන්ධයෙන් ගත් කල, Istio යනු විවෘත කේත මෘදුකාංගයකි, එබැවින් ඔබට එය නොමිලේ ලබාගෙන භාවිතා කළ හැකිය.

එය ඔබම ප්‍රගුණ කරන්න

Red Hat Developer Experience Team විසින් ගැඹුරින් ප්‍රායෝගිකව සංවර්ධනය කර ඇත නායකත්වය ඉස්තියෝ විසිනි (ඉංග්‍රීසියෙන්). එය Linux, MacOS සහ Windows මත ධාවනය වන අතර කේතය Java සහ Node.js හි ඇත.

Istio පිළිබඳ අන්තර්ක්‍රියාකාරී පාඩම් 10ක්

බ්ලොක් 1 - ආරම්භකයින් සඳහා

ඉස්තියෝ හැඳින්වීම
30 විනාඩි
අපි Service Mesh සමඟ දැන හඳුනා ගනිමු, OpenShift Kubernetes පොකුරක් තුළ Istio ස්ථාපනය කරන්නේ කෙසේදැයි ඉගෙන ගන්න.
ආරම්භ කරන්න

Istio හි ක්ෂුද්‍ර සේවා යෙදවීම
30 විනාඩි
Spring Boot සහ Vert.x සමඟ ක්ෂුද්‍ර සේවා තුනක් යෙදවීමට අපි Istio භාවිතා කරමු.
ආරම්භ කරන්න

බ්ලොක් 2 - අතරමැදි මට්ටම

Istio හි නිරීක්ෂණය සහ ලුහුබැඳීම
60 විනාඩි
අපි Prometheus සහ Grafana හරහා Istio හි ඇති අධීක්ෂණ මෙවලම්, අභිරුචි ප්‍රමිතික සහ OpenTracing ගවේෂණය කරන්නෙමු.
ආරම්භ කරන්න

Istio හි සරල මාර්ගගත කිරීම
60 විනාඩි
සරල නීති භාවිතා කරමින් Istio හි මාර්ගගත කිරීම කළමනාකරණය කරන්නේ කෙසේදැයි ඉගෙන ගන්න.
ආරම්භ කරන්න

උසස් මාර්ග නීති
60 විනාඩි
අපි බලමු Istio ගේ smart routing, access control, load balancing සහ rate limiting ගැන.
ආරම්භ කරන්න

බ්ලොක් 3 - උසස් පරිශීලක

ඉස්ටියෝ හි දෝෂ එන්නත් කිරීම
60 විනාඩි
අපි බෙදා හරින ලද යෙදුම්වල අසාර්ථක හැසිරවීමේ අවස්ථා අධ්‍යයනය කිරීම, HTTP දෝෂ සහ ජාල ප්‍රමාදයන් නිර්මාණය කිරීම සහ පරිසරය ප්‍රතිසාධනය කිරීමට අවුල් ඉංජිනේරු විද්‍යාව භාවිතා කිරීමට ඉගෙන ගනිමු.
ආරම්භ කරන්න

Istio හි පරිපථ කඩනය
30 විනාඩි
අපි ආතති පරීක්‍ෂණ අඩවි සඳහා වටලෑම ස්ථාපනය කරන අතර නැවත ධාවනය, පරිපථ කඩනය සහ තටාක පිටකිරීම භාවිතයෙන් පසුපෙළ දෝෂ ඉවසීම සහතික කරන්නේ කෙසේදැයි ඉගෙන ගනිමු.
ආරම්භ කරන්න

එග්රෙස් සහ ඉස්ටියෝ
10 විනාඩි
බාහිර API සහ සේවා සමඟ අභ්‍යන්තර සේවා අන්තර්ක්‍රියා කිරීම සඳහා නීති නිර්මාණය කිරීමට අපි Egress මාර්ග භාවිතා කරමු.
ආරම්භ කරන්න

ඉස්තියෝ සහ කියාලි
15 විනාඩි
සේවා දැල පිළිබඳ දළ විශ්ලේෂණයක් ලබා ගැනීමට සහ ඉල්ලීම් සහ දත්ත ප්‍රවාහයන් ගවේෂණය කිරීමට Kiali භාවිත කිරීමට ඉගෙන ගන්න.
ආරම්භ කරන්න

Istio හි අන්‍යෝන්‍ය TLS
15 විනාඩි
අපි Istio Gateway සහ VirtualService නිර්මාණය කරමු, පසුව අපි අන්‍යෝන්‍ය TLS (mTLS) සහ එහි සැකසුම් විස්තරාත්මකව අධ්‍යයනය කරමු.
ආරම්භ කරන්න

බ්ලොක් 3.1 - ගැඹුරු කිමිදීම: ක්ෂුද්‍ර සේවා සඳහා ඉස්ටියෝ සේවා දැල්

Istio Service Mesh හි පළ කිරීම් මාලාවක්
පොත කුමක් ගැනද:

  • සේවා දැලක් යනු කුමක්ද?
  • Istio පද්ධතිය සහ ක්ෂුද්‍ර සේවා ගෘහ නිර්මාණ ශිල්පයේ එහි භූමිකාව.
  • පහත ගැටළු විසඳීමට Istio භාවිතා කිරීම:
    • වැරදි ඉවසීම;
    • මාර්ගගත කිරීම;
    • අවුල් සහගත පරීක්ෂණ;
    • ආරක්ෂාව;
    • ට්‍රේස්, මෙට්‍රික්ස් සහ ග්‍රැෆනා භාවිතයෙන් ටෙලිමෙට්‍රි එකතු කිරීම.

පොතක් බාගැනීමට

සේවා දැල් සහ ඉස්ටියෝ පිළිබඳ ලිපි මාලාව

ඔබම උත්සාහ කරන්න

මෙම පළ කිරීම් මාලාව ඉස්තියෝගේ ලෝකයට ගැඹුරු කිමිදීමක් සැපයීමට අදහස් නොකෙරේ. අපට අවශ්‍ය වන්නේ ඔබට මෙම සංකල්පය හඳුන්වා දීමට පමණක් වන අතර සමහර විට ඔබ වෙනුවෙන්ම Istio උත්සාහ කිරීමට ඔබව පොළඹවන්නෙමු. එය කිරීමට සම්පූර්ණයෙන්ම නොමිලේ වන අතර, Red Hat ඔබට OpenShift, Kubernetes, Linux බහාලුම්, සහ Istio සමඟ ආරම්භ කිරීමට අවශ්‍ය සියලුම මෙවලම් සපයයි: Red Hat Developer OpenShift බහාලුම් වේදිකාව, Istio වෙත අපගේ මාර්ගෝපදේශය සහ අපගේ අනෙකුත් සම්පත් Service Mesh මත microsite. ප්‍රමාද නොවන්න, අදම පටන් ගන්න!

ඉස්ටියෝ මාර්ගගත කිරීමේ නීති: සේවා ඉල්ලීම් යා යුතු තැනට යොමු කිරීම

openshift и කුබර්නෙට්ස් ඇමතීමේ විශිෂ්ට කාර්යයක් කරන්න ක්ෂුද්ර සේවා අවශ්‍ය කරල් වෙත යොමු කර ඇත. මෙය Kubernetes පැවැත්ම සඳහා එක් හේතුවකි - මාර්ගගත කිරීම සහ බර සමතුලිත කිරීම. නමුත් ඔබට වඩාත් සියුම් සහ නවීන මාර්ගගත කිරීම් අවශ්‍ය නම් කුමක් කළ යුතුද? උදාහරණයක් ලෙස, ක්ෂුද්‍ර සේවාවක අනුවාද දෙකක් එකවර භාවිතා කිරීමට. Istio මාර්ග නීති මෙහි උදව් කරන්නේ කෙසේද?

මාර්ගගත කිරීමේ නීති යනු මාර්ගය තෝරා ගැනීම සැබවින්ම තීරණය කරන නීති වේ. පද්ධතියේ සංකීර්ණතා මට්ටම කුමක් වුවත්, මෙම රීති වල සාමාන්‍ය මෙහෙයුම් මූලධර්මය සරලව පවතී: ඉල්ලීම් යම් පරාමිති සහ HTTP ශීර්ෂ අගයන් මත පදනම්ව යොමු කෙරේ.
උදාහරණ දෙස බලමු:

Kubernetes පෙරනිමිය: සුළු "50/50"

අපගේ උදාහරණයේ දී, අපි OpenShift හි මයික්‍රොසර්විස් අනුවාද දෙකක් එකවර භාවිතා කරන්නේ කෙසේදැයි පෙන්වමු, අපි ඒවා v1 සහ v2 ලෙස හඳුන්වමු. සෑම අනුවාදයක්ම තමන්ගේම කුබර්නෙටස් පොඩ් එකක ධාවනය වන අතර පෙරනිමියෙන් එය ඒකාකාරව සමතුලිත රවුන්ඩ් රොබින් මාර්ගගත කිරීම ක්‍රියාත්මක කරයි. සෑම පොඩ් එකකටම එහි ක්ෂුද්‍ර සේවා අවස්ථා ගණන, වෙනත් වචන වලින් කිවහොත්, අනුරූ මත පදනම්ව එහි ඉල්ලීම් කොටස ලැබේ. මෙම ශේෂය අතින් වෙනස් කිරීමට Istio ඔබට ඉඩ සලසයි.

අපි හිතමු අපි අපේ නිර්දේශ සේවාවේ අනුවාද දෙකක් OpenShift මත යෙදෙව්වා කියලා, recommendation-v1 සහ recommendation-v2.
රූපයේ. රූප සටහන 1 පෙන්නුම් කරන්නේ එක් එක් සේවාව එක් අවස්ථාවකදී නිරූපනය වන විට, ඉල්ලීම් ඒවා අතර ඒකාකාරව මාරු වන බවයි: 1-2-1-2-... පෙරනිමියෙන් Kubernetes routing ක්‍රියා කරන්නේ මෙලෙසයි:

Istio Service Mesh හි පළ කිරීම් මාලාවක්

අනුවාද අතර බර බෙදා හැරීම

රූපයේ. රූප සටහන 2 පෙන්නුම් කරන්නේ ඔබ v2 සේවා අනුපිටපත් ගණන එක සිට දෙක දක්වා වැඩි කළහොත් කුමක් සිදුවේද යන්නයි (මෙය oc පරිමාණයෙන් සිදු කෙරේ —replicas=2 deployment/recommendation-v2 විධානය). ඔබට පෙනෙන පරිදි, v1 සහ v2 අතර ඉල්ලීම් දැන් එක-තුන අනුපාතයකට බෙදා ඇත: 1-2-2-1-2-2-...:

Istio Service Mesh හි පළ කිරීම් මාලාවක්

Istio භාවිතයෙන් අනුවාදය නොසලකා හරින්න

අපට අවශ්‍ය ආකාරයට ඉල්ලීම් බෙදා හැරීම වෙනස් කිරීම ඉස්ටියෝ පහසු කරයි. උදාහරණයක් ලෙස, පහත Istio yaml ගොනුව භාවිතා කර සියලු තදබදය නිර්දේශ-v1 වෙත පමණක් යවන්න:

Istio Service Mesh හි පළ කිරීම් මාලාවක්

මෙන්න ඔබ මේ පිළිබඳව අවධානය යොමු කළ යුතුය: ලේබල් අනුව කරල් තෝරා ගනු ලැබේ. අපගේ උදාහරණය ලේබලය v1 භාවිතා කරයි. "බර: 100" පරාමිතිය යන්නෙන් අදහස් වන්නේ ගමනාගමනයෙන් 100% ක් v1 ලේබලය ඇති සියලුම සේවා කරල් වෙත යොමු කරනු ඇති බවයි.

අනුවාද අතර විධාන බෙදා හැරීම (කැනරි යෙදවීම)

ඊළඟට, බර පරාමිතිය භාවිතා කරමින්, ඔබට එක් එක් ක්ෂුද්‍ර සේවා අවස්ථා ගණන නොසලකා හැර, කරල් දෙකටම ගමනාගමනය යොමු කළ හැකිය. උදාහරණයක් ලෙස, මෙහිදී අපි ගමනාගමනයෙන් 90% v1 වෙත සහ 10% v2 වෙත යොමු කරමු:

Istio Service Mesh හි පළ කිරීම් මාලාවක්

ජංගම භාවිතා කරන්නන් සඳහා වෙනම මාර්ගගත කිරීම

අවසාන වශයෙන්, අපි ජංගම පරිශීලක ගමනාගමනය v2 සේවාවට සහ අනෙක් සියල්ලන්ම v1 වෙත යොමු කිරීමට බල කරන්නේ කෙසේදැයි පෙන්වමු. මෙය සිදු කිරීම සඳහා, ඉල්ලීම් ශීර්ෂයේ පරිශීලක නියෝජිත අගය විශ්ලේෂණය කිරීමට අපි සාමාන්‍ය ප්‍රකාශන භාවිතා කරමු:

Istio Service Mesh හි පළ කිරීම් මාලාවක්

දැන් මේ ඔබේ වාරයයි

ශීර්ෂ විග්‍රහ කිරීම සඳහා නිත්‍ය ප්‍රකාශන සහිත උදාහරණය, ​​Istio මාර්ගගත කිරීමේ නීති ඔබේම භාවිතයන් සොයා ගැනීමට ඔබව පොළඹවනු ඇත. තවද, යෙදුම් ප්‍රභව කේතය තුළ ශීර්ෂ අගයන් සෑදිය හැකි බැවින් මෙහි ඇති හැකියාවන් තරමක් පුළුල් ය.

ඒ වගේම මතක තියාගන්න දේව් නෙවෙයි Ops

ඉහත උදාහරණවල අප පෙන්වා දුන් සෑම දෙයක්ම ප්‍රභව කේතයේ සුළු වෙනසක් නොමැතිව සිදු කෙරේ, විශේෂ ඉල්ලීම් ශීර්ෂ උත්පාදනය කිරීමට අවශ්‍ය අවස්ථාවන් හැර. Istio සංවර්ධකයින්ට ප්‍රයෝජනවත් වනු ඇත, උදාහරණයක් ලෙස, පරීක්ෂණ අවධියේදී එය භාවිතා කිරීමට හැකි වන අතර, එය නිෂ්පාදනයට බෙහෙවින් උපකාරී වන තොරතුරු තාක්ෂණ පද්ධති ක්‍රියාත්මක කිරීමේ විශේෂඥයින්ට.

එබැවින් අපි මෙම ලිපි මාලාවේ ලයිට්මොටිෆ් නැවත කියමු: ඔබගේ කේතයේ කිසිවක් වෙනස් කිරීමට ඔබට අවශ්‍ය නැත. නව රූප තැනීමට හෝ නව බහාලුම් දියත් කිරීමට අවශ්‍ය නොවේ. මේ සියල්ල ක්‍රියාත්මක වන්නේ කේතයෙන් පිටත ය.

ඔබේ පරිකල්පනය භාවිතා කරන්න

නිත්‍ය ප්‍රකාශන භාවිතා කරමින් ශීර්ෂ විශ්ලේෂණය කිරීමේ හැකියාව ගැන සිතා බලන්න. ඔබේ විශාලතම පාරිභෝගිකයා ඔබේ විශේෂ අනුවාදයකට හරවා යැවීමට අවශ්‍යයි ක්ෂුද්ර සේවා? පහසුවෙන්! Chrome බ්‍රවුසරය සඳහා වෙනම අනුවාදයක් අවශ්‍යද? ප්රශ්නයක් නැහැ! ඔබට ඕනෑම ලක්ෂණයකට අනුව ගමනාගමනය මෙහෙයවිය හැක.

ඔබම උත්සාහ කරන්න

Istio, Kubernetes සහ OpenShift ගැන කියවීම එක් දෙයක්, නමුත් ඔබම සියල්ල ස්පර්ශ නොකරන්නේ මන්ද? කණ්ඩායම Red Hat සංවර්ධක වැඩසටහන ඔබට හැකි ඉක්මනින් මෙම තාක්ෂණයන් ප්‍රගුණ කිරීමට උපකාර වන සවිස්තරාත්මක මාර්ගෝපදේශයක් (ඉංග්‍රීසියෙන්) සූදානම් කර ඇත. අත්පොත ද 100% විවෘත මූලාශ්‍රය වන බැවින් එය පොදු වසමෙහි පළ කර ඇත. ගොනුව macOS, Linux සහ Windows මත ක්‍රියා කරන අතර මූලාශ්‍ර කේතය Java සහ node.js අනුවාද වලින් ලබා ගත හැකිය (වෙනත් භාෂා වල අනුවාද ඉක්මනින් පැමිණේ). ඔබගේ බ්‍රවුසරයේ අදාල git ගබඩාව විවෘත කරන්න Red Hat Developer Demo.

ඊළඟ ලිපියෙන්: අපි ගැටළු ලස්සනට විසඳා ගනිමු

අද ඔයාලා දැක්කා Istio routing rules වලට මොනවද කරන්න පුලුවන් කියලා. දැන් එකම දේ සිතන්න, නමුත් දෝෂ හැසිරවීම සම්බන්ධයෙන් පමණි. මෙය හරියටම අපි ඊළඟ ලිපියෙන් කතා කරමු.

මූලාශ්රය: www.habr.com

අදහස් එක් කරන්න