±à¼ÍƼö: |
±¾ÎÄÖ÷ÒªÉîÈë½éÉÜΪʲôҪʹÓÃIstio£¿Ëü¿ÉÒÔ°ïÎÒÃǽâ¾öʲôÎÊÌâ?ÒÔ¼°IstioµÄÕûÌå¼Ü¹¹ºÍËĸöÖ÷Òª¹¦ÄÜÄ£¿é£¬Ï£Íû¶ÔÄúµÄѧϰÓÐËù°ïÖú¡£
±¾ÎÄÀ´×Ôcsdn£¬ÓÉ»ðÁú¹ûÈí¼þÌÒ×ӱ༡¢ÍƼö¡£ |
|
Service MeshÐÂÐ㣬³õ³öé®±ãÉùÊÆºÆµ´£¬Ç°ÓÐGoogle£¬IBMºÍLyftÇãÇé·îÏ×£¬ºóÓÐÒµ½ç´óÀи©Ê×Ĥ°Ý£¬Õâ¾ÍÊǽñÌ콫Ҫ½éÉܵÄÖ÷½Ç£¬¿¸ÆðService
Mesh´óÆì£¬ÏÆÆðÐÂÒ»ÂÖ΢·þÎñ¿ª·¢À˳±µÄIstio£¡
½ñÌìµÄÖ÷½ÇÃû½Ð Istio£¬¹À¼ÆºÜ¶àͬѧÔÚ´Ë֮ǰ¿ÉÄÜÍêȫûÓÐÌý¹ýÕâ¸öÃû×Ö¡£Çë²»±Ø½éÒ⣬ûÌý¹ýºÜÕý³££¬ÒòΪIstioµÄÈ·ÊÇÒ»¸ö·Ç³£ÐµĶ«Î÷£¬³öÊÀÒ²²ÅËĸöÔ¶øÒÑ¡£
½ñÌìµÄÄÚÈݽ«»á·Ö³ÉÈý¸ö²¿·Ö:
½éÉÜ£º Èôó¼ÒÁ˽âIstioÊÇʲô£¬ÒÔ¼°ÓÐʲôºÃ´¦£¬ÒÔ¼°Istio±³ºóµÄ¿ª·¢ÍŶÓ
¼Ü¹¹£º ½éÉÜIstioµÄÕûÌå¼Ü¹¹ºÍËĸöÖ÷Òª¹¦ÄÜÄ£¿éµÄ¾ßÌ幦ÄÜ£¬Õâ¿éÄÚÈÝ»á±È½ÏÆ«¼¼Êõ
Õ¹Íû£º ½éÉÜIstioµÄºóÐø¿ª·¢¼Æ»®£¬Ì½ÌÖδÀ´µÄ·¢Õ¹Ô¤ÆÚ
Ò»¡¢½éÉÜ
IstioÊÇʲô£ºIstioÊÇGoogle/IBM/LyftÁªºÏ¿ª·¢µÄ¿ªÔ´ÏîÄ¿£¬2017Äê5Ô·¢²¼µÚÒ»¸örelease
0.1.0£¬ ¹Ù·½¶¨ÒåΪ:
Istio£ºÒ»¸öÁ¬½Ó£¬¹ÜÀíºÍ±£»¤Î¢·þÎñµÄ¿ª·Åƽ̨¡£
°´ÕÕisitoÎĵµÖиø³öµÄ¶¨Òå:
IstioÌṩһÖÖ¼òµ¥µÄ·½Ê½À´½¨Á¢ÒѲ¿ÊðµÄ·þÎñµÄÍøÂ磬¾ß±¸¸ºÔؾùºâ£¬·þÎñµ½·þÎñÈÏÖ¤£¬¼à¿ØµÈµÈ¹¦ÄÜ£¬¶ø²»ÐèÒª¸Ä¶¯ÈκηþÎñ´úÂë¡£
¼òµ¥µÄ˵£¬ÓÐÁËIstio£¬ÄãµÄ·þÎñ¾Í²»ÔÙÐèÒªÈκÎ΢·þÎñ¿ª·¢¿ò¼Ü£¨µäÐÍÈçSpring Cloud£¬Dubbo£©£¬Ò²²»ÔÙÐèÒª×Ô¼º¶¯ÊÖʵÏÖ¸÷ÖÖ¸´ÔӵķþÎñÖÎÀíµÄ¹¦ÄÜ£¨ºÜ¶àÊÇSpring
CloudºÍDubboÒ²²»ÄÜÌṩµÄ£¬ÐèÒª×Ô¼º¶¯ÊÖ£©¡£Ö»Òª·þÎñµÄ¿Í»§¶ËºÍ·þÎñÆ÷¿ÉÒÔ½øÐмòµ¥µÄÖ±½ÓÍøÂç·ÃÎÊ£¬¾Í¿ÉÒÔͨ¹ý½«ÍøÂç²ãίÍиøIstio£¬´Ó¶ø»ñµÃһϵÁеÄÍ걸¹¦ÄÜ¡£
¿ÉÒÔ½üËÆµÄÀí½âΪ£ºIstio = ΢·þÎñ¿ò¼Ü + ·þÎñÖÎÀí
Ãû×ÖºÍͼ±ê£º
IstioÀ´×ÔÏ£À°ÓӢÎÄÒâ˼ÊÇ¡±Sail¡±£¬ ·ÒëΪÖÐÎÄÊÇ¡°Æôº½¡±¡£ËüµÄͼ±êÈçÏÂ:

¿ÉÒÔÀà±ÈGoogleµÄÁíÍâÒ»¸öÏà¹Ø²úÆ·£ºKubernetes£¬Ãû×ÖÒ²ÊÇͬÑùÆðÔ´ÓÚ¹ÅÏ£À°£¬ÊÇ´¬³¤»òÕß¼ÝʻԱµÄÒâ˼¡£ÏÂͼÊÇKubernetesµÄͼ±ê£º

ºóÃæ»á¿´µ½£¬IstioºÍKubernetesµÄ¹ØÏµ£¬¾ÍÏñËüÃǵÄÃû×ÖºÍͼ±êÒ»Ñù£¬ ¿Éν¡±Ò»ÂöÏà´«¡±¡£
Ö÷ÒªÌØÐÔ£º
IstioµÄ¹Ø¼ü¹¦ÄÜ:
1.HTTP/1.1£¬HTTP/2£¬gRPCºÍTCPÁ÷Á¿µÄ×Ô¶¯ÇøÓò¸ÐÖª¸ºÔØÆ½ºâºÍ¹ÊÕÏÇл»¡£
2.ͨ¹ý·á¸»µÄ·ÓɹæÔò£¬ÈÝ´íºÍ¹ÊÕÏ×¢È룬¶ÔÁ÷ÐÐΪµÄϸÁ£¶È¿ØÖÆ¡£
3.Ö§³Ö·ÃÎÊ¿ØÖÆ£¬ËÙÂÊÏÞÖÆºÍÅä¶îµÄ¿É²å°Î²ßÂÔ²ãºÍÅäÖÃAPI¡£
4.¼¯ÈºÄÚËùÓÐÁ÷Á¿µÄ×Ô¶¯Á¿¶È£¬ÈÕÖ¾ºÍ¸ú×Ù£¬°üÀ¨¼¯ÈºÈë¿ÚºÍ³ö¿Ú¡£
5.°²È«µÄ·þÎñµ½·þÎñÉí·ÝÑéÖ¤£¬ÔÚ¼¯ÈºÖеķþÎñÖ®¼ä¾ßÓÐÇ¿´óµÄÉí·Ý±êʶ¡£
6.ÕâÐ©ÌØÐÔÔÚÉÔºóµÄ¼Ü¹¹Õ½Úʱ»áÓнéÉÜ¡£
ΪʲôҪʹÓÃIstio
΢·þÎñµÄÁ½ÃæÐÔ
×î½üÁ½ÈýÄêÀ´Î¢·þÎñ·½ÐËδ°¬£¬ ¿ÉÒÔ¿´µ½Ô½À´Ô½¶àµÄ¹«Ë¾ºÍ¿ª·¢ÈËÔ±Â½Â½ÐøÐøÍ¶Éíµ½Î¢·þÎñ¼Ü¹¹£¬ ÈÃÒ»¸öÒ»¸öµÄ΢·þÎñÏîÄ¿Â䵨¡£
µ«ÊÇ£¬ÔÚÕâһƬ½ÐºÃµÄÐúÄÖÖУ¬ ÎÒÃÇ»¹ÊÇ·¢¾õһЩÆÕ±é´æÔÚµÄÎÊÌ⣺ËäȻ΢·þÎñ¶Ô¿ª·¢½øÐÐÁ˼ò»¯£¬Í¨¹ý½«¸´ÔÓϵͳÇзÖΪÈô¸É¸ö΢·þÎñÀ´·Ö½âºÍ½µµÍ¸´ÔÓ¶È£¬Ê¹µÃÕâЩ΢·þÎñÒ×ÓÚ±»Ð¡Ð͵Ŀª·¢ÍŶÓËùÀí½âºÍά»¤¡£µ«ÊÇ£¬¸´ÔӶȲ¢·Ç´Ó´ËÏûʧ¡£Î¢·þÎñ²ð·ÖÖ®ºó£¬µ¥¸ö΢·þÎñµÄ¸´ÔÓ¶È´ó·ù½µµÍ£¬µ«ÊÇÓÉÓÚϵͳ±»´ÓÒ»¸öµ¥Ìå²ð·ÖΪ¼¸Ê®ÉõÖÁ¸ü¶àµÄ΢·þÎñ£¬
¾Í´øÀ´ÁËÁíÍâÒ»¸ö¸´ÔÓ¶È£ºÎ¢·þÎñµÄÁ¬½Ó¡¢¹ÜÀíºÍ¼à¿Ø¡£

ÊÔÏ룬 ¶ÔÓÚÒ»¸ö´óÐÍϵͳ£¬ ÐèÒª¶Ô¶à´ïÉϰٸöÉõÖÁÉÏǧ¸ö΢·þÎñµÄ¹ÜÀí¡¢²¿Êð¡¢°æ±¾¿ØÖÆ¡¢°²È«¡¢¹ÊÕÏ×ªÒÆ¡¢²ßÂÔÖ´ÐС¢Ò£²âºÍ¼à¿ØµÈ£¬Ì¸ºÎÈÝÒס£¸ü²»ÒªËµ¸ü¸´ÔÓµÄÔËάÐèÇó£¬ÀýÈçA/B²âÊÔ£¬½ð˿ȸ·¢²¼£¬ÏÞÁ÷£¬·ÃÎÊ¿ØÖƺͶ˵½¶ËÈÏÖ¤¡£
¿ª·¢ÈËÔ±ºÍÔËάÈËÔ±ÔÚµ¥ÌåÓ¦ÓóÌÐòÏò·Ö²¼Ê½Î¢·þÎñ¼Ü¹¹µÄתÐÍÖУ¬ ²»µÃ²»ÃæÁÙÉÏÊöÌôÕ½¡£
·þÎñÍø¸ñ
Service Mesh£¬·þÎñÍø¸ñ£¬Ò²ÓÐÈË·ÒëΪ¡±·þÎñÄöºÏ²ã¡±¡£ÕâÃ²ËÆÊǽñÄê²Å³öÀ´µÄÐÂÃû´Ê£¿ÔÚ2017Äê֮ǰûÓÐÌý¹ý£¬ËäÈ»ÀàËÆµÄ²úÆ·ÒѾ´æÔÚͦ³¤Ê±¼ä¡£
ʲôÊÇService Mesh£¨·þÎñÍø¸ñ£©£¿
Service MeshÊÇרÓõĻù´¡ÉèÊ©²ã£¬ÇáÁ¿¼¶¸ßÐÔÄÜÍøÂç´úÀí¡£Ìṩ°²È«µÄ¡¢¿ìËٵġ¢¿É¿¿µØ·þÎñ¼äͨѶ£¬Óëʵ¼ÊÓ¦Óò¿ÊðÒ»Æð£¬µ«¶ÔÓ¦ÓÃ͸Ã÷¡£
ΪÁ˰ïÖúÀí½â£¬ ÏÂͼչʾÁË·þÎñÍø¸ñµÄµäÐͱ߳µ²¿Êð·½Ê½£º

ͼÖÐÓ¦ÓÃ×÷Ϊ·þÎñµÄ·¢Æð·½£¬Ö»ÐèÒªÓÃ×î¼òµ¥µÄ·½Ê½½«ÇëÇó·¢Ë͸ø±¾µØµÄ·þÎñÍø¸ñ´úÀí£¬È»ºóÍø¸ñ´úÀí»á½øÐкóÐøµÄ²Ù×÷£¬Èç·þÎñ·¢ÏÖ£¬¸ºÔؾùºâ£¬×îºó½«ÇëÇóת·¢¸øÄ¿±ê·þÎñ¡£µ±ÓдóÁ¿·þÎñÏ໥µ÷ÓÃʱ£¬ËüÃÇÖ®¼äµÄ·þÎñµ÷ÓùØÏµ¾Í»áÐγÉÍø¸ñ£¬ÈçÏÂͼËùʾ£º

ÔÚÉÏͼÖÐÂÌÉ«·½¿éΪ·þÎñ£¬À¶É«·½¿éΪ±ß³µ²¿ÊðµÄ·þÎñÍø¸ñ£¬À¶É«ÏßÌõΪ·þÎñ¼äͨѶ¡£¿ÉÒÔ¿´µ½À¶É«µÄ·½¿éºÍÏßÌõ×é³ÉÁËÕû¸öÍø¸ñ£¬ÎÒÃǽ«Õâ¸öͼƬÐýת90¡ã£¬¾Í¸ü¼ÓÃ÷ÏÔÁË£º·þÎñÍø¸ñ³ÊÏÖ³öÒ»¸öÍêÕûµÄÖ§³ÅÌ¬ÊÆ£¬½«ËùÓеķþÎñ¡±¼Ü¡±ÔÚÍø¸ñÖ®ÉÏ£º

·þÎñÍø¸ñµÄϸ½ÚÎÒÃǽñÌì²»Ïêϸչ¿ª£¬ ÏêϸÄÚÈÝ´ó¼Ò¿ÉÒԲο¼ÍøÉÏ×ÊÁÏ¡£»òÕßÉÔºóÎÒ½«»áÍÆ³öÒ»¸ö·þÎñÍø¸ñµÄרÌ⣬µ¥¶ÀÉîÈë½éÉÜ·þÎñÍø¸ñ¡£
IstioÒ²¿ÉÒÔÊÓΪÊÇÒ»ÖÖ·þÎñÍø¸ñ£¬ ÔÚIstioÍøÕ¾ÉÏÏêϸ½âÊÍÁËÕâÒ»¸ÅÄ
Èç¹ûÎÒÃÇ¿ÉÒÔÔڼܹ¹ÖеķþÎñºÍÍøÂç¼ä͸Ã÷µØ×¢ÈëÒ»²ã£¬ÄÇô¸Ã²ã½«¸³ÓèÔËάÈËÔ±¶ÔËùÐ蹦ÄܵĿØÖÆ£¬Í¬Ê±½«¿ª·¢ÈËÔ±´Ó±àÂëʵÏÖ·Ö²¼Ê½ÏµÍ³ÎÊÌâÖнâ·Å³öÀ´¡£Í¨³£½«Õâ¸öͳһµÄ¼Ü¹¹²ãÓë·þÎñ²¿ÊðÔÚÒ»Æð£¬Í³³ÆÎª¡°·þÎñÄöºÏ²ã¡±¡£ÓÉÓÚ΢·þÎñÓÐÖúÓÚ·ÖÀë¸÷¸ö¹¦ÄÜÍŶӣ¬Òò´Ë·þÎñÄöºÏ²ãÓÐÖúÓÚ½«ÔËάÈËÔ±´ÓÓ¦ÓÃÌØÐÔ¿ª·¢ºÍ·¢²¼¹ý³ÌÖзÖÀë³öÀ´¡£Í¨¹ýϵͳµØ×¢Èë´úÀíµ½Î¢·þÎñ¼äµÄÍøÂç·¾¶ÖУ¬Istio½«åÄÒìµÄ΢·þÎñת±ä³ÉÒ»¸ö¼¯³ÉµÄ·þÎñÄöºÏ²ã¡£
IstioÄÜ×öʲô?
IstioÁ¦Í¼½â¾öÇ°ÃæÁгöµÄ΢·þÎñʵʩºóÐèÒªÃæ¶ÔµÄÎÊÌâ¡£Istio Ê×ÏÈÊÇÒ»¸ö·þÎñÍøÂ磬µ«ÊÇIstioÓÖ²»½ö½öÊÇ·þÎñÍø¸ñ:
ÔÚ Linkerd£¬ Envoy ÕâÑùµÄµäÐÍ·þÎñÍø¸ñÖ®ÉÏ£¬IstioÌṩÁËÒ»¸öÍêÕûµÄ½â¾ö·½°¸£¬ÎªÕû¸ö·þÎñÍø¸ñÌṩÐÐΪ¶´²ìºÍ²Ù×÷¿ØÖÆ£¬ÒÔÂú×ã΢·þÎñÓ¦ÓóÌÐòµÄ¶àÑù»¯ÐèÇó¡£
IstioÔÚ·þÎñÍøÂçÖÐͳһÌṩÁËÐí¶à¹Ø¼ü¹¦ÄÜ(ÒÔÏÂÄÚÈÝÀ´×Ô¹Ù·½Îĵµ)£º
Á÷Á¿¹ÜÀí£º¿ØÖÆ·þÎñÖ®¼äµÄÁ÷Á¿ºÍAPIµ÷ÓõÄÁ÷Ïò£¬Ê¹µÃµ÷Óøü¿É¿¿£¬²¢Ê¹ÍøÂçÔÚ¶ñÁÓÇé¿öϸü¼Ó½¡×³¡£
¿É¹Û²ìÐÔ£ºÁ˽â·þÎñÖ®¼äµÄÒÀÀµ¹ØÏµ£¬ÒÔ¼°ËüÃÇÖ®¼äÁ÷Á¿µÄ±¾ÖʺÍÁ÷Ïò£¬´Ó¶øÌṩ¿ìËÙʶ±ðÎÊÌâµÄÄÜÁ¦¡£
²ßÂÔÖ´ÐУº½«×éÖ¯²ßÂÔÓ¦ÓÃÓÚ·þÎñÖ®¼äµÄ»¥¶¯£¬È·±£·ÃÎʲßÂÔµÃÒÔÖ´ÐУ¬×ÊÔ´ÔÚÏû·ÑÕßÖ®¼äÁ¼ºÃ·ÖÅä¡£²ßÂԵĸü¸ÄÊÇͨ¹ýÅäÖÃÍø¸ñ¶ø²»ÊÇÐÞ¸ÄÓ¦ÓóÌÐò´úÂë¡£
·þÎñÉí·ÝºÍ°²È«£ºÎªÍø¸ñÖеķþÎñÌṩ¿ÉÑéÖ¤Éí·Ý£¬²¢Ìṩ±£»¤·þÎñÁ÷Á¿µÄÄÜÁ¦£¬Ê¹Æä¿ÉÒÔÔÚ²»Í¬¿ÉÐŶȵÄÍøÂçÉÏÁ÷ת¡£
³ý´ËÖ®Í⣬IstioÕë¶Ô¿ÉÀ©Õ¹ÐÔ½øÐÐÁËÉè¼Æ£¬ÒÔÂú×㲻ͬµÄ²¿ÊðÐèÒª£º
ƽ̨֧³Ö£ºIstioÖ¼ÔÚÔÚ¸÷ÖÖ»·¾³ÖÐÔËÐУ¬°üÀ¨¿çÔÆ£¬ Ô¤Öã¬Kubernetes£¬MesosµÈ¡£×î³õרעÓÚKubernetes£¬µ«ºÜ¿ì½«Ö§³ÖÆäËû»·¾³¡£
¼¯³ÉºÍ¶¨ÖÆ£º²ßÂÔÖ´ÐÐ×é¼þ¿ÉÒÔÀ©Õ¹ºÍ¶¨ÖÆ£¬ÒÔ±ãÓëÏÖÓеÄACL£¬ÈÕÖ¾£¬¼à¿Ø£¬Åä¶î£¬ÉóºËµÈ½â¾ö·½°¸¼¯³É¡£
ÕâЩ¹¦Äܼ«´óµÄ¼õÉÙÁËÓ¦ÓóÌÐò´úÂ룬µ×²ãƽ̨ºÍ²ßÂÔÖ®¼äµÄñîºÏ£¬Ê¹Î¢·þÎñ¸üÈÝÒ×ʵÏÖ¡£
IstioµÄÕæÕý¼ÛÖµ
ÉÏÃæÕª³ÁËIstio¹Ù·½µÄ´ó¶ÎÎĵµËµÃ÷£¬ÑóÑóÈ÷È÷µÄÁгöÁËIstioµÄ´ó°Ñ´ó°Ñ¸ß´óÉϵŦÄÜ¡£µ«ÊÇÕâЩ¶¼²»ÊÇÖØµã£¡ÀíÂÛÉÏ˵£¬ÈκÎ΢·þÎñ¿ò¼Ü£¬Ö»ÒªÔ¸ÒâÍùÉÏÃæ¶Ñ¹¦ÄÜ£¬ÔçÍí¶¼¿ÉÒÔʵÏÖÕâЩ¡£ÄÇ£¬¹Ø¼üÔÚÄÄÀ
²»·ÁÉèÏëһϣ¬ÔÚÆ½Ê±Àí½âµÄ΢·þÎñ¿ª·¢¹ý³ÌÖУ¬ÔÚûÓÐIstioÕâÑùµÄ·þÎñÍø¸ñµÄÇé¿öÏ£¬ÒªÈçºÎ¿ª·¢ÎÒÃǵÄÓ¦ÓóÌÐò£¬²Å¿ÉÒÔ×öµ½Ç°ÃæÁгöµÄÕâЩ·á¸»¶à²ÊµÄ¹¦ÄÜ?
ÕâÊýÒÔ¼¸Ê®¼ÇµÄ¸÷ÖÖÌØÐÔ£¬ÈçºÎ²Å¿ÉÒÔ¼ÓÈëµ½Ó¦ÓóÌÐò?
ÎÞÍâºõ£¬ÕÒ¸öSpring Cloud»òÕßDubboµÄ³ÉÊì¿ò¼Ü£¬Ö±½Ó¸ã¶¨·þÎñ×¢²á£¬·þÎñ·¢ÏÖ£¬¸ºÔؾùºâ£¬È۶ϵȻù´¡¹¦ÄÜ¡£È»ºó×Ô¼º¿ª·¢·þÎñ·Óɵȸ߼¶¹¦ÄÜ£¬
½ÓÈëZipkinµÈApm×öÈ«Á´Â·¼à¿Ø£¬×Ô¼º×ö¼ÓÃÜ¡¢ÈÏÖ¤¡¢ÊÚȨ¡£ Ïë°ì·¨¸ã¶¨»Ò¶È·½°¸£¬ÓÃRedisµÈʵÏÖÏÞËÙ¡¢Åä¶î¡£
ÖîÈç´ËÀ࣬һ´ó¶ÑµÄÊÂÇ飬 ¶¼ÐèÒª×Ô¼º×ö£¬ÎÞÂÛÊÇÕÒ¿ªÔ´ÏîÄ¿»¹ÊÇ×Ô¼º²Ùµ¶£¬×îºóÕû³öÒ»¸ö´øÓÐÒ»´ó¶Ñ¹¦ÄܵÄÓ¦ÓóÌÐò£¬ÉÏÏß²¿Êð¡£È»ºó¸ø¸öÅäÖÃ˵Ã÷µ½ÔËά£¬¸æËßËû˵ÈçºÎÐèÒª»Ò¶È£¬ÒªÈçºÎÈçºÎ£¬
Èç¹ûÒªÏÞËÙ£¬ÅäÖÃÄÄÀïÄÄÀï¡£
ÕâЩ¹¤×÷£¬ÏàÐÅ×ö΢·þÎñÂ䵨µÄ¹«Ë¾£¬»ù±¾¶¼Åܲ»µô£¬ÐèÇóÊÇÏÖʵ´æÔڵģ¬ÎÞ·ÇÄÜ·ñʵÏÖ£¬ÒÔ¼°ÊµÏÖ¶àÉÙµÄÎÊÌ⣬µ«ÊǺÁÎÞÒÉÎʵÄÊÇ£¬Òª×öµ½ÕâЩ£¬¾ø¶Ô²»ÊÇÒ»¼þÈÝÒ×µÄÊÂÇé¡£
ÎÊÌâÊÇ£¬¼´Ê¹·ÑÁ¦×öµ½ÕâЩÊÂÇéµ½ÕâÀﻹûÓÐÍ꣺ÔËάÅÜÀ´ÌáÁ˵ãÒªÇó£¬ÔÚËû¿´À´ºÜºÏÀíµÄÒªÇ󣬱ÈÈç˵£º¼òµ¥µãµÄ¼Ó¸öºÚÃûµ¥£¬
¸´ÔÓµãµÄÒª×ö¸öÌØÊâµÄ»Ò¶È£º½«À´×ÔiPhoneµÄÓû§Á÷Á¿µ¼1%µ½Stagging»·¾³µÄ2.0а汾¡¡
ÕâÀï¾ÍÓÐÒ»¸öºÜÑÏËàµÄÎÊÌ⣬ ¸øÃ¿¸öÒµÎñ³ÌÐòµÄ¿ª·¢ÈËÔ±: Äãµ½µ×ÏëÍùÄãµÄÒµÎñ³ÌÐòÀïÃæÈû¶àÉÙ¹ÜÀíºÍÔËάµÄ¹¦ÄÜ?
¾ÍËãÄãholdµÄס¼¼ÊõºÍʱ¼ä£¬ÄãÓÐÄÜÁ¦Ò»¸öÒ»¸öµÄÂú×ã¸÷ÖÖÔËάºÍ¹ÜÀíµÄÐèÇóÂ𣿠µ±Äã·¢ÏÖÄ㿪ʼƣÓÚÏìÓ¦¸÷Öַǹ¦ÄÜÐÔµÄÐèÇóʱ£¬¾Í¸Ã¿ªÊ¼·´Ê¡ÁË:
ÎÒÃÇ¿ª·¢µÄÊÇÒµÎñ³ÌÐò£¬ËüµÄºËÐļÛÖµÔÚÒµÎñÂß¼µÄ´¦ÀíºÍʵÏÖ£¬½«Èç´ËÖ®¶àµÄʱ¼ä¾«Á¦»¨·ÑÔÚÕâЩ·ÇÒµÎñ¹¦ÄÜÉÏ£¬
ÕâÕæµÄºÏÀíÂð? ¶øÇÒ¼´Ê¹ÊÇÔÚʵÏÖ²ãÃæ£¬Î¢·þÎñʵʩʱ£¬×îÖØÒªµÄÊÇÈçºÎ»®·Ö΢·þÎñ£¬ÈçºÎÖÆ¶¨½Ó¿ÚÐÒ飬Äã¸ÃÈçºÎ·ÖÅäÄãÓÐÏÞµÄʱ¼äºÍ×ÊÔ´£¿
Istio ³¬Ô½ spring cloudºÍdubbo µÈ´«Í³¿ª·¢¿ò¼ÜÖ®´¦£¬ ¾ÍÔÚÓÚ²»½ö½ö´øÀ´ÁËÔ¶³¬ÕâЩ¿ò¼ÜËùÄÜÌṩµÄ¹¦ÄÜ£¬
¶øÇÒÒ²²»ÐèÒªÓ¦ÓóÌÐòΪ´Ë×ö´óÁ¿µÄ¸Ä¶¯£¬ ¿ª·¢ÈËÔ±Ò²²»±ØÎªÉÏÃæµÄ¹¦ÄÜʵÏÖ½øÐдóÁ¿µÄ֪ʶ´¢±¸¡£
×ܽá:
Istio ´ó·ù½µµÍ΢·þÎñ¼Ü¹¹ÏÂÓ¦ÓóÌÐòµÄ¿ª·¢ÄѶȣ¬ÊƱؼ«´óµÄÍÆ¶¯Î¢·þÎñµÄÆÕ¼°¡£¸öÈËÀÖ¹Û¹À¼Æ£¬Ëæ×ÅisitoµÄ³ÉÊ죬΢·þÎñ¿ª·¢ÁìÓò½«ÓÀ´Ò»´Îµß¸²ÐԵıä¸ï¡£ºóÃæÎÒÃÇÔÚ½éÉÜIstioµÄ¼Ü¹¹ºÍ¹¦ÄÜÄ£¿éʱ,
´ó¼Ò¿ÉÒÔÁ˽⵽IstioÊÇÈçºÎ×öµ½ÕâЩµÄ¡£
¿ª·¢ÍŶÓ
ÔÚ¿ªÊ¼½éÉÜIstioµÄ¼Ü¹¹Ö®Ç°, ÎÒÃÇÔÙÏêϸ½éÉÜÒ»ÏÂIstioµÄ¿ª·¢ÍŶÓ, ¿´¿´±³ºóµÄ´óÀС£Ê×ÏÈ£¬IstioµÄ¿ª·¢ÍŶÓÖ÷ÒªÀ´×Ô
Google£¬ IBMºÍLyft£¬Õª³Ò»¶Î¹Ù·½°Ë¹É£º
»ùÓÚÎÒÃÇΪÄÚ²¿ºÍÆóÒµ¿Í»§¹¹½¨ºÍÔËÓª´ó¹æÄ£Î¢·þÎñµÄ³£¼û¾Ñ飬Google£¬IBMºÍLyftÁªÊÖ´´½¨Istio£¬Ï£ÍûΪ΢·þÎñ¿ª·¢ºÍά»¤Ìṩ¿É¿¿µÄ»ù´¡¡£GoogleºÍIBMÏàÐŲ»ÐèÒª½éÉÜÁË,
ÔÚIstioÏîÄ¿ÖÐÕâÁ½¸ö¹«Ë¾ÊǾø¶ÔÖ÷Á¦£¬¾Ù¸öÀý×Ó,ÏÂͼÊÇ Istio Working GroupµÄ³ÉÔ±ÁÐ±í£º

ÊýÒ»ÏÂ, ×ܹ²18ÈË£¬10¸ögoogle£¬8¸öIBM¡£×¢ÒâÕâÀïûÓÐLyft³öÏÖ£¬ÒòΪLyftµÄ¹±Ï×Ö÷Òª¼¯ÖÐÔÚEnvoy¡£
Google
IstioÀ´×Ô¶¦¶¦´óÃûµÄGCP/Google Cloud Platform, ÕâÀïµ®ÉúÁËͬÑù´óÃû¶¦¶¦µÄ
App Engine, Cloud EngineµÈÖØÁ¿¼¶²úÆ·¡£
GoogleΪIstio´øÀ´ÁËKubernetesºÍgRPC, »¹ÓкÍEnvoyÏà¹ØµÄÌØÐÔÈ簲ȫ£¬ÐÔÄܺÍÀ©Õ¹ÐÔ¡£
°ËØÔ: ¸ºÔðIstioµÄGCP²úÆ·¾ÀíVarun Talwar£¬ ͬʱҲ¸ºÔðgRPCÏîÄ¿, ËùÒÔ¹Ø×¢gRPCµÄͬѧ£¨±ÈÈçÎÒ×Ô¼º£©¿ÉÒÔ²»Óõ£ÐÄ£ºIstio¶ÔgRPCµÄÖ§³Ö±ØÈ»ÊÇûÓÐÎÊÌâµÄ¡£
IBM
IBMµÄÍŶÓͬÀ´À´×ÔIBMÔÆÆ½Ì¨, IBMµÄ¹±Ï×ÊÇ:
³ýÁË¿ª·¢Istio¿ØÖÆÃæ°åÖ®Íâ, »¹ÓкÍEnvoyÏà¹ØµÄÆäËûÌØÐÔÈç¿ç·þÎñ°æ±¾µÄÁ÷Á¿ÇзÖ, ·Ö²¼Ê½ÇëÇó×·×Ù(Zipkin)ºÍʧ°Ü×¢Èë¡£
Lyft
LyftµÄ¹±Ï×Ö÷Òª¼¯ÖÐÔÚEnvoy´úÀí£¬ÕâÊÇLyft¿ªÔ´µÄ·þÎñÍø¸ñ£¬»ùÓÚC++¡£¾Ý˵EnvoyÔÚLyft¿ÉÒÔ¹ÜÀí³¬¹ý100¸ö·þÎñ£¬¿çÔ½10000¸öÐéÄâ»ú£¬Ã¿Ãë´¦Àí2°ÙÍòÇëÇó¡£±¾ÖÜ×îÐÂÏûÏ¢£¬Envoy¸Õ¸Õ¼ÓÈëCNCF£¬³ÉΪ¸Ã»ù½ð»áµÄµÚʮһ¸öÏîÄ¿¡£
×îºó£¬ ÔÚIsitoµÄ½éÉÜÍê³ÉÖ®ºó, ÎÒÃÇ¿ªÊ¼ÏÂÒ»½ÚÄÚÈÝ£¬IstioµÄ¼Ü¹¹¡£
¶þ¡¢¼Ü¹¹
ÕûÌå¼Ü¹¹
Istio·þÎñÍø¸ñÂß¼ÉÏ·ÖΪÊý¾ÝÃæ°åºÍ¿ØÖÆÃæ°å¡£
Êý¾ÝÃæ°åÓÉÒ»×éÖÇÄÜ´úÀí£¨Envoy£©×é³É£¬´úÀí²¿ÊðΪ±ß³µ£¬µ÷½âºÍ¿ØÖÆÎ¢·þÎñÖ®¼äËùÓеÄÍøÂçͨÐÅ¡£
¿ØÖÆÃæ°å¸ºÔð¹ÜÀíºÍÅäÖôúÀíÀ´Â·ÓÉÁ÷Á¿£¬ÒÔ¼°ÔÚÔËÐÐʱִÐвßÂÔ¡£
ÏÂͼΪIstioµÄ¼Ü¹¹Ïêϸ·Ö½âͼ£º

ÕâÊǺê¹ÛÊÓͼ£¬¿ÉÒÔ¸üÐÎÏóµÄչʾIstioÁ½¸öÃæ°åµÄ¹¦ÄܺͺÏ×÷£º

ÒÔÏ·ֱð½éÉÜ Istio ÖеÄÖ÷Ҫģ¿é Envoy/Mixer/Pilot/Auth¡£
Envory
ÒÔϽéÉÜÄÚÈÝÀ´×ÔIstio¹Ù·½Îĵµ£º
Istio ʹÓÃEnvoy´úÀíµÄÀ©Õ¹°æ±¾£¬EnvoyÊÇÒÔC++¿ª·¢µÄ¸ßÐÔÄÜ´úÀí£¬ÓÃÓÚµ÷½â·þÎñÍø¸ñÖÐËùÓзþÎñµÄËùÓÐÈëÕ¾ºÍ³öÕ¾Á÷Á¿¡£
IstioÀûÓÃÁËEnvoyµÄÐí¶àÄÚÖù¦ÄÜ£¬ÀýÈ綯̬·þÎñ·¢ÏÖ£¬¸ºÔؾùºâ£¬TLS termination£¬HTTP/2&gRPC´úÀí£¬ÈÛ¶ÏÆ÷£¬½¡¿µ¼ì²é£¬»ùÓÚ°Ù·Ö±ÈÁ÷Á¿²ð·ÖµÄ·Ö¶ÎÍÆ³ö£¬¹ÊÕÏ×¢ÈëºÍ·á¸»µÄmetrics¡£
EnvoyʵÏÖÁ˹ýÂ˺Í·ÓÉ¡¢·þÎñ·¢ÏÖ¡¢½¡¿µ¼ì²é£¬ÌṩÁ˾ßÓе¯ÐԵĸºÔؾùºâ¡£ËüÔÚ°²È«ÉÏÖ§³ÖTLS£¬ÔÚͨÐÅ·½ÃæÖ§³ÖgRPC¡£
¸ÅÀ¨Ëµ£¬EnvoyÌṩµÄÊÇ·þÎñ¼äÍøÂçͨѶµÄÄÜÁ¦£¬°üÀ¨(ÒÔϾù¿ÉÖ§³ÖTLS)£º
1.HTTP£¯1.1
2.HTTP/2
3.gRPC
4.TCP
5.ÒÔ¼°ÍøÂçͨѶֱ½ÓÏà¹ØµÄ¹¦ÄÜ£º
6.·þÎñ·¢ÏÖ£º´ÓPilotµÃµ½·þÎñ·¢ÏÖÐÅÏ¢
7.¹ýÂË
8.¸ºÔؾùºâ
9.½¡¿µ¼ì²é
10.Ö´ÐзÓɹæÔò(Rule): ¹æÔòÀ´×ÔPolit,°üÀ¨Â·ÓɺÍÄ¿µÄµØ²ßÂÔ
11.¼ÓÃܺÍÈÏÖ¤: TLS certsÀ´×Ô Istio-Auth
12.´ËÍâ, Envoy Ҳͳö¸÷ÖÖÊý¾Ý¸øMixer:
13.Metrics
14.Logging
15.Distribution Trace: Ŀǰ֧³Ö Zipkin
×ܽá: EnvoyÊÇIstioÖиºÔ𡱸ɻµÄÄ£¿é,Èç¹û½«Õû¸öIstioÌåϵ±ÈÓ÷Ϊһ¸öÊ©¹¤¶Ó,ÄÇô
Envoy ¾ÍÊÇ×îµ×²ã¸ºÔð°áשµÄÃñ¹¤£¬ËùÓÐÌåÁ¦»î¶¼ÓÉEnvoyÍê³É¡£ËùÓÐÐèÒª¿ØÖÆ£¬¾ö²ß£¬¹ÜÀíµÄ¹¦Äܶ¼ÊÇÆäËûÄ£¿éÀ´¸ºÔð£¬È»ºóÅäÖøøEnvoy¡£
Istio¼Ü¹¹»Ø¹Ë
ÔÚ¼ÌÐø½éÉÜIstioÆäËûµÄÄ£¿é֮ǰ£¬ÎÒÃÇÀ´»Ø¹ËÒ»ÏÂIstioµÄ¼Ü¹¹£¬Ç°ÃæÎÒÃÇÌáµ½, Istio·þÎñÍø¸ñ·ÖΪÁ½´ó¿é£ºÊý¾ÝÃæ°åºÍ¿ØÖÆÃæ°å¡£

¸Õ¸Õ½éÉܵÄEnvoy£¬ÔÚIstioÖаçÑݵľÍÊÇÊý¾ÝÃæ°å£¬¶øÆäËûÎÒÃÇÏÂÃæ½«ÒªÂ½Ðø½éÉܵÄMixer¡¢PilotºÍAuthÊôÓÚ¿ØÖÆÃæ°å¡£ÉÏÃæÎÒ¸ø³öÁËÒ»¸öÀà±È£ºIstioÖÐEnvoy
(»òÕß˵Êý¾ÝÃæ°å)°çÑݵĽÇÉ«Êǵײã¸É»îµÄÃñ¹¤£¬¶ø¸ÃÈÃÕâЩÃñ¹¤ÈçºÎ¹¤×÷£¬Óɰü¹¤Í·¿ØÖÆÃæ°åÀ´¸ºÔðÍê³É¡£
ÔÚIstioµÄ¼Ü¹¹ÖУ¬ÕâÁ½¸öÄ£¿éµÄ·Ö¹¤·Ç³£µÄÇåÎú£¬ÌåÏÖÔڼܹ¹ÉÏÒ²ÊǾγ·ÖÃ÷£º Mixer£¬PilotºÍAuthÕâÈý¸öÄ£¿é¶¼ÊÇGoÓïÑÔ¿ª·¢£¬´úÂëÍйÜÔÚGithubÉÏ£¬Èý¸ö²Ö¿â·Ö±ðÊÇ
Istio/mixer, Istio/pilot/auth¡£¶øEnvoyÀ´×ÔLyft£¬±à³ÌÓïÑÔÊÇc++
11£¬´úÂëÍйÜÔÚGithubµ«²»ÊÇIstioÏ¡£´ÓÍŶӷֹ¤¿´£¬GoogleºÍIBM¹Ø×¢ÓÚ¿ØÖÆÃæ°åÖеÄMixer£¬PilotºÍAuth£¬¶øLyft¼ÌÐø×¨×¢ÓÚEnvoy¡£
IstioµÄÕâ¸ö¼Ü¹¹Éè¼Æ£¬½«µ×²ãService MeshµÄ¾ßÌåʵÏÖ£¬ºÍIstioºËÐĵĿØÖÆÃæ°å²ð·Ö¿ª¡£´Ó¶øÊ¹µÃIstio¿ÉÒÔ½èÖú³ÉÊìµÄEnvoy¿ìËÙÍÆ³ö²úÆ·£¬Î´À´Èç¹ûÓиüºÃµÄService
Mesh·½°¸Ò²·½±ã¼¯³É¡£
EnvoyµÄ¾ºÕùÕß
̸µ½ÕâÀÁÄÒ»ÏÂĿǰÊÐÃæÉÏEnvoyÖ®ÍâµÄÁíÍâÒ»¸öService Mesh³ÉÊì²úÆ·£º»ùÓÚScalaµÄLinkerd¡£
LinkerdµÄ¹¦ÄܺͶ¨Î»ºÍEnvoy·Ç³£ÏàËÆ£¬¶øÇÒ¾ÍÔÚ½ñÄêÉϰëÄê³É¹¦½øÈëCNCF¡£¶øÔÚ Istio
ÍÆ³öÖ®ºó£¬Linkerd×öÁËÒ»¸öºÜÓÐÒâ˼µÄ¶¯×÷£ºLinkerdÍÆ³öÁ˺ÍIstioµÄ¼¯³É£¬Êµ¼ÊÎªÌæ»»Envoy×÷ΪIstioµÄÊý¾ÝÃæ°å£¬ºÍIstioµÄ¿ØÖÆÃæ°å¶Ô½Ó¡£
»Øµ½IstioµÄ¼Ü¹¹Í¼£¬½«Õâ·ùͼÖеÄEnvoy×ÖÑùÌæ»»ÎªLinkerd¼´¿É¡£ÁíÍ⻹Óв»ÔÚͼÖбíʾµÄLinkerd
Ingress / Linkerd EgressÓÃÓÚÌæ´úEnvoyʵÏÖ k8sµÄIngress/Egress¡£
±¾ÖÜ×îÐÂÏûÏ¢£º NginxÍÆ³öÁË×Ô¼ºµÄ·þÎñÍø¸ñ²úÆ·Nginmesh£¬¹¦ÄÜÀàËÆ£¬±È½ÏÓÐÒâ˼µÄµØ·½ÊÇNgxinmeshÒ»³öÀ´¾ÍÖ±½ÓÐû²¼ÒªºÍIstio¼¯³É£¬Ìæ»»Envoy¡£
ÏÂÃæ¿ªÊ¼½éÉÜ Istio ÖÐ×îºËÐĵĿØÖÆÃæ°å¡£
Pilot
Á÷Á¿¹ÜÀí
Istio×îºËÐĵŦÄÜÊÇÁ÷Á¿¹ÜÀí£¬Ç°ÃæÎÒÃÇ¿´µ½µÄÊý¾ÝÃæ°å£¬ÓÉEnvoy×é³ÉµÄ·þÎñÍø¸ñ£¬½«Õû¸ö·þÎñ¼äͨѶºÍÈë¿Ú/³ö¿ÚÇëÇó¶¼³ÐÔØÓÚÆäÉÏ¡£
ʹÓÃIstioµÄÁ÷Á¿¹ÜÀíÄ£ÐÍ£¬±¾ÖÊÉϽ«Á÷Á¿ºÍ»ù´¡ÉèÊ©À©Õ¹½âñÈÃÔËάÈËԱͨ¹ýPilotÖ¸¶¨ËüÃÇÏ£ÍûÁ÷Á¿×ñÑʲô¹æÔò£¬¶ø²»ÊÇÄÄÐ©ÌØ¶¨µÄpod/VMÓ¦¸Ã½ÓÊÕÁ÷Á¿¡£
¶ÔÕâ¶Î»°µÄÀí½â, ¿ÉÒÔ¿´ÏÂͼ£º¼Ù¶¨ÎÒÃÇÔÓзþÎñB£¬²¿ÊðÔÚPod1/2/3ÉÏ£¬ÏÖÔÚÎÒÃDz¿ÊðÒ»¸öа汾ÔÚPod4ÔÚ£¬Ï£ÍûʵÏÖÇÐ5%µÄÁ÷Á¿µ½Ð°汾¡£

Èç¹ûÒÔ»ù´¡ÉèʩΪ»ù´¡ÊµÏÖÉÏÊö5%µÄÁ÷Á¿Çз֣¬ÔòÐèҪͨ¹ýijЩÊֶν«Á÷Á¿ÇÐ5%µ½Pod4Õâ¸öÌØ¶¨µÄ²¿Êðµ¥Î»£¬ÊµÊ©Ê±¾Í±ØÐëºÍServiceBµÄ¾ßÌ岿Êð»¹ÓÐServiceA·ÃÎÊServiceBµÄÌØ¶¨·½Ê½½ôÃÜÁªÏµÔÚÒ»Æð.
±ÈÈçÈç¹ûÁ½¸ö·þÎñÖ®¼äÊÇÓÃNginx×ö·´Ïò´úÀí£¬ÔòÐèÒªÔö¼ÓPod4µÄIP×÷ΪUpstream£¬²¢µ÷ÕûPod1/2/3/4µÄÈ¨ÖØÒÔʵÏÖÁ÷Á¿Çз֡£
Èç¹ûʹÓÃIstioµÄÁ÷Á¿¹ÜÀí¹¦ÄÜ, ÓÉÓÚEnvoy×é³ÉµÄ·þÎñÍøÂçÍêÈ«ÔÚIstioµÄ¿ØÖÆÖ®ÏÂ,Òò´ËҪʵÏÖÉÏÊöµÄÁ÷Á¿²ð·Ö·Ç³£¼òµ¥.
¼Ù¶¨Ô°æ±¾Îª1.0£¬Ð°汾Ϊ2.0£¬Ö»ÒªÍ¨¹ýPolit ¸øEnvoy·¢ËÍÒ»¸ö¹æÔò£º2.0°æ±¾5%Á÷Á¿£¬Ê£Ïµĸø1.0¡£
ÕâÖÖÇé¿öÏ£¬ÎÒÃÇÎÞÐè¹Ø×¢2.0°æ±¾µÄ²¿Êð£¬Ò²ÎÞÐè¸Ä¶¯Èκμ¼ÊõÉèÖÃ, ¸ü²»ÐèÒªÔÚÒµÎñ´úÂëÖÐΪ´ËÌṩÈκÎÅäÖÃÖ§³ÖºÍ´úÂëÐ޸ġ£Ò»ÇÐÓÉ
Pilot ºÍÖÇÄÜEnvoy´úÀí¸ã¶¨¡£
ÎÒÃÇ»¹¿ÉÒÔÍæµÄ¸üìÅÒ»µã, ±ÈÈç¸ù¾ÝÇëÇóµÄÄÚÈÝÀ´Ô´½«Á÷Á¿·¢Ë͵½Ìض¨°æ±¾£º

ºóÃæÎÒÃÇ»á½éÉÜÈçºÎ´ÓÇëÇóÖÐÌáÈ¡³öUser-AgentÕâÑùµÄÊôÐÔÀ´ÅäºÏ¹æÔò½øÐÐÁ÷Á¿¿ØÖÆ¡£
PilotµÄ¹¦ÄܸÅÊö
ÎÒÃÇÔÚÇ°ÃæÓÐÇ¿µ÷˵£¬EnvoyÔÚÆäÖаçÑݵĸºÔð°áשµÄÃñ¹¤½ÇÉ«£¬¶øÖ¸»ÓEnvoy¹¤×÷µÄÃñ¹¤Í·¾ÍÊÇPilotÄ£¿é¡£
¹Ù·½ÎĵµÖжÔPilotµÄ¹¦ÄÜÃèÊö£º
Pilot¸ºÔðÊÕ¼¯ºÍÑéÖ¤ÅäÖò¢½«Æä´«²¥µ½¸÷ÖÖIstio×é¼þ¡£Ëü´ÓMixerºÍEnvoyÖгéÈ¡»·¾³Ìض¨µÄʵÏÖϸ½Ú£¬ÎªËûÃÇÌṩ¶ÀÁ¢ÓÚµ×²ãÆ½Ì¨µÄÓû§·þÎñµÄ³éÏó±íʾ¡£´ËÍ⣬Á÷Á¿¹ÜÀí¹æÔò£¨¼´Í¨ÓÃ4²ã¹æÔòºÍ7²ãHTTP/gRPC·ÓɹæÔò£©¿ÉÒÔÔÚÔËÐÐʱͨ¹ýPilot½øÐбà³Ì¡£
ÿ¸öEnvoyʵÀý¸ù¾ÝÆä´ÓPilot»ñµÃµÄÐÅÏ¢ÒÔ¼°Æä¸ºÔؾùºâ³ØÖÐµÄÆäËûʵÀýµÄ¶¨ÆÚ½¡¿µ¼ì²éÀ´Î¬»¤ ¸ºÔؾùºâÐÅÏ¢£¬´Ó¶øÔÊÐíÆäÔÚÄ¿±êʵÀýÖ®¼äÖÇÄÜ·ÖÅäÁ÷Á¿£¬Í¬Ê±×ñÑÆäÖ¸¶¨µÄ·ÓɹæÔò¡£
Pilot¸ºÔðÔÚIstio·þÎñÍø¸ñÖв¿ÊðµÄEnvoyʵÀýµÄÉúÃüÖÜÆÚ¡£
PilotµÄ¼Ü¹¹
ÏÂͼÊÇPilotµÄ¼Ü¹¹Í¼£º

Envoy API¸ºÔðºÍEnvoyµÄͨѶ, Ö÷ÒªÊÇ·¢ËÍ·þÎñ·¢ÏÖÐÅÏ¢ºÍÁ÷Á¿¿ØÖƹæÔò¸øEnvoy
EnvoyÌṩ·þÎñ·¢ÏÖ£¬¸ºÔؾùºâ³ØºÍ·ÓɱíµÄ¶¯Ì¬¸üеÄAPI¡£ÕâЩAPI½«IstioºÍEnvoyµÄʵÏÖ½âñî¡£(ÁíÍ⣬ҲʹµÃLinkerdÖ®ÀàµÄÆäËû·þÎñÍøÂçʵÏÖµÃÒÔÆ½»¬½Ó¹ÜEnvoy)
Polit¶¨ÁËÒ»¸ö³éÏóÄ£ÐÍ£¬ÒÔ´ÓÌØ¶¨Æ½Ì¨Ï¸½ÚÖнâñΪ¿çƽ̨Ìṩ»ù´¡
Platform AdapterÔòÊÇÕâ¸ö³éÏóÄ£Ð͵ÄÏÖʵʵÏÖ°æ±¾, ÓÃÓÚ¶Ô½ÓÍⲿµÄ²»Í¬Æ½Ì¨
×îºóÊÇ Rules API£¬Ìṩ½Ó¿Ú¸øÍⲿµ÷ÓÃÒÔ¹ÜÀíPilot£¬°üÀ¨ÃüÁîÐй¤¾ßIstioctlÒÔ¼°Î´À´¿ÉÄܳöÏֵĵÚÈý·½¹ÜÀí½çÃæ
·þÎñ¹æ·¶ºÍʵÏÖ
Pilot¼Ü¹¹ÖÐ, ×îÖØÒªµÄÊÇAbstract ModelºÍPlatform Adapter£¬ÎÒÃÇÏêϸ½éÉÜ¡£
Abstract Model£ºÊǶԷþÎñÍø¸ñÖС±·þÎñ¡±µÄ¹æ·¶±íʾ, ¼´¶¨ÒåÔÚistioÖÐʲôÊÇ·þÎñ£¬Õâ¸ö¹æ·¶¶ÀÁ¢ÓÚµ×²ãÆ½Ì¨¡£
Platform Adapter£ºÕâÀïÓи÷ÖÖÆ½Ì¨µÄʵÏÖ£¬Ä¿Ç°Ö÷ÒªÊÇKubernetes£¬ÁíÍâ×îеÄ0.2°æ±¾µÄ´úÂëÖгöÏÖÁËConsulºÍEureka¡£
À´¿´Ò»ÏÂPilot 0.2µÄ´úÂ룬pilot/platform Ŀ¼ÏÂ:

ÃéÒ»ÑÛplatform.go£º

·þÎñ¹æ·¶µÄ¶¨ÒåÔÚmodle/service.goÖÐ:

ÓÉÓÚÆª·ùÓÐÏÞ£¬´úÂ벿·ÖÕâÀï²»ÉîÈë, Ö»ÊÇͨ¹ýÉÏÃæµÄÁ½¶Î´úÂëÀ´Õ¹Ê¾PilotÖжԷþÎñµÄ¹æ·¶¶¨ÒåºÍĿǰµÄ¼¸¸öʵÏÖ¡£
ÔÝʱ¶øÑÔ(µ±Ç°°æ±¾ÊÇ0.1.6, 0.2°æ±¾ÉÐδÕýʽ·¢²¼)£¬Ä¿Ç° Istio Ö»Ö§³ÖK8sÒ»ÖÖ·þÎñ·¢ÏÖ»úÖÆ¡£
±¸×¢: ConsulµÄʵÏÖ¾Ý˵Ö÷ÒªÊÇΪÁËÖ§³ÖºóÃæ½«ÒªÖ§³ÖµÄCloud Foundry£¬EurekaûÓÐÕÒµ½×ÊÁÏ¡£Etcd3
µÄÖ§³Ö»¹ÔÚIssueÁбíÖУ¬¿´Issue¼Ç¼ÕùÖ´ÖС£
Pilot¹¦ÄÜ
»ùÓÚÉÏÊöµÄ¼Ü¹¹Éè¼Æ£¬PilotÌṩÒÔÏÂÖØÒª¹¦ÄÜ£º
1.ÇëÇó·ÓÉ
2.·þÎñ·¢Ïֺ͸ºÔؾùºâ
3.¹ÊÕÏ´¦Àí
4.¹ÊÕÏ×¢Èë
5.¹æÔòÅäÖÃ
ÓÉÓÚÆª·ùÏÞÖÆ£¬½ñÌì²»Öð¸öÕ¹¿ªÏêϸ½éÉÜÿ¸ö¹¦ÄܵÄÏêÇé¡£´ó¼Òͨ¹ýÃû×־ʹó¸Å¿ÉÒÔÖªµÀÊÇʲô£¬Èç¹ûÏ£ÍûÁ˽âÏêÇé¿ÉÒÔ¹Ø×¢Ö®ºóµÄ·ÖÏí¡£»òÕß²éÔĹٷ½ÎĵµµÄ½éÉÜ¡£
Mixer
Mixer·Òë³ÉÖÐÎÄÊÇ»ìÒôÆ÷, ÏÂÃæÊÇËüµÄͼ±ê£º

¹¦ÄܸÅÀ¨£ºMixer¸ºÔðÔÚ·þÎñÍø¸ñÉÏÖ´ÐзÃÎÊ¿ØÖƺÍʹÓòßÂÔ£¬²¢ÊÕ¼¯Envoy´úÀíºÍÆäËû·þÎñµÄÒ£²âÊý¾Ý¡£
MixerµÄÉè¼Æ±³¾°
ÎÒÃǵÄϵͳͨ³£»á»ùÓÚ´óÁ¿µÄ»ù´¡ÉèÊ©¶ø¹¹½¨£¬ÕâЩ»ù´¡ÉèÊ©µÄºó¶Ë·þÎñΪҵÎñ·þÎñÌṩ¸÷ÖÖÖ§³Ö¹¦ÄÜ¡£°üÀ¨·ÃÎÊ¿ØÖÆÏµÍ³£¬Ò£²â²¶»ñϵͳ£¬Åä¶îÖ´ÐÐϵͳ£¬¼Æ·ÑϵͳµÈ¡£ÔÚ´«Í³Éè¼ÆÖÐ,
·þÎñÖ±½ÓÓëÕâЩºó¶Ëϵͳ¼¯³É£¬ÈÝÒײúÉúÓ²ñîºÏ¡£
ÔÚIstioÖУ¬ÎªÁ˱ÜÃâÓ¦ÓóÌÐòµÄ΢·þÎñºÍ»ù´¡ÉèÊ©µÄºó¶Ë·þÎñÖ®¼äµÄñîºÏ£¬ÌṩÁË Mixer ×÷ΪÁ½ÕßµÄͨÓÃÖнé²ã£º

Mixer Éè¼Æ½«²ßÂÔ¾ö²ß´ÓÓ¦ÓòãÒÆ³ö²¢ÓÃÅäÖÃÌæ´ú£¬²¢ÔÚÔËάÈËÔ±¿ØÖÆÏ¡£Ó¦ÓóÌÐò´úÂë²»ÔÙ½«Ó¦ÓóÌÐò´úÂëÓëÌØ¶¨ºó¶Ë¼¯³ÉÔÚÒ»Æð£¬¶øÊÇÓëMixer½øÐÐÏ൱¼òµ¥µÄ¼¯³É£¬È»ºó
Mixer ¸ºÔðÓëºó¶ËϵͳÁ¬½Ó¡£
ÌØ±ðÌáÐÑ: Mixer²»ÊÇΪÁËÔÚ»ù´¡ÉèÊ©ºó¶ËÖ®ÉÏ´´½¨Ò»¸ö³éÏó²ã»òÕß¿ÉÒÆÖ²ÐԲ㡣Ҳ²»ÊÇÊÔͼ¶¨ÒåÒ»¸öͨÓõÄLogging
API£¬Í¨ÓõÄMetric API£¬Í¨ÓõļƷÑAPIµÈµÈ¡£
MixerµÄÉè¼ÆÄ¿±êÊǼõÉÙÒµÎñϵͳµÄ¸´ÔÓÐÔ£¬½«²ßÂÔÂß¼´ÓÒµÎñµÄ΢·þÎñµÄ´úÂë×ªÒÆµ½MixerÖÐ, ²¢ÇÒ¸ÄΪÈÃÔËάÈËÔ±¿ØÖÆ¡£
MixerµÄ¹¦ÄÜ
Mixer ÌṩÈý¸öºËÐŦÄÜ£º
ǰÌáÌõ¼þ¼ì²é¡£ÔÊÐí·þÎñÔÚÏìÓ¦À´×Ô·þÎñÏû·ÑÕߵĴ«ÈëÇëÇó֮ǰÑé֤һЩǰÌáÌõ¼þ¡£Ç°ÌáÌõ¼þ°üÀ¨ÈÏÖ¤£¬ºÚ°×Ãûµ¥£¬ACL¼ì²éµÈµÈ¡£
Åä¶î¹ÜÀí¡£Ê¹·þÎñÄܹ»ÔÚ¶à¸öά¶ÈÉÏ·ÖÅäºÍÊÍ·ÅÅä¶î¡£µäÐÍÀý×ÓÈçÏÞËÙ¡£
Ò£²â±¨¸æ¡£Ê¹·þÎñÄܹ»Éϱ¨ÈÕÖ¾ºÍ¼à¿Ø¡£
ÔÚIstioÄÚ£¬EnvoyÖØ¶ÈÒÀÀµMixer¡£
MixerµÄÊÊÅäÆ÷
MixerÊǸ߶ÈÄ£¿é»¯ºÍ¿ÉÀ©Õ¹µÄ×é¼þ¡£ÆäÖÐÒ»¸ö¹Ø¼ü¹¦ÄÜÊdzéÏó³ö²»Í¬²ßÂÔºÍÒ£²âºó¶ËϵͳµÄϸ½Ú£¬ÔÊÐíEnvoyºÍ»ùÓÚIstioµÄ·þÎñÓëÕâЩºó¶ËÎ޹أ¬´Ó¶ø±£³ÖËûÃǵĿÉÒÆÖ²¡£
MixerÔÚ´¦Àí²»Í¬»ù´¡ÉèÊ©ºó¶ËµÄÁé»îÐÔÊÇͨ¹ýʹÓÃͨÓòå¼þÄ£ÐÍʵÏֵġ£µ¥¸öµÄ²å¼þ±»³ÆÎªÊÊÅäÆ÷£¬ËüÃÇÔÊÐíMixerÓ벻ͬµÄ»ù´¡ÉèÊ©ºó¶ËÁ¬½Ó£¬ÕâЩºǫ́¿ÉÌṩºËÐŦÄÜ£¬ÀýÈçÈÕÖ¾£¬¼à¿Ø£¬Åä¶î£¬ACL¼ì²éµÈ¡£ÊÊÅäÆ÷ʹMixerÄܹ»±©Â¶Ò»ÖµÄAPI£¬ÓëʹÓõĺó¶ËÎ޹ء£ÔÚÔËÐÐʱͨ¹ýÅäÖÃÈ·¶¨È·ÇеÄÊÊÅäÆ÷Ì×¼þ£¬²¢ÇÒ¿ÉÒÔÇáËÉÖ¸ÏòеĻò¶¨ÖƵĻù´¡ÉèÊ©ºó¶Ë¡£

Õâ¸öͼÊǹÙÍø¸øµÄ£¬ÁгöµÄ¹¦Äܲ»¶à£¬ÎÒ´ÓGithubµÄ´úÂëÖÐ×¥¸öͼ¸ø´ó¼ÒչʾһÏÂĿǰÒÑÓеÄMixer
Adapter£º

MixerµÄ¹¤×÷·½Ê½
IstioʹÓÃÊôÐÔÀ´¿ØÖÆÔÚ·þÎñÍø¸ñÖÐÔËÐеķþÎñµÄÔËÐÐʱÐÐΪ¡£ÊôÐÔÊÇÃèÊöÈë¿ÚºÍ³ö¿ÚÁ÷Á¿µÄÓÐÃû³ÆºÍÀàÐ͵ÄÔªÊý¾ÝƬ¶Î£¬ÒÔ¼°´ËÁ÷Á¿·¢ÉúµÄ»·¾³¡£IstioÊôÐÔЯ´øÌض¨ÐÅϢƬ¶Î£¬ÀýÈ磺

ÇëÇó´¦Àí¹ý³ÌÖУ¬ÊôÐÔÓÉEnvoyÊÕ¼¯²¢·¢Ë͸øMixer£¬MixerÖиù¾ÝÔËάÈËÔ±ÉèÖõÄÅäÖÃÀ´´¦ÀíÊôÐÔ¡£»ùÓÚÕâЩÊôÐÔ£¬Mixer»á²úÉú¶Ô¸÷ÖÖ»ù´¡ÉèÊ©ºó¶ËµÄµ÷Óá£

MixerÉè¼ÆÓÐÒ»Ì×Ç¿´ó(Ò²ºÜ¸´ÔÓ, ¿°³ÆIstioÖÐ×ÔÓµÄÒ»¸ö²¿·Ö)µÄÅäÖÃÄ£ÐÍÀ´ÅäÖÃÊÊÅäÆ÷µÄ¹¤×÷·½Ê½£¬Éè¼ÆÓÐÊÊÅäÆ÷¡¢ÇÐÃæ¡¢ÊôÐÔ±í´ïʽ£¬Ñ¡ÔñÆ÷¡¢ÃèÊö·û£¬manifests
µÈÒ»¶Ñ¸ÅÄî.
ÓÉÓÚÆª·ùËùÏÞ£¬½ñÌì²»Õ¹¿ªÕâ¿éÄÚÈÝ£¬ÕâÀï¸ø³öÁ½¸ö¼òµ¥µÄÀý×ÓÈôó¼Ò¶ÔMixerµÄÅäÖÃÓиö¸ÐÐÔµÄÈÏʶ:
1¡¢ÕâÊÇÒ»¸öIPµØÖ·¼ì²éµÄAdapter£¬ÊµÏÖÀàËÆºÚÃûµ¥»òÕß°×Ãûµ¥µÄ¹¦ÄÜ£º

2¡¢metricsµÄÊÊÅäÆ÷,½«Êý¾Ý±¨¸æ¸øPrometheusϵͳ

3¡¢¶¨ÒåÇÐÃæ, ʹÓÃÇ°Ãæ¶¨ÒåµÄ myListChecker Õâ¸öadapter ¶ÔÊôÐÔ source.ip
½øÐкÚÃûµ¥¼ì²é¡£

Istio-Auth
Istio-AuthÌṩǿ´óµÄ·þÎñµ½·þÎñºÍÖÕ¶ËÓû§ÈÏÖ¤£¬Ê¹Óý»»¥TLS£¬ÄÚÖÃÉí·ÝºÍƾ¾Ý¹ÜÀí¡£Ëü¿ÉÓÃÓÚÉý¼¶·þÎñÍø¸ñÖеÄδ¼ÓÃÜÁ÷Á¿£¬²¢ÎªÔËάÈËÔ±Ìṩ»ùÓÚ·þÎñÉí·Ý¶ø²»ÊÇÍøÂç¿ØÖÆÊµÊ©²ßÂÔµÄÄÜÁ¦¡£
IstioµÄδÀ´°æ±¾½«Ôö¼ÓϸÁ£¶ÈµÄ·ÃÎÊ¿ØÖƺÍÉ󼯣¬ÒÔʹÓø÷ÖÖ·ÃÎÊ¿ØÖÆ»úÖÆ£¨°üÀ¨»ùÓÚÊôÐԺͽÇÉ«µÄ·ÃÎÊ¿ØÖÆÒÔ¼°ÊÚȨ¹³×Ó£©À´¿ØÖƺͼàÊÓ·ÃÎÊÄúµÄ·þÎñ£¬API»ò×ÊÔ´µÄÈËÔ±¡£

AuthµÄ¼Ü¹¹
ÏÂͼչʾIstio Auth¼Ü¹¹£¬ÆäÖаüÀ¨Èý¸ö×é¼þ£ºÉí·Ý£¬ÃÜÔ¿¹ÜÀíºÍͨÐŰ²È«¡£
ÔÚÕâ¸öÀý×ÓÖÐ, ·þÎñAÒÔ·þÎñÕÊ»§¡°foo¡±ÔËÐÐ, ·þÎñBÒÔ·þÎñÕÊ»§¡°bar¡±ÔËÐÐ, ËûÃÇÖ®¼äµÄͨѶÔÀ´ÊÇûÓмÓÃܵÄ.
µ«ÊÇIstioÔÚ²»Ð޸ĴúÂëµÄÇé¿ö, ÒÀÍÐEnvoyÐγɵķþÎñÍø¸ñ, Ö±½ÓÔÚ¿Í»§¶ËEnvoyºÍ·þÎñÆ÷¶ËEnvoyÖ®¼ä½øÐÐͨѶ¼ÓÃÜ¡£
ĿǰÔÚKubernetesÉÏÔËÐÐµÄ Istio£¬Ê¹ÓÃKubernetes service account/·þÎñÕÊ»§À´Ê¶±ðÔËÐи÷þÎñµÄÈËÔ±¡£
δÀ´½«ÍƳöµÄ¹¦ÄÜ
AuthÔÚĿǰµÄIstio°æ±¾(0.1.6ºÍ¼´½«·¢²¼µÄ0.2)ÖУ¬¹¦ÄÜ»¹²»ÊǺÜÈ«£¬Î´À´Ôò¹æ»®Óзdz£¶àµÄÌØÐÔ£º
1.ϸÁ£¶ÈÊÚȨºÍÉóºË
2.°²È«Istio×é¼þ£¨Mixer, PilotµÈ£©
3.¼¯Èº¼ä·þÎñµ½·þÎñÈÏÖ¤
4.ʹÓÃJWT/OAuth2/OpenID_ConnectÖն˵½·þÎñµÄÈÏÖ¤
5.Ö§³ÖGCP·þÎñÕÊ»§ºÍAWS·þÎñÕÊ»§
6.·ÇhttpÁ÷Á¿£¨MySql£¬RedisµÈ£©Ö§³Ö
7.UnixÓòÌ×½Ó×Ö£¬ÓÃÓÚ·þÎñºÍEnvoyÖ®¼äµÄ±¾µØÍ¨ÐÅ
8.Öмä´úÀíÖ§³Ö
9.¿É²å°ÎÃÜÔ¿¹ÜÀí×é¼þ
10.ÐèÒªÌáÐѵÄÊÇ£ºÕâЩ¹¦Äܶ¼ÊDz»¸Ä¶¯ÒµÎñÓ¦ÓôúÂëµÄǰÌáÏÂʵÏֵġ£
»Øµ½ÎÒÃÇÇ°ÃæµÄÔø¾ÌÖÂÛµÄÎÊÌ⣬Èç¹û×Ô¼ºÀ´×ö£¬Íê³ÉÕâЩ¹¦ÄÜ´ó¼Ò¾õµÃÐèÒª¶àÉÙ¹¤×÷Á¿£¿Òª°ÑËùÓеÄÒµÎñÄ£¿é¶¼Ç¨ÒƵ½¾ß±¸ÕâЩ¹¦ÄܵĿò¼ÜºÍÌåϵÖУ¬ÐèÒª¸Ä¶¯¶àÉÙ£¿¶øIstio£¬Î´À´¾Í»áÖ±½Ó½«ÕâЩ¶«Î÷°ÚÉÏÎÒÃǵIJÍ×À¡£
Èý¡¢Î´À´
Ç°ÃæÎÒÃǽéÉÜÁËIstioµÄ»ù±¾Çé¿ö£¬»¹ÓÐIstioµÄ¼Ü¹¹ºÍÖ÷Òª×é¼þ¡£ÏàÐÅ´ó¼Ò¶ÔIstioÓ¦¸ÃÓÐÁËÒ»¸ö³õ²½µÄÈÏʶ¡£ÐèÒªÌáÐѵÄÊÇ£¬IstioÊÇÒ»¸ö½ñÄê5Ô²ŷ¢²¼
0.1.0 °æ±¾µÄÐÂÏʳö¯µÄ¿ªÔ´ÏîÄ¿£¬Ä¿Ç°¸ÃÏîĿҲ²Å·¢²¼µ½0.1.6Õýʽ°æ±¾ºÍ 0.2.2 pre
release°æ±¾. ºÜ¶àµØ·½»¹²»ÍêÉÆ£¬Ï£Íû´ó¼Ò¿ÉÒÔÀí½â£¬ÓеãÀàËÆÓÚ×îÔçÆÚ½×¶ÎµÄKubernetes¡£ÔÚ½ÓÏÂÀ´µÄʱ¼ä£¬ÎÒÃǽ«¼òµ¥½éÉÜÒ»ÏÂIstioºóÃæµÄһЩ¿ª·¢¼Æ»®ºÍ·¢Õ¹Ô¤ÆÚ¡£
ÔËÐл·¾³Ö§³Ö
IstioĿǰֻ֧³ÖKubernetes, ÕâÊÇÁîÈ˱ȽÏÒź¶µÄÒ»µã. ²»¹ý istio ¸ø³öµÄ½âÊÍÊÇistioδÀ´»áÖ§³ÖÔÚ¸÷ÖÖ»·¾³ÖÐÔËÐУ¬Ö»ÊÇĿǰÔÚ
0.1/0.2 ÕâÑùµÄ³õʼ½×¶ÎÔÝʱרעÓÚKubernetes£¬µ«ºÜ¿ì»áÖ§³ÖÆäËû»·¾³¡£
×¢Òâ: Kubernetesƽ̨£¬³ýÁËÔÉúKubernetes, »¹ÓÐÖîÈç IBM Bluemix
Container ServiceºÍRedHat OpenShiftÕâÑùµÄÉÌҵƽ̨¡£ ÒÔ¼°google×Ô¼ÒµÄ
Google Container Engine¡£ÕâÊÇ×ԼҵĶ«Î÷, ¶øÇÒÏÖÔÚk8s/istio/gRPC¶¼ÒѾ±»»®¹éµ½
Google cloud platform²¿ÃÅ, ×ÔÈ»»áÓÅÏÈÖ§³Ö.
ÁíÍâisitoËù˵µÄÆäËû»·¾³Ö¸µÄÊÇ:
Mesos: Õâ¸ö¹À¼ÆÊÇ´ó¶àÈË·ÇK8sµÄDockerʹÓÃÕß×î¹ØÐĵÄÁË, ÔÝʱ´ÓGithubÉϵĴúÂëÖÐδ¼ûµ½Óпª¹¤¼£Ïó,
µ«ÊÇIstioµÄÎĵµºÍ¹Ù·½ÉùÃ÷¶¼Ã÷ÏÔ˵»áÖ§³Ö, ¹À¼Æ»¹ÊÇÏ£ÍûºÜ´óµÄ.
Cloud foundry: Õâ¸ö¶«¶«ÎÒÃǹúÄÚ³ýÁË˽ÓÐÔÆÍâÍæµÄ²»¶à, Istio¶ÔËüµÄÖ§³ÖËÆºõÒѾÆô¶¯.
±ÈÈçÎÒ¿´µ½´úÂëÖÐÒѾÓÐÁËConsulÕâ¸ö·þÎñ×¢²áµÄÖ§³Ö, ´ÓIssueÌÖÂÛÉÏ¿´µ½ÊÇ˵ΪÉÏCloud
foundry×ö×¼±¸, ÒòΪCloud foundryûÓÐk8sÄÇÑùµÄÔÉú·þÎñ×¢²á»úÖÆ¡£
VM: Õâ¿éûÓп´µ½½éÉÜ, µ«ÊÇÓп´µ½IstioµÄÌÖÂÛÖÐÌáµ½»áÖ§³ÖÈÝÆ÷ºÍ·ÇÈÝÆ÷µÄ»ìºÏ(Hybrid)Ö§³Ö
ÖµµÃÌØ±ðÖ¸³öµÄÊÇ£¬Ä¿Ç°ÎÒ»¹Ã»Óп´µ½IstioÓжÔDocker¼ÒµÄSwarmÓÐÖ§³ÖµÄ¼Æ»®»òÕßÌÖÂÛ, ĿǰÎÒÕÒµ½µÄÈκÎIstioµÄ×ÊÁÏÖж¼²»´æÔÚSwarmÕâ¸ö¶«¶«¡£ÎÒÖ»Äܲ»¸ºÔðÈεĽâ¶ÁΪ£ºÓÐÈ˵ĵط½¾ÍÓнºþ£¬Óнºþ¾Í×ÔÈ»»áÓнºþ¶÷Ô¹¡£
·Ïßͼ
°´ÕÕIstioµÄ˵·¨£¬ËûÃǼƻ®Ã¿3¸öÔ·¢²¼Ò»´Îа汾£¬ÎÒÃÇ¿´Ò»ÏÂĿǰµÃµ½µÄһЩÐÅÏ¢£º
0.1 °æ±¾2017Äê5Ô·¢²¼,Ö»Ö§³ÖKubernetes
0.2 ¼´½«·¢²¼,µ±Ç°ÊÇ0.2.1 pre-release, Ò²Ö»Ö§³ÖKubernetes
0.3 roadmapÉÏ˵Ҫ֧³Ök8sÖ®ÍâµÄƽ̨, ¡°Support for Istio meshes
without Kubernetes.¡±, µ«ÊǾßÌåÄÄÐ©ÌØÐÔ»á·ÅÔÚ0.3ÖÐ,»¹ÔÚÌÖÂÛÖÐ
1.0 °æ±¾Ô¤¼Æ½ñÄêÄêµ×·¢²¼
×¢: 1.0°æ±¾µÄ·¢²¼Ê±¼ä¹Ù·½Ã»ÓÐÃ÷È·¸ø³ö£¬ÎÒÖ»ÊÇ¿´µ½¹ÙÍø×ÊÁÏÀïÃæÓÐÐÅϢ͸¶ÈçÏÂ:
¡°we invite the community to join us in shaping the
project as we work toward a 1.0 release later this
year.¡±
°´ÕÕÉÏÃæ¸øµÄÐÅÏ¢£¬¼òµ¥ÍÆË㣺Ӧ¸ÃÊÇ9Ô·¢0.2, È»ºó12Ô·¢0.3, µ«ÊÇÕâ¾ÍÒѾÊÇÄêµ×ÁË, ËùÒÔ²»Åųý1.0ÍÆ³Ù·¢²¼µÄ¿ÉÄÜ£¬»òÕß0.3Ö±½Óµ±³É
1.0 ·¢²¼¡£
ÉçÇøÖ§³Ö
ËäÈ»Istio³õ³ö½ºþ£¬Èé³ôδ¸É£¬µ«ÊÇÆ¾½ègoogleºÍIBMµÄ½ð×ÖÕÐÅÆ£¬»¹ÓÐIstioǰÎÀ¶øÊµ¼ÊµÄÉè¼ÆÀíÄĿǰÒѾÓкܶ๫˾ÔÚ¿ªÊ¼Ìṩ¶ÔIstioµÄÖ§³Ö»òÕß¼¯³É£¬ÕâÊÇIstio¹Ù·½Ò³ÃæÓмÇÔØµÄ£º
Red Hat£ºOpenshift and OpenShift Application Runtimes
Pivotal£ºCloud Foundry
Weaveworks£ºWeave Cloud and Weave Net 2.0
Tigera£ºProject Calico Network Policy Engine
Datawire£ºAmbassador project
È»ºóһЩÆäËûÍâΧ֧³Ö, ´Ó´úÂëÖп´µ½µÄ:
eureka
consul
etcd v3: Õâ¸ö»¹ÔÚÕùÖ´ÖÐ,×÷ΪetcdµÄ¼á¶¨Óµ»¤Õß, ÎҶԴ˱£³ÖÃÜÇйØ×¢
´æÔÚÎÊÌâ
Istio±Ï¾¹Ä¿Ç°²ÅÊÇ0.2.2 pre release°æ±¾£¬±Ï¾¹²Å³öÀ´ËĸöÔ£¬Òò´Ë»¹ÊÇ´æÔÚ´óÁ¿µÄÎÊÌ⣬¼¯ÖбíÏÖΪ£º
Ö»Ö§³Ök8s£¬¶øÇÒÒªÇók8s 1.7.4+£¬ÒòΪʹÓõ½k8sµÄ CustomResourceDefinitions
ÐÔÄܽϵͣ¬´ÓĿǰµÄ²âÊÔÇé¿ö¿´£¬0.1°æ±¾ºÜÔã¸â£¬0.2°æ±¾ÓиÄÉÆ
ºÜ¶à¹¦ÄÜÉÐδÍê³É
¸ø´ó¼ÒµÄ½¨Ò飺¿ÉÒÔÃÜÇйØ×¢IstioµÄ¶¯Ïò£¬Ìáǰ×öºÃ¼¼Êõ´¢±¸¡£µ«ÊÇ£¬×îÆðÂëÔÚÄêµ×µÄ1.0°æ±¾³öÀ´Ö®Ç°£¬±ð¼±×ÅÉÏÉú²ú»·¾³¡£
½áÓï
¸Ðл´ó¼ÒÔÚ½ñÌì²ÎÓëÕâ´ÎµÄIstio·ÖÏí¡£ |