±à¼ÍƼö: |
±¾ÎÄÖ÷Òª»áÎ§ÈÆPaaS²úÆ·ÄÜÁ¦ÔÚһЩÐèÒªÎÈÍ×´´ÐµĽðÈÚ³¡¾°ÏµÄÂäµØË¼Â·£¬²¢ÇÒÄܹ»¸üºÃµØÓëÔÆÔÉú¼Ü¹¹×öºÃÁ´½Ó¡£
À´×ÔÓÚÂìÒϼ¼ÊõAntTech ,ÓÉ»ðÁú¹ûÈí¼þLinda±à¼¡¢ÍƼö¡£ |
|
½ðÈÚ³¡¾°ÔÆÔÉúÂäµØÃæÁÙÌôÕ½
ÔÆÔÉúÊÇÒµÎñ¿ìËٱ仯±³¾°ÏµıØÈ»¼¼ÊõÇ÷ÊÆ
»Ø¹ËITµÄ·¢Õ¹Ê·£¬ÔƼÆËã·ÖÀàΪIaaS PaaS ºÍ SaaSÒѾÓÐÊ®¼¸ÄêÁË¡£¶øÊÂʵÉÏ£¬Õû¸öÔÆ¼ÆËãÐÐÒµµÄ·¢Õ¹£¬ÎÒÃÇÄܹ»Ã÷ÏÔ¿´µ½ÆóÒµÔÚÂäµØÔÆ¼ÆËãÕ½ÂÔµÄʱºò¾ÀúµÄÈý¸ö½×¶Î£¬Cloud-Based,
Cloud-Ready, Cloud-Native¡£ÕâÈý¸ö½×¶ÎÆäʵÊÇÒòΪҵÎñµÄ±ä»¯Ô½À´Ô½Ãô½Ý£¬ÒªÇóÆóÒµ¹Ø×¢ÖØÐÄÉÏÒÆ£¬°Ñ¸ü¶àµÄ¾«Á¦ºÍÈ˲ÅͶÈëµ½ÒµÎñÂß¼µÄ½¨ÉèÉÏ£¬¶ø°Ñϲã×ÔÒѲ¢²»É󤲢ÇÒÔ½À´Ô½¸´ÔӵĻù´¡ÉèÊ©¡¢Öмä¼þÖð½¥½»¸øÔƼÆËã³§ÉÌȥʵÏÖ£¬×¨ÒµµÄÈË×öרҵµÄÊ¡£
Õâ±¾ÖÊÊÇÉç»á·Ö¹¤µÄ½øÒ»²½Ï¸»¯£¬Ò²·ûºÏÈËÀàÉç»á·¢Õ¹µÄ¹æÂÉ¡£ÔÚÔÆÔÉúʱ´ú£¬Òµ½çËùÌá³öµÄÈÝÆ÷¼¼Êõ£¬Service
mesh¼¼Êõ£¬Serverless¼¼Êõ¶¼ÊÇÏ£ÍûÈÃÒµÎñÑз¢Óë»ù´¡¼¼Êõ¸ü¼ÓµÄ½âñÈÃÒµÎñ´´Ðºͻù´¡¼¼Êõ´´Ð¶¼¸üÈÝÒ׵ķ¢Éú¡£

ÈÝÆ÷¼¼Êõ´øÀ´µÄÊÇÒ»ÖÖÓ¦Óý»¸¶Ä£Ê½µÄ±ä¸ï
ÔÆÔÉú¾ÍÊÇÒµÎñ¿ìËٱ仯±³¾°ÏµıØÈ»¼¼ÊõÇ÷ÊÆ¡£¶øÕâ¸öÇ÷ÊÆ±³ºóµÄʵÖÊÔØÌ壬¾ÍÊÇÎÒÃÇËù˵µÄÔÆÔÉú¡¢KubernetesÒÔ¼°ÒÔDockerΪ´ú±íµÄÈÝÆ÷¼¼Êõ£¬ÕâЩËù´øÀ´µÄ£¬±¾ÖÊÊÇÒ»ÖÖÓ¦Óý»¸¶Ä£Ê½µÄ±ä¸ï¡£¶øÎªÁËÕæÕýÄܹ»Ê¹Òµ½ç¡¢ÉçÇøËù³«µ¼µÄÐÂÐËÓ¦Óý»¸¶Ä£Ê½Â䵨µ½Êµ¼ÊµÄÆóÒµ»·¾³£¬ÎÒÃÇÐèÒªÒ»¸öÒÔÓ¦ÓÃΪÖÐÐĵį½Ì¨À´½øÐгÐÔØ£¬¹á´©Ó¦ÓÃÔËάµÄ¸÷ÏîÉúÃüÖÜÆÚ¡£
Î§ÈÆ¡°ÔÆÔÉú¡±Õâ¸ö¹Ø¼ü´Ê£¬ÆäʵÔÚÉçÇøºÍÒµ½çÒѾÓÐÁ˷dz£¶àµÄ½»Á÷ºÍ×ÊÁÏ£¬Î§ÈÆDocker/K8SµÄ×î¼Ñʵ¼ù¡¢DevOps
CICD¡¢ÈÝÆ÷ÍøÂç´æ´¢Éè¼Æ¡¢ÈÕÖ¾¼à¿Ø¶Ô½ÓÓÅ»¯µÈµÈµÈµÈ£¬¶øÎÒÃǽñÌìµÄ·ÖÏí£¬Ö÷ÒªÏë±í´ïµÄÊÇÎÒÃÇÎ§ÈÆÔÚK8SÖ®ÉÏËÜÔìÒ»¸öPaaSƽ̨µÄ²úÆ·¼ÛÖµÖ÷ÕÅ¡£KubernetesÊÇÒ»¸ö·Ç³£ºÃµÄ±àÅź͵÷¶È¿ò¼Ü£¬ËüºËÐĵűÏ×ÊÇÈÃÓ¦ÓõıàÅźÍ×ÊÔ´µÄµ÷¶È¸ü¼ÓµÄ±ê×¼»¯£¬Í¬Ê±ÌṩÁËÒ»¸ö¸ß¶È¿ÉÀ©Õ¹µÄ¼Ü¹¹£¬·½±ãÉÏ²ã½øÐи÷ÖÖ¿ØÖÆÆ÷ºÍµ÷¶ÈÆ÷µÄ¶¨ÖÆ¡£µ«ÊÇ£¬Ëü²¢²»ÊÇÒ»¸öPaaS¡£PaaSµ×²ã¿ÉÒÔ»ùÓÚKubernetesȥʵÏÖ£¬µ«ÊÇÔÚÉϲãÒª²¹×ã·Ç³£¶àµÄÄÜÁ¦²ÅÄÜÕæÕý°ÑKubernetesÓÃÓÚÉú²ú»·¾³£¬ÌرðÊǽðÈÚÐÐÒµµÄÉú²ú»·¾³¡£
½ðÈÚ³¡¾°ÐèÒª¡°ÎÈÍ×´´Ð¡±
Éú²ú»·¾³ÂäµØÔÆÔÉúÐèÒª×ÅÖØ¿¼ÂÇÄÄЩÌôÕ½£¿

ÎÒÃÇ֮ǰ×ö¹ýһЩµ÷ÑкͿͻ§·Ã̸¡£¾ÍÏÖÔÚ2020ÄêÀ´Ëµ£¬¾ø´ó¶àÊý½ðÈÚ»ú¹¹¶¼Õ¹ÏÖ³öÁ˶ÔKubernetes¡¢ÈÝÆ÷µÈ¼¼ÊõµÄ¼«´óÐËȤ£¬Óв»ÉÙ»ú¹¹Ò²ÒѾÔÚһЩ·Ç¹Ø¼üµÄÒµÎñ¡¢»ò¿ª·¢²âÊÔ»·¾³´î½¨ÁË¿ªÔ´»òÉÌÒµ°æµÄ¼¯Èº¡£Çý¶¯Á¦ºÜ¼òµ¥£¬½ðÈÚ»ú¹¹·Ç³£Ï£ÍûÕâÒ»ÕûÌ×еĽ»¸¶Ä£Ê½°ïÖúµ½ÒµÎñ·ÉËÙµü´ú¡£È»¶ø¶Ô±ÈÂä²î·Ç³£Ã÷ÏÔµÄÊÇ£¬ÕæÕý¸ÒÓÚÔÚºËÐÄÉú²ú»·¾³ÂäµØÔÆÔÉú¼Ü¹¹µÄ£¬ÓÖÉÙÖ®ÓÖÉÙ¡£ÒòΪ½ðÈÚÒµÎñ´´ÐµÄǰÌᣬÊÇÒª±£ÕÏÎÈÍס£
ÎÒÃÇÍŶÓÔÚ·þÎñÂìÒÏÄÚ²¿ÒµÎñ¡¢Íⲿ½ðÈÚ»ú¹¹µÄ¹ý³ÌÖУ¬×ܽáÁËÒÔÉÏÕ⼸¸ö·½Ã棬ÊÂʵÉÏÕâÁù´ó·½ÃæÒ²ÊÇÎÒÃÇÄÚ²¿SRE²»¶ÏÌôÕ½µÄ¼¸µã¡£ÎÒÃÇÔÚ½ñÌìÒÔ¼°Î´À´µÄ·ÖÏíÖУ¬»áÖð²½×ܽáÉӦ¶ÔÕâЩÌôÕ½µÄ²úƷ˼·¡£
K8SÌåϵϵÄÓ¦Óñä¸üÓë·¢²¼¹Ü¿Ø
ÎÒÃǽñÌì·ÖÏíµÄÒ»¸öºËÐÄÄÚÈÝ£¬¾ÍÊÇÎÒÃÇÈçºÎÔÚ²úÆ·²ãÃæ×öÓ¦Óñä¸üµÄ·çÏÕ±£Õϵġ£²¢Î§ÈÆ´Ë»°ÌâÏò´ó¼Ò½éÉܱä¸ü¡°Èý°å¸«¡±µÄ±³¾°¡¢K8SÔÉú²¿ÊðÄÜÁ¦¡¢ÎÒÃDzúÆ·Î§ÈÆ±ä¸üÐèÇó×öµÄÀ©Õ¹²¢Ïò´ó¼Ò½éÉÜÎÒÃÇÔÚ¿ªÔ´·½ÃæµÄ¹æ»®¡£

ÐèÇó±³¾°£º±ä¸ü¡°Èý°å¸«¡±
Ëùν¡°Èý°å¸«¡±¾ÍÊǿɻҶȡ¢¿É¼à¿Ø¡¢¿ÉÓ¦¼±¡£ÕâÊÇÂìÒÏÄÚ²¿ÔËάµÄÒ»ÌõºìÏß×¼Ôò£¬ËùÓеıä¸ü£¬¶¼±ØÐëÒª×ñ´ÓÕâ¸ö¹æÔò£¬¼´Ê¹ÔÙϸСµÄ±ä¸ü£¬ÔÙÑÏÃܵIJâÊÔ£¬Ò²²»ÄܺöÂÔÕâÌõ¹æÔò¡£ÎªÁËÂú×ãÕâ¸öÐèÇó£¬ÎÒÃÇÔÚPaaS²úÆ·²ãÉè¼ÆÁ˸÷ÖÖ¸÷ÑùµÄ¾«Ï¸»¯·¢²¼²ßÂÔ£¬±ÈÈç·Ö×é·¢²¼¡¢beta·¢²¼£¬»Ò¶È·¢²¼£¬À¶ÂÌ·¢²¼µÈ¡£ÕâЩ·¢²¼²ßÂÔ¸úÎÒÃÇÔÚ×ö´«Í³ÔËάʱÓõÄÊÖ¶ÎÊǷdz£ÏàËÆµÄ£¬µ«ºÜ¶àʹÓÃÈÝÆ÷µÄÓû§ÈÏΪÔÚk8sÀïʵÏÖ»á·Ç³£µÄÀ§ÄÑ¡£
ÓÐЩʱºò£¬ÓÉÓÚ¶ÔÒµÎñÁ¬ÐøÐԵ𢡊ßÒªÇó£¬Ò²ºÜÄѽÓÊÜÔÉú K8S Ä£Ðͱê×¼»¯Ä£Ê½£¬±ÈÈçÔÉú deployment
×ö»Ò¶È»òÕß½ð˿ȸ·¢²¼Ê±£¬Ä¬ÈÏÇé¿öÏÂÔÚPod±ä¸üºÍÁ÷Á¿ÖÎÀí²ãÃæµÄ¹Ü¿Ø»¹ÉÔÏÔ²»×㣬ÎÞ·¨ÍêÈ«×öµ½ÎÞËð·¢²¼»ò°´Ðè¹ý³Ì¹Ü¿Ø¡£Òò´Ë£¬ÎÒÃÇÔÚPaaS²úÆ·²ãÃæ×öÁ˶¨ÖÆ£¬ÔÚKubernetes²ãÃæ×öÁË×Ô¶¨Òå×ÊÔ´µÄÀ©Õ¹£¬Ä¿µÄÊÇÄܹ»ÔÚÔÆÔÉúµÄ³¡¾°Ï£¬ÒÀÈ»¶ÔÕû¸ö·¢²¼¹ý³ÌʵÏÖ¾«Ï¸»¯¹Ü¿Ø£¬Ê¹µÃ´ó¹æÄ£¼¯Èº·¢²¼¡¢»Ò¶È¡¢»Ø¹öʱ¸ü¼ÓÓÅÑÅ£¬·ûºÏ¼¼Êõ·çÏÕÈý°å¸«ÔÔò¡£

KubernetesÔÉú·¢²¼ÄÜÁ¦
ÎÒÃÇÏÈÀ´»Ø¹ËÒ»ÏÂK8SµÄÔÉúDeployment¶ÔÏ󣬼°Æä±³ºóµÄReplicaSet£¬ÆäʵÒѾÊÇÔÚ×î½üºÃ¼¸¸ö´ó°æ±¾ÖÐÒѾÖð½¥µÄÎȶ¨ÁË¡£
¼òµ¥µÄÀ´Ëµ£¬×î³£¼ûµÄK8S·¢²¼³¡¾°£¬ÎÒÃÇ»áͨ¹ýDeploymentµÄ¶ÔÏó£¬ÉùÃ÷³öÎÒÏ£ÍûµÄ·¢²¼Ä£Ê½ÒÔ¼°Pod
Spec¶¨Òå¡£ÔÚÔËÐÐʱ£¬»áÓÐReplicaSet¶ÔÏóÀ´¹ÜÀíPodÊýÁ¿µÄÔ¤ÆÚ£¬Ä¬ÈÏÇé¿öÏ»áÌṩ¹ö¶¯·¢²¼»òÖØ½¨·¢²¼ÄÜÁ¦¡£

Õâ·ùͼµÄϰ벿·Ö£¬ÊÇÎ§ÈÆDeployment×÷¹ö¶¯·¢²¼Ê±µÄʾÒâͼ£¬ÕâÀï²»ÔÙ×ö¹ý¶àµÄÕ¹¿ª£¬ËüµÄ±¾Öʸù¾ÝÓû§¸ù¾ÝÎÒÃǵÄÔËάÐèÇóÉ趨ºÃÒ»¶¨µÄ²½³¤£¬´´½¨ÐµÄPod£¬Ïú»Ù¾ÉµÄPod£¬Òò´ËÄÜ×öµ½Õû¸öÓ¦Óð汾µÄ±ä¸üºÍ·¢²¼¹ý³ÌÖУ¬¶¼ÄÜÓжÔÓ¦µÄÈÝÆ÷¶ÔÍâÌṩ·þÎñ¡£
¶Ô´ó²¿·Ö³¡¾°À´Ëµ£¬ËüÊǹ»Óõ쬶øÇÒÕû¸ö¹ý³ÌÒ²ÊǷdz£ºÃµÄÀí½â£¬ÊÂʵÉÏÔÚK8SÌåϵ£¬´ó¼Ò³ýÁËPod/Node£¬¿´µÄ×î¶àµÄ¾ÍÊÇDeploymentÁË¡£
CafeDeployment£º
¸ÐÖªµ×²ãÍØÆËºÍÁìÓòÄ£ÐÍ

»Ø¹ËÍêDeployment£¬ÎÒÃÇ¿ÉÒÔÔÙ¸ø´ó¼Ò¿´Ò»ÏÂÎÒÃǸù¾Ýʵ¼ÊÐèÇó×÷µÄCRDÀ©Õ¹£¬CAFEDeployment¡£CAFEÊÇÎÒÃÇSOFAStack
PaaS²úÆ·ÏßµÄÃû³Æ£¬±¾ÎĵÄ×îºó»á×÷һЩ½éÉÜ¡£
CafeDeploymentÓÐÒ»¸öºÜÖØÒªµÄÄÜÁ¦£¬¾ÍÊÇÄܹ»¸ÐÖªµ½µ×²ãÍØÆË£¬Õâ¸öÍØÆËÊÇʲôÒâË¼ÄØ£¿Äܹ»ÖªµÀÎÒÏë°ÑÎÒµÄPod·¢²¼µ½ÄÄÀÄıߵÄNode£¬²»Ö»ÊÇ»ùÓÚÇ׺ÍÐԵĹæÔò×÷°ó¶¨£¬¶øÊÇÕæÕýÄܰѸ߿ÉÓá¢ÈÝÔÖ¡¢ÒÔ¼°²¿Êð²ßÂԵȳ¡¾°Ï¢Ï¢Ïà¹ØµÄÐÅÏ¢£¬´øµ½Õû¸öÎ§ÈÆ·¢²¼µÄÁìÓòÄ£ÐÍÖС£¶Ô´Ë£¬ÎÒÃÇÌá³öÁËÒ»¸ö½Ð²¿Êðµ¥ÔªµÄÁìÓòÄ£ÐÍ£¬ËûÊÇÒ»¸öÂß¼¸ÅÄÔÚyamlÖмòµ¥µÄ½Ð×öCell¡£ÔÚʵ¼ÊʹÓÃÖУ¬CellµÄ±³ºó£¬¿ÉÒÔÊDz»Í¬µÄAZ²»Í¬µÄÎïÀí»ú·¿£¬²»Í¬µÄ»ú¼Ü£¬Ò»Çж¼ÊÇÎ§ÈÆ×Ų»Í¬¼¶±ðµÄ¸ß¿ÉÓÃÍØÆË¡£

CafeDeployment£º
¾«Ï¸»¯·Ö×é·¢²¼À©ÈÝ
¸ÐÖªµ½Á˵ײãÍØÆË£¬ÎÒÃÇÔÙ¿´Ò»ÏÂCafeDµÄµäÐÍ·¢²¼¹ý³Ì¡£ÕâÒ²ÊǺóÃæ»áͨ¹ý²úÆ·¿ØÖÆÌ¨ºÍÃüÁîÐÐÀ´ÑÝʾµÄÄÚÈÝ¡£Õâ·ùͼËùÕ¹ÏֵĹý³Ì£¬ÊÇÒ»¸ö¾«Ï¸»¯µÄ·Ö×é·¢²¼£¬Ä¿µÄÊÇÄܹ»ÈÃÈÝÆ÷ʵÀý²ãÃæµÄ±ä¸ü£¬×öµ½×ã¹»µÄ¿É¿ØºÍ»Ò¶È¡£Ã¿Ò»¸ö½×¶Î¶¼ÄÜÔÝÍ£¡¢ÑéÖ¤¡¢¼ÌÐø»ò»Ø¹ö¡£
ÒÔͼÉÏÕâ¸öÀý×Ó½øÐÐ˵Ã÷£¬ÎÒÃǵÄÄ¿±êÊÇ·¢²¼»ò±ä¸ü10¸öPod£¬ÇÒÐèÒªÈÃÕâ10¸öPodÄܹ»¾ùÔÈ·Ö²¼ÔÚÁ½¸ö¿ÉÓÃÇø£¬È·±£ÔÚÓ¦ÓòãÃæÊǸ߿ÉÓõġ£Í¬Ê±£¬ÔÚ·¢²¼µÄ¹ý³Ì£¬ÎÒÃÇÊÇÐèÒªÒýÈë·Ö×é·¢²¼µÄ¸ÅÄ¼´Ã¿¸ö»ú·¿¶¼ÒªÏȽö½ö·¢²¼Ò»¸öʵÀý£¬ÔÝÍ£ÑéÖ¤Ö®ºó£¬ÔÙ½øÐÐÏÂÒ»×éµÄ·¢²¼¡£ÓÚÊǵÚ0×飬¾Í±ä³ÉÁ½±ß¸÷1¸öʵÀý£¬µÚ1×é¸÷Á½¸ö£¬µÚ2×éÔòÊÇʣϵÄ2¸ö¡£ÔÚʵ¼ÊµÄÉú²ú»·¾³ÖУ¬Î§ÈÆÈÝÆ÷´ó¹æÄ£±ä¸ü»áÅäºÏÒµÎñ¼à¿Ø¼°¸ü¶àά¶ÈµÄ¹Û²ì£¬È·±£Ã¿Ò»²½¶¼ÊÇ·ûºÏÔ¤ÆÚ¡¢Ñé֤ͨ¹ýµÄ¡£ÕâÑùÔÚÓ¦ÓÃʵÀý²ãÃæµÄ¾«Ï¸»¯¹Ü¿Ø£¬ÎªÔËάÌṩÁËÄܹ»¼°Ê±É²³µ»Ø¹öµÄ»ú»á£¬ÊÇÏßÉÏÓ¦Ó÷¢²¼µÄÒ»¸öÖØÒªµÄ±£ÏÕÉþ¡£
CafeDeployment£º
ÓÅÑÅÕªÁ÷ÎÞËð·¢²¼
½²ÍêÕû¸ö¾«Ï¸»¯µÄ·¢²¼£¬ÎÒÃÇÔÙ½²Ò»¸ö¾«Ï¸»¯µÄÕªÁ÷¡£ÎÞËð·¢²¼ÐèҪȷ±£Äϱ±ºÍ¶«Î÷ÏòµÄÍøÂçÁ÷Á¿¶¼Äܱ»ÓÅÑÅÕª³ý£¬È·±£ÔÚÈÝÆ÷Í£»ú¡¢ÖØÆô¡¢ËõÈݵÄʱºòÄܹ»¶ÔÏßÉÏÒµÎñÎ޸С£

ÕâÕÅͼչʾÁËÒ»¸öPod×÷±ä¸ü·¢²¼Ê±µÄ¿ØÖÆÁ÷³Ì¹æ·¶¡£Ê±ÐòͼÖаüÀ¨ÁËPodÒÔ¼°ÆäÏà¹ØÁªµÄ¸÷×é¼þ¿ØÖÆÆ÷£¬×ÅÖØÊǺÍÍøÂçÏà¹ØµÄÈçService
Controller¡¢LoadBalancer Controller×÷ÅäºÏ£¬½øÐÐÇÐÁ÷¡¢Á÷Á¿»Ø¸´¼ì²éµÈ²Ù×÷ÒÔʵÏÖÎÞËð·¢²¼¡£¡£
ÔÚ´«Í³¾µäÔËά³¡¾°»ùÓÚÖ¸ÁîʽµÄÔËάϰ¹ßÏ£¬ÎÒÃÇ¿ÉÒÔͨ¹ýÒÀ´ÎÖ´ÐÐÃüÁîÿ¸ö×é¼þ½øÐÐÔ×Ó²Ù×÷£¬È·±£Èë¿ÚÁ÷Á¿¡¢Ó¦ÓüäÁ÷Á¿¶¼ÄÜÍêȫժ³ýºó£¬ÔÙÖ´ÐÐʵ¼ÊµÄ±ä¸ü²Ù×÷¡£¶øÔÚÔÆÔÉúK8S³¡¾°Ï£¬ÕâЩ¸´ÔӵIJÙ×÷¶¼Áô¸øÁËÆ½Ì¨£¬ÔËάÈËÔ±Ö»Ðè×÷¼òµ¥µÄÉùÃ÷¼´¿É¡£ÎÒÃÇÔÚ²¿Êðʱ°ÑÓ¦ÓÃËù¹ØÁªµÄÁ÷Á¿×é¼þ£¨²»ÏÞÓÚService
loadbalancer/ RPC/ DNS...) ¶¼Í¸´«µ½CafeDeployment£¬Ìí¼Ó¶ÔÓ¦µÄ¡°finalizer¡±£¬²¢Í¨¹ýReadinessGateÀ´×öPodÊÇ·ñ¿ÉÒÔ³ÐÔØÁ÷Á¿µÄ±êʶ¡£
ÒÔÔµØÉý¼¶¿ØÖÆÆ÷InPlaceSet¿ØÖÆÏµÄPodΪÀý£¬ÔÚ×öÖ¸¶¨Pod¸üÐÂʱ£¬»áÉèÖÃReadinessGate=false£¬Ïà¹ØÁªµÄ×é¼þ¸ÐÖªµ½±ä»¯ºó£¬Öð¸ö×¢Ïú¶ÔÓ¦µÄIP£¬´¥·¢Êµ¼ÊÕªÁ÷¶¯×÷¡£ÔڵȴýÏà¹ØFinalizer¶¼±»Õª³ýÖ®ºó£¬½øÐÐÉý¼¶²Ù×÷¡£´ýа汾²¿Êð³É¹¦ºó£¬É趨ReadinessGate=true£¬ÔÚÒÀ´Î´¥·¢¸÷¹ØÁª×é¼þµÄʵ¼ÊÁ÷Á¿¹ÒÔÚ¶¯×÷¡£´ý¼ì²âµ½finalizerºÍʵ¼ÊCafeDeploymentÖÐÉùÃ÷µÄÁ÷Á¿ÀàÐÍÈ«²¿Ò»Öº󣬵±Ç°Pod²ÅËã·¢²¼Íê³É¡£
¿ªÔ´°æ±¾½éÉÜ: OpenKruise - UnitedDeployment
ÎÒÃÇÔٻص½PPTµÄÒ»¸ö½²½â£¬Æäʵ¸Õ¸Õ˵µÄCafeDeployment£¬ËüÔÚÎÒÃÇÕû¸öCAFEDµÄÒ»¸öÉÌÒµ»¯µÄ²úÆ·£¬ÊÂʵÉÏÔÚÕû¸öÉÌÒµ°åµÄͬʱ£¬ÎÒÃÇÒ²ÔÚ×öһЩÉçÇøµÄ¿ªÔ´£¬¶øÔÚÕâ¸öÀïÃæÎÒÏë½éÉÜÒ»ÏÂOpenKruiseÏîÄ¿£¬OpenKruiseÔ´ÓÚÕû¸ö°¢Àï°Í°Í¾¼ÃÌåµÄ´ó¹æÄ£ÔÆÔÉúÔËάʵ¼ù£¬ÎÒÃǰÑÐí¶à»ùÓÚK8SÌåϵϵÄ×Ô¶¯»¯ÔËάÔËά²Ù×÷ͨ¹ýK8S±ê×¼À©Õ¹µÄ·½Ê½¿ªÔ´³öÀ´£¬¶ÔÔÉúWorkloadÎÞ·¨Âú×ãµÄÄÜÁ¦×÷ÁËÇ¿ÓÐÁ¦µÄ²¹³ä£¬½â¾öÓ¦ÓõÄ×Ô¶¯»¯£¬°üÀ¨£¬²¿Êð£¬Éý¼¶£¬µ¯ÐÔÀ©ËõÈÝ£¬Qosµ÷½Ú£¬½¡¿µ¼ì²é£¬Ç¨ÒÆÐÞ¸´µÈ³¡¾°ÎÊÌâ¡£

µ±Ç°OpenKruiseÏîÄ¿ÌṩÁËÒ»Ì×Controller×é¼þ£¬ÆäÖеÄUnitedDeployment
¿ÉÒÔÀí½âΪCafeDeploymentµÄ¿ªÔ´°æ±¾¡£³ýÁË»ù±¾µÄ¸±±¾±£³ÖºÍ·¢²¼ÄÜÁ¦£¬Ëû»¹°üº¬ÁËCafeDeploymentµÄÖ÷Òª¹¦ÄÜÖ®Ò»£¬¶à²¿Êðµ¥ÔªµÄPod·¢²¼ÄÜÁ¦¡£
ͬʱ£¬ÓÉÓÚUnitedDeploymentÊÇ»ùÓÚ¶àÖÖÀàÐ͵Äworkload£¨Ä¿Ç°Ö§³ÖÉçÇøµÄStatefulSetºÍOpenKruise
AdvancedStatefulSet£©ÊµÏÖ¶ÔpodµÄ¹ÜÀí£¬Òò´ËËü»¹Äܱ£ÁôÏàÓ¦WorkloadµÄÌØÐÔ¡£
UnitedDeployment µÄºËÐűÏ×ÕßÎâçæ(ê»Ìì) (Github:wu8685) À´×ÔÓÚSOFAStack
CAFE ÍŶӣ¬Ö÷µ¼ÁËÕû¸öCafeDeploymentµÄÉè¼ÆÓ뿪·¢¡£µ±Ç°ÎÒÃÇÕýÔÚŬÁ¦°Ñ¸ü¶àÄÜÁ¦ÔÚ¾¹ý´ó¹æÄ£ÑéÖ¤Ö®ºó£¬Í¨¹ý±ê×¼»¯µÄ·½Ê½ÕûºÏ½ø¿ªÔ´°æ±¾ÖУ¬Öð²½¼õÉÙÁ½¸ö°æ±¾µÄ²îÒ죬ʹ֮Ç÷ÓÚͳһ¡£
Õ¹ÍûÓë¹æ»®

½²µ½ÕâÀÒòΪʱ¼ä¹ØÏµ£¬Î§ÈÆÒ»Ð©Ï¸½ÚµÄ¼¼ÊõʵÏÖ¾ÍÏÈ·ÖÏíµ½ÕâÀïÁË¡£»Ø¹ËÒ»ÏÂÇ°Ãæ¹ØÓÚCafeDeployment¹ØÓÚÕû¸ö·¢²¼²ßÂÔµÄÄÚÈݽéÉÜ£¬ÎÒÃDzúÆ·Éè¼ÆµÄÒ»¸ö¹Ø¼ü¼ÛÖµÖ÷ÕžÍÊÇ£¬Äܹ»ÎªÓ¦ÓúÍÒµÎñÔÚÓµ±§ÐÂÐ˼¼Êõ¼Ü¹¹µÄʱºò£¬Ìṩһ¸öÎÈÍ×ÑݽøµÄÄÜÁ¦¡£ÎÞÂÛÊÇÐéÄâ»úΪ´ú±íµÄ¾µäÔËάÌåϵ£¬»¹ÊǹæÄ£»¯ÈÝÆ÷²¿ÊðµÄÔÆÔÉú¼Ü¹¹£¬¶¼ÐèÒª¾«Ï¸»¯µÄ¼¼Êõ·çÏչܿء£Í¬Ê±£¬ÔÚºê¹ÛÉÏ£¬ÓÖÄÜÍù×îÏȽøµÄ¼Ü¹¹ÉÏÑݽø¡£
ʵ¼ù²Î¿¼£º
ij»¥ÁªÍøÒøÐÐÈÝÆ÷Ó¦Óý»¸¶ÑݽøÂ·Ïß

ÒÔij¸ö»¥ÁªÍøÒøÐеÄÈÝÆ÷»¯ÑݽøÂ·ÏßΪÀý¡£ÔÚ³ÉÁ¢Ö®³õ£¬¾ÍÈ·¶¨ÁËÒÔÔÆ¼ÆËã»ù´¡Éèʩ֮ÉϹ¹½¨Î¢·þÎñ·Ö²¼Ê½Ìåϵ¡£µ«´Ó½»¸¶Ä£Ê½ÉÏ¿´£¬Ò»¿ªÊ¼²ÉÓõϹÊÇ»ùÓÚ¾µäÐéÄâ»úµÄPaaS¹Ü¿ØÄ£Ê½£¬´Ó2014Äêµ½2017Ä꣬ҵÎñ¶¼ÊÇͨ¹ýBuildpack°ÑÓ¦Óðü·¢²¼µ½ÐéÄâ»úÉÏ¡£ÕâÖÖÔËάģʽËäÈ»³ÖÐøÁËÈýÄ꣬µ«ÊÇÎÒÃÇÔÚÕâ¸ö¹ý³ÌÖаïÖúÍê³ÉÁËͬ³ÇË«»î¡¢Á½µØÈýÖÐÐÄ¡¢µ½ÒìµØ¶à»îµ¥Ôª»¯µÄ¼Ü¹¹Éý¼¶¡£
ÔÚ2018Äê£¬Ëæ×ÅKubernetesµÄÖð½¥³ÉÊ죬ÎÒÃÇÔڵײã»ùÓÚÎïÀí»úºÍk8s¹¹½¨Á˵×ÅÌ£¬Í¬Ê±£¬ÓÃÈÝÆ÷Ä£ÄâVM£¬Íê³ÉÁËÕû¸ö»ù´¡ÉèÊ©µÄÈÝÆ÷»¯¡£µ«ÓÚ´Ëͬʱ£¬ÒµÎñ²¢²»¸ÐÖª£¬ÎÒÃÇͨ¹ýʵ¼ÊÔڵײãK8SÖ®ÉϵÄPod£¬ÒÔ¡°¸»ÈÝÆ÷¡±µÄ·½Ê½ÎªÉϲãÓ¦ÓÃÌṩ·þÎñ¡£¶ø´Ó2019Äêµ½2020Äê£¬Ëæ×ÅÒµÎñµÄ·¢Õ¹£¬¶ÔÓÚÔËάЧÂÊ¡¢À©Õ¹ÐÔ¡¢¿ÉÇ¨ÒÆÐÔ¡¢¾«Ï¸»¯¹Ü¿ØµÄÒªÇó¸üÊÇÇýʹ×Å»ù´¡ÉèÊ©Íù¸ü¼ÓÔÆÔÉúµÄÔËάÌåϵÑݽø£¬²¢Öð½¥Â䵨Service
Mesh¡¢Serverless¡¢µ¥Ôª»¯Áª°î¼¯Èº¹Ü¿ØµÈÄÜÁ¦¡£
ÔÆÔÉúµ¥Ôª»¯ÒìµØ¶à»îµ¯ÐԼܹ¹

ÎÒÃÇÕýÔÚͨ¹ý²úÆ·»¯¡¢ÉÌÒµ»¯µÄ·½Ê½£¬°ÑÕâЩÄêÀ´»ýÀÛµÄÄÜÁ¦¿ª·Å³öÀ´£¬Ï£ÍûÄܹ»Ö§³Öµ½¸ü¶à½ðÈÚ»ú¹¹Ò²Äܹ»ÔÚ»¥ÁªÍø½ðÈÚÒµÎñ³¡¾°Ï¿ìËÙ¸´ÖÆÔÆÔÉúµÄ¼Ü¹¹ÄÜÁ¦²¢ÎªÒµÎñ´´Ôì¼ÛÖµ¡£
´ó¼Ò¿ÉÄÜÔںܶàÇþµÀÁ˽⵽ÂìÒϵĵ¥Ôª»¯¼Ü¹¹¡¢ÒìµØ¶à»îµÄµ¯ÐÔºÍÈÝÔÖÄÜÁ¦¡£ÕâÀïÎÒ¸øµ½´ó¼ÒÒ»ÕÅͼ£¬ÊÇÎÒÃǵ±Ç°ÔÚ½¨É裬ÇÒÂíÉÏÔÚ¼¸¸öÔÂÄÚÔÚÒ»¼Ò´óÐÍÒøÐÐ×÷½â¾ö·½°¸Â䵨µÄ¼Ü¹¹³éÏó¡£ÔÚPaaS²ãÃæ£¬ÎÒÃÇÔÚK8SÉϽ¨ÉèÒ»²ãÁª°îÄÜÁ¦£¬ÎÒÃÇÏ£Íûÿһ¸ö»ú·¿¶¼ÓжÀÁ¢µÄK8SȺ£¬ÒòΪһ¸öK8S¼¯ÈºÖ±½Ó½øÐпç»ú·¿¡¢¿çµØÓò²¿ÊðÊDz»¿ÉÐеģ¬ÎÞ·¨Âú×ãÈÝÔÖÐèÇó¡£½ø¶øÍ¨¹ý¶àÔÆÁª°îµÄ¹Ü¿ØÄÜÁ¦£¬ÕâͬÑùÐèÒªÎÒÃÇPaaS²ã²úÆ·Õë¶ÔKubernetes×öһЩÀ©Õ¹£¬¶¨ÒåÂß¼µ¥Ôª£¬¶¨ÒåÁª°î²ã×ÊÔ´µÈµÈ£¬×îÖÕ´ï³É¶à»ú·¿¶àµØÓò¶à¼¯ÈºµÄµ¥Ôª»¯¼Ü¹¹¡£½áºÏ֮ǰ·ÖÏíÖÐÎÒÃÇÌáµ½µÄ£¬CafeDeployment¡¢ReleasePipeline£¬»¹ÓÐһЩFedearation²ãµÄÁª°î¶ÔÏó£¬ÎÒÃÇ×öÁË´óÁ¿À©Õ¹£¬×îÖÕÄ¿µÄÊÇÔÚÕâЩ¸´Ôӵij¡¾°ÖÐΪҵÎñÌṩͳһµÄ·¢²¼¹Ü¿ØºÍÈÝÔÖÓ¦¼±ÄÜÁ¦¡£
SOFAStack CAFE ÔÆÓ¦ÓÃÒýÇæ

˵µ½ÕâÀÖÕÓÚ¿ÉÒÔ½âÊÍÏÂÇ°ÃæÌáÁ˺ܶàµÄCAFEÊÇʲôÒâ˼ÁË¡£CAFE, Cloud Application
Fabric Engine ÔÆÓ¦ÓÃÒýÇæ£¬ÊÇÂìÒϽð·þSOFAStack ÔÆÔÉúÓ¦ÓÃPaaSƽ̨µÄÃû³Æ£¬²»½ö¾ß±¸Kubernetes±ê×¼»¯µÄÔÆÔÉúÄÜÁ¦£¬¸üÔÚÉϲã°Ñ¾¹ýÉú²ú¼ìÑéµÄÓ¦ÓùÜÀí¡¢·¢²¼²¿Êð¡¢ÔËά±àÅÅ¡¢¼à¿Ø·ÖÎö¡¢ÈÝÔÖÓ¦¼±µÈ½ðÈÚ¼¶ÔËά¹Ü¿ØÄÜÁ¦¿ª·ÅÁ˳öÀ´¡£Í¬Ê±£¬ÓëSOFAStack
Öмä¼þ¡¢·þÎñÍø¸ñServiceMesh¡¢°¢ÀïÔÆÈÝÆ÷·þÎñACK ×öÁËÉî¶È¼¯³É¡£

CAFEÌṩµÄ¹Ø¼ü²îÒ컯ÄÜÁ¦£¬ÊÇΪӦÓÃÉúÃüÖÜÆÚ¹ÜÀíÌṩ¾ßÓм¼Êõ·çÏÕ·À¿Ø±£ÕÏ£¨°üÀ¨±ä¸ü¹Ü¿Ø£¬ÈÝÔÖÓ¦¼±ÄÜÁ¦£©£¬²¢ËæÖ®Ìṩ¿ÉÑݽøµÄµ¥Ôª»¯»ìºÏÔÆÄÜÁ¦¡£ÊǽðÈÚ³¡¾°ÏÂÂ䵨·Ö²¼Ê½¼Ü¹¹£¬ÔÆÔÉú¼Ü¹¹£¬»ìºÏÔÆ¼Ü¹¹µÄ¹Ø¼üµ×ÅÌ¡£
SOFAStack ½ðÈÚ·Ö²¼Ê½¼Ü¹¹

×îºóÒ»Ò³£¬Æäʵ²ÅÊǽñÌìÕæÕýµÄÖ÷Ìâ¡£½ñÌìËù½éÉܵÄCAFE£¬ÊÇ SOFAStack½ðÈÚ·Ö²¼Ê½¼Ü¹¹²úÆ·ÖеÄÒ»²¿·Ö¡£µ±Ç°SOFAStackÒѾÔÚ°¢ÀïÔÆÉÏÉÌÒµ»¯·¢²¼ÁË£¬´ó¼Ò¿ÉÒÔÀ´ÉêÇëÊÔÓ㬲¢ÓëÎÒÃÇ×÷½øÒ»²½µÄ½»Á÷¡£´ó¼Ò¿ÉÒÔͨ¹ýËÑË÷ÒýÇæ¡¢±¾ÎÄÌṩµÄ²úÆ·Á´½Ó¡¢°¢ÀïÔÆ¹ÙÍøÁ˽â¸ü¶à¡£
|