±à¼ÍƼö: |
±¾ÎÄÏò´ó¼Ò½éÉÜÒ»¸öÔÆÔÉúÓ¦ÓøÃÈçºÎÔÚKubernetesÖÐÎ޷켯³É¼à¿ØºÍµ¯ÐÔÄÜÁ¦¡£Ï£Íû¶ÔÄúµÄѧϰÓÐËù°ïÖú¡£
±¾ÎÄÀ´×ÔÓÚcsdn£¬ÓÉ»ðÁú¹ûÈí¼þDelores±à¼¡¢ÍƼö¡£ |
|
ǰÑÔ

ÔÆÔÉúÓ¦ÓõÄÉè¼ÆÀíÄîÒѾ±»Ô½À´Ô½¶àµÄ¿ª·¢Õß½ÓÊÜÓëÈϿɣ¬¶øKubernetes×öÎªÔÆÔÉúµÄ±ê×¼½Ó¿ÚʵÏÖ£¬ÒѾ³ÉΪÁËÕû¸östackµÄÖÐÐÄ£¬ÔÆ·þÎñµÄÄÜÁ¦¿ÉÒÔͨ¹ýCloud Provider¡¢CRD Controller¡¢OperatorµÈµÈµÄ·½Ê½´ÓKubernetesµÄ±ê×¼½Ó¿ÚÏòÒµÎñ²ã͸³ö¡£¿ª·¢Õß¿ÉÒÔ»ùÓÚKubernetesÀ´¹¹½¨×Ô¼ºµÄÔÆÔÉúÓ¦ÓÃÓëÆ½Ì¨£¬Kubernetes³ÉΪÁ˹¹½¨Æ½Ì¨µÄƽ̨¡£
°¢ÀïÔÆÈÝÆ÷·þÎñKubernetesµÄ¼à¿Ø×ÜÀÀ

ÔÆ·þÎñ¼¯³É
°¢ÀïÔÆÈÝÆ÷·þÎñKubernetesĿǰÒѾºÍËÄ¿î¼à¿ØÔÆ·þÎñ½øÐÐÁË´òͨ£¬·Ö±ðÊÇSLS£¨ÈÕÖ¾·þÎñ£©¡¢ARMS£¨Ó¦ÓÃÐÔÄÜ¼à¿Ø£©¡¢AHAS£¨¼Ü¹¹¸ÐÖª¼à¿Ø·þÎñ£©¡¢Cloud Monitor£¨ÔÆ¼à¿Ø£©¡£
SLSÖ÷Òª¸ºÔðÈÕÖ¾µÄ²É¼¯¡¢·ÖÎö¡£ÔÚ°¢ÀïÔÆÈÝÆ÷·þÎñKubernetesÖУ¬SLS¿ÉÒԲɼ¯ÈýÖÖ²»Í¬ÀàÐ͵ÄÈÕÖ¾
APIServerµÈºËÐÄ×é¼þµÄÈÕÖ¾
Service Mesh/IngressµÈ½ÓÈë²ãµÄÈÕÖ¾
Ó¦Óõıê×¼ÈÕÖ¾
³ýÁ˲ɼ¯ÈÕÖ¾µÄ±ê×¼Á´Â·Í⣬SLS»¹ÌṩÁËÉϲãµÄÈÕÖ¾·ÖÎöÄÜÁ¦£¬Ä¬ÈÏÌṩÁË»ùÓÚAPIServerµÄÉ󼯷ÖÎöÄÜÁ¦¡¢½ÓÈë²ãµÄ¿É¹Û²âÐÔÕ¹ÏÖ¡¢Ó¦ÓòãµÄÈÕÖ¾·ÖÎö¡£ÔÚ°¢ÀïÔÆÈÝÆ÷·þÎñKubernetesÖУ¬ÈÕÖ¾×é¼þÒѾĬÈϰ²×°£¬¿ª·¢ÕßÖ»ÐèҪͨ¹ýÔÚ¼¯Èº´´½¨Ê±¹´Ñ¡¼´¿É¡£

ARMSÖ÷Òª¸ºÔð²É¼¯¡¢·ÖÎö¡¢Õ¹ÏÖÓ¦ÓõÄÐÔÄÜÖ¸±ê¡£Ä¿Ç°Ö÷ÒªÖ§³ÖJavaÓëPHPÁ½ÖÖÓïÑԵɣ¬¿ÉÒԲɼ¯ÐéÄâ»ú£¨JVM£©²ãµÄÖ¸±ê£¬ÀýÈçGCµÄ´ÎÊý¡¢Ó¦ÓõÄÂýSQL¡¢µ÷ÓÃÕ»µÈµÈ¡£¶ÔÓÚºóÆÚÐÔÄܵ÷ÓÅ¿ÉÒÔÆðµ½·Ç³£ÖØÒªµÄ×÷Óᣠ
AHASÊǼܹ¹¸ÐÖª¼à¿Ø£¬Í¨³£ÔÚKubernetes¼¯ÈºÖиºÔصÄÀàÐʹ󲿷ÖΪ΢·þÎñ£¬Î¢·þÎñµÄµ÷ÓÃÍØÆËÒ²»á±È½Ï¸´ÔÓ£¬Òò´Ëµ±¼¯ÈºµÄÍøÂçÁ´Â·³öÏÖÎÊÌâʱ£¬ÈçºÎ¿ìËÙ¶¨Î»ÎÊÌâ¡¢·¢ÏÖÎÊÌâ¡¢Õï¶ÏÎÊÌâÔò³ÉΪÁË×î´óµÄÄÑÌâ¡£AHASͨ¹ýÍøÂçµÄÁ÷Á¿ºÍ×ßÏò£¬½«¼¯ÈºµÄÍØÆË½øÐÐÕ¹ÏÖ£¬Ìṩ¸ü¸ß²ã´ÎµÄÎÊÌâÕï¶Ï·½Ê½¡£

¿ªÔ´·½°¸¼¯³É
¿ªÔ´·½°¸µÄ¼æÈݺͼ¯³ÉÒ²Êǰ¢ÀïÔÆÈÝÆ÷·þÎñKubernetes¼à¿ØÄÜÁ¦µÄÒ»²¿·Ö¡£Ö÷Òª°üº¬ÈçÏÂÁ½¸ö²¿·Ö£º
KubernetesÄÚÖÃ¼à¿Ø×é¼þµÄÔöÇ¿Ó뼯³É
ÔÚkubernetesÉçÇøÖУ¬heapster/metrics-serverÊÇÄÚÖÃµÄ¼à¿Ø·½°¸£¬¶øÇÒÀýÈçDashboard¡¢HPAµÈºËÐÄ×é¼þ»áÒÀÀµÓÚÕâЩÄÚÖÃ¼à¿ØÄÜÁ¦ÌṩµÄmetrics¡£ÓÉÓÚKubernetesÉú̬ÖÐ×é¼þµÄ·¢²¼ÖÜÆÚºÍKubernetesµÄrelease²»Ò»¶¨±£Ö¤ÍêÕûµÄͬ²½£¬Õâ¾ÍÔì³ÉÁ˲¿·Ö¼à¿ØÄÜÁ¦µÄÏû·ÑÕßÔÚKubernetesÖдæÔÚ¼à¿ØÎÊÌâ¡£Òò´Ë°¢ÀïÔÆ¾ÍÕâ¸öÎÊÌâ×öÁËmetrics-serverµÄÔöÇ¿£¬ÊµÏÖ°æ±¾µÄ¼æÈÝ¡£´ËÍâÕë¶Ô½ÚµãµÄÕï¶ÏÄÜÁ¦£¬°¢ÀïÔÆÈÝÆ÷·þÎñÔöÇ¿ÁËNPDµÄ¸²¸Ç³¡¾°£¬Ö§³ÖÁËFDÎļþ¾ä±úµÄ¼à²â¡¢NTPʱ¼äͬ²½µÄУÑé¡¢³öÈëÍøÄÜÁ¦µÄУÑéµÈµÈ£¬²¢¿ªÔ´ÁËeventer£¬Ö§³ÖÀëÏßKubernetesµÄʼþÊý¾Ýµ½SLS¡¢kafkaÒÔ¼°¶¤¶¤£¬ÊµÏÖChatOps¡£
PrometheusÉú̬µÄÔöÇ¿Ó뼯³É
Promethes×÷ΪKubernetesÉú̬ÖÐÈý·½¼à¿ØµÄ±ê×¼£¬°¢ÀïÔÆÈÝÆ÷·þÎñÒ²ÌṩÁ˼¯³ÉµÄChart¹©¿ª·¢ÕßÒ»¼ü¼¯³É¡£´ËÍ⣬ÎÒÃÇ»¹ÔÚÈçÏÂÈý¸ö²ã´Î×÷ÁËÔöÇ¿£º
´æ´¢¡¢ÐÔÄÜÔöÇ¿£ºÖ§³ÖÁ˲úÆ·¼¶µÄ´æ´¢ÄÜÁ¦Ö§³Ö£¨TSDB¡¢InfluxDB)£¬Ìṩ¸ü³Ö¾Ã¡¢¸ü¸ßЧµÄ¼à¿Ø´æ´¢Óë²éѯ¡£
²É¼¯Ö¸±êµÄÔöÇ¿£ºÐÞ¸´Á˲¿·ÖÓÉÓÚPrometheus×ÔÉíÉè¼ÆÈ±Ç·Ôì³ÉµÄ¼à¿Ø²»×¼µÄÎÊÌ⣬ÌṩÁËGPUµ¥¿¨¡¢¶à¿¨¡¢¹²Ïí·ÖƬµÄexporter¡£
ÌṩÉϲã¿É¹Û²âÐÔµÄÔöÇ¿£ºÖ§³Ö³¡¾°»¯µÄCRD¼à¿ØÖ¸±ê¼¯³É£¬ÀýÈçargo¡¢spark¡¢tensorflowµÈÔÆÔÉúµÄ¼à¿ØÄÜÁ¦£¬Ö§³Ö¶à×â¿É¹Û²âÐÔ¡£
°¢ÀïÔÆÈÝÆ÷·þÎñKubernetesµÄµ¯ÐÔ×ÜÀÀ

°¢ÀïÔÆÈÝÆ÷·þÎñKubernetesÖ÷Òª°üº¬ÈçÏÂÁ½´óÀ൯ÐÔ×é¼þ£ºµ÷¶È²ãµ¯ÐÔ×é¼þÓë×ÊÔ´²ãµ¯ÐÔ×é¼þ¡£
µ÷¶È²ãµ¯ÐÔ×é¼þ
µ÷¶È²ãµ¯ÐÔ×é¼þÊÇÖ¸ËùÓеĵ¯ÐÔ¶¯×÷¶¼ÊǺÍPodÏà¹ØµÄ£¬²¢²»¹ØÐľßÌåµÄ×ÊÔ´Çé¿ö¡£
HPA
HPAÊÇPodˮƽÉìËõµÄ×é¼þ£¬³ýÁËÉçÇøÖ§³ÖµÄResource MetricsºÍCustom Metrics£¬°¢ÀïÔÆÈÝÆ÷·þÎñKubernetes»¹ÌṩÁËexternal-metrics-adapter£¬Ö§³ÖÔÆ·þÎñµÄÖ¸±ê×÷Ϊµ¯ÐÔÉìËõµÄÅжÏÌõ¼þ¡£Ä¿Ç°ÒѾ֧³ÖÀýÈ磺IngressµÄQPS¡¢RT£¬ARMSÖÐÓ¦ÓõÄGC´ÎÊý¡¢ÂýSQL´ÎÊýµÈµÈ¶à¸ö²úÆ·²»Í¬Î¬¶ÈµÄ¼à¿ØÖ¸±ê¡£
VPA
VPAÊÇPodµÄ×ÝÏòÉìËõµÄ×é¼þ£¬Ö÷ÒªÃæÏòÓÐ״̬·þÎñµÄÀ©ÈݺÍÉý¼¶³¡¾°¡£
cronHPA
cronHPAÊǶ¨Ê±ÉìËõ×é¼þ£¬Ö÷ÒªÃæÏòµÄÊÇÖÜÆÚÐÔ¸ºÔØ£¬Í¨¹ý×ÊÔ´»Ïñ¿ÉÒÔÔ¤²âÓйæÂɵĸºÔØÖÜÆÚ£¬²¢Í¨¹ýÖÜÆÚÐÔÉìËõ£¬ÊµÏÖ×ÊÔ´³É±¾µÄ½ÚÔ¼¡£
Resizer
ResizerÊǼ¯ÈººËÐÄ×é¼þµÄÉìËõ¿ØÖÆÆ÷£¬¿ÉÒÔ¸ù¾Ý¼¯ÈºµÄCPUºËÊý¡¢½ÚµãµÄ¸öÊý£¬ÊµÏÖÏßÐÔºÍÌݶÈÁ½ÖÖ²»Í¬µÄÉìËõ£¬Ä¿Ç°Ö÷ÒªÃæ¶ÔµÄ³¡¾°ÊǺËÐÄ×é¼þµÄÉìËõ£¬ÀýÈ磺CoreDNS¡£
×ÊÔ´²ãµ¯ÐÔ×é¼þ
×ÊÔ´²ãµ¯ÐÔ×é¼þÊÇÖ¸µ¯ÐԵIJÙ×÷¶¼ÊÇÕë¶ÔÓÚPodºÍ¾ßÌå×ÊÔ´¹ØÏµµÄ¡£
Cluster-Autoscaler
Cluster-AutoscalerÊÇĿǰ±È½Ï³ÉÊìµÄ½ÚµãÉìËõ×é¼þ£¬Ö÷ÒªÃæÏòµÄ³¡¾°Êǵ±Pod×ÊÔ´²»×ãʱ£¬½øÐнڵãµÄÉìËõ£¬²¢½«ÎÞ·¨µ÷¶ÈµÄPodµ÷¶Èµ½Ðµ¯³öµÄ½ÚµãÉÏ¡£
virtual-kubelet-autoscaler
virtual-kubelet-autoscalerÊǰ¢ÀïÔÆÈÝÆ÷·þÎñKubernetes¿ªÔ´µÄ×é¼þ£¬ºÍCluster-AutoscalerµÄÔÀíÀàËÆ£¬µ±PodÓÉÓÚ×ÊÔ´ÎÊÌâÎÞ·¨µ÷¶Èʱ£¬´Ëʱµ¯³öµÄ²»Êǽڵ㣬¶øÊǽ«Pod°ó¶¨µ½ÐéÄâ½ÚµãÉÏ£¬²¢Í¨¹ýECIµÄ·½Ê½½«Pod½øÐÐÆô¶¯¡£
Demo Show Case

×îºó¸ø´ó¼Ò½øÐÐÒ»¸ö¼òµ¥µÄDemoÑÝʾ£ºÓ¦ÓÃÖ÷ÌåÊÇapiservice£¬apiservice»áͨsub-apiserviceµ÷ÓÃdatabase£¬½ÓÈë²ãͨ¹ýingress½øÐйÜÀí¡£ÎÒÃÇͨ¹ýPTSÄ£ÄâÉϲã²úÉúµÄÁ÷Á¿£¬²¢Í¨¹ýSLS²É¼¯½ÓÈë²ãµÄÈÕÖ¾£¬ARMS²É¼¯Ó¦ÓõÄÐÔÄÜÖ¸±ê£¬²¢Í¨¹ýalibaba-cloud-metrics-adapster±©Â¶external metrics´¥·¢HPAÖØÐ¼ÆË㹤×÷¸ºÔصĸ±±¾£¬µ±ÉìËõµÄPodÕ¼Âú¼¯Èº×ÊԴʱ£¬´¥·¢virtual-kubelet-autoscalerÉú³ÉECI³ÐÔØ³¬¹ý¼¯ÈºÈÝÁ¿¹æ»®µÄ¸ºÔØ¡£
×ܽá
ÔÚ°¢ÀïÔÆÈÝÆ÷·þÎñKubernetesÉÏʹÓÃ¼à¿ØºÍµ¯ÐÔµÄÄÜÁ¦ÊǷdz£¼òµ¥µÄ£¬¿ª·¢ÕßÖ»ÐèÒ»¼ü°²×°ÏàÓ¦µÄ×é¼þChart¼´¿ÉÍê³É½ÓÈ룬ͨ¹ý¶àά¶ÈµÄ¼à¿Ø¡¢µ¯ÐÔÄÜÁ¦£¬¿ÉÒÔÈÃÔÆÔÉúÓ¦ÓÃÔÚ×îµÍµÄ³É±¾Ï»ñµÃ¸ü¸ßµÄÎȶ¨ÐԺͳ°ôÐÔ¡£
|