âá¡áá¹ááá¬ááºááá¯áᬠáá«á·áá²á·á¡áááºáá¬áááºáá²â áᯠááá¯ááºáá¶ááᬠáá»áŸáá¯á·ááŸááºáááºážááŒááºáá° Austin Powers á ááŒá±á¬áá²á·áá°ážáááºá ááá¯á·áá±á¬áº á á°áá«á¡á±ážáá»áá·áºáá»á¬ážááŸáá·áº áá±á¬ááºááŸááºážáá±ážáááºáá±á¬ááºááŸá¯áá»á¬ážá áá±ážá á¬ážááŸá¯áá¶áááá·áºá¡áá¬ááẠáá»ááºážááŒááºážááẠá¡áá¹ááá¬ááºááẠáá»á¬ážá áœá¬áá¬ááœááºáá±á¬ ááœááºáá»á°áá¬áááºáá±á¬ááºááŸá¯áá»á¬ážá¡ááœáẠáá¯á¶ážáááá·áºáá»á±á¬áºáááºááá¯ááºáá±á
OpenShift ááŸáá·áº Kubernetes ááá¯á·ááŸáá·áºá¡áá° Istio ááẠmicroservices áá»á¬ážááᯠáááºááœá±á·á¡áá¯á¶ážáá»áá¬ááœáẠááŒá®ážááœá±á·ááœááºáá±á¬ááºážááŒá®áž ááŒáá¯áááºááŸááºážáááá¯ááºááẠ- áááºážááẠá¡ááœááºáá±á¬ááºážááœááºáá«áááºá á€á¡ááŒá±á¬ááºážááŸáá·áº Istio á
á®ážáá®ážááŸá á
áá¯áá¹áááŸáá·áº áá±á¬ááºáá¯á¶ážááá¯á·á
áºááœáẠáá»áœááºá¯ááºááá¯á·ááẠá€á¡ááŒá±á¬ááºážááŸáá·áº á¡ááŒá¬ážáá»á¬ážá
áœá¬ááᯠááœá±ážááœá±ážáá«áááºá
áá»ááºážáá²á·á¡áá« ááŸááºáááºá
áá»áœááºá¯ááºááá¯á·áá¡ááŒá±á¡áá±ááœááºá áá»ááºážááŒááºážááẠáá±á¬ááºáá¯á¶ážá¡ááá·áºááœááºáá¬ááŒá áºááŒá®áž áá»ááºá¡áá¬á¡á¬ážáá¯á¶ážááẠáá¯ááºáááºážá ááºááá¯ááá¯ááºááŒá®áž á á±á¬áá·áºááŒáá·áºáá±ááá·áºá¡áá«ááœááºáᬠááŒá áºáá±á«áºáá«áááºá áá«áá±ááá·áº áá®á¡ááœáẠáááºá á¡áá¬á¡á¬ážáá¯á¶ážááᯠá¡áááºáá¯á¶áž configure áá¯ááºáá¬ážááá¯á· ááá¯ááŒá®áž á áááºáááºá á¬ážá áá¬áá±á¬ááºážáá²á· á¡áá¬ááœá± á¡áá»á¬ážááŒá®ážá ááá·áºááᯠáá®ááŸá¬ á á±á¬áá·áºááŒáá¯áá±áá«áááºá
ááá·áºáá±á¬á·ááºáá²ááºá áá¬ážááŸááºážá¡áá áºááᯠá¡áá¯á¶ážááŒá¯ááá·áºá¡áá«á á¡áá¹ááá¬ááºáá»á¬ážááᯠáá»áŸá±á¬á·áá»áááºá¡ááœáẠááœá±ážáá»ááºá áá¬á¡á¬ážáá¯á¶ážááᯠááá·áºááœááºážá ááºážá á¬ážááá·áºáááºá á¡ááŒáá¯ááºááŒá±ážááŒááºážááẠá¡ááœááºá¡á áœááºážáááºááŒá®áž á ááºážáááºááẠáááºáá±ááŒááá·áºáááºážáááºážááŒá áºááŒá®áž Istio ááẠáá¯ááºáá¯ááºááŸá¯á áá áºá¡á¬áž á¡ááŸá±á¬áá·áºá¡ááŸááºáááŸááá² áááºážááá¯áá¯ááºáá±á¬ááºááẠ"áá»áŸáá¯á·ááŸááºáááºáá±á¬ááºááŸá¯" (áááºá microservice ááá»áŸáá¯á·ááŸááºáá¬ážááŸááºáž) ááᯠá¡áá¯á¶ážááŒá¯ááá¯ááºáááºá á€á¡ááœáẠá¡áá°ážá¡áá±á«áºá¡áá±á«áºááẠááŸááá±ážááẠ- âDark Launchâ ááẠá¡áá®á¡áá»áŸ áá°áá»áŸáá¯á¡ááẠâtraffic mirroringâ áá°áá±á¬ áá¯ááºáá±á¬ááºáá»ááºááŒáá·áº áá¯ááºáá±á¬ááºáá±ážááá·áº âDark Launchâ ááŒá áºáááºá
ááááºá á¬ááá¯ááºá ááááá«áá»ááẠ"ááœáŸááºááŒááºáž" ááẠ"deploy" áá°áá±á¬ áá±á«áá¬áááᯠá¡áá¯á¶ážááŒá¯ááŒá±á¬ááºáž áá»á±ážáá°ážááŒá¯á áááááŒá¯áá«á áááºááẠá¡ááŸááºáááẠá¡áá¯á¶ážáá»ááá¯ááºááá·áºááŒá®áž áááºá microservice ááᯠáááºá¡ááá¯ááŸáááá±á¬áẠáááŒá¬áá á¡áá¯á¶ážááŒá¯áá«á á€áááºáá±á¬ááºááŸá¯ááẠáá¬ááºá¡ááœá¬ážá¡áá¬ááᯠáááºáá¶ááá¯ááºááŒá®áž áá¯ááºáá±á¬ááºááá¯ááºááŒááºážá ááááºáá»á¬ážááœááºáá±á«áºá á±áᬠááŸááºáááºážáá»á¬ážááá¯á· á á¬áá±ážááŒá®áž á á±á¬áá·áºááŒáá·áºááá¯ááºááá«áááºá ááá¯á·áá±á¬áºáá áºáá»áááºáááºážááŸá¬áááºá ဠá ááºáá±á¬ááºááŸá¯ááá¯ááá¯ááºááá¯ááºáá¯ááºáá¯ááºáááºáááá¯á¡ááºáá«á áá±á¬á·ááºáá²ááºááᯠááŒáá·áºáá»ááºááŒááºážááŸáá·áº áá¯ááºááœáŸááºááŒááºážááẠá¡ááŒá²áááºáž á¡áá°áá°ááẠááá¯ááºáá«á áááºá¡ááá¯ááŸáááá·áºá¡áá»áááºááá¯ááºážááœáẠá¡áá¯á¶ážáá»ááá¯ááºáá±á¬áºáááºáž á¡áááºááá·áºááŒá áºááá·áºá¡áá«ááŸáᬠáá¯ááºáá«á
áá»ááºážáá¬ááᯠá ááºážáá¯á¶ážáá¬á á áááºáááºá á¬ážááá¯á·áá±á¬ááºážáááºá
HTTP áá±á¬ááºážááá¯áá»ááºá¡á¬ážáá¯á¶ážááᯠmicroservice á¡ááŒá¶ááŒá¯áá»áẠv1 ááá¯á· áááºážááŒá±á¬ááºážáá±ážááá·áº á¡á±á¬ááºáá« Istio áááºážááŒá±á¬ááºážááá¯ááºáᬠá
ááºážáá»ááºážááᯠááŒáá·áºáá« (á¥ááá¬á¡á¬ážáá¯á¶ážá០áá°áááº
áá¶ááááºááᯠááá¯ááŒá¯áá«á mirror:
á
ááááºáá¡á±á¬ááºááŒá±ááœáẠ- áááºážááẠtraffic mirroring ááá¯áááºááŸááºáá±ážáááºá áá¯ááºáááºá á¡á²áá«á ááá¯ážááŸááºážáá«áááºá
á€á ááºážáá»ááºážá ááááºááŸá¬ áááºá áá¯ááºáá¯ááºáá±ážá áá Ạ(v1) ááẠá¡áááºáá±á¬ááºážááá¯ááŸá¯áá»á¬ážááᯠáááºáááºáá¯ááºáá±á¬ááºáá±áááºááŒá áºááŒá®ážá ááá¯á·áá±á¬áº áá±á¬ááºážááá¯áá»ááºáá»á¬áž áááºážááá¯á·ááá¯ááºááá¯áẠv2 ááá¯á· áá»áááºááá¯ááºáááºáááºáá±áááºááŒá áºáááºá ááá¯ááá¯áááºááŸá¬ áááºážááá¯á·á ááŒá®ážááŒáá·áºá á¯á¶áá±á¬ áááá¹áá°ááœá¬ážáá»á¬ážááẠááá¯áá±áá¬ááœáẠááŸááá±áááºááŒá áºáááºá á€áááºážááŒáá·áºá áááºááẠáá¯ááºáá¯ááºááŸá¯á áá áºááááºáááºááŸá¯ááᯠáááºááá·áºáááºážááŒáá·áºáá»áŸ áááºáá±á¬ááºá áœááºáááºááŒááºážáááŸááá² - á á áºááŸááºáá±á¬áá±áá¬ááŸáá·áº á¡ááœá¬ážá¡áá¬ááœáẠv2 ááᯠáááºááœá±á·á¡ááŒá±á¡áá±ááœáẠá ááºážáááºááá¯ááºáááºá áááºážá á ááºážáá¯á¶ážáá±ážá á áºáá±ážááŸá¯ááᯠááŒá®ážááœá±á·ááœááºááŒá áºá á±áá«ááá¬ážá áá¯ááºáá²á·áá»áááºážáá±á áá«áá±ááá·áº á áááºáááºá á¬ážá áá¬áá±á¬ááºážáá²á·áááºážáá²á· áá¯ááºáá²á·áá¬áá«á
ááá¬áá¬ááá·áºááŒáá·áºáá¡á±á¬ááº
áá»á±ážáá°ážááŒá¯á v2 áá¯ááºááœáẠáááºáá¬áá±á¬áá±á¬ááºážááá¯ááŸá¯áá»á¬ážááẠáá±áá¬ááŒá±á¬ááºážáá²ááŸá¯áá»á¬ážááŒá áºáá±á«áºáá¬ááá¯ááºááá·áº á¡ááŒá±á¡áá±áá»á¬ážá¡ááœáẠáá¶á·ááá¯ážáá±ážáááºááá¯á¡ááºááŒá±á¬ááºáž áá»á±ážáá°ážááŒá¯á áááááŒá¯áá«á áá±á¬ááºážááá¯áá»ááºáá»á¬ážááᯠáááºážááá¯á·ááá¯ááºááá¯áẠááœááºáá°á áœá¬ááŸáá·áº ááœáá·áºáááºážááŒááºáá¬á áœá¬ áááºáááºááŒáá±á¬áºáááºáž á ááºážáááºááŸá¯ááœáẠáá¯ááºáá±á¬ááºááá·áºáááºážáááºážááœá±ážáá»ááºááŸá¯ááẠááá·áºá¡áá±á«áºááœáẠáá°áááºááŒá®áž áááºážááẠá¡áááºážááẠá áá¯ážááááºá áá¬ááŒá áºáááºá
á¡áá±ážááŒá®ážáá²á·á¡áá»ááºááᯠáááºááŒá±á¬ááŒáá·áºáá¡á±á¬ááº
áááºážááŒá±á¬ááºážááŸááºááŒá±á¬ááºážááŒááºáž (Dark Launch/Request Mirroring) ááŒáá·áº áá»áŸáá¯á·ááŸááºáá áºááœáŸááºááŒááºážááᯠáááºááá·áºáááºážááŒáá·áºáá»áŸ áá¯ááºááá¯áááááá¯ááºá á±áá² áá¯ááºáá±á¬ááºááá¯ááºáá«áááºá
á¡ááœá±ážá¡ááœáẠá¡á á¬
áá±á¬ááºážááá¯ááŸá¯áá»á¬ážááᯠáááºáááºáá¬ážááá·áºáá±áá¬ááẠáááºážááá¯á·áá²á០á¡áá»áá¯á·ááᯠv1 ááá¯á·ááá¯ááºáá² v2 ááá¯á· áá±ážááá¯á·áá«á áááºááá¯á·áááºážá á¥ááá¬á¡á¬ážááŒáá·áºá áá±á¬ááºážááá¯áá»ááºá¡á¬ážáá¯á¶ážá áá
áºáá¬ááá¯ááºááŸá¯ááºáž ááá¯á·ááá¯áẠá¡áá¯á¶ážááŒá¯áá°á¡á¯ááºá
á¯áá
áºá
á¯á០áá±á¬ááºážááá¯áá»ááºáá»á¬ážáá¬ááŒá
áºáááºá ááá¯á·áá±á¬ááºá v2 á¡áá¯ááºáá¯ááºáá¯á¶ááá¯ááŒáá·áºááŒá®ážá áá±á¬ááºážááá¯áá»ááºá¡á¬ážáá¯á¶ážááᯠáá¬ážááŸááºážá¡áá
áºááá¯á· áááŒááºážááŒááºážááœáŸá²ááŒá±á¬ááºážáá«á ááá¯á·ááá¯áẠá¡ááŒááºá¡ááŸááºá¡á¬ážááŒáá·áº v1 ááœáẠáá
áºáá¯áá¯ááŸá¬ážááœááºážáá«á á¡áá¬á¡á¬ážáá¯á¶ážááᯠv2 ááá¯á· ááŒááºáá±ážáá«á Canary Deployment ááá¯á·áá±á«áºáááºáááºáá«áááºá
Istio ááœáẠCanary ááŒáá·áºáá»ááºááŸá¯- ááá·áºá¡ááºááŸá¯ááᯠááá¯ážááŸááºážá á±áááºá
ááá¯áá áá¯ááºáá²á· áááŒááºážááŒááºáž
Canary Deployment ááŒáá·áºáá»ááºááŸá¯áá¯á¶á á¶á á¡ááŸá áºáá¬áááŸá¬ á¡ááœááºááá¯ážááŸááºážáá«áááº- ááá·áºáá±á¬á·ááºáá²ááºáá¬ážááŸááºážá¡áá Ạ(áá»áœááºá¯ááºááá¯á·áááá á¹á ááœááºá ááá¯ááºáááá¯áá¬ážáá áº) ááᯠá áááºáá±á¬á¡áá«ááœáẠá¡áá¯á¶ážááŒá¯áá°á¡á¯ááºá á¯áááºáá±ážá¡á¬áž áááºážááᯠáŠážá áœá¬á¡áá¯á¶ážááŒá¯ááœáá·áºáá±ážáá«áááºá á¡á¬ážáá¯á¶ážá¡áááºááŒá±áá«áá áá¬ážááŸááºážá¡áá áºá áááºááá¯ááºáá±á¬ááºáá®á¡áá áááºááẠá€á¡ááœá²á·ááᯠááŒááºážááŒááºážáá»ááºáž ááá¯ážáá±ážááẠááá¯á·ááá¯áẠ- áááºážááá¯ááºáá«á - áá±á¬ááºáá¯á¶ážááœáẠá¡áá¯á¶ážááŒá¯áá°á¡á¬ážáá¯á¶ážááᯠáááºážáá¶ááá¯á· ááœáŸá±á·ááŒá±á¬ááºážáá«á áá¬ážááŸááºážá¡áá áºááᯠá ááºážá ááºážá á¬ážá á¬ážáá²á· ááŒááºážááŒááºážáá»ááºáž ááááºáááºááŒá®áž ááááºážáá»á¯ááºáá¬ážáá²á·áá¯á¶á á¶áá²á· áá¯á¶ážá áœá²áá°ááœá±ááᯠááŒá±á¬ááºážááŒááºážááŒáá·áºá áááºááẠá¡áá¹ááá¬ááºáá»á¬ážááᯠáá»áŸá±á¬á·áá»ááá¯ááºááŒá®áž áá¯á¶á·ááŒááºáá»ááºááᯠááá¯ážááŒáŸáá·áºááá¯ááºáááºááŒá áºáááºá
áá¯ááºáá«áááºá Istio ááẠá¡áááá¬ááºááŸááá±á¬ áá±á¬ááºážááá¯ááŸá¯áááºážááŒá±á¬ááºážá¡ááœáẠáá±á¬ááºážááœááºáá±á¬ááœá±ážáá»ááºá áá¬áá»á¬ážá áœá¬ááᯠáá±ážáá±á¬ááºááŒááºážááŒáá·áº Canary Deployment ááᯠááá¯ážááŸááºážá á±áááºá áá¯ááºáá«áááºá á€á¡áá¬á¡á¬ážáá¯á¶ážááᯠááá·áºá¡áááºážá¡ááŒá áºáá¯ááºááᯠáááºááá·áºáááºážááŒáá·áºáá»áŸ ááááá² áá¯ááºáá±á¬ááºááá¯ááºáááºá
ááá±á¬ááºáá¬ááᯠá á áºáá¯ááºááŒááºážá
á¡ááá¯ážááŸááºážáá¯á¶áž áááºážááŒá±á¬ááºážáááºááŸááºááŒááºážááá¯ááºáᬠá á¶áááºááŸááºáá»ááºáá»á¬ážáá²á០áá áºáá¯ááẠááá±á¬ááºáá¬ááᯠá¡ááŒá±áá¶á ááŒááºáááºáááºážááœáŸááºááŒááºáž ááŒá áºáááºá Safari ááá±á¬ááºáá¬áá»á¬ážá០áá±á¬ááºážááá¯áá»ááºáá»á¬ážááá¯áᬠv2 ááá¯á·ááœá¬ážááá¯áááºáᯠááá¯ááŒáá«á áá¯á·á á€ááœáẠáááºážááᯠááŒá¯áá¯ááºáá¯á¶ááŸá¬-
áá®áááºážááŒá±á¬ááºážááᯠáá»áá·áºáá¯á¶ážááŒá®áž command ááá¯áá¯á¶ážááŒáá·áºáá¡á±á¬áẠcurl
áá»áœááºá¯ááºááá¯á·ááẠmicroservice ááá¯á· á¡á
á
áºá¡ááŸááºáá±á¬ááºážááá¯ááŸá¯áá»á¬ážááᯠááœááºážáááºááŒáá·áº á¡áá¯áá°áá«áááºá áááºáá¬ážááŒááºááœáẠáááºááŒááºáááá·áºá¡ááá¯ááºáž áááºážááá¯á·á¡á¬ážáá¯á¶áž v1 ááá¯á·ááœá¬ážáááº-
v2 ááœáẠá¡ááœá¬ážá¡áᬠáááºááŸá¬áá²á áá»áœááºá¯ááºááá¯á·áá¥ááá¬ááœáẠáá±á¬ááºážááá¯áá»ááºá¡á¬ážáá¯á¶ážááẠáá»áœááºá¯ááºááá¯á·áááá¯ááºááá¯áẠcommand line ááŸáá¬áá¬áá±á¬ááŒá±á¬áá·áºá áááºážááẠááá¯ážááá¯ážááŸááºážááŸááºážáááŸááá«á ááá¯á·áá±á¬áº á¡áááºáá±á¬áºááŒáá« áá»ááºááŸá¬ááŒááºááŸá á¡á±á¬ááºááŒá±áá»á¥áºážáá»á¬ážááᯠá¡á¬áá¯á¶á
áá¯ááºáá«- áááºážááẠSafari browser á០áá±á¬ááºážááá¯áá»ááºááᯠáá»áœááºá¯ááºááá¯á· áá¯ááºáá±á¬ááºáá²á·ááá·áºá¡áá»ááºááᯠáá¯á¶á·ááŒááºááŸá¯ááŒá
áºááŒá®ážá
á¡ááá·áºá¡áááºáááŸá áá«áá«
áá¯á¶ááŸááºá¡áá¯á¶ážá¡ááŸá¯ááºážáá»á¬ážááẠáááºážááŒá±á¬ááºážáá±á¬ááºážááá¯ááŸá¯áá»á¬ážá¡ááœáẠá¡ááœááºá¡á áœááºážáááºááá·áºá áœááºážáááºáá»á¬ážááᯠáá±ážáá±á¬ááºáá¬ážááŒá±á¬ááºáž áá»áœááºá¯ááºááá¯á·áá±ážáá¬ážáá¬ážááŒá®ážááŒá áºáááºá á¡á±á¬ááºáá«á¥ááá¬ááá¯ááŒáá·áºáá« (áááºážáááºáá¯ááºáá±á¬ááºáááºááá¯áááºáá¬ážáááºáááá·áºáááºáááºáááº)
á¡áá¯á¡áá»áááºááŸá¬ áá¯á¶ááŸááºá¡áá¯á¶ážá¡ááŸá¯ááºážááœá±á áá¬ááœá±áá¯ááºáá±á¬ááºááá¯ááºááá²ááá¯áá¬ááᯠááẠá
áááºáá°ážááŸáááá¯ááºáá«áááºá
á¡ááºáááº
á¡áá°ážáááŒáá·áº áá¯á¶ááŸááºá¡áá¯á¶ážá¡ááŸá¯ááºážáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯á packet headers áá»á¬ážááᯠáá¯ááºáá±á¬ááºááŒááºáž á¡áá°ážáááŒáá·áº Smart routing ááẠáááºá¡ááá¯ááŸáááá·áºá¡ááá¯ááºáž traffic ááᯠááááºážáá»á±á¬ááºážááá¯ááºá á±áá«áááºá áááºážááẠáá¯ááºá¡áá áºá á¡áá±á¬ááºá¡áááºáá±á¬áºááŸá¯ááᯠáá»á¬ážá áœá¬ááá¯ážááŸááºážááœááºáá°á á±ááẠ- áááºážááẠááá¯ážááŸááºážáááºá áááºážááẠáá¯ááºááᯠáá°á·áá¬áá¬áá° ááŒá±á¬ááºážáá²ááẠáááá¯á¡ááºáá² ááá¯á¡ááºáá«á á¡áá¬á¡á¬ážáá¯á¶ážááᯠááááºá¡ááá¯ááºáž áá»áŸááºááŒááºá áœá¬ ááŒááºáá±ážááá¯ááºáááºá
á áááºáááºá á¬ážáá²á·áááº?
ááá·áºááœááºááŒá°áá¬ááŸá Istioá Kubernetes ááŸáá·áº OpenShift ááá¯á·ááᯠá
ááºážáááºááá¯á
áááºááŸááá«ááá¬ážá á¡áááºážá¡ááœá²á·
â
Istio Egress- á¡ááŸááºáááá á¹á ááºážááá¯ááºá០ááœááºáá«á
Red Hat OpenShift ááŸáá·áº Kubernetes ááá¯á·ááŸáá·áºá¡áá° Istio ááᯠá¡áá¯á¶ážááŒá¯ááŒááºážááŒáá·áºá áááºááẠmicroservices áá»á¬ážááŒáá·áº ááá·áºááááᯠááá¯ááá¯ááœááºáá°á¡á±á¬áẠááŒá¯áá¯ááºááá¯ááºáááºá Istio á áááºáá±á¬ááºááŸá¯ mesh ááẠKubernetes pods áá»á¬ážá¡ááœááºážááœáẠááŸááºáá¬ážááŒá®áž áááºááá¯ááºááẠ(á¡áá»á¬ážá á¯á¡á¬ážááŒáá·áº) á¡áá®ážáá»ááºáá±áá«áááºá á áœááºážáá±á¬ááºáááºá ááŒá±á¬ááºážáá²áááœááºáá°ááŒááºážá ááŒá±áá¬áá¶ááŒááºážá áááºááŒáá·áº - á€á¡áá¬á¡á¬ážáá¯á¶ážááᯠáá±ážááœá²ááœááºááááºáá¬áá»á¬ážá¡áá¯á¶ážááŒá¯ááŒááºážááŒá±á¬áá·áº á¡áá¯á¶ážááŒá¯áááœááºáá°áá«áááºá ááá¯á·áá±á¬áº áááºá OpenShift-Kubernetes á áá áºá¡ááŒááºáááºááŸá á¡ááŒá¬ážáááºáá±á¬ááºááŸá¯áá»á¬ážááŸáá·áº áááºááœááºááẠááá¯á¡ááºáá«á ááá·áºá¡áá±ááŒáá·áº á¡áááºááá¯á·áááºážá
Istio Egress á áááºáááºááá¯á· áá±á¬ááºáá¬áá¬áá«á á¡ááá¯áá»á¯ááºá¡á¬ážááŒáá·áºá áááºážááẠááá·áº Kubernetes pods áá áá áºáá¡á áááºá¡ááá¯ááºážááá¯ááºáá±á¬ á¡áááºážá¡ááŒá áºáá»á¬áž (áááºáááº- "áááºáá±á¬ááºááŸá¯áá»á¬áž") ááá¯ááá¯ážááŸááºážá áœá¬áááºáá±á¬ááºááœáá·áºááŒá¯áááºá áááºáá±á¬ááºážááœá²á·á ááºážááŸá¯ááᯠááá¯ááºáá±á¬ááºáá«áá Istio Egress áááºáááºážáá»ááºááœáẠá¡ááœá¬ážá¡áá¬ááᯠpods á¡á á¯á¡áá±ážáá áºáá¯á¡ááœááºážááŸáá·áº á¡ááœááºáž IP ááá¬ážáá»á¬ážááᯠá¡ááŒá±áá¶áá¬ážáá±á¬ ááá¯á¡á á¯á¡áá±ážáá»á¬ážááŒá¬ážááœááºáᬠáááºážááŒá±á¬ááºážááŒá±á¬ááºážááœá¬ážáááºááŒá áºáááºá ááŒááºáá០áááºáá±á¬ááºááŸá¯áá»á¬ážááᯠáááºáááºáá±á¬ááºááœáá·áº áááá¯á¡ááºáááœá±á· ááá¯ááá¯á·áá±á¬ pupation ááẠáá±á¬ááºážááœááºá áœá¬ á¡áá¯ááºáá¯ááºáá«áááºá
Egress ááẠááá·áºá¡á¬áž Egress á ááºážáá»ááºážáá»á¬ážááᯠá¡ááŒá±áá¶á ááá¯á·ááá¯áẠIP ááááºá á¬áá»á¬ážá á¡ááœá¬á¡áá±ážááœááºááŒá áºá á± á¡áááºáá±á¬áºááŒáá« IP ááá¬ážáá»á¬ážááᯠáá»á±á¬áºááŒááºááá¯ááºá á±áá«áááºá
httpbin.org/headers ááá¯á· GET áá±á¬ááºážááá¯ááŸá¯ááŒá¯áá¯ááºááá·áº Java áááá¯ááááºáá áºáá¯ááŸáááẠááá¯ááŒáá«á áá¯á·á
(httpbin.org ááẠá¡ááœááºáááºáá±á¬ááºááŸá¯áá±á¬ááºážááá¯ááŸá¯áá»á¬ážááᯠá ááºážáááºáááºá¡ááœáẠá¡áááºááŒá±áá±á¬á¡áááºážá¡ááŒá áºáá áºáá¯áá¬ááŒá áºáááºá)
áááºá command line ááŸá¬áááºáá«á curl http://httpbin.org/headers
á á¡á±á¬ááºáá«ááá¯á·ááᯠááœá±á·ááááá·áºáááº-
ááá¯á·ááá¯áẠáá°áá®áá±á¬ááááºá
á¬ááᯠááá±á¬ááºáá¬ááœáẠááœáá·áºááá¯ááºáááº-
áááºááœá±á·ááŒááºáááá·áºá¡ááá¯ááºážá ááá¯áá±áá¬ááœááºááŸááá±á¬ áááºáá±á¬ááºááŸá¯ááẠáááºážáá¶áá±ážááá¯á·áá¬ážáá±á¬ áá±á«ááºážá
á®ážáá»á¬ážááᯠááá¯ážááá¯ážááŸááºážááŸááºáž ááŒááºáá±ážáááºá
ááœááºážáá¯ááºáá»á¬ážááᯠá¡á á¬ážááá¯ážáá²ááŸááºáá±ážáá«áááºá
ááᯠá€áááºáá±á¬ááºááŸá¯á Java áá¯ááºááᯠáá»áœááºá¯ááºááá¯á·áá
áá
áºá¡ááŒááºáááºááœáẠáá°á áááºážááᯠáá»áœááºá¯ááºááá¯á·ááá¯ááºááá¯áẠáá¯ááºáá±á¬ááºáá«á áááºááá·áºáá±áá¬ááœááºá ááŒááºáá±á«áºáá«á Istio ááᯠááá·áºááœááºážááá¯ááºááŒáá«á
áá¯á·á (ááááááá¯ááºááá¯áẠáááºááœááºááŒá®áž áá¯ááºááá¯ááºáá«áááºá curl egresshttpbin-istioegress.$(minishift ip).nip.io
ááá¯á·áá±á¬áẠáááºážááᯠá
ááááºáá±á«áºááœáẠááœá±á·ááá«áááº-
á¡áá¯ážá áá¬ááŒá
áºáá¬áá² á¡á¬ážáá¯á¶ážá á¡áá¯ááºááŒá
áºáá¯á¶áá²á Not Found ááá¯áááºááŸá¬ á¡áááºáááºážá áá«ááá¯á·á áá°á·á¡ááœááºáá² áá¯ááºáá²á·áᬠcurl
.
IP ááá¬ážáá»á¬ážááᯠá¡ááºáá¬áááºáá áºáá¯áá¯á¶ážááá¯á· ááá¯ážáá»á²á·ááŒááºážá
á€á¡ááœáẠIstio ááᯠá¡ááŒá áºáááºááá·áºááẠ(ááá¯á·ááá¯ááº) áá»á±ážáá°ážáááºááá·áºáá«áááºá áá±á¬ááºáá¯á¶ážááœááºá Istio ááẠáá±á¬ááºááŸááºážááŒááºážááŸáá·áº áááºážááŒá±á¬ááºážáá±ážááŒááºážá¡ááœáẠáá¬áááºááŸááá±á¬ áá±ážááœá²ááœááºááááºáá¬áá»á¬ážáá¬ááŒá áºááẠ(ááŸáá·áº á¡á á±á¬ááá¯ááºážááœáẠáá»áœááºá¯ááºááá¯á·ááŒá±á¬áá²á·áá±á¬ á¡ááŒá¬ážá¡áá¬áá»á¬ážá áœá¬)á á€á¡ááŒá±á¬ááºážááŒá±á¬áá·áºá IP ááá¬ážáá»á¬ážááẠááá·áºá¡á á¯á¡áá±ážá áá áºá¡ááœááºážá ááŸááááºáá»á¬ážááá¯áᬠáááá«áááºá httpbin.org ááẠá¡ááŒááºáááºááœááºáááºááŸááá±á¬ááŒá±á¬áá·áº áááºááŸááºážááá®ááá¯ááºáá«á Istio Egress ááẠáááºááááºážááŒá áºáá¯ááºááᯠá¡áááºážáááºáá»áŸ ááŒá±á¬ááºážáá²ááŒááºážáááŸááá² áááºáááºááẠáá±á¬ááºááŸááá¬áá«áááºá
á¡á±á¬ááºáá±á¬áºááŒáá« Egress á ááºážáá»ááºážááẠIstio ááẠááá¯á¡ááºáá±á¬áááºáá±á¬ááºááŸá¯á¡ááœáẠááá¯á¡ááºáá±á¬áááºáá±á¬ááºááŸá¯á¡ááœáẠ(ááá¯á¡ááºáá«á á¡ááºáá¬áááºáá áºáá¯áá¯á¶ážááœááº) ááŸá¬ááœá±ááẠááœááºážá¡á¬ážáá±ážáááºá á€ááá á¹á ááœááºá á€ááá á¹á ááœááºá httpbin.orgá á€ááá¯áẠ(egress_httpbin.yml) á០áááºááœá±á·ááŒááºáááá·áºá¡ááá¯ááºážá á€áá±áá¬ááœáẠáá¯ááºáá±á¬ááºááá¯ááºá áœááºážááẠá¡ááœááºááá¯ážááŸááºážáá«áááºá
áá»ááºáá¬á¡á¬ážáá¯á¶ážá áá®á
ááºážáá»ááºážááᯠáá»áá·áºáá¯á¶ážááá¯á·áá«áá²-
istioctl create -f egress_httpbin.yml -n istioegress
á¡áááá·áºááŒáá·áº Egress á
ááºážáá»ááºážáá»á¬ážááᯠáááºááŒáá·áºááŸá¯ááá¯ááºáááºá istioctl get egressrules
:
áá±á¬ááºáá¯á¶ážááœááºá áá»áœááºá¯ááºááá¯á·ááẠcommand ááá¯áááºáá¶áá¯ááºáá±á¬ááºáááºá áá¶áááºáá±á¬ááºáá±á¬áẠ- á¡á¬ážáá¯á¶ážá¡áááºááŒá±ááŒá±á¬ááºáž áá»áœááºá¯ááºááá¯á·ááŒááºáá«áááº-
ááœáá·áºááœáá·áºáááºážáááºážááœá±ážáááºá
áááºááœá±á·ááŒááºáááá·áºá¡ááá¯ááºáž Istio ááẠááá·áºá¡á¬áž ááŒááºáááá¹áá¬ááŸáá·áº á¡ááŒááºá¡ááŸááºáááºááœááºááŸá¯ááᯠá á¯á ááºážááá¯ááºá á±áá«áááºá áá áºáááºážááá¯ááá±á¬áº áááºááẠOpenShift áááºáá±á¬ááºááŸá¯áá»á¬ážááᯠáááºáá®ážááŒá®áž Kubernetes ááŸáááá·áº á á®áá¶ááá·áºááœá²ááá¯ááºáá²ááŒá áºááŒá®áž ááá¯á¡ááºáááᯠá¡ááá¯ááºážá¡áá¬á¡áá á¡áááºá¡áááºážááŸááá±á¬ pods áá»á¬ážááœáẠá¡áá¬á¡á¬ážáá¯á¶ážááᯠáá¬ážááŸáááá¯ááºáá«áááºá áá áºáá»áááºáááºážááŸá¬áááºá áááºááẠááá·áºáááºáááºážáá»ááºá០ááŒááºááááºáá±á¬ááºááŸá¯áá»á¬ážááᯠáá¯á¶ááŒá¯á¶á áœá¬áááºáá±á¬ááºááá¯ááºáááºá áá¯ááºáá«áááºá ááá·áºáá¯ááºááᯠáááºááá·áºáááºážááŒáá·áºáá»áŸ ááááá² á€á¡áá¬á¡á¬ážáá¯á¶ážááᯠáá¯ááºáá±á¬ááºááá¯ááºáááºáᯠáá»áœááºá¯ááºááá¯á· áááºáá«áááºáá« áááºáá«ááá²áá² ááŒá±á¬áá«áááºá
á€ááẠIstio á
á®ážáá®ážááá±á¬ááºáá¯á¶ážááá¯á·á
áºááŒá
áºáááºá á
á±á¬áá·áºááŒáá·áºáá« - ááŸá±á·ááŸá¬ á
áááºáááºá
á¬ážá
áá¬ááœá± á¡áá»á¬ážááŒá®ážááŸááá«áá±ážáááºá
source: www.habr.com