±à¼ÍƼö: |
±¾ÎÄÀ´×ÔÓÚ51cto£¬±¾ÎÄÒÔ¡°Tech
Neo¡±ÎªÖ÷ÌâµÄ¼¼ÊõɳÁú»î¶¯ÖУ¬À´×ÔİݿƼ¼·ÖÏíÁËİİÔÚK8sÈÝÆ÷·½ÃæµÄһЩӦÓÃʵ¼ù¡£ |
|
ÈÝÆ÷¼¯Èº¹ÜÀíϵͳÓëÈÝÆ÷ÔÆÆ½Ì¨µÄÑ¡Ôñ·Ç³£ÖØÒª£¬ÒòΪÈÝÆ÷¹ÜÀíϵͳÊÇ·ñÏȽøÖÇÄÜ¡¢ÈÝÆ÷ÔÆ¹ÜÀíÆ½Ì¨ÊÇ·ñÁé»îÒ×ÓÃÇÒ¸ßЧ£¬Ö±½ÓÓ°ÏìÆóÒµ¿ª·¢ÔËάµÄЧÂÊÓëËÙ¶È¡¢×ÊÔ´ÀûÓÃÂʵĸߵ͡£ÔÚÕâ¸ö¾ºÕù¼¤ÁÒ£¬·çÔÆÍ»±äµÄʱ´ú£¬Ó¦ÓõĿª·¢Ð§ÂÊ¡¢Îȶ¨ÐÔ¡¢À©Õ¹ÐԺͰ²È«ÐÔ£¬¾ö¶¨ÁËÆóÒµµÄ¾ºÕùÁ¦ÓëÊÐÖµ¡£
µ±Ï£¬K8sƾ½èÔÚÀ©Õ¹ÐÔ¡¢¹ÜÀí¡¢´óÊý¾Ý·ÖÎö¡¢ÍøÂ糡¾°¡¢¼æÈÝÐÔ¡¢¸ºÔؾùºâ¡¢»Ò¶ÈÉý¼¶¡¢Ê§°ÜÈßÓà¡¢ÈÝÔÖ»Ö¸´¡¢
DevOps µÈ·½ÃæµÄÓÅÊÆ£¬Êܵ½²¿·ÖÆóÒµµÄÇàíù¡£½üÈÕ£¬ÓÉ51CTO Ö÷°ìµÄµÚÊ®ÁùÆÚÒÔ¡°Tech Neo¡±ÎªÖ÷ÌâµÄ¼¼ÊõɳÁú»î¶¯ÖУ¬À´×ÔİݿƼ¼SREÍŶӸºÔðÈËÍõ¾°Ñ§·ÖÏíÁËİİÔÚK8sÈÝÆ÷·½ÃæµÄһЩӦÓÃʵ¼ù¡£
ΪʲôѡÔñʹÓÃK8s£¿
ÔÚʹÓÃk8s֮ǰ£¬Ä°Ä°ÔÚÓ¦Ó÷¢²¼ºÍÔËÐл·¾³·½ÃæÓöµ½µÄ¾ßÌåÎÊÌ⣬ÈçÏ£º
1.Ó¦Ó÷¢²¼Ê±¼äºÜ³¤£¬Ö÷ÒªÊÇÒòΪ·¢²¼¹ý³ÌÖÐÐèÒª×ö¸ôÀë¡¢»Ö¸´µÈ¶¯×÷£¬»¹ÐèÒªµÇ¼²é¿´Êµ¼Ê״̬¡¢ÈÕÖ¾¡£
2.µ±Óöµ½Íí¸ß·åÇé¿öÕâÑùµÄÍ»·¢×´¿ö£¬ÐèÒª½ô¼±À©ÈÝ¡£ÕâʱҵÎñ·½»áÉêÇë»úÆ÷£¬¿ÉлúÐèÒª½øÐл·¾³³õʼ»¯¡¢Ïà¹ØÅäÖã¬ÕâÑùµ¼ÖÂЧÂʷdz£µÍ¡£
3.Ó¦ÓÃÔËÐл·¾³µÄÈí¼þ°æ±¾²»Ò»Ö£¬ÅäÖø´ÔÓ£¬Î¬»¤³É±¾±È½Ï¸ß¡£
4.Ó²¼þ×ÊÔ´ÀûÓÃÂʲ»×㣬×ÜÌå³É±¾±È½Ï¸ß¡£
Õë¶ÔÒÔÉÏÓöµ½µÄÎÊÌ⣬ÎÒÃǾö¶¨¶Ô¼Ü¹¹½øÐиÄÔì£¬Í¬Ê±ÖÆ¶¨ÁËһϵÁмܹ¹¸Ä½øÄ¿±ê£¬ÈçÏ£º
1.Ìá¸ß·þÎñ¿ÉÓÃÐÔ£¬¿É¹ÜÀíÐÔ¡£¿ÉÓÃÐÔÊǵ±Ä³Ò»Ì¨»úÆ÷³öÏÖå´»ú£¬»á×Ô¶¯Çл»µ½ÆäËû»úÆ÷¡£¿É¹ÜÀíÐÔÊÇÔÚÓ¦ÓÃÐèÒªÀ©ÈÝʱ£¬×Ô¶¯»¯È¥²¿ÊðÔËÐл·¾³¡¢Ïà¹ØÅäÖ᣿ª·¢²»ÐèÒªÔÙÈ¥¿¼ÂÇ·þÎñÆ÷µÄÎÊÌâ¡£
2.Ìá¸ß×ÊÔ´¸ôÀëÐÔ£¬ÊµÏÖ·þÎñ»ìºÏ²¿Êð¡£
3.Ó¦Óü¶±ðµÄ¼à¿Ø£¬µ±»úÆ÷ÐèÒªÀ©ÈÝʱ£¬×Ô¶¯ÅŲéÊÇÄĸöÓ¦ÓÃËùÖ¡£
4.·þÎñƽ»¬Ç¨ÒÆ¡£
×ÛºÏÕâЩÎÊÌâºÍÄ¿±ê£¬Ä°Ä°Ñ¡ÔñʹÓà KubernetesÀ´¹ÜÀí Docker ¼¯Èº£¬µ± Kubernetes
Âú×ã²»ÁËÐèÇóʱ£¬¿ÉÔÚ²¿Êðƽ̨¿ª·¢ÏàÓ¦µÄ¹¦ÄÜÀ´Âú×㿪·¢²é¿´ÈÕÖ¾¡¢¼à¿ØºÍ±¨¾¯µÈÐèÇ󣬾¡Á¿±ÜÃâµÇ¼Ö÷»úºÍÈÝÆ÷¡£
İİÈÝÆ÷¹ÜÀíÆ½Ì¨µÄ¼Ü¹¹Ñݽø
İİ´Ó2015ÄêϰëÄ꿪ʼ¶ÔDocker½øÐе÷ÑкÍʵ¼ù£¬2016Äê³õ¿ªÊ¼µ÷ÑÐk8s£¬³¢ÊԼܹ¹·½ÃæµÄ¸Ä½ø¹¤×÷£¬»ùÓÚ×ÔÑз¢²¼ÏµÍ³¼°K8s¡¢OVSºÍDocker¹¹½¨ÈÝÆ÷¹ÜÀíÆ½Ì¨¡£ÊµÏÖÁË»ùÓÚDocker¼¯ÈºµÄ²¿Êðϵͳ£¬±ãÓÚ¿ª·¢Õß±ã½ÝµØ²¿Êð×Ô¼ºµÄÓ¦ÓóÌÐò¡£×îÖÕ´ïµ½²¿Êð»·¾³¸É¾»Ò»Ö£¬¿ÉÖØ¸´²¿Êð¡¢Ñ¸ËÙÀ©Èݺͻعö¡£
ÈçÏÂͼ£¬ÊÇÈÝÆ÷¹ÜÀíÆ½Ì¨µÄ¼Ü¹¹Í¼£º

ÈÝÆ÷¹ÜÀíÆ½Ì¨Ö÷Òª¹¦ÄÜÓм¯Èº¹ÜÀíºÍ״̬չʾ¡¢»Ò¶È·¢²¼ºÍ´úÂë»ØÍË¡¢×é¼þÄ£°å¡¢Ó¦ÓùÜÀí¡¢¾µÏñ²Ö¿âºÍȨÏÞ¹ÜÀíµÈ¡£Ëü²ÉÓÃǰºó¶Ë·ÖÀëµÄ¼Ü¹¹£¬Ç°¶ËʹÓÃ
JS äÖȾ£¬ºó¶ËʹÓà Python Ìṩ API¡£ÕâÑù¿ª·¢Õß¿ÉÒÔ¿ìËٵĽøÐз¢²¼ºÍ»ØÍ˲Ù×÷¡£
ÈÝÆ÷¹ÜÀíÆ½Ì¨ÔÚÓ¦Ó÷¢²¼Á÷³Ì£¬¼¯Èºµ÷¶È²ßÂÔ£¬k8s½ÚµãÍøÂç¼Ü¹¹£¬°¢ÀïÔÆÖ§³Ö£¬»ù´¡¼à¿ØÖ¸±êµÈ·½Ãæ½øÐÐÁËÓÅ»¯¸Ä½ø¡£
Ó¦Ó÷¢²¼Á÷³Ì
İİ֮ǰÀϰ汾·¢²¼ÏµÍ³ÊÇ´®Ðеģ¬ÐèÒªµ¥Ì¨½øÐÐÌæ»»¡£ÈçÏÂͼ£¬ÊÇмܹ¹ÏÂÓ¦Óõķ¢²¼Á÷³Ì£º

Ðµķ¢²¼ÏµÍ³ÊÇÓû§Ìá½»´úÂëºó£¬ÔÚ·¢²¼ÏµÍ³Ñ¡ÔñÒª²¿ÊðµÄcommit£¬µã»÷¹¹½¨ÒÔºó£¬ÏµÍ³»á×Ô¶¯±àÒ룬´ò°ü³É¾µÏñ£¬ÍÆË;µÏñ²Ö¿â¡£Èç¹û¹¹½¨³É¹¦£¬Óû§µã»÷·¢²¼Ð°汾µÄʵÀý£¬»Ò¶ÈûÓÐÎÊÌ⣬ȫÁ¿£¬ÏÂÏßÀϰ汾µÄʵÀý¡£»ØÍËʱ´úÂë²»ÐèÒª¹¹½¨£¬Ö±½Ó·¢²¼Àϰ汾ʵÀý¡£ÔÚij¶Îʱ¼äÄÚ£¬ÐÂÀϰ汾ÊÇͬʱ´æÔڵġ£
¼¯Èºµ÷¶È²ßÂÔ
İݵļ¯Èºµ÷¶È²ßÂÔÊÇΪӦÓÃÅäÖÃĬÈϵÄlocation£¨¼¯Èº±êÇ©£©£¬Èç¹ûÊÇÏßÉÏÓ¦Óã¬Ó¦ÓÃÐèÒªÉêÇëlocation£¬²¿Êðµ½ÕýʽµÄ¼¯Èº£¨»ú·¿ÒªÇó£¬×ÊÔ´³ä×㣩¡£ÕâÀïÓ¦Óö¼²»ÄܶÀÕ¼¼¯Èº£¬¾ù²ÉÓõÄÊÇ»ìºÏ²¿ÊðµÄ·½Ê½¡£
ͬһ¸ö¼¯ÈºÏ£¬·Ö³É²»Í¬×é²¢×鶨Òå±êÇ©£¬Ó¦ÓÃÖ§³Ö¶ÀÕ¼»úÆ÷£¬Í¬Ò»¸ö×éÖ®¼äµÄÓ¦ÓÃʵÀý¿ÉÒÔËæÒâÆ®ÒÆ¡£
IDCÍøÂç½Úµã
ÔÚIDCÍøÂç½Úµã¹¹½¨²¿·Ö£¬Ä°Ä°Ê¹ÓõÄÊÇÈ«¾ÖIPµØÖ·£¬ÈÝÆ÷ÓëÈÝÆ÷Ö®¼ä¡¢ÈÝÆ÷ÓëÖ÷»úÖ®¼ä¶¼ÊÇ»¥Í¨µÄ¡£ÕâÑùÒ»À´£¬Í¨ÐÅ¿ÉÒÔ²»Ê¹ÓÃÈκηâ×°µÈ¼¼Êõ£¬Ïà¶ÔÀ´Ëµ±È½Ï¸ßЧÇÒ¶ÔÏÖÓÐÍøÂç±ä¶¯Ó°ÏìС£¨½öÐè·â×°trunk£¬ÎÞÆäËûÐÒ飬mtuµÈ±ä»¯£©¡£
ÈçÏÂͼ£¬ÊÇIDCÍøÂç½Úµã¼Ü¹¹Í¼£º

ÔÚÕâÑùµÄ¼Ü¹¹Ï£¬ÍøÂ粿ÊðºÍÀ©Õ¹Ïà¶Ô¼òµ¥£¬ÒòΪÿ̨»úÆ÷µÄIPµØÖ·¶ÎÊÇÔ¤ÏȾ²Ì¬ÅäÖõġ£
ÕâÀïÖµµÃ×¢ÒâµÄÊÇ£¬·þÎñÆ÷Ë«Á´Â·ÉÏÁª£¬trunkÉÏÁªÎïÀí½»»»»úÐèÒªºÏÀí±ÜÃâ¶þ²ã»·Â·¡£
ÕâÑùµÄ·½Ê½´æÔڵIJ»×ãÊÇ£¬µ±ÈÝÆ÷½Ï¶àʱ£¬macµØÖ·ÊýÁ¿Ôö¶à£¬¸øÎïÀí½»»»»úMacµØÖ·±í´øÀ´Ñ¹Á¦£¬¹ã²¥ÓòÀ©´ó¾ÍÊÇÐèÒªÑϽ÷µÄ¹æ»®vlan
½ÇÉ«Ïà¹ØÐÅÏ¢¡£
°¢ÀïÔÆÖ§³Ö
µ±Ç°£¬Ä°Ä°K8s master¼¯ÈºÏ½ڵã°üº¬IDC¡¢°¢ÀïÔÆ¼°Á½Õß»ìºÏÈýÖÖ·½Ê½£¬ÈçÏÂͼ£º

°¢ÀïÔÆ²ÉÓõÄÍøÂçģʽÊÇHost-gw£¬Ä°Ä°´î½¨ÁËÒ»ÌõIDCÓë°¢ÀïÔÆµÄVPCרÏߺÍVPCµÄÐéÄâ·ÓɽøÐо²Ì¬ÅäÖá£ÎÞÂÛÊÇIDC½Úµã£¬»¹Êǰ¢ÀïÔÆ½ÚµãÉϵÄÓ¦Óö¼ÒªÊÊÓ¦IP¶¯Ì¬±ä»¯¡£
»ù´¡¼à¿ØÖ¸±ê
İİµÄ¼à¿Ø·½°¸´ó¶àÊÇ»ùÓÚKublet cadvisor metrics½Ó¿ÚÈ¥×öµÄÊý¾Ý»ã×Ü¡£×î³õİݲÉÓõķ½Ê½ÊÇÀûÓÃPython½Å±¾£¬È¥µ÷Óýӿڣ¬ÔÚÈ¡µ½Ò»Ð©CPUÄÚ´æ¡¢ÍøÂç¡¢Á÷Á¿µÄÊý¾Ý£¬´æÈëES£¬·ÖÎöÖ®ºó½øÐÐչʾ¡£Ö®ºóµÄ±¨¾¯ÏµÍ³£¬ÊÇÀûÓÃJavaÓ¦ÓÃÈ¥µ÷È¡
Kublet cadvisor metrics ½Ó¿Ú£¬½øÐÐÊý¾ÝµÄÊÕ¼¯¡£
»ù´¡¼à¿ØÖ¸±êÖ÷ÒªÓÐÄÚ´æ(total,rss,cache )¡¢Á÷Á¿(
incoming , outgoing )¡¢ÍøÂç packets ( drop £¬error , total
)µÈ¡£
Ó¦ÓÃÇ¨ÒÆ
Ó¦ÓÃÇ¨ÒÆ·½Ã棬İİ×öÁ˺ܶàÊÊÅ乤×÷£¬Ê¹µÃÓ¦Óò»ÐèҪ̫¶àµÄ¸Ä¶¯¾Í¿ÉÒÔÎÞ·ìÇ¨ÒÆ¡£¾ßÌåÊÊÅäϸ½ÚÈçÏ£º
1.Ó¦ÓÃÊÊÓ¦¶¯Ì¬ip±ä»¯¡£
2.×Ô¶¨Òå¹¹½¨¹ý³Ì£¨build.sh£©¡£
3.Ó¦ÓÃʹÓò»Í¬µÄ·þÎñ·¢ÏÖ¿ò¼Ü£¨nginx£¬rpc£©£¨ start
. sh £©¡£
4.Ó¦ÓÃÏú»Ù¹ý³ÌÖÐ×öһЩ¶îÍâ´¦Àí( stop . sh )¡£
ÔÚÓ¦ÓÃÇ¨ÒÆ¹ý³ÌÖУ¬Ò²Óöµ½ÁËһЩÎÊÌ⣬ÈçSwap¡¢cpuÈíÖжÏÓÅ»¯¡¢×ÊÔ´ÀûÓÃÂÊ¡¢Ip°×Ãûµ¥¡¢ÊÊÓÃÓÚÄÚÍøµÈÎÊÌâ¡£
µ±Ç°£¬Ä°Ä°µÄÈÝÆ÷ÒµÎñ¹æÄ£·þÎñÆ÷Ô¼400̨¡¢ÏßÉÏÈÝÆ÷6000¡¢Ó¦ÓÃ700+¡£Ó¦ÓõÄÀàÐÍÊÇjava+php+node+python+tomcat¡£
δÀ´Õ¹Íû
Ï£ÍûÔËά¿ÉÒÔʵÏÖ¶ÔÓ¦ÓÃÇëÇóÁ¿£¬Ïß³ÌÊý£¬Á÷Á¿µÈÖ¸±êµÄ¼à¿Ø¡£»ù×¼Öµ²¿·Ö£¬´ïµ½µ¥ÊµÀý¿É³ÐÔØÇëÇóÁ¿£¬Ïß³ÌÊý£¬Á÷Á¿¡£ÉìËõ·½Ã棬×öµ½×îС±£ÁôʵÀýÊý£¬×î´óÀ©ÈÝʵÀýÊý£¬¸ù¾Ý¼à¿Ø·´À¡ºÍ»ù×¼Öµ¼ÆËãÐèÒªÀ©ÈݺÍËõÈݵÄʵÀýÊý,
°´ÕÕ¸÷¸ö¼¯Èº×ÊÔ´ÓàÁ¿°´±ÈÀýÉìËõ¡£ |