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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
KubernetesÓëÔÆÔ­ÉúÓ¦ÓøÅÀÀ
 
À´Ô´£ºInfoQ ·¢²¼ÓÚ£º 2017-11-10
  3625  次浏览      27
 

´ÓÔÆ¼ÆË㵽΢·þÎñÔÙµ½ÔÆÔ­Éú¼ÆËã

ÏÂÃæ½«´ÓÔÆ¼ÆËãµÄ·¢Õ¹Àú³ÌÒýÈëÔÆÔ­Éú¼ÆË㣬ÇëÏÈ¿´ÏÂͼ£º

ÔÆ¼ÆËã½éÉÜ

ÔÆ¼ÆËã°üº¬µÄÄÚÈÝÊ®·Ö·±ÔÓ£¬Ò²Óкܶ༼ÊõºÍ¹«Ë¾Ç£Ç¿¸°»á˵×Ô¼ºÊÇÔÆ¼ÆË㹫˾£¬Ëµ×Ô¼ºÊÇ×öÔÆµÄ£¬Êµ¼ÊÉÏ¿ÉÄÜ·çÂíÅ£²»Ï༰¡£Ëµ°×ÁË£¬ÔƼÆËã¾ÍÊÇÒ»ÖÖÅäÖÃ×ÊÔ´µÄ·½Ê½£¬¸ù¾Ý×ÊÔ´ÅäÖ÷½Ê½µÄ²»Í¬ÎÒÃÇ¿ÉÒÔ°ÑÔÆ¼ÆËã´Óºê¹ÛÉÏ·ÖΪÒÔÏÂÈýÖÖÀàÐÍ£º

1.IaaS£ºÕâÊÇΪÁËÏëÒª½¨Á¢×Ô¼ºµÄÉÌҵģʽ²¢½øÐÐ×Ô¶¨ÒåµÄ¿Í»§£¬ÀýÈçÑÇÂíÑ·µÄEC2¡¢S3´æ´¢¡¢RackspaceÐéÄâ»úµÈ¶¼ÊÇIaaS¡£

2.PaaS£º¹¤¾ßºÍ·þÎñµÄ¼¯ºÏ£¬¶ÔÓÚÏëÓÃËüÀ´¹¹½¨×Ô¼ºµÄÓ¦ÓóÌÐò»òÕßÏë¿ìËٵý«Ó¦ÓóÌÐò²¿Êðµ½Éú²ú»·¾³¶ø²»±Ø¹ØÐĵײãÓ²¼þµÄÓû§ºÍ¿ª·¢ÕßÀ´ËµÊÇÌØ±ðÓÐÓõ쬱ÈÈçCloud Foundry¡¢Google App Engine¡¢HerokuµÈ¡£

3.SaaS£ºÖÕ¶ËÓû§¿ÉÒÔÖ±½ÓʹÓõÄÓ¦ÓóÌÐò¡£Õâ¸ö¾ÍÌ«¶à£¬ÎÒÃÇÉú»îÖÐÓõ½µÄºÜ¶àÈí¼þ¶¼ÊÇSaaS·þÎñ£¬Ö»Òª»ùÓÚ»¥ÁªÍøÀ´ÌṩµÄ·þÎñ»ù±¾¶¼ÊÇSaaS·þÎñ£¬ÓеķþÎñÊÇÃâ·ÑµÄ£¬±ÈÈçGoogle Docs£¬»¹Óиü¶àµÄÊǸù¾ÝÎÒÃǹºÂòµÄPlanºÍʹÓÃÁ¿¸¶·Ñ£¬±ÈÈçGitHub¡¢¸÷ÖÖÔÆ´æ´¢¡£

΢·þÎñ½éÉÜ

΢·þÎñ£¨Microservices£©Õâ¸ö´Ê±È½ÏÐÂÓ±£¬µ«ÊÇÆäʵÕâÖּܹ¹Éè¼ÆÀíÄîÔç¾ÍÓÐÁË¡£Î¢·þÎñÊÇÒ»ÖÖ·Ö²¼Ê½¼Ü¹¹Éè¼ÆÀíÄΪÁËÍÆ¶¯Ï¸Á£¶È·þÎñµÄʹÓã¬ÕâЩ·þÎñÒªÄÜЭͬ¹¤×÷£¬Ã¿¸ö·þÎñ¶¼ÓÐ×Ô¼ºµÄÉúÃüÖÜÆÚ¡£Ò»¸ö΢·þÎñ¾ÍÊÇÒ»¸ö¶ÀÁ¢µÄʵÌ壬¿ÉÒÔ¶ÀÁ¢µÄ²¿ÊðÔÚPAASƽ̨ÉÏ£¬Ò²¿ÉÒÔ×÷Ϊһ¸ö¶ÀÁ¢µÄ½ø³ÌÔÚÖ÷»úÖÐÔËÐС£·þÎñÖ®¼äͨ¹ýAPI·ÃÎÊ£¬ÐÞ¸ÄÒ»¸ö·þÎñ²»»áÓ°ÏìÆäËü·þÎñ¡£

ÒªÏëÁ˽â΢·þÎñµÄÏêϸÄÚÈÝÍÆ¼öÔĶÁ¡¶Î¢·þÎñÉè¼Æ¡·£¨Sam NewmanÖø£©£¬ÎÒд¹ýÕâ±¾ÊéµÄ¶ÁÊé±Ê¼Ç - ΢·þÎñÉè¼Æ¶ÁÊé±Ê¼Ç¡£

ÏÂÎÄÖлá̸µ½kubernetesÓë΢·þÎñµÄ¹ØÏµ£¬ÆäÖÐkubernetesµÄserviceÌìÉú¾ÍÊʺÏÓë΢·þÎñ¡£

ÔÆÔ­Éú¸ÅÄî½éÉÜ

ÏÂÃæÊÇCloud Native¸ÅÄî˼άµ¼Í¼

ÔÆÔ­Éú׼ȷÀ´ËµÊÇÒ»ÖÖÎÄ»¯£¬¸üÊÇÒ»ÖÖ³±Á÷£¬ËüÊÇÔÆ¼ÆËãµÄÒ»¸ö±ØÈ»µ¼Ïò¡£ËüµÄÒâÒåÔÚÓÚÈÃÔÆ³ÉÎªÔÆ»¯Õ½ÂԳɹ¦µÄ»ùʯ£¬¶ø²»ÊÇ×è°­£¬Èç¹ûÒµÎñÓ¦ÓÃÉÏÔÆÖ®ºó¿ª·¢ºÍÔËάÈËÔ±±ÈÔ­ÏÈ»¹Í´¿à£¬³É±¾¸ßÆóµÄ»°£¬ÕâÑùµÄÔÆÎÒÃÇÄþÔ¸²»²»ÉÏ¡£

×Ô´ÓÔÆµÄ¸ÅÄʼÆÕ¼°£¬Ðí¶à¹«Ë¾¶¼²¿ÊðÁËÊµÊ©ÔÆ»¯µÄ²ßÂÔ£¬·×·×´î½¨ÆðÔÆÆ½Ì¨£¬Ï£ÍûÍê³É´«Í³Ó¦Óõ½Ôƶ˵ÄÇ¨ÒÆ¡£µ«ÊÇÕâ¸ö¹ý³ÌÖлáÓöµ½Ò»Ð©¼¼ÊõÄÑÌ⣬ÉÏÔÆÒÔºó£¬Ð§Âʲ¢Ã»ÓбäµÃÆæ¸ß£¬¹ÊÕÏҲûÓÐѸËÙ¶¨Î»¡£

ΪÁ˽â¾ö´«Í³Ó¦ÓÃÉý¼¶»ºÂý¡¢¼Ü¹¹Ó·Öס¢²»ÄÜ¿ìËÙµü´ú¡¢¹ÊÕϲ»ÄÜ¿ìËÙ¶¨Î»¡¢ÎÊÌâÎÞ·¨¿ìËÙ½â¾öµÈÎÊÌâ£¬ÔÆÔ­ÉúÕâÒ»¸ÅÄîºá¿Õ³öÊÀ¡£ÔÆÔ­Éú¿ÉÒԸĽøÓ¦Óÿª·¢µÄЧÂÊ£¬¸Ä±äÆóÒµµÄ×éÖ¯½á¹¹£¬ÉõÖÁ»áÔÚÎÄ»¯²ãÃæÉÏÖ±½ÓÓ°ÏìÒ»¸ö¹«Ë¾µÄ¾ö²ß¡£

ÁíÍâ£¬ÔÆÔ­ÉúÒ²ºÜºÃµØ½âÊÍÁËÔÆÉÏÔËÐеÄÓ¦ÓÃÓ¦¸Ã¾ß±¸Ê²Ã´ÑùµÄ¼Ü¹¹ÌØÐÔ¡ª¡ªÃô½ÝÐÔ¡¢¿ÉÀ©Õ¹ÐÔ¡¢¹ÊÕϿɻָ´ÐÔ¡£

×ÛÉÏËùÊö£¬ÔÆÔ­ÉúÓ¦ÓÃÓ¦¸Ã¾ß±¸ÒÔϼ¸¸ö¹Ø¼ü´Ê£º

1.Ãô½Ý

2.¿É¿¿

3.¸ßµ¯ÐÔ

4.Ò×À©Õ¹

5.¹ÊÕϸôÀë±£»¤

6.²»ÖжÏÒµÎñ³ÖÐø¸üÐÂ

ÒÔÉÏÌØÐÔÒ²ÊÇÔÆÔ­ÉúÇø±ðÓÚ´«Í³ÔÆÓ¦ÓõÄÓÅÊÆÌØµã¡£

´Óºê¹Û¸ÅÄîÉϽ²£¬ÔÆÔ­ÉúÊDz»Í¬Ë¼ÏëµÄ¼¯ºÏ£¬¼¯Ä¿Ç°¸÷ÖÖÈÈÃż¼ÊõÖ®´ó³É£¬¾ßÌå°üÀ¨ÈçÏÂͼËùʾµÄ¼¸¸ö²¿·Ö¡£

KubernetesÓëÔÆÔ­ÉúµÄ¹ØÏµ

Kuberentes¿ÉÒÔ˵ÊdzË×ÅdockerºÍ΢·þÎñµÄ¶«·ç£¬ÒѾ­ÍƳö±ãѸËٴں죬ËüµÄºÜ¶àÉè¼ÆË¼Ïë¶¼ÆõºÏÁË΢·þÎñºÍÔÆÔ­ÉúÓ¦ÓõÄÉè¼Æ·¨Ôò£¬ÕâÆäÖÐ×îÖøÃûµÄ¾ÍÊÇ¿ª·¢ÁËHeroku PaaSƽ̨µÄ¹¤³ÌʦÃÇ×ܽáµÄ Twelve-factor AppÁË¡£

ÏÂÃæÎÒ½«½²½âKubernetesÉè¼ÆÊ±ÊÇÈçºÎ°´ÕÕÁËÊ®¶þÒòËØÓ¦Ó÷¨Ôò£¬²¢¸ø³ökubernetesÖеÄÓ¦ÓÃʾÀý£¬²¢¸½ÉÏÒ»¾ä»°¼ò¶ÌµÄ½éÉÜ¡£

Kubernetes½éÉÜ

KubernetesÊÇGoogle»ùÓÚBorg¿ªÔ´µÄÈÝÆ÷±àÅŵ÷¶ÈÒýÇæ£¬×÷ΪCNCF£¨Cloud Native Computing Foundation£©×îÖØÒªµÄ×é¼þÖ®Ò»£¬ËüµÄÄ¿±ê²»½ö½öÊÇÒ»¸ö±àÅÅϵͳ£¬¶øÊÇÌṩһ¸ö¹æ·¶£¬¿ÉÒÔÈÃÄãÀ´ÃèÊö¼¯ÈºµÄ¼Ü¹¹£¬¶¨Òå·þÎñµÄ×îÖÕ״̬£¬kubernetes¿ÉÒÔ°ïÄ㽫ϵͳ×Ô¶¯µÃ´ïµ½ºÍά³ÖÔÚÕâ¸ö״̬¡£

¸üÖ±°×µÄ˵£¬KubernetesÓû§¿ÉÒÔͨ¹ý±àдһ¸öyaml»òÕßjson¸ñʽµÄÅäÖÃÎļþ£¬Ò²¿ÉÒÔͨ¹ý¹¤¾ß/´úÂëÉú³É»òÖ±½ÓÇëÇókubernetes API´´½¨Ó¦Ó㬸ÃÅäÖÃÎļþÖаüº¬ÁËÓû§ÏëÒªÓ¦ÓóÌÐò±£³ÖµÄ״̬£¬²»ÂÛÕû¸ökubernetes¼¯ÈºÖеĸö±ðÖ÷»ú·¢ÉúʲôÎÊÌ⣬¶¼²»»áÓ°ÏìÓ¦ÓóÌÐòµÄ״̬£¬Ä㻹¿ÉÒÔͨ¹ý¸Ä±ä¸ÃÅäÖÃÎļþ»òÇëÇókubernetes APIÀ´¸Ä±äÓ¦ÓóÌÐòµÄ״̬¡£

12ÒòËØÓ¦ÓÃ

12ÒòËØÓ¦ÓÃÌá³öÒѾ­Óм¸ÄêµÄʱ¼äÁË£¬Ã¿¸öÈË¶ÔÆä¿ÉÄܶ¼ÓÐ×Ô¼ºµÄÀí½â£¬Çв»¿ÉÉú°áÓ²Ì×£¬Ò²²»Ò»¶¨ËùÓÐÔÆÔ­ÉúÓ¦Óö¼±ØÐë·ûºÏÕâ12Ìõ·¨Ôò£¬ÆäÖÐÓм¸Ìõ·¨Ôò¿ÉÄÜ»¹ÓеãÕùÒ飬ÓÐÈË¶ÔÆäµÄ½âÊͺͿ´·¨²»Í¬¡£

´ó¼Ò²»Òª¹ÂÁ¢µÄÀ´¿´Õâÿһ¸öÒòËØ£¬½«ÆäÓë×Ô¼ºÈí¼þ¿ª·¢Á÷³ÌÁªÏµÆðÀ´£¬Õâ12¸öÒòËØ´óÖ¾ÍÊǰ´ÕÕÈí¼þ´Ó¿ª·¢µ½½»¸¶µÄÁ÷³Ì˳ÐòÀ´Ð´µÄ¡£

1.»ù×¼´úÂë

ÿ¸ö´úÂë²Ö¿â£¨repo£©¶¼Éú³Édocker image±£´æµ½¾µÏñ²Ö¿âÖУ¬²¢Ê¹ÓÃΨһµÄID¹ÜÀí£¬ÔÚJenkinsÖÐʹÓñàÒëʱµÄID¡£

2.ÒÀÀµ

ÏÔʽµÃÉùÃ÷´úÂëÖеÄÒÀÀµ£¬Ê¹ÓÃÈí¼þ°ü¹ÜÀí¹¤¾ßÉùÃ÷£¬±ÈÈçGoÖеÄGlide¡£

3.ÅäÖÃ

½«ÅäÖÃÓë´úÂë·ÖÀ룬ӦÓò¿Êðµ½kuberneteÖпÉÒÔʹÓÃÈÝÆ÷µÄ»·¾³±äÁ¿»òConfigMap¹ÒÔØµ½ÈÝÆ÷ÖС£

4.ºó¶Ë·þÎñ

°Ñºó¶Ë·þÎñµ±×÷¸½¼Ó×ÊÔ´£¬ÊµÖÊÉÏÊǼÆËã´æ´¢·ÖÀëºÍ½µµÍ·þÎññîºÏ£¬·Ö½âµ¥ÌåÓ¦Óá£

5.¹¹½¨¡¢·¢²¼¡¢ÔËÐÐ

Ñϸñ·ÖÀë¹¹½¨ºÍÔËÐУ¬Ã¿´ÎÐ޸ĴúÂëÉú³ÉеľµÏñ£¬ÖØÐ·¢²¼£¬²»ÄÜÖ±½ÓÐÞ¸ÄÔËÐÐʱµÄ´úÂëºÍÅäÖá£

6.½ø³Ì

Ó¦ÓóÌÐò½ø³ÌÓ¦¸ÃÊÇÎÞ״̬µÄ£¬ÕâÒâζ×ÅÔÙ´ÎÖØÆôºó»¹¿ÉÒÔ¼ÆËã³öÔ­ÏȵÄ״̬¡£

7.¶Ë¿Ú°ó¶¨

ÔÚkubernetesÖÐÿ¸öPod¶¼ÓжÀÁ¢µÄIP£¬Ã¿¸öÔËÐÐÔÚPodÖеÄÓ¦Óò»±Ø¹ØÐĶ˿ÚÊÇ·ñÖØ¸´£¬Ö»ÐèÔÚserviceÖÐÖ¸¶¨¶Ë¿Ú£¬¼¯ÈºÄÚµÄserviceͨ¹ýÅäÖû¥Ïà·¢ÏÖ¡£

8.²¢·¢

ÿ¸öÈÝÆ÷¶¼ÊÇÒ»¸ö½ø³Ì£¬Í¨¹ýÔö¼ÓÈÝÆ÷µÄ¸±±¾ÊýʵÏÖ²¢·¢¡£

9.Ò×´¦Àí

¿ìËÙÆô¶¯ºÍÓÅÑÅÖÕÖ¹¿É×î´ó»¯½¡×³ÐÔ£¬kuberentesÓÅÐãµÄPodÉú´æÖÜÆÚ¿ØÖÆ¡£

10.¿ª·¢»·¾³ÓëÏßÉÏ»·¾³µÈ¼Û

ÔÚkubernetesÖпÉÒÔ´´½¨¶à¸önamespace£¬Ê¹ÓÃÏàͬµÄ¾µÏñ¿ÉÒԺܷ½±ãµÄ¸´ÖÆÒ»Ì×»·¾³³öÀ´£¬¾µÏñµÄʹÓÿÉÒԺܷ½±ãµÄ²¿ÊðÒ»¸öºó¶Ë·þÎñ¡£

11.ÈÕÖ¾

°ÑÈÕÖ¾µ±×÷ʼþÁ÷£¬Ê¹ÓÃstdoutÊä³ö²¢ÊÕ¼¯»ã¾ÛÆðÀ´£¬ÀýÈçµ½ESÖÐͳһ²é¿´¡£

12.¹ÜÀí½ø³Ì

ºǫ́¹ÜÀíÈÎÎñµ±×÷Ò»´ÎÐÔ½ø³ÌÔËÐУ¬kubectl exec½øÈëÈÝÆ÷ÄÚ²¿²Ù×÷¡£

ÁíÍ⣬Cloud Native Go Õâ±¾ÊéµÄ×÷Õߣ¬CapitalOne¹«Ë¾µÄKevin HoffmanÔÚTalkingData T11·å»áÉϵÄHigh Level Cloud NativeµÄÑݽ²Öн²ÊöÁËÔÆÔ­ÉúÓ¦ÓõÄ15¸öÒòËØ£¬ÔÚÔ­ÏȵÄ12ÒòËØÓ¦ÓõĻù´¡ÉÏÓÖÔö¼ÓÁËÈçÏÂÈý¸öÒòËØ£º

APIÓÅÏÈ

1.·þÎñ¼äµÄºÏÔ¼

2.ÍŶÓЭ×÷µÄ¹æÔ¼

3.Îĵµ»¯¡¢¹æ·¶»¯

4.RESTful»òRPC

¼à¿Ø

1.ʵʱ¼à¿ØÔ¶³ÌÓ¦ÓÃ

2.Ó¦ÓÃÐÔÄÜ¼à¿Ø£¨APM£©

3.Ó¦Óý¡¿µ¼à¿Ø

4.ϵͳÈÕÖ¾

5.²»½¨ÒéÔÚÏßDebug

ÈÏÖ¤ÊÚȨ

1.²»ÒªµÈ×îºó²ÅÈ¥¿¼ÂÇÓ¦ÓõݲȫÐÔ

2.ÏêϸÉè¼Æ¡¢Ã÷È·ÉùÃ÷¡¢Îĵµ»¯

3.Bearer token¡¢OAuth¡¢OIDCÈÏÖ¤

4.²Ù×÷Éó¼Æ

Ïê¼ûHigh Level Cloud Native From Kevin Hoffman¡£

KubernetesÖеÄ×ÊÔ´¹ÜÀíÓëÈÝÆ÷Éè¼ÆÄ£Ê½

Kubernetesͨ¹ýÉùÃ÷ʽÅäÖã¬ÕæÕýÈÿª·¢ÈËÔ±Äܹ»Àí½âÓ¦ÓõÄ״̬£¬²¢Í¨¹ýͬһ·ÝÅäÖÿÉÒÔÁ¢ÂíÆô¶¯Ò»¸öһģһÑùµÄ»·¾³£¬´ó´óÌá¸ßÁËÓ¦Óÿª·¢ºÍ²¿ÊðµÄЧÂÊ£¬ÆäÖÐkubernetesÉè¼ÆµÄ¶àÖÖ×ÊÔ´ÀàÐÍ¿ÉÒÔ°ïÖúÎÒÃǶ¨ÒåÓ¦ÓõÄÔËÐÐ״̬£¬²¢Ê¹ÓÃ×ÊÔ´ÅäÖÃÀ´Ï¸Á£¶ÈµÃÃ÷È·ÏÞÖÆÓ¦ÓõÄ×ÊԴʹÓá£

ÈÝÆ÷µÄÉè¼ÆÄ£Ê½

KubernetesÌṩÁ˶àÖÖ×ÊÔ´¶ÔÏó£¬Óû§¿ÉÒÔ¸ù¾Ý×Ô¼ºÓ¦ÓõÄÌØÐÔ¼ÓÒÔÑ¡Ôñ¡£ÕâЩ¶ÔÏóÓУº

ÔÚ Kubernetes ϵͳÖУ¬Kubernetes ¶ÔÏó Êdz־û¯µÄÌõÄ¿¡£Kubernetes ʹÓÃÕâЩÌõĿȥ±íʾÕû¸ö¼¯ÈºµÄ״̬¡£ÌØ±ðµØ£¬ËüÃÇÃèÊöÁËÈçÏÂÐÅÏ¢£º

1.ʲôÈÝÆ÷»¯Ó¦ÓÃÔÚÔËÐУ¨ÒÔ¼°ÔÚÄĸö Node ÉÏ£©

2.¿ÉÒÔ±»Ó¦ÓÃʹÓõÄ×ÊÔ´

3.¹ØÓÚÓ¦ÓÃÈçºÎ±íÏֵIJßÂÔ£¬±ÈÈçÖØÆô²ßÂÔ¡¢Éý¼¶²ßÂÔ£¬ÒÔ¼°ÈÝ´í²ßÂÔ

Kubernetes ¶ÔÏóÊÇ ¡°Ä¿±êÐԼǼ¡± ¡ª¡ª Ò»µ©´´½¨¶ÔÏó£¬Kubernetes ϵͳ½«³ÖÐø¹¤×÷ÒÔÈ·±£¶ÔÏó´æÔÚ¡£Í¨¹ý´´½¨¶ÔÏ󣬿ÉÒÔÓÐЧµØ¸æÖª Kubernetes ϵͳ£¬ËùÐèÒªµÄ¼¯Èº¹¤×÷¸ºÔØ¿´ÆðÀ´ÊÇʲôÑù×ӵģ¬Õâ¾ÍÊÇ Kubernetes ¼¯ÈºµÄ ÆÚÍû״̬¡£

Ïê¼ûKubernetes Handbook - Objects¡£

×ÊÔ´ÏÞÖÆÓëÅä¶î

Á½²ãµÄ×ÊÔ´ÏÞÖÆÓëÅäÖÃ

1.Pod¼¶±ð£¬×îСµÄ×ÊÔ´µ÷¶Èµ¥Î»

2.Namespace¼¶±ð£¬ÏÞÖÆ×ÊÔ´Åä¶îºÍÿ¸öPodµÄ×ÊԴʹÓÃÇø¼ä

Çë²Î¿¼KubernetesÖеÄResourceQuotaºÍLimitRangeÅäÖÃ×ÊÔ´ÏÞ¶î

¹ÜÀíKubernetes¼¯Èº

ÊÖ¹¤²¿ÊðKubernetesÊÇÒ»¸öºÜ¼è¾ÞµÄ»î£¬ÄãÐèÒªÁ˽âÍøÂçÅäÖá¢dockerµÄ°²×°ÓëʹÓᢾµÏñ²Ö¿âµÄ¹¹½¨¡¢½Çɫ֤ÊéµÄ´´½¨¡¢kubernetesµÄ»ù±¾Ô­ÀíºÍ¹¹³É¡¢kubernetesÓ¦ÓóÌÐòµÄyamlÎļþ±àдµÈ¡£

ÎÒ±àдÁËÒ»±¾kubernetes-handbook¿É¹©´ó¼ÒÃâ·ÑÔĶÁ£¬¸ÃÊé¼Ç¼Á˱¾ÈË´ÓÁ㿪ʼѧϰºÍʹÓÃKubernetesµÄÐÄ·Àú³Ì£¬×ÅÖØÓÚ¾­Ñé·ÖÏíºÍ×ܽᣬͬʱҲ»áÓÐÏà¹ØµÄ¸ÅÄî½âÎö£¬Ï£ÍûÄܹ»°ïÖú´ó¼ÒÉٲȿӣ¬ÉÙ×ßÍä·¡£

²¿ÊðKubernetes¼¯Èº

ʹÓöþ½øÖƲ¿Êð kubernetes ¼¯ÈºµÄËùÓÐ×é¼þºÍ²å¼þ£¬¶ø²»ÊÇʹÓà kubeadm µÈ×Ô¶¯»¯·½Ê½À´²¿Êð¼¯Èº£¬Í¬Ê±¿ªÆôÁ˼¯ÈºµÄTLS°²È«ÈÏÖ¤£¬ÕâÑù¿ÉÒÔ°ïÖúÎÒÃǽâϵͳ¸÷×é¼þµÄ½»»¥Ô­Àí£¬½ø¶øÄÜ¿ìËÙ½â¾öʵ¼ÊÎÊÌâ¡£Ïê¼ûKubernetes Handbook - ÔÚCentOSÉϲ¿Êðkubernetes1.6¼¯Èº¡£

¼¯ÈºÏêÇé

1.Kubernetes 1.6.0

2.Docker 1.12.5£¨Ê¹ÓÃyum°²×°£©

3.Etcd 3.1.5

4.Flanneld 0.7 vxlan ÍøÂç

5.TLS ÈÏ֤ͨÐÅ (ËùÓÐ×é¼þ£¬Èç etcd¡¢kubernetes master ºÍ node)

6.RBAC ÊÚȨ

7.kublet TLS BootStrapping

8.kubedns¡¢dashboard¡¢heapster(influxdb¡¢grafana)¡¢EFK(elasticsearch¡¢fluentd¡¢kibana) ¼¯Èº²å¼þ

9.˽ÓÐdocker¾µÏñ²Ö¿âharbor£¨Çë×ÔÐв¿Êð£¬harborÌṩÀëÏß°²×°°ü£¬Ö±½ÓʹÓÃdocker-composeÆô¶¯¼´¿É£©

²½Öè½éÉÜ

1 ´´½¨ TLS Ö¤ÊéºÍÃØÔ¿

2 ´´½¨kubeconfig Îļþ

3 ´´½¨¸ß¿ÉÓÃetcd¼¯Èº

4 °²×°kubectlÃüÁîÐй¤¾ß

5 ²¿Êðmaster½Úµã

6 ²¿Êðnode½Úµã

7 °²×°kubedns²å¼þ

8 °²×°dashboard²å¼þ

9 °²×°heapster²å¼þ

10 °²×°EFK²å¼þ

·þÎñ·¢ÏÖÓë¸ºÔØ¾ùºâ

KubernetesÔÚÉè¼ÆÖ®³õ¾Í³ä·Ö¿¼ÂÇÁËÕë¶ÔÈÝÆ÷µÄ·þÎñ·¢ÏÖÓë¸ºÔØ¾ùºâ»úÖÆ£¬ÌṩÁËService×ÊÔ´£¬²¢Í¨¹ýkube-proxyÅäºÏcloud providerÀ´ÊÊÓ¦²»Í¬µÄÓ¦Óó¡¾°¡£Ëæ×ÅkubernetesÓû§µÄ¼¤Ôö£¬Óû§³¡¾°µÄ²»¶Ï·á¸»£¬ÓÖ²úÉúÁËһЩеĸºÔؾùºâ»úÖÆ¡£Ä¿Ç°£¬kubernetesÖеĸºÔؾùºâ´óÖ¿ÉÒÔ·ÖΪÒÔϼ¸ÖÖ»úÖÆ£¬Ã¿ÖÖ»úÖÆ¶¼ÓÐÆäÌØ¶¨µÄÓ¦Óó¡¾°£º

1.Service£ºÖ±½ÓÓÃServiceÌṩclusterÄÚ²¿µÄ¸ºÔؾùºâ£¬²¢½èÖúcloud providerÌṩµÄLBÌṩÍⲿ·ÃÎÊ

2.Ingress£º»¹ÊÇÓÃServiceÌṩclusterÄÚ²¿µÄ¸ºÔؾùºâ£¬µ«ÊÇͨ¹ý×Ô¶¨ÒåLBÌṩÍⲿ·ÃÎÊ

3.Service Load Balancer£º°Ñload balancerÖ±½ÓÅÜÔÚÈÝÆ÷ÖУ¬ÊµÏÖBare MetalµÄService Load Balancer

4.Custom Load Balancer£º×Ô¶¨Òå¸ºÔØ¾ùºâ£¬²¢Ìæ´úkube-proxy£¬Ò»°ãÔÚÎïÀí²¿ÊðKubernetesʱʹÓ㬷½±ã½ÓÈ빫˾ÒÑÓеÄÍⲿ·þÎñ

Ïê¼ûKubernetes Handbook - ·þÎñ·¢ÏÖÓë¸ºÔØ¾ùºâ¡£

³ÖÐø¼¯³ÉÓë·¢²¼

Ó¦Óù¹½¨ºÍ·¢²¼Á÷³Ì˵Ã÷£º

1.Óû§ÏòGitlabÌá½»´úÂ룬´úÂëÖбØÐë°üº¬Dockerfile

2.½«´úÂëÌá½»µ½Ô¶³Ì²Ö¿â

3.Óû§ÔÚ·¢²¼Ó¦ÓÃʱÐèÒªÌîдgit²Ö¿âµØÖ·ºÍ·ÖÖ§¡¢·þÎñÀàÐÍ¡¢·þÎñÃû³Æ¡¢×ÊÔ´ÊýÁ¿¡¢ÊµÀý¸öÊý£¬È·¶¨ºó´¥·¢Jenkins×Ô¶¯¹¹½¨

4.JenkinsµÄCIÁ÷Ë®Ïß×Ô¶¯±àÒë´úÂë²¢´ò°ü³Édocker¾µÏñÍÆË͵½Harbor¾µÏñ²Ö¿â

5.JenkinsµÄCIÁ÷Ë®ÏßÖаüÀ¨ÁË×Ô¶¨Òå½Å±¾£¬¸ù¾ÝÎÒÃÇÒÑ×¼±¸ºÃµÄkubernetesµÄYAMLÄ£°å£¬½«ÆäÖеıäÁ¿Ìæ»»³ÉÓû§ÊäÈëµÄÑ¡Ïî

6.Éú³ÉÓ¦ÓõÄkubernetes YAMLÅäÖÃÎļþ

7.¸üÐÂIngressµÄÅäÖ㬸ù¾Ýв¿ÊðµÄÓ¦ÓõÄÃû³Æ£¬ÔÚingressµÄÅäÖÃÎļþÖÐÔö¼ÓÒ»Ìõ·ÓÉÐÅÏ¢

8.¸üÐÂPowerDNS£¬ÏòÆäÖвåÈëÒ»ÌõDNS¼Ç¼£¬IPµØÖ·ÊDZßÔµ½ÚµãµÄIPµØÖ·¡£¹ØÓÚ±ßÔµ½Úµã£¬Çë²é¿´±ßÔµ½ÚµãÅäÖÃ

9.Jenkinsµ÷ÓÃkubernetesµÄAPI£¬²¿ÊðÓ¦ÓÃ

ÈÕÖ¾ÊÕ¼¯Óë¼à¿Ø

»ùÓÚÏÖÓеÄELKÈÕÖ¾ÊÕ¼¯·½°¸£¬ÉÔ×÷¸ÄÔ죬ѡÓÃfilebeatÀ´ÊÕ¼¯ÈÕÖ¾£¬¿ÉÒÔ×÷ΪsidecarµÄÐÎʽ¸úÓ¦ÓÃÔËÐÐÔÚͬһ¸öPodÖУ¬±È½ÏÇáÁ¿¼¶ÏûºÄ×ÊÔ´±È½ÏÉÙ¡£

Ïê¼ûKubernetes Handbook - Ó¦ÓÃÈÕÖ¾ÊÕ¼¯¡£

°²È«ÐÔÓëȨÏÞ¹ÜÀí

KubernetesÊÇÒ»¸ö¶à×â»§µÄÔÆÆ½Ì¨£¬Òò´Ë±ØÐë¶ÔÓû§µÄȨÏÞ¼ÓÒÔÏÞÖÆ£¬¶ÔÓû§¿Õ¼ä½øÐиôÀë¡£KubernetesÖеĸôÀëÖ÷Òª°üÀ¨Õ⼸ÖÖ£º

1.ÍøÂç¸ôÀ룺ÐèҪʹÓÃÍøÂç²å¼þ£¬±ÈÈçcalico¡£

2.×ÊÔ´¸ôÀ룺kubernetesÔ­ÉúÖ§³Ö×ÊÔ´¸ôÀ룬pod¾ÍÊÇ×ÊÔ´¾ÍÊǸôÀëºÍµ÷¶ÈµÄ×îСµ¥Î»£¬Í¬Ê±Ê¹ÓÃnamespaceÏÞÖÆÓû§¿Õ¼äºÍ×ÊÔ´ÏÞ¶î¡£

3.Éí·Ý¸ôÀ룺ʹÓÃRBAC-»ùÓÚ½ÇÉ«µÄ·ÃÎÊ¿ØÖÆ£¬¶à×â»§µÄÉí·ÝÈÏÖ¤ºÍȨÏÞ¿ØÖÆ¡£

ÈçºÎ¿ª·¢KubernetesÔ­ÉúÓ¦Óò½Öè½éÉÜ

µ±ÎÒÃÇÓÐÁËÒ»¸ökubernetes¼¯Èººó£¬ÈçºÎÔÚÉÏÃæ¿ª·¢ºÍ²¿ÊðÓ¦Óã¬Ó¦¸Ã×ñÑ­ÔõÑùµÄÁ÷³Ì£¿ÏÂÃæÎÒ½«Õ¹Ê¾ÈçºÎʹÓÃgoÓïÑÔ¿ª·¢ºÍ²¿ÊðÒ»¸ökubernetes nativeÓ¦Óã¬Ê¹ÓÃwercker½øÐгÖÐø¼¯³ÉÓë³ÖÐø·¢²¼£¬ÎÒ½«ÒÔÒ»¸öºÜ¼òµ¥µÄǰºó¶Ë·ÃÎÊ£¬»ñȡαÔìÊý¾Ý²¢Õ¹Ê¾µÄÀý×ÓÀ´ËµÃ÷¡£

ÔÆÔ­ÉúÓ¦Óÿª·¢Ê¾Àý

ÎÒÃǽ«°´ÕÕÈçϲ½ÖèÀ´¿ª·¢²¿ÊðÒ»¸ökubernetesÔ­ÉúÓ¦Óò¢½«Ëü²¿Êðµ½kubernetes¼¯ÈºÉÏ¿ª·Å¸ø¼¯ÈºÍâ·ÃÎÊ£º

1.·þÎñAPIµÄ¶¨Òå

2.ʹÓÃGoÓïÑÔ¿ª·¢kubernetesÔ­ÉúÓ¦ÓÃ

3.Ò»¸ö³ÖÐø¹¹½¨Óë·¢²¼¹¤¾ßÓë»·¾³

4.ʹÓÃtraefikºÍVIP×ö±ßÔµ½ÚµãÌṩÍⲿ·ÃÎÊ·ÓÉ

ÎÒдÁËÁ½¸öʾÀýÓÃÓÚÑÝʾ£¬¿ª·¢²¿ÊðÒ»¸öαÔìµÄ metric ²¢ÏÔʾÔÚ web Ò³ÃæÉÏ£¬°üÀ¨Á½¸öservice£º

1.k8s-app-monitor-test£ºÉú³ÉÄ£ÄâµÄ¼à¿ØÊý¾Ý£¬·¢ËÍhttpÇëÇ󣬻ñÈ¡json·µ»ØÖµ

2.K8s-app-monitor-agent£º»ñÈ¡¼à¿ØÊý¾Ý²¢»æÍ¼£¬·ÃÎÊä¯ÀÀÆ÷»ñȡͼ±í

¶¨ÒåAPIÉú³ÉAPIÎĵµ

ʹÓÃAPI blueprint¸ñʽ£¬¶¨ÒåAPIÎĵµ£¬¸ñʽÀàËÆÓÚmarkdown£¬ÔÙʹÓÃaglioÉú³ÉHTMLÎĵµ¡£

Ïê¼û£ºÈçºÎ¿ª·¢²¿Êðkubernetes nativeÓ¦Óá£

ÈçºÎÇ¨ÒÆµ½ÔÆÔ­ÉúÓ¦Óüܹ¹

Pivotal ÊÇÔÆÔ­ÉúÓ¦ÓõÄÌá³öÕߣ¬²¢ÍƳöÁË Pivotal Cloud Foundry ÔÆÔ­ÉúÓ¦ÓÃÆ½Ì¨ºÍ Spring ¿ªÔ´ Java ¿ª·¢¿ò¼Ü£¬³ÉÎªÔÆÔ­ÉúÓ¦Óüܹ¹ÖÐÏÈÇýÕߺÍ̽·Õß¡£

Ô­Êé×÷ÓÚ2015Ä꣬ÆäÖеÄʾÀýÖ÷ÒªÕë¶Ô Java Ó¦Óã¬Êµ¼ÊÉÏÒ²ÊÊÓÃÓÚÈκÎÓ¦ÓÃÀàÐÍ£¬ÔÆÔ­ÉúÓ¦Óüܹ¹ÊÊÓÃÓÚÒì¹¹ÓïÑԵijÌÐò¿ª·¢£¬²»½ö½öÊÇÕë¶Ô Java ÓïÑԵijÌÐò¿ª·¢¡£½ØÖ¹µ½±¾ÈË·­Òë±¾Êéʱ£¬ÔÆÔ­ÉúÓ¦ÓÃÉú̬ϵͳÒѾ­³õ¾ß¹æÄ££¬CNCF ³ÉÔ±²»¶Ï·¢Õ¹×³´ó£¬»ùÓÚ Cloud Native µÄ´´Òµ¹«Ë¾²»¶ÏÓ¿ÏÖ£¬kubernetes ÒýÁìÈÝÆ÷±àÅų±Á÷£¬ºÍ Service Mesh ¼¼Êõ£¨Èç Linkerd ºÍ Istio£© µÄ³öÏÖ£¬Go ÓïÑÔµÄÐËÆð£¨²Î¿¼ÁíÒ»±¾Êé Cloud Native Go£©µÈΪÎÒÃǽ«Ó¦ÓÃÇ¨ÒÆµ½ÔÆÔ­Éú¼Ü¹¹µÄÌṩÁ˸ü¶àµÄ·½°¸Ñ¡Ôñ¡£

Ç¨ÒÆµ½ÔÆÔ­ÉúÓ¦Óüܹ¹Ö¸ÄÏ

Ö¸³öÁËÇ¨ÒÆµ½ÔÆÔ­ÉúÓ¦Óüܹ¹ÐèÒª×ö³öµÄÆóÒµÎÄ»¯¡¢×éÖ¯¼Ü¹¹ºÍ¼¼Êõ±ä¸ï£¬²¢¸ø³öÁËÇ¨ÒÆÖ¸ÄÏ¡£

Ö÷ÒªÌÖÂÛµÄÓ¦ÓóÌÐò¼Ü¹¹°üÀ¨£º

1.Ê®¶þÒòËØÓ¦ÓóÌÐò£ºÔÆÔ­ÉúÓ¦ÓóÌÐò¼Ü¹¹Ä£Ê½µÄ¼¯ºÏ

2.΢·þÎñ£º¶ÀÁ¢²¿ÊðµÄ·þÎñ£¬Ö»×öÒ»¼þÊÂÇé

3.×ÔÖú·þÎñµÄÃô½Ý»ù´¡ÉèÊ©£º¿ìËÙ£¬¿ÉÖØ¸´ºÍÒ»ÖµØÌṩӦÓû·¾³ºÍºǫ́·þÎñµÄƽ̨

4.»ùÓÚAPIµÄЭ×÷£º·¢²¼ºÍ°æ±¾»¯µÄAPI£¬ÔÊÐíÔÚÔÆÔ­ÉúÓ¦ÓóÌÐò¼Ü¹¹ÖеķþÎñÖ®¼ä½øÐн»»¥

5.¿¹Ñ¹ÐÔ£º¸ù¾ÝѹÁ¦±äÇ¿µÄϵͳ

Ïê¼û£ºÇ¨ÒƵ½ÔÆÔ­ÉúÓ¦Óüܹ¹

Ç¨ÒÆ°¸Àý½âÎö

Ç¨ÒÆ²½ÖèʾÒâͼÈçÏ£º

²½Öè˵Ã÷£º

1.½«Ô­ÓÐÓ¦Óòð½âΪ·þÎñ

2.ÈÝÆ÷»¯¡¢ÖÆ×÷¾µÏñ

3.×¼±¸Ó¦ÓÃÅäÖÃÎļþ

4.×¼±¸kubernetes YAMLÎļþ

5.±àдbootstarp½Å±¾

´´½¨ConfigMaps6.

Ïê¼û£ºÇ¨ÒÆ´«Í³Ó¦Óõ½Kubernetes²½ÖèÏê½â¡ª¡ªÒÔHadoop YARNΪÀý¡£

Service mesh»ù±¾Ô­ÀíºÍʾÀý½éÉÜ

Service meshÏÖÔÚÒ»°ã±»·­Òë×÷·þÎñÍø¸ñ£¬Ä¿Ç°Ö÷Á÷µÄService meshÓÐÈçÏÂÁ½¿î£º

1.Istio£ºIBM¡¢Google¡¢Lyft¹²Í¬¿ªÔ´£¬ÏêϸÎĵµ¼ûIstio¹Ù·½ÎĵµÖÐÎİæ

2.Linkerd£ºÔ­Twitter¹¤³Ìʦ¿ª·¢£¬ÏÖΪCNCFÖеÄÏîĿ֮һ

ʲôÊÇService mesh

Èç¹ûÓÃÒ»¾ä»°À´½âÊÍʲôÊÇ Service Mesh£¬¿ÉÒÔ½«Ëü±È×÷ÊÇÓ¦ÓóÌÐò»òÕß˵΢·þÎñ¼äµÄ TCP/IP£¬¸ºÔð·þÎñÖ®¼äµÄÍøÂçµ÷Óá¢ÏÞÁ÷¡¢ÈÛ¶ÏºÍ¼à¿Ø¡£¶ÔÓÚ±àдӦÓóÌÐòÀ´ËµÒ»°ãÎÞÐë¹ØÐÄ TCP/IP ÕâÒ»²ã£¨±ÈÈçͨ¹ý HTTP ЭÒéµÄ RESTful Ó¦Óã©£¬Í¬ÑùʹÓà Service Mesh Ò²¾ÍÎÞÐë¹ØÏµ·þÎñÖ®¼äµÄÄÇЩԭÀ´ÊÇͨ¹ýÓ¦ÓóÌÐò»òÕ߯äËû¿ò¼ÜʵÏÖµÄÊÂÇ飬±ÈÈç Spring Cloud¡¢OSS£¬ÏÖÔÚÖ»Òª½»¸ø Service Mesh ¾Í¿ÉÒÔÁË¡£

Ïê¼ûʲôÊÇ service mesh - jimmysong.io¡£

Service meshʹÓÃÖ¸ÄÏ

Á½¿îService mesh¸÷ÓÐǧÇÎÒ·Ö±ðдÁËËûÃǵÄʹÓð¸ÀýÖ¸ÄÏ£º

1.΢·þÎñ¹ÜÀí¿ò¼Üservice mesh¡ª¡ªLinkerd°²×°ÊÔÓñʼÇ

2.΢·þÎñ¹ÜÀí¿ò¼Üservice mesh¡ª¡ªIstio°²×°ÊÔÓñʼÇ

ʹÓð¸Àý

Kubernetes×÷ÎªÔÆÔ­Éú¼ÆËãµÄ»ù±¾×é¼þÖ®Ò»£¬¿ªÔ´2Äêʱ¼äÒÔÀ´ÈȶÈÓëÈÕ¾ãÔö£¬Ëü¿ÉÒÔ¸úÎÒÃǵÄÉú²ú½áºÏ£¬²Á³öºÜ¶à»ð»¨£¬±ÈÈçFaaSºÍServerlessÀàÓ¦Ó㬶¼ºÜÊʺÏÔËÐÐÔÚkubernetesÉÏ¡£

¹ØÓÚCloud Native¿ªÔ´Èí¼þÉú̬Çë²Î¿¼ Awesome Cloud Native - jimmysong.io¡£

DevOps

ÏÂÃæÊÇÉçÇøÖÐkubernetes¿ªÔ´°®ºÃÕߵķÖÏíÄÚÈÝ£¬ÎÒ¾õµÃÊǶÔkubernetesÔÚDevOpsÖÐÓ¦ÓõĺܺõÄÐÎʽֵµÃ´ó¼Ò½è¼ø¡£

ÕæÕý¼ùÐÐDevOps£¬Èÿª·¢ÈËÔ±ÔÚÕÆÎÕ×Ô¼ºµÄ¿ª·¢ºÍ²âÊÔ»·¾³£¬Èû·¾³Ò»Ö£¬Èÿª·¢Ð§ÂÊÌáÉý£¬ÈÃÔËάûÓжѻýÈçɽµÄtickets£¬ÈÃ¼à¿Ø¸ü¼Ó¾«×¼£¬´Ókubernetesƽ̨¿ªÊ¼¡£

Ðж¯Ö¸ÄÏ

1.¸ù¾Ý»·¾³£¨±ÈÈ翪·¢¡¢²âÊÔ¡¢Éú²ú£©»®·Önamespace£¬Ò²¿ÉÒÔ¸ù¾ÝÏîÄ¿À´»®·Ö

2.ÔÙΪÿ¸öÓû§»®·ÖÒ»¸önamespace¡¢´´½¨Ò»¸öserviceaccountºÍkubeconfigÎļþ£¬²»Í¬namespace¼äµÄ×ÊÔ´¸ôÀ룬Ŀǰ²»¸ôÀëÍøÂ磬²»Í¬namespace¼äµÄ·þÎñ¿ÉÒÔ»¥Ïà·ÃÎÊ

3.´´½¨yamlÄ£°å£¬½µµÍ±àдkubernetes yamlÎļþ±àдÄѶÈ

4.ÔÚkubectlÃüÁîÉÏÔÙ·â×°Ò»²ã£¬Ôö¼ÓÓû§Éí·ÝÉèÖúͻ·¾³³õʼ»¯²Ù×÷£¬¼ò»¯kubectlÃüÁîºÍ³£Óù¦ÄÜ

5.¹ÜÀíԱͨ¹ýdashboard²é¿´²»Í¬namespaceµÄ״̬£¬Ò²¿ÉÒÔʹÓÃËüÀ´Ê¹²Ù×÷¸ü±ã½Ý

6.ËùÓÐÓ¦ÓõÄÈÕ־ͳһÊÕ¼¯µ½ElasticSearchÖУ¬Í³Ò»ÈÕÖ¾·ÃÎÊÈë¿Ú

7.¿ÉÒÔͨ¹ýGrafana²é¿´ËùÓÐnamespaceÖеÄÓ¦ÓõÄ״̬ºÍkubernetes¼¯Èº±¾ÉíµÄ״̬

8.ÐèÒª³Ö¾Ã»¯µÄÊý¾Ý±£´æÔÚ·Ö²¼Ê½´æ´¢ÖУ¬ÀýÈçGlusterFS»òCephÖÐ

ʹÓÃKibana²é¿´ÈÕÖ¾

ÈÕÖ¾×Ö¶ÎÖаüÀ¨ÁËÓ¦ÓõıêÇ©¡¢ÈÝÆ÷Ãû³Æ¡¢Ö÷»úÃû³Æ¡¢ËÞÖ÷»úÃû³Æ¡¢IPµØÖ·¡¢Ê±¼ä¡¢

ʹÓÃGrafana²é¿´Ó¦ÓÃ״̬

×¢£º¸Ðл¡¾K8S Cloud NativeʵսȺ¡¿×ð¹óµÄ»Æ½ð»áԱС¸ÕͬѧÌṩÏÂÃæµÄGrafana¼à¿ØÍ¼

¼à¿Ø·ÖÀàʾÒâͼ£º

Kubernetes¼¯ÈºÈ«¾Ö¼à¿ØÍ¼1

¸Ã¼à¿ØÍ¼¿ÉÒÔ¿´µ½¼¯ÈºÓ²¼þʹÓÃÇé¿ö¡£

KubernetesÈ«¾Ö¼à¿ØÍ¼2

¸Ã¼à¿Ø¿ÉÒÔ¿´µ½µ¥¸öÓû§µÄnamespaceϵÄËùÓÐ×ÊÔ´µÄʹÓÃÇé¿ö¡£

Spark on Kubernetes

TL;DR https://jimmysong.io/spark-on-k8s

SparkÔ­ÉúÖ§³Östandalone¡¢mesosºÍYARN×ÊÔ´µ÷¶È£¬ÏÖÒÑÖ§³ÖKubernetesÔ­Éúµ÷¶È£¬Ïê¼ûÔËÐÐÖ§³ÖkubernetesÔ­Éúµ÷¶ÈµÄspark³ÌÐò-Spark on Kubernetes¡£

ΪºÎҪʹÓÃspark on kubernetes

ʹÓÃkubernetesÔ­Éúµ÷¶ÈµÄspark on kubernetesÊǶÔÔ­ÏȵÄspark on yarnºÍyarn on dockerµÄ¸Ä±äÊǸïÃüÐԵģ¬Ö÷Òª±íÏÖÔÚÒÔϼ¸µã£º

1.KubernetesÔ­Éúµ÷¶È£º²»ÔÙÐèÒª¶þ²ãµ÷¶È£¬Ö±½ÓʹÓÃkubernetesµÄ×ÊÔ´µ÷¶È¹¦ÄÜ£¬¸úÆäËûÓ¦Óù²ÓÃÕû¸ökubernetes¹ÜÀíµÄ×ÊÔ´³Ø£»

2.×ÊÔ´¸ôÀ룬Á£¶È¸üϸ£ºÔ­ÏÈyarnÖеÄqueueÔÚspark on kubernetesÖÐÒѲ»´æÔÚ£¬È¡¶ø´úÖ®µÄÊÇkubernetesÖÐÔ­ÉúµÄnamespace£¬¿ÉÒÔΪÿ¸öÓû§·Ö±ðÖ¸¶¨Ò»¸önamespace£¬ÏÞÖÆÓû§µÄ×ÊÔ´quota£»

3.ϸÁ£¶ÈµÄ×ÊÔ´·ÖÅ䣺¿ÉÒÔ¸øÃ¿¸ösparkÈÎÎñÖ¸¶¨×ÊÔ´ÏÞÖÆ£¬Êµ¼ÊÖ¸¶¨¶àÉÙ×ÊÔ´¾ÍʹÓöàÉÙ×ÊÔ´£¬ÒòΪûÓÐÁËÏñyarnÄÇÑùµÄ¶þ²ãµ÷¶È£¨È¦µØÊ½µÄ£©£¬ËùÒÔ¿ÉÒÔ¸ü¸ßЧºÍϸÁ£¶ÈµÄʹÓÃ×ÊÔ´£»

4.¼à¿ØµÄ±ä¸ï£ºÒòΪ×öµ½ÁËϸÁ£¶ÈµÄ×ÊÔ´·ÖÅ䣬ËùÒÔ¿ÉÒÔ¶ÔÓû§Ìá½»µÄÿһ¸öÈÎÎñ×öµ½×ÊԴʹÓÃµÄ¼à¿Ø£¬´Ó¶øÅжÏÓû§µÄ×ÊԴʹÓÃÇé¿ö£¬ËùÓеÄmetric¶¼¼Ç¼ÔÚÊý¾Ý¿âÖУ¬ÉõÖÁ¿ÉÒÔΪÿ¸öÓû§µÄÿ´ÎÈÎÎñÌá½»¼ÆÁ¿£»

5.ÈÕÖ¾µÄ±ä¸ï£ºÓû§²»ÔÙͨ¹ýyarnµÄwebÒ³ÃæÀ´²é¿´ÈÎÎñ״̬£¬¶øÊÇͨ¹ýpodµÄlogÀ´²é¿´£¬¿É½«ËùÓеÄkuberentesÖеÄÓ¦ÓõÄÈÕÖ¾µÈͬ¿´´ýÊÕ¼¯ÆðÀ´£¬È»ºó¿ÉÒÔ¸ù¾Ý±êÇ©²é¿´¶ÔÓ¦Ó¦ÓõÄÈÕÖ¾£»

ÈçºÎÌá½»ÈÎÎñ

ÈÔȻʹÓÃspark-submitÌá½»sparkÈÎÎñ£¬¿ÉÒÔÖ±½ÓÖ¸¶¨kubernetes API serverµØÖ·£¬ÏÂÃæµÄÃüÁîÌá½»±¾µØjar°üµ½kubernetes¼¯ÈºÉÏÔËÐУ¬Í¬Ê±Ö¸¶¨ÁËÔËÐÐÈÎÎñµÄÓû§¡¢Ìá½»ÃüÃûµÄÓû§¡¢ÔËÐеÄexcutorʵÀýÊý¡¢driverºÍexecutorµÄ×ÊÔ´ÏÞÖÆ¡¢Ê¹ÓõÄspark°æ±¾µÈÐÅÏ¢¡£

ÏêϸʹÓÃ˵Ã÷¼ûApache Spark on KubernetesÓû§Ö¸ÄÏ - jimmysong.io¡£

¼à¿Ø

ÏÂͼÊÇ´ÓKubernetes dashboardÉÏ¿´µ½µÄspark-clusterÕâ¸önamespaceÉÏÔËÐеÄÓ¦ÓÃÇé¿ö¡£

ÏÂͼÊÇ´ÓGrafana¼à¿ØÒ³ÃæÉϲ鿴µ½µÄij¸öexecutor×ÊÔ´Õ¼ÓÃÇé¿ö¡£

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

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

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

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