Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
Serverless ÓëÈÝÆ÷¾öÕ½ÔÚ¼´£¿ÓÐÁ˵¯ÐÔÉìËõ¾Í²»Ò»ÑùÁË
 
×÷ÕߣºÄªÔ´
  2124  次浏览      27
 2019-10-28 
 
±à¼­ÍƼö:
ÎÄÕÂÖ÷Òª½éÉÜÁËÈÝÆ÷ÔÚµ¯ÐÔ³¡¾°ÏµÄÔ­Àí¡¢·½°¸ÓëÌôÕ½£¬ÒÔ¼° Serverless ÊÇÈçºÎ°ïÖúÈÝÆ÷½â¾öÕâЩÎÊÌâµÄ¡£
±¾ÎÄÀ´×ÔÓÚ°¢Àï°Í°ÍÔÆÔ­Éú×ÊѶ£¬ÓÉ»ðÁú¹ûÈí¼þAlice±à¼­£¬ÍƼö¡£

µ¼¶Á£ºServerless ºÍ Autoscaling ÊǽüЩÄêÀ´¹ã´ó¿ª·¢Õ߷dz£¹ØÐĵÄÄÚÈÝ¡£ÓÐÈË˵ Serverless ÊÇÈÝÆ÷ 2.0£¬ÖÕÓÐÒ»ÌìÈÝÆ÷»áºÍ Serverless ½øÐÐÒ»³¡¾öÕ½£¬·Ö³öʤ¸º¡£Êµ¼ÊÉÏ£¬ÈÝÆ÷ºÍ Serverless ÊÇ¿ÉÒÔ¹²´æ²¢ÇÒ»¥²¹µÄ£¬ÌرðÊÇÔÚ Autoscaling Ïà¹ØµÄ³¡¾°Ï£¬Serverless ¿ÉÒÔÓëÈÝÆ÷ÍêÃÀ¼æÈÝ£¬ÃÖ²¹ÈÝÆ÷³¡¾°ÔÚʹÓüòµ¥¡¢ËÙ¶È¡¢³É±¾µÄȱǷ¡£

µ±ÎÒÃÇÔÚ̸ÂÛ"µ¯ÐÔÉìËõ"µÄʱºò

µ±ÎÒÃÇÔÚ̸ÂÛ"µ¯ÐÔÉìËõ"µÄʱºò£¬ÎÒÃÇÔÚ̸ÂÛʲô£¿"µ¯ÐÔÉìËõ"¶ÔÓÚÍŶÓÖв»Í¬µÄ½ÇÉ«Óв»Í¬µÄÒâÒ壬¶øÕâÕýÊǵ¯ÐÔÉìËõµÄ÷ÈÁ¦ËùÔÚ¡£

´ÓÒ»ÕÅ×ÊÔ´ÇúÏßͼ½²Æð

ÕâÕÅͼÊDzûÊöµ¯ÐÔÉìËõÎÊÌâʱ¾­³£ÒýÓõÄÒ»ÕÅͼ£¬±íʾµÄÊǼ¯ÈºµÄʵ¼Ê×ÊÔ´ÈÝÁ¿ºÍÓ¦ÓÃËùÐèÈÝÁ¿Ö®¼äµÄ¹ØÏµ¡£

ÆäÖкìÉ«µÄÇúÏß±íʾµÄÊÇÓ¦ÓÃʵ¼ÊËùÐèµÄÈÝÁ¿£¬ÒòΪӦÓõÄ×ÊÔ´ÉêÇëÁ¿Ïà±È½Úµã¶øÑÔ»áСºÜ¶à£¬Òò´ËÇúÏßÏà¶Ô±È½Ïƽ»¬£»

¶øÂÌÉ«µÄÕÛÏß±íʾµÄÊǼ¯ÈºµÄʵ¼Ê×ÊÔ´ÈÝÁ¿£¬ÕÛÏߵĹյã±íÃ÷´Ëʱ½øÐÐÁËÊÖ¶¯µÄÈÝÁ¿µ÷Õû£¬ÀýÈçÔö¼Ó½Úµã»òÕßÒÆ³ý½Úµã£¬ÒòΪµ¥¸ö½ÚµãµÄ×ÊÔ´ÈÝÁ¿¹Ì¶¨ÇÒÏà¶Ô½Ï´ó£¬Òò´ËÒÔÕÛÏßΪÖ÷¡£

Ê×ÏÈ£¬ÎÒÃÇÏÈ¿´×ó²àµÚÒ»¿é»ÆÉ«Õ¤¸ñµÄÇøÓò£¬Õâ¸öÇøÓò±íʾ¼¯ÈºµÄÈÝÁ¿ÎÞ·¨Âú×ãÒµÎñµÄÈÝÁ¿ËùÐ裬ÔÚʵ¼ÊµÄ³¡¾°ÖУ¬Í¨³£»á°éËæ³öÏÖÓÉÓÚ×ÊÔ´²»×ã¶øÎÞ·¨µ÷¶ÈµÄ Pod µÈÏÖÏó¡£

ÖмäµÄÕ¤¸ñÇøÓò£¬¼¯ÈºµÄÈÝÁ¿Ô¶¸ßÓÚʵ¼Ê×ÊÔ´ËùÐèµÄÈÝÁ¿£¬´Ëʱ»á³öÏÖ×ÊÔ´µÄÀË·Ñ£¬Êµ¼ÊµÄ±íÏÖͨ³£ÊǽڵãµÄ¸ºÔØ·ÖÅä²»¾ù£¬²¿·Ö½ÚµãÉÏÃæÎÞµ÷¶È¸ºÔØ£¬¶øÁíÍâһЩ½ÚµãµÄ¸ºÔØÏà¶Ô½Ï¸ß¡£

ÓÒ²àÕ¤¸ñÇøÓò±íʾµÄÊǼ¤ÔöµÄ·åÖµÈÝÁ¿£¬ÎÒÃÇ¿ÉÒÔ¿´µ½£¬µ½´ï·åֵǰµÄÇúÂÊÊǷdz£¶¸Ç͵ģ¬ÕâÖÖ³¡¾°Í¨³£ÊÇÓÉÓÚÁ÷Á¿¼¤Ôö¡¢´óÅúÁ¿ÈÎÎñµÈ·Ç³£¹æÈÝÁ¿¹æ»®Äڵij¡¾°£¬¼¤ÔöµÄ·åÖµÁ÷Á¿¸øÔËάͬѧµÄ·´Ó¦Ê±¼ä·Ç³£¶Ì£¬Ò»µ©´¦Àí²»µ±¾ÍÓпÉÄÜÒý·¢Ê¹ʡ£

µ¯ÐÔÉìËõ¶ÔÓÚ²»Í¬½ÇÉ«µÄÈËÔ±£¬ÓÐ×Ų»Í¬µÄÒâÒ壺

¿ª·¢ÈËԱϣÍûͨ¹ýµ¯ÐÔÉìËõʹӦÓûñµÃ¸ß¿ÉÓõı£ÕÏ£»

ÔËάÈËԱϣÍûͨ¹ýµ¯ÐÔÉìËõ½µµÍ»ù´¡ÉèÊ©µÄ¹ÜÀí³É±¾£»

¼Ü¹¹Ê¦Ï£Íûͨ¹ýµ¯ÐÔÉìËõµÃµ½Áé»îµ¯ÐԵļܹ¹Ó¦¶ÔÍ»·¢µÄ¼¤Ôö·åÖµ¡£

µ¯ÐÔÉìËõÓжàÖÖ²»Í¬µÄ×é¼þºÍ·½°¸£¬Ñ¡ÔñÊʺÏ×Ô¼ºÒµÎñÐèÇóµÄ·½°¸ÊÇÂ䵨ִÐÐǰµÄµÚÒ»²½¡£

Kubernetes µ¯ÐÔÉìËõÄÜÁ¦½â¶Á

Kubernetes µ¯ÐÔÉìËõµÄÏà¹Ø×é¼þ

Kubernetes µ¯ÐÔÉìËõµÄ×é¼þ¿ÉÒÔ´ÓÁ½¸öά¶È½øÐнâ¶Á£ºÒ»¸öÊÇÉìËõ·½Ïò£¬Ò»¸öÊÇÉìËõ¶ÔÏó¡£

´ÓÉìËõ·½ÏòÉÏ£¬·ÖΪºáÏòÓë×ÝÏò¡£´ÓÉìËõ¶ÔÏóÉÏ£¬·ÖΪ½ÚµãÓë Pod¡£ÄÇô½«Õâ¸öÏóÏÞ½øÐÐÕ¹¿ª£¬¾Í±ä³ÉÈçÏ 3 Àà×é¼þ£º

cluster-autoscaler£¬½ÚµãˮƽÉìËõ£»

HPA & cluster-proportional-autoscaler£¬Pod ˮƽÉìËõ£»

vertical pod autoscaler&addon resizer£¬Pod ×ÝÏòÉìËõ¡£

ÆäÖÐ HPA Óë Cluster-Autoscaler ÊÇ¿ª·¢Õß×î³£×éºÏʹÓõĵ¯ÐÔÉìËõ×é¼þ¡£HPA ¸ºÔðÈÝÆ÷µÄˮƽÉìËõ£¬Cluster-Autoscaler ¸ºÔð½ÚµãµÄˮƽÉìËõ¡£ºÜ¶àµÄ¿ª·¢Õß»á²úÉúÕâÑùµÄÒÉÎÊ£ºÎªÊ²Ã´µ¯ÐÔÉìËõÒ»¸ö¹¦ÄÜÐèҪϸ»¯³ÉÕâô¶à×é¼þ·Ö¿ª´¦Àí£¬ÄѵÀ²»¿ÉÒÔÖ±½ÓÉèÖÃÒ»¸öãÐÖµ£¬¾ÍʵÏÖ¼¯ÈºµÄ×Ô¶¯Ë®Î»¹ÜÀíÂð£¿

Kubernetes µÄµ¯ÐÔÉìËõÌôÕ½

Á˽â Kubernetes µÄµ÷¶È·½Ê½¿ÉÒÔ°ïÖú¿ª·¢Õ߸üºÃµÄÀí½â Kubernetes µ¯ÐÔÉìËõµÄÉè¼ÆÕÜѧ¡£ÔÚ Kubernetes ÖУ¬µ÷¶ÈµÄ×îСµ¥ÔªÊÇÒ»¸ö Pod£¬Pod »á¸ù¾Ýµ÷¶È²ßÂÔ±»µ÷¶Èµ½Âú×ãÌõ¼þµÄ½ÚµãÉÏ£¬ÕâЩ²ßÂÔ°üÀ¨×ÊÔ´µÄÆ¥Åä¹ØÏµ¡¢Ç׺ÍÐÔÓë·´Ç׺ÍÐԵȵȣ¬ÆäÖÐ×ÊÔ´µÄÆ¥Åä¹ØÏµµÄ¼ÆËãÊǵ÷¶ÈÖеĺËÐÄÒªËØ¡£

ͨ³£ºÍ×ÊÔ´Ïà¹ØµÄÓÐÈçÏÂËĸö¸ÅÄ

Capacity ±íʾһ¸ö½ÚµãËùÄÜ·ÖÅäµÄÈÝÁ¿×ÜÁ¿£»

Limit ±íʾһ¸ö Pod Äܹ»Ê¹ÓõÄ×ÊÔ´×ÜÁ¿£»

Request ±íʾһ¸ö Pod ÔÚµ÷¶ÈÉÏÕ¼ÓõÄ×ÊÔ´¿Õ¼ä£»

Used ±íʾһ¸ö Pod µÄÕæÊµ×ÊԴʹÓá£

ÔÚÁ˽âÕâËĸö»ù±¾¸ÅÄîºÍʹÓó¡¾°Ö®ºó£¬ÎÒÃÇÔÙÀ´¿´Ï Kubernetes µ¯ÐÔÉìËõµÄÈý´óÄÑÌ⣺

ÈÝÁ¿¹æ»®Õ¨µ¯

»¹¼ÇµÃÔÚûÓÐʹÓÃÈÝÆ÷ǰ£¬ÊÇÈçºÎ×öÈÝÁ¿¹æ»®µÄÂð£¿Ò»°ã»á°´ÕÕÓ¦ÓÃÀ´½øÐлúÆ÷µÄ·ÖÅ䣬ÀýÈ磬ӦÓà A ÐèÒª 2 ̨ 4C8G µÄ»úÆ÷£¬Ó¦Óà B ÐèÒª 4 ̨ 8C16G µÄ»úÆ÷£¬Ó¦Óà A µÄ»úÆ÷ÓëÓ¦Óà B µÄ»úÆ÷ÊǶÀÁ¢µÄ£¬Ï໥²»¸ÉÈÅ¡£µ½ÁËÈÝÆ÷µÄ³¡¾°ÖУ¬´ó²¿·ÖµÄ¿ª·¢ÕßÎÞÐè¹ØÐĵײãµÄ×ÊÔ´ÁË£¬ÄÇôÕâ¸öʱºòÈÝÁ¿¹æ»®ÄÄÀïÈ¥ÁËÄØ£¿

ÔÚ Kubernetes ÖÐÊÇͨ¹ý Request ºÍ Limit µÄ·½Ê½½øÐÐÉèÖã¬Request ±íʾ×ÊÔ´µÄÉêÇëÖµ£¬Limit ±íʾ×ÊÔ´µÄÏÞÖÆÖµ¡£¼ÈÈ» Request ºÍ Limit ²ÅÊÇÈÝÁ¿¹æ»®µÄ¶ÔµÈ¸ÅÄÄÇôÕâ¾Í´ú±í×Å×ÊÔ´µÄʵ¼Ê¼ÆËã¹æÔòÒª¸ù¾Ý Request ºÍ Limit ²Å¸ü¼Ó׼ȷ¡£¶ø¶ÔÓÚÿ¸ö½ÚµãÔ¤Áô×ÊÔ´ãÐÖµ¶øÑÔ£¬ºÜÓпÉÄÜ»áÔì³ÉС½ÚµãµÄÔ¤ÁôÎÞ·¨Âú×ãµ÷¶È£¬´ó½ÚµãµÄÔ¤ÁôÓÖµ÷¶È²»ÍêµÄ³¡¾°¡£

°Ù·Ö±ÈË鯬ÏÝÚå

ÔÚÒ»¸ö Kubernetes ¼¯ÈºÖУ¬Í¨³£²»Ö»°üº¬Ò»ÖÖ¹æ¸ñµÄ»úÆ÷¡£Õë¶Ô²»Í¬µÄ³¡¾°¡¢²»Í¬µÄÐèÇ󣬻úÆ÷µÄÅäÖá¢ÈÝÁ¿¿ÉÄÜ»áÓзdz£´óµÄ²îÒ죬ÄÇô¼¯ÈºÉìËõʱµÄ°Ù·Ö±È¾Í¾ß±¸·Ç³£´óµÄÃÔ»óÐÔ¡£

¼ÙÉèÎÒÃǵļ¯ÈºÖдæÔÚ 4C8G µÄ»úÆ÷Óë 16C32G Á½ÖÖ²»Í¬¹æ¸ñµÄ»úÆ÷£¬¶ÔÓÚ 10% µÄ×ÊÔ´Ô¤Áô¶øÑÔ£¬ÕâÁ½ÖÖ¹æ¸ñÊÇËù´ú±íµÄÒâÒåÊÇÍêÈ«²»Í¬µÄ¡£ÌرðÊÇÔÚËõÈݵij¡¾°Ï£¬Í¨³£ÎªÁ˱£Ö¤ËõÈݺóµÄ¼¯Èº²»´¦ÔÚÕðµ´×´Ì¬£¬ÎÒÃÇ»áÒ»¸ö½ÚµãÒ»¸ö½ÚµãÀ´ËõÈݽڵ㣬ÄÇôÈçºÎ¸ù¾Ý°Ù·Ö±ÈÀ´Åжϵ±Ç°½ÚµãÊÇ´¦ÔÚËõÈÝ״̬¾ÍÓÈÎªÖØÒª¡£

´Ëʱ£¬Èç¹û´ó¹æ¸ñ»úÆ÷Óнϵ͵ÄÀûÓÃÂʱ»ÅжÏËõÈÝ£¬ÄÇôºÜÓпÉÄÜ»áÔì³É½ÚµãËõÈݺó£¬ÈÝÆ÷ÖØÐµ÷¶ÈºóµÄÕùÇÀ¼¢¶ö¡£Èç¹ûÌí¼ÓÅжÏÌõ¼þ£¬ÓÅÏÈËõÈÝСÅäÖõĽڵ㣬ÔòÓпÉÄÜÔì³ÉËõÈݺó×ÊÔ´µÄ´óÁ¿ÈßÓ࣬×îÖÕ¼¯ÈºÖпÉÄÜ»áֻʣÏÂËùÓеľÞʯ½Úµã¡£

×ÊÔ´ÀûÓÃÂÊÀ§¾³

¼¯ÈºµÄ×ÊÔ´ÀûÓÃÂÊÊÇ·ñÕæµÄ¿ÉÒÔ´ú±íµ±Ç°µÄ¼¯Èº×´Ì¬ÄØ£¿µ±Ò»¸ö Pod µÄ×ÊÔ´ÀûÓÃÂʺܵ͵Äʱºò£¬²»´ú±í¾Í¿ÉÒÔÇÖÕ¼ËüËùÉêÇëµÄ×ÊÔ´¡£Ôڴ󲿷ֵÄÉú²ú¼¯ÈºÖУ¬×ÊÔ´ÀûÓÃÂʶ¼²»»á±£³ÖÔÚÒ»¸ö·Ç³£¸ßµÄˮ룬µ«´Óµ÷¶ÈÀ´½²£¬×ÊÔ´µÄµ÷¶ÈˮλӦ¸Ã±£³ÖÔÚÒ»¸ö±È½Ï¸ßµÄˮλ¡£ÕâÑù²ÅÄܼȱ£Ö¤¼¯ÈºµÄÎȶ¨¿ÉÓã¬ÓÖ²»¹ýÓÚÀË·Ñ×ÊÔ´¡£

Èç¹ûûÓÐÉèÖà Request Óë Limit£¬¶ø¼¯ÈºµÄÕûÌå×ÊÔ´ÀûÓÃÂʺܸߣ¬ÕâÒâζ×Åʲô£¿Õâ±íʾËùÓÐµÄ Pod ¶¼ÔÚ±»ÒÔÕæÊµ¸ºÔØÎªµ¥Ôª½øÐе÷¶È£¬Ï໥֮¼ä´æÔڷdz£ÑÏÖØµÄÕùÇÀ£¬¶øÇÒ¼òµ¥µÄ¼ÓÈë½ÚµãҲ˿ºÁÎÞ·¨½â¾öÎÊÌ⣬ÒòΪ¶ÔÓÚÒ»¸öÒѵ÷¶ÈµÄ Pod ¶øÑÔ£¬³ýÁËÊÖ¶¯µ÷¶ÈÓëÇýÖð£¬Ã»ÓÐÈκη½Ê½¿ÉÒÔ½«Õâ¸ö Pod ´Ó¸ß¸ºÔصĽڵãÖÐÒÆ×ß¡£

ÄÇÈç¹ûÎÒÃÇÉèÖÃÁË Request Óë Limit£¬¶ø½ÚµãµÄ×ÊÔ´ÀûÓÃÂÊÓַdz£¸ßµÄʱºò˵Ã÷ÁËÊ²Ã´ÄØ£¿ºÜ¿ÉϧÕâÔڴ󲿷ֵij¡¾°Ï¶¼ÊDz»¿ÉÄܵģ¬ÒòΪ²»Í¬µÄÓ¦Óò»Í¬µÄ¸ºÔØÔÚ²»Í¬µÄʱ¿Ì×ÊÔ´µÄÀûÓÃÂÊÒ²»áÓÐËù²îÒ죬´ó¸ÅÂʵÄÇé¿öÊǼ¯Èº»¹Ã»Óд¥·¢ÉèÖõÄãÐÖµ¾ÍÒѾ­ÎÞ·¨µ÷¶È Pod ÁË¡£

ÔÚÁ˽âÁË Kubernetes µ¯ÐÔÉìËõµÄÈý´óÎÊÌâºó£¬ÎÒÃÇÔÙÀ´¿´Ï Kubernetes µÄ½â¾ö°ì·¨ÊÇʲô£¿

Kubernetes µÄµ¯ÐÔÉìËõÉè¼ÆÕÜѧ

Kubernetes µÄÉè¼ÆÀíÄîÊǽ«µ¯ÐÔÉìËõ·Ö³Éµ÷¶È²ãÉìËõºÍ×ÊÔ´²ãÉìËõ¡£µ÷¶È²ã¸ºÔð¸ù¾ÝÖ¸±ê¡¢ãÐÖµÉìËõ³öµ÷¶Èµ¥Ôª£¬¶ø×ÊÔ´²ãÉìËõ¸ºÔðÂú×ãµ÷¶Èµ¥ÔªµÄ×ÊÔ´ÐèÇó¡£

ÔÚµ÷¶È²ãͨ³£ÊÇͨ¹ý HPA µÄ·½Ê½½øÐÐ Pod µÄˮƽÉìËõ£¬HPA µÄʹÓ÷½Ê½ºÍÎÒÃÇ´«Í³ÒâÒåÉÏÀí½âµÄµ¯ÐÔÉìËõÊǷdz£½Ó½üºÍÀàËÆµÄ£¬Í¨¹ýÉèÖÃÅжϵÄÖ¸±ê¡¢ÅжϵÄãÐÖµÀ´½øÐÐˮƽÉìËõ¡£

ÔÚ×ÊÔ´²ãĿǰÖ÷Á÷µÄ·½°¸ÊÇͨ¹ý cluster-autoscaler ½øÐнڵãµÄˮƽÉìËõ¡£µ±³öÏÖ Pod ÓÉÓÚ×ÊÔ´²»×ãÔì³ÉÎÞ·¨µ÷¶Èʱ£¬cluster-autoscaler »á³¢ÊÔ´ÓÅäÖÃÉìËõ×éÖУ¬Ñ¡ÔñÒ»¸ö¿ÉÒÔÂú×ãµ÷¶ÈÐèÇóµÄ×飬²¢×Ô¶¯Ïò×éÄÚ¼ÓÈëʵÀý£¬µ±ÊµÀýÆô¶¯ºó×¢²áµ½ Kubernetes ºó£¬kube-scheduler »áÖØÐ´¥·¢ Pod µÄµ÷¶È£¬½«Ö®Ç°ÎÞ·¨µ÷¶ÈµÄ Pod µ÷¶Èµ½ÐÂÉú³ÉµÄ½ÚµãÉÏ£¬´Ó¶øÍê³ÉÈ«Á´Â·µÄÀ©ÈÝ¡£

ͬÑùÔÚËõÈÝʱ£¬µ÷¶È²ã»áÏÖ¸ù¾Ý×ÊÔ´µÄÀûÓÃÂÊÓëÉèÖõÄãÐÖµ±È½Ï£¬ÊµÏÖ Pod ˮƽµÄËõÈÝ¡£µ±½ÚµãÉÏ Pod µÄµ÷¶È×ÊÔ´½µµÍµ½×ÊÔ´²ãËõÈÝãÐÖµµÄʱºò£¬´Ëʱ Cluster-Autoscaler »á½øÐе͵÷¶È°Ù·Ö±ÈµÄ½ÚµãµÄÅÅË®£¬ÅÅË®Íê³Éºó»á½øÐнڵãµÄËõÈÝ£¬Íê³ÉÕû¸öÁ´Â·µÄÊÕËõ¡£

Kubernetes µ¯ÐÔÉìËõ·½°¸µÄ°¢¿ËÁð˹֮õà

¾­µäµÄ Kubernetes µ¯ÐÔÉìËõµÄ°¸Àý

ÕâÕÅͼÊÇÒ»¸ö·Ç³£¾­µäµÄµ¯ÐÔÉìËõµÄ°¸Àý£¬¿ÉÒÔ´ú±í´ó¶àÊýµÄÔÚÏßÒµÎñµÄ³¡¾°¡£Ó¦Óõijõʼ¼Ü¹¹ÊÇÒ»¸ö Deployment£¬ÏÂÃæÓÐÁ½¸ö Pod£¬Õâ¸öÓ¦ÓõĽÓÈë²ãÊÇͨ ¹ýIngress Controller µÄ·½Ê½½øÐжÔÍⱩ¶µÄ£¬ÎÒÃÇÉèÖÃÓ¦ÓõÄÉìËõ²ßÂÔΪ£ºµ¥¸ö Pod µÄ QPS µ½´ï 100£¬Ôò½øÐÐÀ©ÈÝ£¬×îСΪ 2 ¸ö Pod£¬×î´óΪ 10 ¸ö Pod¡£

HPA controller »á²»¶ÏÂÖѵ alibaba-cloud-metrics-adapter£¬À´»ñÈ¡ Ingress Gateway µ±Ç°Â·ÓÉµÄ QPS Ö¸±ê¡£µ± Ingress Gateway µÄÁ÷Á¿µ½´ï QPS ãÐֵʱ£¬HPA controller »á´¥·¢ Deployment µÄ Pod ÊýÄ¿±ä»¯£»µ± Pod µÄÉêÇëÈÝÁ¿³¬¹ý¼¯ÈºµÄ×ÜÁ¿ºó£¬cluster-autoscaler »áÑ¡ÔñºÏÊʵÄÉìËõ×飬µ¯³öÏàÓ¦µÄ Node£¬³ÐÔØÖ®Ç°Î´µ÷¶ÈµÄ Pod¡£

ÕâÑùÒ»¸ö¾­µäµÄµ¯ÐÔÉìËõ°¸Àý¾Í½âÎöÍê±ÏÁË£¬ÄÇôÔÚʵ¼ÊµÄ¿ª·¢¹ý³ÌÖУ¬»áÓöµ½ÄÄЩÎÊÌâÄØ£¿

¾­µäµÄ Kubernetes µ¯ÐÔÉìËõµÄȱµãÓë½â·¨

Ê×ÏÈÊÇÀ©ÈÝʱÑÓµÄÎÊÌ⣬ÉçÇø±ê׼ģʽÊÇͨ¹ý´´½¨¡¢ÊÍ·Å ECS µÄ·½Ê½£¬À©ÈݵÄʱÑÓÔÚ 2min-2.5min ×óÓÒ£¬¶ø°¢ÀïÔÆ¶ÀÁ¢µÄ¼«ËÙģʽÊÇͨ¹ý´´½¨¡¢Í£»ú¡¢Æô¶¯µÄ·½Ê½½øÐÐʵÏÖ£¬Í£»úʱֻÊÕÈ¡´æ´¢µÄ·ÑÓ㬲»ÊÕÈ¡¼ÆËãµÄ·ÑÓ᣿ÉÒÔͨ¹ý·Ç³£µÍÁ®µÄ¼Û¸ñ»ñµÃ 50% ÒÔÉϵĵ¯ÐÔЧÂÊ¡£

´ËÍ⸴ÔÓ¶ÈÒ²ÊÇ cluster-autoscaler ÈÆ²»¹ýµÄÎÊÌ⣬ÏëÒªÓúà cluster-autoscaler£¬ÐèÒªÉîÈëµÄÁ˽â cluster-autoscaler µÄһЩÄÚ²¿»úÖÆ£¬·ñÔò¼«ÓпÉÄÜÔì³ÉÎÞ·¨µ¯³ö»òÕßÎÞ·¨ËõÈݵij¡¾°¡£

¶ÔÓÚ´ó¶àÊýµÄ¿ª·¢Õß¶øÑÔ£¬cluster-autoscaler µÄ¹¤×÷Ô­ÀíÊǺںе쬶øÇÒ cluster-autoscaler Ŀǰ×îºÃµÄÎÊÌâÅŲ鷽ʽÒÀÈ»ÊDz鿴ÈÕÖ¾¡£Ò»µ© cluster-autoscaler ³öÏÖÔËÐÐÒì³£ºóÕßÓÉÓÚ¿ª·¢ÕßÅäÖôíÎóµ¼ÖÂÎÞ·¨ÈçÔ¤ÆÚµÄÉìËõ£¬ÄÇô 80% ÒÔÉϵĿª·¢ÕßÊǺÜÄÑ×Ô¼º½øÐоÀ´íµÄ¡£

°¢ÀïÔÆÈÝÆ÷·þÎñÍŶӿª·¢ÁËÒ»¿î kubectl plugin£¬¿ÉÒÔÌṩ cluster-autoscaler ¸üÉî²ã´ÎµÄ¿É¹Û²âÐÔ£¬¿ÉÒԲ鿴µ±Ç° cluster-autoscaler ËùÔÚµÄÉìËõ½×¶ÎÒÔ¼°×Ô¶¯µ¯ÐÔÉìËõ¾À´íµÈÄÜÁ¦¡£

ËäȻĿǰÓöµ½µÄ¼¸¸öºËÐĵÄÎÊÌ⣬¶¼²»ÊÇѹËÀÂæÍÕµÄ×îºóÒ»¿Ãµ¾²Ý¡£µ«ÊÇÎÒÃÇÒ»Ö±ÔÚ˼¿¼£¬ÊÇ·ñÓÐÆäËûµÄ·½Ê½¿ÉÒÔÈõ¯ÐÔÉìËõʹÓÃÆðÀ´¸ü¼òµ¥¡¢¸ü¸ßЧ£¿

°¢¿ËÁð˹µÄÂí¶¡Ñ¥ - Serverless Autoscaling

×ÊÔ´²ãÉìËõµÄºËÐÄÎÊÌâÔÚÓÚѧϰ³É±¾½Ï¸ß¡¢ÅÅ´íÀ§ÄÑ¡¢Ê±Ð§ÐԲµ±»Ø¹ýÍ·À´¿´ Serverless µÄʱºò£¬ÎÒÃÇ¿ÉÒÔ·¢ÏÖ£¬ÕâЩÎÊÌâÇ¡ºÃÊÇ Serverless µÄÌØµãÓëÓÅÊÆ£¬ÄÇôÊÇ·ñÓа취Èà Serverless ³ÉΪ Kubernetes ×ÊÔ´²ãµÄµ¯ÐÔ·½°¸ÄØ£¿

Serverless Autoscaling ×é¼þ - virtual-kubelet-autoscaler

°¢ÀïÔÆÈÝÆ÷·þÎñÍŶӿª·¢ÁË virtual-kubelet-autoscaler£¬Ò»¸öÔÚ Kubernetes ÖÐʵÏÖ serverless autoscaling µÄ×é¼þ¡£

µ±³öÏÖÁËÎÞ·¨µ÷¶ÈµÄ Pod µÄʱºò£¬virtual-kubelet ¸ºÔð³ÐÔØÕæÊµµÄ¸ºÔØ£¬¿ÉÒÔÀí½âΪһ¸öÐéÄâ½Úµã£¬ÓµÓÐÎÞÏÞ´óµÄ capacity¡£µ± Pod µ÷¶Èµ½ virtual-kubelet ÉÏʱ£¬»á½« Pod ͨ¹ýÇáÁ¿¼¶ÊµÀý ECI ½øÐÐÆô¶¯¡£Ä¿Ç° ECI µÄÆô¶¯Ê±¼äÔÚ 30s Ö®ÄÚ£¬³ÌÐò´Óµ÷¶È¿ªÊ¼µ½ÔËÐÐÒ»°ã»áÔÚ 1 ·ÖÖÓÄÚÀ­Æð¡£

Óë cluster-autoscaler ÀàËÆ£¬virtual-kubelet-autoscaler Ò²ÐèҪʹÓÃÄ£Äâµ÷¶ÈµÄ»úÖÆÀ´ÅÐ¶Ï Pod ÊÇ·ñ¿ÉÒÔ±»ÕæÊµ´¦ÀíºÍ³ÐÔØ£¬µ«ÊÇÏà±È cluster-autoscaler ¶øÑÔ£¬´æÔÚÈçϲîÒ죺

virtual-kubelet-autoscaler Ä£Äâµ÷¶ÈµÄ¶ÔÏóÊÇÔö¼ÓÁ˵÷¶È²ßÂ﵀ Pod Template ²¢·Ç Node Template£»

virtual-kubelet-autoscaler µÄºËÐÄÊÇÑ¡Ôñ virtual-kubelet À´³ÐÔØ¸ºÔØ£¬Ò»µ© Pod Ä£Äâµ÷¶È³É¹¦°ó¶¨µ½ virtual-kubelet ÉϺó£¬Pod µÄÉúÃüÖÜÆÚ¹ÜÀí¡¢ÎÊÌâµÄÅŲéµÈ¾ÍÓ봫ͳµÄ Pod ûÓвîÒ죬²»ÔÙÊǺںÐÅŲéÎÊÌâ¡£

virtual-kubelet-autoscaler ²»ÊÇ"Òøµ¯"

virtual-kubelet-autoscaler ²¢²»ÊÇÓÃÀ´Ìæ´ú cluster-autoscaler µÄ£¬virtual-kubelet-autoscaler µÄÓÅÊÆÔÚÓÚʹÓüòµ¥¡¢¸ßµ¯ÐԸ߲¢·¢£¬°´Á¿°´Ðè¼Æ·Ñ¡£

µ«ÊÇÓë´ËͬʱҲÎþÉüÁ˲¿·ÖµÄ¼æÈÝÐÔ£¬Ä¿Ç°¶Ô cluster-pi¡¢coredns µÈ»úÖÆÖ§³ÖµÄ»¹²¢²»ÍêÉÆ£¬Ö»ÐèÉÙÐíµÄÅäÖà virtual-kubelet-autoscaler ÊÇ¿ÉÒÔºÍ cluster-autoscaler ¼æÈݵġ£virtual-kubelet-autoscaler ÌØ±ðÊʺϵij¡¾°ÊÇ´óÊý¾ÝÀëÏßÈÎÎñ¡¢CI/CD ×÷Òµ¡¢Í»·¢ÐÍÔÚÏ߸ºÔصȡ£

×îºó

serverless autoscaling ÒѾ­Öð½¥³ÉΪ Kubernetes µ¯ÐÔÉìËõµÄÖØÒª×é³É²¿·Ö£¬µ± serverless autoscaling ¼æÈÝÐÔ»ù±¾²¹ÆëµÄʱºò£¬serverless ʹÓüòµ¥¡¢ÎÞÐèÔËά¡¢³É±¾½ÚÔ¼µÄÌØÐÔ»áÓë Kubernetes ÐγÉÍêÃÀ»¥²¹£¬ÊµÏÖ Kubernetes µ¯ÐÔÉìËõµÄзÉÔ¾¡£

   
2124 ´Îä¯ÀÀ       27
Ïà¹ØÎÄÕÂ

ÔÆ¼ÆËãµÄ¼Ü¹¹
¶ÔÔÆ¼ÆËã·þÎñÄ£ÐÍ
ÔÆ¼ÆËãºËÐļ¼ÊõÆÊÎö
Á˽âÔÆ¼ÆËãµÄ©¶´
Ïà¹ØÎĵµ

ÔÆ¼ÆËã¼ò½é
ÔÆ¼ÆËã¼ò½éÓëÔÆ°²È«
ÏÂÒ»´úÍøÂç¼ÆËã--ÔÆ¼ÆËã
ÈídzÎöÔÆ¼ÆËã
Ïà¹Ø¿Î³Ì

ÔÆ¼ÆËãÔ­ÀíÓëÓ¦ÓÃ
ÔÆ¼ÆËãÓ¦ÓÃÓ뿪·¢
CMMIÌåϵÓëʵ¼ù
»ùÓÚCMMI±ê×¼µÄÈí¼þÖÊÁ¿±£Ö¤