±à¼ÍƼö: |
ÎÄÕÂÖ÷Òª½éÉÜÁËÈÝÆ÷ÔÚµ¯ÐÔ³¡¾°ÏµÄÔÀí¡¢·½°¸ÓëÌôÕ½£¬ÒÔ¼°
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 µ¯ÐÔÉìËõµÄзÉÔ¾¡£ |