±à¼ÍƼö: |
±¾ÎÄÖ÷Òª½²½âÔÚKubernetes³ÆÎªÈÝÆ÷±àÅŵıê×¼ºó£¬service
mesh±³ºó¼¼Êõϸ½ÚµÄ½âÎö
±¾ÎÄÀ´×ÔÍøÒ×ÔÆ£¬ÓÉ»ðÁú¹ûÈí¼þÁõ衱à¼ÍƼö |
|
Ò»¡¢Service MeshÊÇKubernetesÖ§³Å΢·þÎñÄÜÁ¦Æ´Í¼µÄ×îºóÒ»¿é
ÔÚÉÏһƪÎÄÕÂΪʲô kubernetes ÌìÈ»ÊʺÏ΢·þÎñÖÐÎÒÃÇÌáµ½£¬KubernetesÊÇÒ»¸öÆæÝâËùÔÚ£¬ËûµÄ×é¼þ¸´ÔÓ£¬¸ÅÄÔÓ£¬ÔÚûÓÐʵʩ΢·þÎñ֮ǰ£¬Äã¿ÉÄÜ»á¾õµÃΪʲôKubernetesÒªÉè¼ÆµÄÕâô¸´ÔÓ£¬µ«ÊÇÒ»µ©ÄãҪʵʩ΢·þÎñ£¬Äã»á·¢ÏÖKubernetesÖеÄËùÓиÅÄ¶¼ÊÇÓÐÓõġ£

ÔÚÎÒÃÇ΢·þÎñÉè¼ÆµÄÊǸöÒªµãÖУ¬ÎÒÃǻᷢÏÖKubernetes¶¼Äܹ»ÓÐÏàÓ¦µÄ×é¼þºÍ¸ÅÄÌṩÏàÓ¦µÄÖ§³Ö¡£
ÆäÖÐ×îºóµÄÒ»¿éƴͼ¾ÍÊÇ·þÎñ·¢ÏÖ£¬ÓëÈÛ¶ÏÏÞÁ÷½µ¼¶¡£
ÖÚËùÖÜÖª£¬KubernetesµÄ·þÎñ·¢ÏÖÊÇͨ¹ýServiceÀ´ÊµÏֵ쬷þÎñÖ®¼äµÄת·¢ÊÇͨ¹ýkube-proxyÏ·¢iptables¹æÔòÀ´ÊµÏֵģ¬Õâ¸öÖ»ÄÜʵÏÖ×î»ù±¾µÄ·þÎñ·¢ÏÖºÍת·¢ÄÜÁ¦£¬²»ÄÜÂú×ã¸ß²¢·¢Ó¦ÓÃϵĸ߼¶µÄ·þÎñÌØÐÔ£¬±È½ÏSpringCloudºÍDubboÓÐÒ»¶¨µÄ²î¾à£¬ÓÚÊÇService Meshµ®ÉúÁË£¬ËûÆÚÍû½²ÈÛ¶Ï£¬ÏÞÁ÷£¬½µ¼¶µÈÌØÐÔ£¬´ÓÓ¦Óò㣬ϳÁµ½»ù´¡ÉèÊ©²ãȥʵÏÖ£¬´Ó¶øÊ¹µÃKubernetesºÍÈÝÆ÷È«Ãæ½Ó¹Ü΢·þÎñ¡£
¶þ¡¢ÒÔIstioΪÀý½²ÊöService MeshÖеļ¼Êõ¹Ø¼üµã

¾ÍÈçSDNÒ»Ñù£¬Service Mesh½«·þÎñÇëÇóµÄת·¢·ÖΪ¿ØÖÆÃæºÍÊý¾ÝÃæ£¬Òò¶ø·ÖÎöËû£¬Ò²ÊÇ´ÓÊý¾ÝÃæÏÈ·ÖÎöת·¢µÄÄÜÁ¦£¬È»ºóÔÙ·ÖÎö¿ØÖÆÃæÈçºÎÏ·¢ÃüÁî¡£½ñÌìÕâÆªÎÄÕÂÖØµã½²ÊöÁ½¸ö×é¼þEnvoyºÍPilot
Ò»ÇдÓEnvoy¿ªÊ¼
ÎÒÃÇÊ×ÏÈÀ´¿´£¬Èç¹ûûÓÐÈÚÈëService Mesh£¬Envoy±¾ÉíÄܹ»×öʲôÊÂÇéÄØ£¿
EnvoyÊÇÒ»¸ö¸ßÐÔÄܵÄC++дµÄproxyת·¢Æ÷£¬ÄÇEnvoyÈçºÎת·¢ÇëÇóÄØ£¿ÐèÒª¶¨Ò»Ð©¹æÔò£¬È»ºó°´ÕÕÕâЩ¹æÔò½øÐÐת·¢¡£
¹æÔò¿ÉÒÔÊǾ²Ì¬µÄ£¬·ÅÔÚÅäÖÃÎļþÖе쬯ô¶¯µÄʱºò¼ÓÔØ£¬ÒªÏëÖØÐ¼ÓÔØ£¬Ò»°ãÐèÒªÖØÐÂÆô¶¯£¬µ«ÊÇEnvoyÖ§³ÖÈȼÓÔØºÍÈÈÖØÆô£¬Ò»¶¨³Ì¶ÈÉÏ»º½âÁËÕâ¸öÎÊÌâ¡£
µ±È»×îºÃµÄ·½Ê½ÊǹæÔòÉèÖÃΪ¶¯Ì¬µÄ£¬·ÅÔÚͳһµÄµØ·½Î¬»¤£¬Õâ¸öͳһµÄµØ·½ÔÚEnvoyÑÛÖп´À´³ÆÎªDiscovery Service£¬¹ýÒ»¶Îʱ¼äÈ¥ÕâÀïÄÃÒ»ÏÂÅäÖ㬾ÍÐÞ¸ÄÁËת·¢²ßÂÔ¡£
ÎÞÂÛÊǾ²Ì¬µÄ£¬»¹ÊǶ¯Ì¬µÄ£¬ÔÚÅäÖÃÀïÃæÍùÍù»áÅäÖÃËĸö¶«Î÷¡£

Ò»ÊÇlistener£¬Ò²¼´envoy¼ÈÈ»ÊÇproxy£¬×¨ÃÅ×öת·¢£¬¾ÍµÃ¼àÌýÒ»¸ö¶Ë¿Ú£¬½ÓÈëÇëÇó£¬È»ºó²ÅÄܹ»¸ù¾Ý²ßÂÔת·¢£¬Õâ¸ö¼àÌýµÄ¶Ë¿Ú³ÆÎªlistener
¶þÊÇendpoint£¬ÊÇÄ¿±êµÄipµØÖ·ºÍ¶Ë¿Ú£¬Õâ¸öÊÇproxy×îÖÕ½«ÇëÇóת·¢µ½µÄµØ·½¡£
ÈýÊÇcluster£¬Ò»¸öclusterÊǾßÓÐÍêÈ«ÏàͬÐÐΪµÄ¶à¸öendpoint£¬Ò²¼´Èç¹ûÓÐÈý¸öÈÝÆ÷ÔÚÔËÐУ¬¾Í»áÓÐÈý¸öIPºÍ¶Ë¿Ú£¬µ«ÊDz¿ÊðµÄÊÇÍêÈ«ÏàͬµÄÈý¸ö·þÎñ£¬ËûÃÇ×é³ÉÒ»¸öCluster£¬´Óclusterµ½endpointµÄ¹ý³Ì³ÆÎª¸ºÔؾùºâ£¬¿ÉÒÔÂÖѯµÈ¡£
ËÄÊÇroute£¬ÓÐʱºò¶à¸öcluster¾ßÓÐÀàËÆµÄ¹¦ÄÜ£¬µ«ÊÇÊDz»Í¬µÄ°æ±¾ºÅ£¬¿ÉÒÔͨ¹ýroute¹æÔò£¬Ñ¡Ôñ½«ÇëÇó·Óɵ½Ä³Ò»¸ö°æ±¾ºÅ£¬Ò²¼´Ä³Ò»¸öcluster¡£
ÕâËĸöµÄ¾²Ì¬ÅäÖõÄÀý×ÓÈçÏ£º

ÈçͼËùʾ£¬listener±»ÅäÖÃΪ¼àÌý±¾µØ127.0.0.1µÄ10000½Ó¿Ú£¬routeÅäÖÃΪij¸öurlµÄǰ׺ת·¢µ½Äĸöcluster£¬clusterÀïÃæÅäÖøºÔؾùºâ²ßÂÔ£¬hostsÀïÃæÊÇËùÓеÄendpoint¡£
Èç¹ûÄãÏë¼òµ¥µÄ½«envoyʹÓÃÆðÀ´£¬²»ÓÃʲôservice mesh£¬Ò»¸ö½ø³Ì£¬¼ÓÉÏÕâ¸öÅäÖÃÎļþ£¬¾Í¿ÉÒÔÁË£¬¾ÍÄܹ»×ª·¢ÇëÇóÁË¡£
¶ÔÓÚ¶¯Ì¬ÅäÖã¬Ò²Ó¦¸ÃÅäÖ÷¢ÏÖÖÐÐÄ£¬Ò²¼´Discovery Service£¬¶ÔÓÚÉÏÊöËÄÖÖÅäÖ㬸÷¶ÔÓ¦ÏàÓ¦µÄDS£¬ËùÒÔÓÐLDS, RDS, CDS, EDS¡£
¶¯Ì¬ÅäÖõÄÀý×ÓÈçÏ£º

¿ØÖÆÃæPilotµÄ¹¤×÷ģʽ
Êý¾ÝÃæenvoy¿ÉÒÔͨ¹ý¼Ó×°¾²Ì¬ÅäÖÃÎļþµÄ·½Ê½ÔËÐУ¬¶ø¶¯Ì¬ÐÅÏ¢£¬ÐèÒª´ÓDiscovery ServiceÈ¥Äá£
Discovery Service¾ÍÊDz¿ÊðÔÚ¿ØÖÆÃæµÄ£¬ÔÚistioÖУ¬ÊÇPilot¡£

ÈçͼΪPilotµÄ¼Ü¹¹£¬×îÏÂÃæÒ»²ãÊÇenvoyµÄAPI£¬¾ÍÊÇÌṩDiscovery ServiceµÄAPI£¬Õâ¸öAPIµÄ¹æÔòÓÉenvoy¶¨£¬µ«ÊDz»ÊÇPilotµ÷ÓÃEnvoy£¬¶øÊÇEnvoyÈ¥Ö÷¶¯µ÷ÓÃPilotµÄÕâ¸öAPI¡£
Pilot×îÉÏÃæÒ»²ã³ÆÎªPlatform Adapter£¬ÕâÒ»²ãÊǸÉʲôµÄÄØ£¿ÕâÒ»²ã²»ÊÇKubernetes, Mesosµ÷ÓÃPilot£¬¶øÊÇPilotͨ¹ýµ÷ÓÃKubernetesÀ´·¢ÏÖ·þÎñÖ®¼äµÄ¹ØÏµ¡£
ÕâÊÇÀí½âIstio±È½ÏÈÆµÄÒ»¸öµã¡£Ò²¼´pilotʹÓÃKubernetesµÄService£¬½ö½öʹÓÃËüµÄ·þÎñ·¢ÏÖ¹¦ÄÜ£¬¶ø²»Ê¹ÓÃËüµÄת·¢¹¦ÄÜ£¬pilotͨ¹ýÔÚkubernetesÀïÃæ×¢²áÒ»¸öcontrollerÀ´¼àÌýʼþ£¬´Ó¶ø»ñÈ¡ServiceºÍKubernetesµÄEndpointÒÔ¼°PodµÄ¹ØÏµ£¬µ«ÊÇÔÚת·¢²ãÃæ£¬¾Í²»»áÔÙʹÓÃkube-proxy¸ù¾ÝserviceÏ·¢µÄiptables¹æÔò½øÐÐת·¢ÁË£¬¶øÊǽ«ÕâЩӳÉä¹ØÏµ×ª»»³ÉΪpilot×Ô¼ºµÄת·¢Ä£ÐÍ£¬Ï·¢µ½envoy½øÐÐת·¢£¬envoy²»»áʹÓÃkube-proxyµÄÄÇЩiptables¹æÔò¡£ÕâÑù¾Í°Ñ¿ØÖÆÃæºÍÊý¾ÝÃæ³¹µ×·ÖÀ뿪À´£¬·þÎñÖ®¼äµÄÏ໥¹ØÏµÊǹÜÀíÃæµÄÊÂÇ飬²»ÒªºÍÕæÕýµÄת·¢°ó¶¨ÔÚÒ»Æð£¬¶øÊÇÈÆµ½pilotºó·½¡£
PilotÁíÍâÒ»¸ö¶ÔÍâµÄ½Ó¿ÚÊÇRules API£¬ÕâÊǸø¹ÜÀíÔ±µÄ½Ó¿Ú£¬¹ÜÀíԱͨ¹ýÕâ¸ö½Ó¿ÚÉ趨һЩ¹æÔò£¬ÕâЩ¹æÔòÍùÍùÊÇÓ¦ÓÃÓÚRoutes, Clusters, EndpointsµÄ£¬¶ø¶¼ÓÐÄÄЩClustersºÍEndpoints£¬ÊÇÓÉPlatform AdapterÕâÃæÍ¨¹ý·þÎñ·¢Ïֵõ½µÄ¡£
×Ô¶¯·¢ÏÖµÄÕâЩClustersºÍEndpoints£¬Íâ¼Ó¹ÜÀíÔ±ÉèÖõĹæÔò£¬ÐγÉÁËPilotµÄÊý¾ÝÄ£ÐÍ£¬Æäʵ¾ÍÊÇËû×Ô¼º¶¨ÒåµÄһϵÁÐÊý¾Ý½á¹¹£¬È»ºóͨ¹ýenvoy API±©Â¶³öÈ¥£¬µÈ´ýenvoyÈ¥ÀÈ¡ÕâЩ¹æÔò¡£

³£¼ûµÄÒ»ÖÖÈ˹¤¹æÔòÊÇRoutes£¬Í¨¹ý·þÎñ·¢ÏÖ£¬Pilot¿ÉÒÔ´ÓKubernetesÄÇÀïÖªµÀService BÓÐÁ½¸ö°æ±¾£¬Ò»°ãÊÇÁ½¸öDeployment£¬ÊôÓÚͬһ¸öService£¬¹ÜÀíԱͨ¹ýµ÷ÓÃPilotµÄRules API£¬À´ÉèÖÃÁ½¸ö°æ±¾Ö®¼äµÄRoute¹æÔò£¬Ò»¸öÕ¼99%µÄÁ÷Á¿£¬Ò»¸öÕ¼1%µÄÁ÷Á¿£¬ÕâÁ½·½ÃæÐÅÏ¢ÐγÉPilotµÄÊý¾Ý½á¹¹Ä£ÐÍ£¬È»ºóͨ¹ýEnvoy APIÏ·¢£¬Envoy¾Í»á¸ù¾ÝÕâ¸ö¹æÔòÉèÖÃת·¢²ßÂÔÁË¡£

ÁíÒ»¸ö³£Óõij¡¾°¾ÍÊǸºÔؾùºâ£¬Pilotͨ¹ýKubernetesµÄService·¢ÏÖService B°üº¬Ò»¸öDeployment£¬µ«ÊÇÓÐÈý¸ö¸±±¾£¬ÓÚÊÇͨ¹ýEnvoy APIÏ·¢¹æÔò£¬Ê¹µÃEnvoyÔÚÕâÈý¸ö¸±±¾Ö®¼ä½øÐиºÔؾùºâ£¬¶ø·Çͨ¹ýKubernetes±¾ÉíServiceµÄ¸ºÔؾùºâ»úÖÆ¡£
Èý¡¢ÒÔIstioΪÀý½âÎöService MeshµÄ¼¼Êõϸ½Ú
Á˽âÁËService MeshµÄ´ó¸ÅÔÀí£¬½ÓÏÂÀ´ÎÒÃÇͨ¹ýÒ»¸öÀý×ÓÀ´½âÎöÆäÖеļ¼Êõϸ½Ú¡£
·²ÊÇÊÔÑé¹ýIstioµÄͬѧ¶¼Ó¦¸Ã³¢ÊÔ¹ýÏÂÃæÕâ¸öBookInfoµÄÀý×Ó£¬²»ºÜ¸´ÔÓ£¬µ«ÊÇÂéȸËäСÎåÔà¾ãÈ«¡£

ÔÚÕâ¸öÀý×ÓÖУ¬ÎÒÃÇÖØµã¹Ø×¢ProductPageÕâ¸ö·þÎñ£¬¶ÔReviews·þÎñµÄµ÷Óã¬ÕâÀïÉæ¼°µ½Â·ÓɲßÂԺ͸ºÔؾùºâ¡£
Productpage¾ÍÊǸöPython³ÌÐò
productpageÊÇÒ»¸ö¼òµ¥µÄÓÃpythonдµÄÌṩrestful APIµÄ³ÌÐò¡£

ÔÚÀïÃæ¶¨ÒåÁ˺ܶàµÄroute£¬À´½ÓÊÕAPIÇëÇ󣬲¢×öÏàÓ¦µÄ²Ù×÷¡£
ÔÚÐèÒªÇëÇóÆäËû·þÎñ£¬ÀýÈçreviews, ratingsµÄʱºò£¬ÔòÐèÒªÏòºó·½·¢Æðrestfulµ÷Óá£

´Ó´úÂë¿ÉÒÔ¿´³ö£¬productpage¶ÔÓÚºó¶ËµÄµ÷Ó㬶¼ÊÇͨ¹ýÓòÃûÀ´µÄ¡£
¶ÔÓÚproductpageÕâ¸ö³ÌÐòÀ´½²£¬Ëû¾õµÃºÜ¼òµ¥£¬Í¨¹ýÕâ¸öÓòÃû¾Í¿ÉÒÔµ÷ÓÃÁË£¬¼È²»ÐèҪͨ¹ý·þÎñ·¢ÏÖϵͳ»ñÈ¡Õâ¸öÓòÃû£¬Ò²²»ÐèÒª¹ØÐÄת·¢£¬¸üÒâʶ²»µ½×Ô¼ºÊDz¿ÊðÔÚkubernetesÉϵģ¬ÊÇ·ñÓÃÁËservice mesh£¬ËùÒÔ·þÎñÖ®¼äµÄͨÐÅÍêÈ«½»¸øÁË»ù´¡ÉèÊ©²ã¡£
ͨ¹ýKubernetes±àÅÅproductpage
ÓÐÁËproductpage³ÌÐò£¬½ÓÏÂÀ´¾ÍÊǽ«Ëû²¿Êðµ½kubernetesÉÏ£¬ÕâÀïûÓÐÊ²Ã´ÌØÊâµÄ£¬ÓõľÍÊÇkubernetesĬÈϵıàÅÅÎļþ¡£

Ê×Ïȶ¨ÒåÁËÒ»¸öDeployment£¬Ê¹ÓÃbookinfoµÄÈÝÆ÷¾µÏñ£¬È»ºó¶¨ÒåÒ»¸öService£¬ÓÃÓÚÕâ¸öDeploymentµÄ·þÎñ·¢ÏÖ¡£
ͨ¹ýKubernetes±àÅÅreviews

Õâ¸öÉÔ΢ÓÐЩ¸´ÔÓ£¬¶¨ÒåÁËÈý¸öDeployment£¬µ«Êǰ汾ºÅ·Ö±ðΪV1, V2, V3£¬µ«ÊÇlabel¶¼ÊÇapp: reviews¡£
×îºó¶¨ÒåÁËÒ»¸öService£¬¶ÔÓ¦µÄlabelÊÇapp: reviews£¬×÷ΪÕâÈý¸öDeploymentµÄ·þÎñ·¢ÏÖ¡£
istioctl¶Ôproductpage½øÐж¨ÖÆ»¯Ö®Ò»£ºÇ¶Èëproxy_init×÷ΪInitContainer
µ½Ä¿Ç°ÎªÖ¹£¬Ò»ÇÐÕý³££¬½ÓÏÂÀ´¾ÍÊǼûÖ¤Ææ¼£µÄʱ¿Ì£¬Ò²¼´istioÓиö¹¤¾ßistioctl¿ÉÒÔ¶ÔÓÚyamlÎļþ½øÐж¨ÖÆ»¯
¶¨ÖÆ»¯µÄµÚÒ»Ïî¾ÍÊÇÌí¼ÓÁËÒ»¸öinitContainer£¬ÕâÖÖÀàÐ͵Äcontainer¿ÉÒÔ×öһЩ³õʼ»¯µÄ¹¤×÷ºó£¬³É¹¦Í˳ö£¬kubernetes²»»á±£³ÖËû³¤ÆÚÔËÐС£

ÔÚÕâ¸öInitContainerÀïÃæ×öʲôÊÂÇéÄØ£¿
ÎÒÃǵǼ½øÈ¥·¢ÏÖ£¬ÔÚÕâ¸öInitContainerÀïÃæÔËÐÐÁËÒ»¸öshell½Å±¾¡£

¾ÍÊÇÕâ¸öshell½Å±¾ÔÚÈÝÆ÷ÀïÃæÐ´ÈëÁË´óÁ¿µÄiptables¹æÔò¡£
Ê×Ïȶ¨ÒåµÄÒ»Ìõ¹æÔòÊÇISTIO_REDIRECTת·¢Á´£¬ÕâÌõÁ´²»·ÖÈýÆß¶þʮһ£¬¶¼½«ÍøÂç°üת·¢¸øenvoyµÄ15000¶Ë¿Ú¡£
µ«ÊÇÒ»¿ªÊ¼ÕâÌõÁ´Ã»Óб»¹Òµ½iptablesĬÈϵļ¸ÌõÁ´ÖУ¬ËùÒÔ²»Æð×÷Óá£
½ÓÏÂÀ´¾ÍÊÇÔÚPREROUTING¹æÔòÖУ¬Ê¹ÓÃÕâ¸öת·¢Á´£¬´Ó¶ø½øÈëÈÝÆ÷µÄËùÓÐÁ÷Á¿£¬¶¼±»ÏÈת·¢µ½envoyµÄ15000¶Ë¿Ú¡£
envoy×÷Ϊһ¸ö´úÀí£¬ÒѾ±»ÅäÖúÃÁË£¬½«ÇëÇóת·¢¸øproductpage³ÌÐò¡£
productpage³ÌÐò½ÓÊܵ½ÇëÇ󣬻áתÏòµ÷ÓÃÍⲿµÄreviews»òÕßratings£¬´ÓÉÏÃæµÄ·ÖÎöÎÒÃÇÖªµÀ£¬productpageÖ»ÊÇ×öÆÕͨµÄÓòÃûµ÷Óá£
µ±productpageÍùºó¶Ë½øÐе÷ÓõÄʱºò£¬¾ÍÅöµ½ÁËoutputÁ´£¬Õâ¸öÁ´»áʹÓÃת·¢Á´£¬½«ËùÓгöÈÝÆ÷µÄÇëÇó¶¼×ª·¢µ½envoyµÄ15000¶Ë¿Ú¡£
ÕâÑùÎÞÂÛÊÇÈë¿ÚµÄÁ÷Á¿£¬»¹Êdzö¿ÚµÄÁ÷Á¿£¬È«²¿ÓÃenvoy×ö³ÉÁ˺º±¤°ü¡£
envoy¸ù¾Ý·þÎñ·¢ÏÖµÄÅäÖã¬ÖªµÀreviews»òÕßratingsÈçºÎ·ÃÎÊ£¬ÓÚÊÇ×ö×îÖյĶÔÍâµ÷Óá£
Õâ¸öʱºòiptables¹æÔò»á¶Ô´Óenvoy³öÈ¥µÄÁ÷Á¿×öÒ»¸öÌØÊâ´¦Àí£¬ÔÊÐíËû·¢³öÈ¥£¬²»ÔÙʹÓÃÉÏÃæµÄoutput¹æÔò¡£
istioctl¶Ôproductpage½øÐж¨ÖÆ»¯Ö®¶þ£ºÇ¶ÈëproxyÈÝÆ÷×÷Ϊsidecar
istioctl×öµÄµÚ¶þÏî¶¨ÖÆ»¯ÊÇ£¬Ç¶ÈëproxyÈÝÆ÷×÷Ϊsidecar¡£

Õâ¸öËÆºõ¿´ÆðÀ´¸ü¼Ó¸´ÔÓ£¬µ«ÊǽøÈëÈÝÆ÷ÎÒÃÇ¿ÉÒÔ¿´µ½£¬Æô¶¯ÁËÁ½¸ö½ø³Ì¡£

Ò»¸öÊÇÎÒÃÇÊìϤµÄenvoy£¬ËûÓÐÒ»¸öÅäÖÃÎļþÊÇ/etc/istio/proxy/envoy-rev0.json
ÎÒÃÇÔÙÇ°Ãæ½²ÊöenvoyµÄʱºò˵¹ý£¬ÓÐÁËÅäÖÃÎļþ£¬envoy¾ÍÄܹ»×ª·¢ÁË£¬ÎÒÃÇÏÈÀ´¿´¿´ÅäÖÃÎļþÀïÃæ¶¼ÓÐɶ¡£

ÔÚÕâÀïÃæÅäÖÃÁËenvoyµÄ¹ÜÀí¶Ë¿Ú£¬µÈÒ»ÏÂÎÒÃÇ»áͨ¹ýÕâ¸ö¶Ë¿Ú²é¿´envoy±»pilotÏ·¢ÁËÄÄЩת·¢²ßÂÔ¡£
È»ºó¾ÍÊǶ¯Ì¬×ÊÔ´£¬Ò²¼´´Ó¸÷ÖÖdiscovery serviceÈ¥ÄÃת·¢²ßÂÔ¡£
»¹ÓоÍÊǾ²Ì¬×ÊÔ´£¬Ò²¼´¾²Ì¬ÅäÖõģ¬ÐèÒªÖØÆô²ÅÄܼÓÔØµÄ¡£

Õâ¾ÍÊÇpilot-agentµÄ×÷Óã¬ËûÊÇenvoyµÄÒ»¸ö¼òµ¥µÄ¹ÜÀíÆ÷£¬ÒòΪÓÐЩ¾²Ì¬×ÊÔ´£¬Èç¹ûTLSµÄÖ¤Ê飬envoy»¹²»Ö§³Ö¶¯Ì¬Ï·¢£¬Òò¶øÐèÒªÖØÐ¾²Ì¬ÅäÖã¬È»ºópilot-agent¸ºÔð½«envoy½øÐÐÈÈÖØÆô¼ÓÔØ¡£
ºÃÔÚenvoyÓÐÁ¼ºÃµÄÈÈÖØÆô»úÖÆ£¬ÖØÆôµÄʱºò£¬»áÏÈÆô¶¯Ò»¸ö±¸Óýø³Ì£¬½«×ª·¢µÄͳ¼ÆÊý¾Ýͨ¹ýshared memoryÔÚÁ½¸ö½ø³Ì¼ä¹²Ïí¡£
ÉîÈë½âÎöpilotµÄ¹¤×÷»úÖÆ

PilotµÄ¹¤×÷»úÖÆÕ¹¿ªºóÈçͼËùʾ¡£
istio configÊǹÜÀíԱͨ¹ý¹ÜÀí½Ó¿ÚÏ·¢µÄת·¢¹æÔò¡£
Service DiscoveryÄ£¿é¶ÔÓÚKubernetesÀ´½²£¬¾ÍÊÇ´´½¨ÁËÒ»¸öcontrollerÀ´¼àÌýService´´½¨ºÍɾ³ýµÄʼþ£¬µ±serviceÓб仯ʱ£¬»á֪ͨpilot£¬pilot»á¸ù¾Ý±ä»¯¸üÐÂÏ·¢¸øenvoyµÄ¹æÔò¡£
pilot½«¹ÜÀíÔ±ÊäÈëµÄת·¢²ßÂÔÅäÖúͷþÎñ·¢Ïֵĵ±Ç°×´Ì¬£¬±ä³Épilot×Ô¼ºµÄÊý¾Ý½á¹¹Ä£ÐÍ£¬È»ºó±©Â¶³ÉenvoyµÄapi£¬ÓÉÓÚÊÇenvoyÀ´µ÷Óã¬Òò¶øÒªÊµÏÖÒ»¸ö·þÎñ¶Ë£¬ÕâÀïÓÐlds, rds, cds, eds¡£
½ÓÏÂÀ´ÎÒÃÇ¿´£¬ÔÚpilotÉÏÅäÖÃrouteÖ®ºó»á·¢Éúʲô£¿

Èçͼ£¬ÎÒÃǽ«ËùÓеÄÁ÷Á¿¶¼·¢¸ø°æ±¾1¡£

ÎÒÃDz鿴envoyµÄ¹ÜÀí¶Ë¿Ú£¬¿ÉÒÔ¿´µ½Ö»ÅäÖÃÁËreviewsµÄv1¡£

µ±ÎÒÃÇÐ޸ķÓÉΪv1ºÍv3±ÈÀýÊÇÎåÊ®±ÈÎåÊ®¡£

¿ÉÒÔ¿´µ½envoyµÄ¹ÜÀí¶Ë¿Ú£¬Â·ÓÉÓÐÁËÁ½¸ö°æ±¾µÄÅäÖã¬Ò²¶ÔÓ¦ºó¶ËµÄÁ½¸öipµØÖ·¡£
|