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

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

|