ããã¯ããã®ã²ã¹ãæçš¿ã§ã ããã«ãŒãã£ããã³ ãšã«ãã³ã»ã¹ããŒã³ãã³ã¯ãDockerã®åæ¥çã§ãããçŸåšã¯ããªãŒã©ã³ã¹ã®ã³ã³ãµã«ã¿ã³ãå Œãã¬ãŒããŒã§ãããã³ã³ãããžã£ãŒããŒã®ãã¹ãŠã®æ®µéã§çµç¹ãæ¯æŽããŠããŸãã ãšã«ãã³ã¯æ¬ã®èè ã§ã æŒé£ã®æã«ããã«ãŒãåŠã¶ãããã³å€æ°ã® è€æ°ãµã€ã ãããªãã¬ãŒãã³ã°ã³ãŒã¹ â 以äžãå«ã Istio ã䜿çšãã Kubernetes äžã®ã¢ããªã®ç®¡ç ãã㊠Docker ã䜿çšããã³ã³ãããŒåãããã¢ããªã±ãŒã·ã§ã³ã®æ£åžžæ§ã®ç£èŠ.
Istioã¯ãµãŒãã¹ã¡ãã·ã¥ã§ãããã¢ããªã±ãŒã·ã§ã³ã³ã³ãããšäžç·ã«ã³ã³ããã§å®è¡ãããã³ã³ããŒãã³ãéã®ãããã¯ãŒã¯ãã©ãã£ãã¯ãå¶åŸ¡ãããœãããŠã§ã¢ã³ã³ããŒãã³ãã§ãã ããã¯ãã³ã³ããŒãã³ãèªäœãšã¯ç¡é¢ä¿ã«ã³ã³ããŒãã³ãéã®éä¿¡ã管çã§ãã匷åãªã¢ãŒããã¯ãã£ã§ãã ããã¯ãã¢ããªã®ã³ãŒããšæ§æãç°¡çŽ åããã«ãŒãã£ã³ã°ãè² è·åæ£ãæ¿èªãç£èŠãªã©ããã¹ãŠIstioã§äžå
管çããããããã¯ãŒã¯ã¬ãã«ã®ã€ã³ãã©ã¹ãã©ã¯ãã£ã®åé¡ããã¹ãŠæé€ããããã䟿å©ã§ãã
Istioãæãäžããããã®è¯ãè³æããããããããŸãã ç§ã®ä»²éã®Dockerãã£ããã³ Lee Calcote ã¯Istioã®å ±èè ã§ã :Up and RunningããããŠç§ã¯ã¡ããã©ç§èªèº«ã®Pluralsightã³ãŒã¹ãå ¬éããŸãã Istioã§Kubernetesäžã®ã¢ããªã±ãŒã·ã§ã³ã管çããã ããããè¡ãéããåã«Kubernetesã®ç¢ºããªããã¯ã°ã©ãŠã³ããæ¬åœã«å¿ èŠã§ãããããå§ããã®ã¯é£ãããã¯ãããžãŒã«ãªãå¯èœæ§ããããŸãã ãã®æçš¿ã§ã¯ãã·ã³ãã«ã«ããããšããŸãã ããã§ã¯ãIstio ã«ãã£ãŠå®çŸããã 3 ã€ã®ã·ããªãªã«çŠç¹ãåœãŠãŸãããåŸãå¿ èŠãããã®ã¯ Docker Desktop ã ãã§ãã
ã»ããã¢ãã
Docker Desktop ã¯ãã©ãããããäžã«å®å
šãª Kubernetes ç°å¢ãæäŸããŸãã Mac ãŸã㯠Windows ããŒãžã§ã³ãã€ã³ã¹ããŒã«ããã ãã§ (Windows ã䜿çšããŠããå Žåã¯å¿
ã Linux ã³ã³ãããŒã«åãæ¿ããŠãã ãã)ãDocker ã¯ãžã© ã¢ã€ã³ã³ããèšå®ãéãã[Kubernetes] ã»ã¯ã·ã§ã³ã§ [ Enable Kubernetes ] ãéžæããŸãã ãŸããIstioãšãã¢ã¢ããªã¯ããªãã®éã䜿çšãããããDockerã䜿çšã§ããã¡ã¢ãªã®éãå¢ããå¿
èŠããããŸãâ ãªãœãŒã¹ ã»ã¯ã·ã§ã³ã§ã¡ã¢ãªã¹ã©ã€ããŒãå°ãªããšã6GBã«å¢ãããŸãã
次ã«ãGitHubãªããžããªã«ãããã®ããã°æçš¿ã®ãµã³ãã«ã³ãŒããå
¥æããŠãã ããã
git clone https://github.com/sixeyed/istio-samples.git
cd istio-samples

ãªããžããªã«ã¯ãIstioãšãã¢ã¢ããª(ã·ã³ãã«ãªæžåºWebãµã€ã)ããããã€ããäžé£ã®Kubernetesãããã§ã¹ãããããŸã(ãã㯠IstioããŒã ã®ãã¢ã¢ããªã§ãããããŸããŸãªæ¹æ³ã§äœ¿çšãããããå¿
ããªããžããªã䜿çšããŠãã©ããŒããŠãã ãã)ã Docker Desktop ã®äžéšãšããŠã€ã³ã¹ããŒã«ãããŠãã Kubernetes å¶åŸ¡ããŒã« kubectl ã䜿çšããŠããã¹ãŠããããã€ããŸãã
kubectl apply -f ./setup/
Kubernetesããã¢ã¢ããªãšãšãã«ãã¹ãŠã®Istioã³ã³ããŒãã³ããäœæãããšãæ°åè¡ã®åºåã衚瀺ãããŸããããããã¯ãã¹ãŠDockerã³ã³ããã§å®è¡ãããŸãã ãã¹ãŠã®ã€ã¡ãŒãžã Docker Hub ããããŠã³ããŒãããããŸã§ã«æ°åããããkubectl ã䜿çšããŠç¶æ
ã確èªã§ããŸãã
# Istio - will have â1/1â in the âREADYâ column when fully running:
kubectl get deploy -n istio-system
# demo app - will have â2/2â in the âREADYâ column when fully running:
kubectl get pods
ãã¹ãŠã®ãããã®æºåãã§ããããhttp://localhost/productpage ãåç
§ãããš ã ãã®éåžžã«ã·ã³ãã«ãªãã¢ã¢ããªã衚瀺ãããŸãã

ãããŠãããªãã¯è¡ã£ãŠãããã§ãã Kubernetes YAML ãã¡ã€ã«ã®æäœã«æºè¶³ããŠããå Žåã¯ã ã㢠ã¢ããªã®ãããã€ä»æ§ã確èªãããšããã¹ãŠã®æšæº Kubernetes ãªãœãŒã¹ (ãµãŒãã¹ããµãŒãã¹ ã¢ã«ãŠã³ãããããã€) ã§ããããšãããããŸãã Istioã¯ã¢ããªã®éä¿¡ã管çããŠããŸãããIstioæ§æããããã€ããŠããªãããããŸã å€ãã®ããšãè¡ã£ãŠããŸããã
ã㢠ã¢ããªã±ãŒã·ã§ã³ã¯åæ£ã¢ããªã§ãã ããŒã ããŒãžã¯ 1 ã€ã®ã³ã³ãããŒã§å®è¡ãããä»ã®ã³ã³ãããŒã§å®è¡ãããŠãã REST API ããã®ããŒã¿ãæ¶è²»ããŸãã ããŒãžã«è¡šç€ºãããæžç±ã®è©³çŽ°ãšæžç±ã¬ãã¥ãŒã¯ãä»ã®ã³ã³ããããååŸãããŸãã Istioã¯ããããã®ã³ã³ããŒãã³ãéã®ãããã¯ãŒã¯ãã©ãã£ãã¯ã管çããŠãããKubernetesãããŒã ããŒãžã«çä¿¡ããå€éšãã©ãã£ãã¯ã管çããŠããŸãã
ãã®ãã¢ã¢ããªã䜿çšããŠãIstioã®äž»ãªæ©èœã§ãããã©ãã£ãã¯ç®¡çãã»ãã¥ãªãã£ãå¯èŠ³æž¬æ§ã«ã€ããŠèª¬æããŸãã
ãã©ãã£ãã¯ã®ç®¡ç â Istio ã䜿çšããã«ããªã¢ãããã€
ããŒã ããŒãžã¯ã¡ãã£ãšã€ãŸããªãã®ã§ãæ°ãããªãªãŒã¹ã§çãäžããŸãããã æŽæ°ããã°ã©ã ãã©ã®ããã«åä¿¡ããããã確èªã§ããããã«æ®µéçãªãªãªãŒã¹ãè¡ããããšèããŠãããIstio ã¯ãã«ãŒã°ãªãŒã³ãšã«ããªã¢ã®äž¡æ¹ã®ãããã€ããµããŒãããŠããŸãã ã«ããªã¢ã®ãããã€ã¯äžè¬çã«ãã䟿å©ã§ãããããã䜿çšããŸãã ããŒã ããŒãžã®2ã€ã®ããŒãžã§ã³ãå®è¡ãããIstioã¯ãã©ãã£ãã¯ã®äžéšãããŒãžã§ã³1ã«éä¿¡ããæ®ããããŒãžã§ã³2ã«éä¿¡ããŸãã

ããã§ã¯ããµãŒãã¹ã®æ€åºãšã«ãŒãã£ã³ã°ã«Istioã䜿çšããŠããŸã:ãã¹ãŠã®çä¿¡ãã©ãã£ãã¯ã¯Istioã«çä¿¡ãããã®ãã©ãã£ãã¯ã補åããŒãžã³ã³ããŒãã³ãã«è»¢éããæ¹æ³ã®ã«ãŒã«ãèšå®ããŸãã ãããè¡ãã«ã¯ãã«ã¹ã¿ã Istio ãªãœãŒã¹ã§ãã VirtualService ããããã€ããŸãã ããã«ã¯ãHTTP ãã©ãã£ãã¯çšã®æ¬¡ã®ã«ãŒãã£ã³ã°èŠåãå«ãŸããŸãã
gateways:
- bookinfo-gateway
http:
- route:
- destination:
host: productpage
subset: v1
port:
number: 9080
weight: 70
- destination:
host: productpage
subset: v2
port:
number: 9080
weight: 30
ããã«ã¯ããã€ãã®å¯åéšåããããŸãã
- ã¯
gatewayãå€éšãã©ãã£ãã¯ãåä¿¡ãã Istio ã³ã³ããŒãã³ãã§ãã bookinfo-gateway ãªããžã§ã¯ãã¯ããã¹ãŠã® HTTP ãã©ãã£ãã¯ããªãã¹ã³ããããã«æ§æãããŠããŸãããã²ãŒããŠã§ã€ã¯ç¹å®ã®ããŒããšãã¹ãåã«å¶éã§ããŸãã - ããã¯
destinationããã©ãã£ãã¯ãã«ãŒãã£ã³ã°ãããå®éã®ã¿ãŒã²ããã§ã(èŠæ±ããããã¡ã€ã³åãšã¯ç°ãªãå ŽåããããŸã)ã ãã®å Žåããã©ãã£ãã¯ã® 70% ãåä¿¡ãã v1 ãš 30% ãåä¿¡ãã v2 ã® 2 ã€ã®ãµãã»ããããããŸãã - ãããã¯
subsetsãKubernetes ã©ãã«ã䜿çšããŠãµãŒãã¹å ã®ããããèå¥ããå®å ã«ãŒã« ãªããžã§ã¯ãã§å®çŸ©ãããŸãã ãã®å Žåãv1 ãµãã»ããã¯ã©ãã« version=v1 ã®ããããæ€çŽ¢ããv2 ãµãã»ããã¯ã©ãã« version=v2 ã®ããããæ€çŽ¢ããŸãã
è€éã«èãããŸãããå®éã«è¡ã£ãŠããã®ã¯ãç°ãªããããéã§ãã©ãã£ãã¯ãã·ããããã«ãŒã«ãå®çŸ©ããããšã ãã§ãã ãããã®å®çŸ©ã¯ Kubernetes ãããã§ã¹ã YAML ãã¡ã€ã«ã§æäŸãããã¢ããªã±ãŒã·ã§ã³ãšåãæ¹æ³ã§ãããã€ããŸãã ãã®ããã1 ã€ã®ã³ãã³ãã§ããŒãžã§ã³ 2 ã®ã«ããªã¢ ãããã€ãå®è¡ã§ããããã«ãããæ°ãã v2 ããããš Istio ã«ãŒãã£ã³ã° ã«ãŒã«ãäœæãããŸãã
# deploy:
kubectl apply -f ./canary-deployment
# check the deployment - itâs good when all pods show â2/2â in âREADYâ:
kubectl get pods
æžåºã®ãã¢ã¢ããªãæ°åæŽæ°ãããšãã»ãšãã©ã®å¿çãåãéå±ãªv1ããŒãžã§ããããšãããããŸããã幞éãªããšã«ãå€ãã®ãŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãã¹ãã®çµæã§ããv2ããŒãžã衚瀺ãããŸãã

è¯å®çãªãã£ãŒãããã¯ãå¯ããããããVirtualService å®çŸ©ã®éã¿ã倿ŽããŠåãããã€ããã ãã§ããã©ãã£ãã¯ã v2 ã«å¢ããããšãã§ããŸãã ã©ã¡ãã®ããŒãžã§ã³ã®ã¢ããªãã«ããªã¢ã¹ããŒãžå
šäœã§å®è¡ãããŠããããããã©ãã£ãã¯ãã·ãããããšããã§ã«çšŒåããŠããŠãã©ãã£ãã¯ãåŠçããæºåãã§ããŠããã³ã³ããŒãã³ãã«éä¿¡ããããããæ°ãããããã®èµ·åã«ãã远å ã®ã¬ã€ãã³ã·ãŒã¯ãããŸããã
ã«ããªã¢ã®ãããã€ã¯ãIstioãã·ã³ãã«ã«ãããã©ãã£ãã¯ç®¡çã®1ã€ã®åŽé¢ã«ãããŸããã å詊è¡ããµãŒããããã¬ãŒã«ãŒã䜿çšããŠãã©ãŒã«ããã¬ã©ã³ã¹ã远å ãããªã©ããã¹ãŠIstioã³ã³ããŒãã³ãã䜿çšããŠãã¢ããªã倿Žããããšãªããããã«å€ãã®ããšãè¡ãããšãã§ããŸãã
ãã©ãã£ãã¯ã®ä¿è· â mTLS ã䜿çšããèªèšŒãšæ¿èª
Istioã¯ãã³ã³ããŒãã³ãéã®ãã¹ãŠã®ãããã¯ãŒã¯ãã©ãã£ãã¯ãééçã«åŠçããã³ã³ããŒãã³ãèªäœãå¹²æžããŠããããšãèªèããã«åŠçããŸãã ããã¯ãIstioã®ã«ãŒã«ãé©çšãããããã¯ãŒã¯ãããã·ãä»ããŠãã¹ãŠã®ã¢ããªã±ãŒã·ã§ã³ã³ã³ãããã©ãã£ãã¯ãå®è¡ããããšã«ãã£ãŠè¡ãããŸãã ããããã©ãã£ãã¯ç®¡çã«äœ¿çšããæ¹æ³ãèŠãŠããŸããããã»ãã¥ãªãã£ã«ãæ©èœããŸãã
ã¢ããªã³ã³ããŒãã³ãéã®è»¢éäžã«æå·åãå¿
èŠã§ãç¹å®ã®ã³ã³ã·ã¥ãŒããŒã®ã¿ããµãŒãã¹ãåŒã³åºãããšãã§ããããã«ã¢ã¯ã»ã¹ã«ãŒã«ãé©çšããå Žåã¯ãIstioã§ããããè¡ãããšãã§ããŸãã ã¢ããªã±ãŒã·ã§ã³ã®ã³ãŒããšæ§æãã·ã³ãã«ã«ä¿ã¡ãåºæ¬çãªèªèšŒãããŠããªãHTTPã䜿çšããŠããããããã¯ãŒã¯ã¬ãã«ã§ã»ãã¥ãªãã£ãé©çšã§ããŸãã
èªèšŒãšæ¿èªã¯Istioã®ã»ãã¥ãªãã£æ©èœã§ããã説æãããããã¯ããã«äœ¿ããããã§ãã ããŒã¹ãã©ã®ããã«çµã¿åãããããã瀺ãå³ã次ã«ç€ºããŸãã
ããã§ã¯ãå·ŠåŽã®è£œåããŒãžã³ã³ããŒãã³ããå³åŽã®ã¬ãã¥ãŒã³ã³ããŒãã³ãããREST APIã䜿çšããŠããŸãã ãããã®ã³ã³ããŒãã³ã㯠Kubernetes ãããã§å®è¡ãããåãããã«ã¯ã¢ããªã±ãŒã·ã§ã³çšã® 1 ã€ã® Docker ã³ã³ãããŒãšãã¢ããªã®ãããã¯ãŒã¯ ãã©ãã£ãã¯ãåŠçãã Istio ãããã·ãå®è¡ãã 2 ã€ç®ã® Docker ã³ã³ãããŒãããããšãããããŸãã
ãã®èšå®ã§ã¯ãHTTP ãã©ãã£ãã¯ã®æå·åãšçºä¿¡è
ã®èªèšŒãšæ¿èªã«çžäº TLS ã䜿çšããŸãã
- ãµãŒãã¹ã«é©çšããã èªèšŒããªã·ãŒ ãªããžã§ã¯ãã«ã¯çžäº TLS ãå¿ èŠã§ããã€ãŸãããµãŒãã¹èªäœã¯ããŒã 80 ã§ã®ã¿ HTTP ãã©ãã£ãã¯ããªãã¹ã³ããããã«æ§æãããŠããŠãããµãŒãã¹ ãããã·ã¯ããŒã 443 ã§ HTTPS ãã©ãã£ãã¯ããªãã¹ã³ããŸãã
- ãµãŒãã¹ã«é©çšããã AuthorizationPolicy ãªããžã§ã¯ãã¯ãã¢ã¯ã»ã¹ãèš±å¯ããä»ã®ã³ã³ããŒãã³ããæå®ããŸãã ãã®å ŽåãHTTP GETã¢ã¯ã»ã¹ãèš±å¯ãããŠãã補åããŒãžã³ã³ããŒãã³ããé€ããŠããã¹ãŠãã¢ã¯ã»ã¹ãæåŠãããŸãã
- DestinationRule ãªããžã§ã¯ãã¯çžäº TLS çšã«æ§æãããŠããããã補åããŒãžã³ã³ããŒãã³ãã®ãããã·ã¯ HTTP åŒã³åºãã HTTPS ã«ã¢ããã°ã¬ãŒããããããã¢ããªãã¬ãã¥ãŒ ã³ã³ããŒãã³ããåŒã³åºããšçžäº TLS äŒè©±ã«ãªããŸãã
Mutual-TLS ãšã¯ãã¯ã©ã€ã¢ã³ããèªèº«ãèå¥ããããã®èšŒææžãšãæå·åçšã®èšŒææžãæç€ºãããµãŒãã¹ãæç€ºããããšãæå³ããŸã (ãµãŒããŒèšŒææžã®ã¿ãæšæºã® HTTPS åäœã§ã)ã Istioã¯ããããã¹ãŠã®èšŒææžãçæããã³ç®¡çã§ãããããéåžžã®mTLSå±éãã倧ããªè² æ
ã軜æžãããŸããÂ
ããã«ã¯åãå
¥ããã¹ãããšããããããããŸããããã®ãã¹ãŠã®å±éãšç®¡çã¯éåžžã«ç°¡åã§ããŸã£ããåã kubectl ããã»ã¹ã§ãã
kubectl apply -f ./service-authorization/
Istioã¯èå¥ã«KubernetesãµãŒãã¹ã¢ã«ãŠã³ãã䜿çšããŠãããã¢ããªã詊ããšäœã倿ŽãããŠããªãããšãããããŸããããã¹ãŠä»¥åãšåãããã«æ©èœããŸãã éãã¯ãã¯ã©ã¹ã¿ãŒã§å®è¡ãããŠããä»ã®ã³ã³ããŒãã³ããã¬ãã¥ãŒã³ã³ããŒãã³ãã«ã¢ã¯ã»ã¹ã§ããªããªããAPIãããã¯ããŠã³ãããŠè£œåããŒãžã®ã¿ããããæ¶è²»ã§ããããšã§ãã
å¥ã®ã³ã³ãããŒã«æ¥ç¶ããããšã§ã詳现ã³ã³ããŒãã³ããåãã¯ã©ã¹ã¿ãŒã§å®è¡ãããŠããããšã確èªã§ããŸãã 詳现ã³ã³ãããŒããã¬ãã¥ãŒ API ã䜿çšããŠã¿ãŠãã ããã
docker container exec -it $(docker container ls --filter name=k8s_details --format '{{ .ID}}') sh
curl http://reviews:9080/1
ãšã©ãŒã衚瀺ãããŸã â RBAC: ã¢ã¯ã»ã¹ãæåŠãããŸããããã㯠Istio ãæ¿èªããªã·ãŒãé©çšããŠããããšã§ãã ããã¯åŒ·åãªãã®ã§ãããç¹ã«Istioã«èšŒææžã管çãããŸãã æå¹æéãçãèšŒææžãçæããããã䟵害ãããå Žåã§ããé·æé䜿çšããããšã¯ã§ããŸããã ããã¯ãã¹ãŠãã¢ããªã³ãŒããè€éã«ããããèªå·±çœ²åèšŒææžãåŠçãããããããšãªãè¡ãããŸãã
å¯èŠ³æž¬æ§ â Kiali ã䜿çšãããµãŒãã¹ã¡ãã·ã¥ã®èŠèŠå
ãã¹ãŠã®ãããã¯ãŒã¯ãã©ãã£ãã¯ã¯Istioãçµç±ããããããã¹ãŠã®éä¿¡ãç£èŠããã³èšé²ã§ããŸãã Istioã¯ããã¬ã¡ããªã®ä¿åã«ãã©ã°å¯èœãªã¢ãŒããã¯ãã£ã䜿çšããŠãããPrometheusãElasticsearchãªã©ã®æšæºã·ã¹ãã ããµããŒãããŠããŸããÂ
ãã¹ãŠã®ãããã¯ãŒã¯åŒã³åºãã®ãã¬ã¡ããªã®åéãšä¿åã«ã¯ã³ã¹ãããããå¯èœæ§ããããããããã¯ãã¹ãŠæ§æå¯èœã§ãã 䜿çšããŠãã Istio ã®ãããã€ã¯ãã¢æ§æã§ããããã¬ã¡ããªãæ§æãããŠããããã詊ããŠã¿ãããšãã§ããŸãã ãã¬ã¡ã㪠ããŒã¿ã¯ããµãŒãã¹ ãããã·ãã Mixer ãšåŒã°ãã Istio ã³ã³ããŒãã³ãã«éä¿¡ãããããŸããŸãªããã¯ãšã³ã ã¹ã㢠(ãã®å Žå㯠Prometheus) ã«éä¿¡ã§ããŸãã

(ãã®å³ã¯åçŽåãããã®ã§ã â Prometheus ã¯å®éã« Istio ããããŒã¿ãååŸããåäžã® Prometheus ã€ã³ã¹ã¿ã³ã¹ã䜿çšã㊠Istio ãšã¢ããªã±ãŒã·ã§ã³ããã¡ããªãã¯ãåéã§ããŸã)ã
Prometheusã®ããŒã¿ã«ã¯å¿çã³ãŒããšæéãå«ãŸããŠãããIstioã«ã¯ãã¡ããªãã¯ã«ããªã«ããŠã³ããããã«äœ¿çšã§ãã倿°ã®Grafanaããã·ã¥ããŒããä»å±ããŠããŸãã ãŸããKialiãšåŒã°ããåªããããŒã«ããµããŒãããŠããããã¹ãŠã®ãµãŒãã¹ãšãããã®éã®ãããã¯ãŒã¯ãã©ãã£ãã¯ãéåžžã«äŸ¿å©ã«èŠèŠåã§ããŸãã
Kiali ã¯ãã¢ãããã€ã§æ¢ã«å®è¡ãããŠããŸãããããã©ã«ãã§ã¯å
¬éãããŠããŸããã ã²ãŒããŠã§ã€ãšä»®æ³ãµãŒãã¹ããããã€ããããšã§ã¢ã¯ã»ã¹ã§ããŸãã
kubectl apply -f ./visualization-kiali/
次ã«ãhttp://localhost/productpage æã«ã¢ããªãæ°åæŽæ°ããŠãããhttp://localhost:15029 æã« Kiali ã§ãµãŒãã¹ ã¡ãã·ã¥ã®èŠèŠåã確èªããŸãããŠãŒã¶ãŒå admin ãšãã¹ã¯ãŒã admin ã§ãã°ã€ã³ããã°ã©ã ãã¥ãŒãåç
§ãããšãæžåºã¢ããªã®ã©ã€ã ãã©ãã£ãã¯ã衚瀺ãããŸãã
ããã§ã©ãã«ã®ããªã¯ãšã¹ãã®å²åãããªã³ã«ããŸãããã補åããŒãžã®ããŒãžã§ã³éã®ãã©ãã£ãã¯ã®åå²ã¯67%ãã34%ã§ããã70ã30ã®éã¿ä»ãã«ããªãè¿ãããšãããããŸã(ãã©ãã£ãã¯ãå€ãã»ã©ãæå®ãããéã¿ä»ãã«è¿ã¥ããŸã)ã
Kiali ã¯ãIstio ããµããŒããããªãã¶ãŒãããªã㣠ããŒã«ã® 1 ã€ã«ãããŸããã ãã¢å±éã§ã¯ãè€æ°ã®ããã·ã¥ããŒããåããGrafanaãšã忣ã¢ããªã±ãŒã·ã§ã³ã®ã¬ã€ãã³ã·ã«é¢ããåé¡ã蚺æããããã®éåžžã«åŒ·åãªããŒã«ã§ãã忣ãã¬ãŒã¹çšã®Jaegerãå®è¡ããŸãã ãããã®ããžã¥ã¢ã©ã€ãŒãŒã·ã§ã³ã匷åãããã¹ãŠã®ããŒã¿ã¯ãIstioã«ãã£ãŠèªåçã«åéãããŸãã
ã©ãã
ãµãŒãã¹ ã¡ãã·ã¥ã¯ãã¢ããªã±ãŒã·ã§ã³ã®éä¿¡ã¬ã€ã€ãŒãç¬ç«ãããšã³ãã£ãã£ã«ããã¢ããªèªäœããäžå
çãã€ç¬ç«ããŠå¶åŸ¡ã§ããŸãã Istioã¯çŸåšå©çšå¯èœãªæããã«æ©èœã®ãµãŒãã¹ã¡ãã·ã¥ã§ããã Linkerd (ããŒã¹ã©ã€ã³ããã©ãŒãã³ã¹ãåäžããåŸåããã)ã ãµãŒãã¹ã¡ãã·ã¥ã€ã³ã¿ãŒãã§ã€ã¹ ãããžã§ã¯ã(ã¡ãã·ã¥æ©èœã®æšæºåãç®çãšããŠããŸã)ããããŸãã
ãµãŒãã¹ ã¡ãã·ã¥ã®äœ¿çšã«ã¯ã³ã¹ãã䌎ããŸã â ãããã·ã®è¿œå ã³ã³ãã¥ãŒãã£ã³ã°ããã¹ãããããã®ã©ã³ã¿ã€ã ã³ã¹ããšãIstio ã®ã¹ãã«ãæã€ããŒã ãååŸããããã®çµç¹ã³ã¹ãããããŸãã ããããããã«ãã£ãŠå¯èœã«ãªãã·ããªãªã¯å€ãã®äººã
ã®ã³ã¹ããäžåããIstioãèªåã«é©ããŠãããã©ãããéåžžã«è¿
éã«ãã¹ãããŠãDockerãã¹ã¯ãããã®ç¬èªã®ã¢ããªã§äœ¿çšã§ããŸãã